Version 4.6.2 - MC Core - Changed HQ url to point to new website www.midnight-commander.org (Closes: #137, #138) - Added a micro helper library in order to go slowly avay from glib (Closes: #157) - Use static strings as section entries in ~/.mc/history WARNING!: This will break old files (Closes: #50) - Fixed a repaint issue when clicking on the "View" Button instead of using F3 (Closes: #35) - Removed obsolete autoconf macros (Closes: #133) - Fix escaping for command line completion (Closes: #147) - prevent mc from segfaulting when getting invalid timestamps on files (Closes: #96) - Fixed a keybord issue when running mc via a putty console (Closes: #203) - setted pty fd to closeonexec (on subshell) (Closes: #174) - Fixed file renames, when copying/moving is performed into deleted directories. (Closes: #181) - Add an option to show executables first in the panels (Closes: #173) - Fixed concat_dir_and_file if there is a parameter = NULL (Closes: #180) - Allow out-of-tree builds (Closes: #224, #208) - Editor - Syntax highlighting for: + debian files (debian/changelog, debian/control, debian/copyright, ..) (Closes: #142) + updated sh syntax highlighting (Closes: #143) + updated pascal syntax highlighting (Closes: #65) + differentiate between c and cpp files for highlighting (Closes: #16) + updated python highlighting to support python 2.6 (Closes: #216) - Removed some unneeded variables (Closes: #168, #151) - Do use a ro test if a file exists (Closes: #206) - Fixes some missbehaviour in regex matching (Closes: #207, #211 ) + start at front of line and not on cursor position + . shouldn't match a newline - VFS - Fix some bashisms in some extfs scripts (Closes: #146) - Fixed various problems with symlinks and files with chars which needs escaping over fish (Closes: #10, #87, #149, #53) - Added 7zip extfs descriptor (Closes: #92) - Switched from o3totxt to odf2txt as o3totxt is outdated (Closes: #218) - Locale - Updated German translation (Closes: #167) - New Belarussian translation (Closes: #170) - Updated Russian translation (Closes: #159) Version 4.6.2-pre1. - Editor. - Prompt the user whether to detach a hardlinked file in "Quick save" mode. - Fix a bug which prevented the editor from creating a lock file in certain scenarios (bug #13673). - New shortcut - Ctrl+S. Allows the user to toggle syntax highlighting. - Allow the user to override the automatic syntax highlighting. - Duplicate hotkey fixes. - VFS. - extfs: Do not hang waiting for user input on password protected .rar archives. - extfs: Do not leave stale temporary files. - extfs: Add support for ALZip archives. - extfs: Properly retrieve the filesize of very large files stored inside a .zip archive. - extfs: Various quoting fixes. - extfs: Various improvements in deb, iso9660, mailfs, rpm, trpm. - fish: Fix uploading of files with backtick characters in their names. - fish: Improve upload speed. - fish: Allow for retrieving files larger than 2 GB. - fish: Enable reget functionality. - fish: Use numerical uid/gid when retrieving the directory listing. - ftpfs: Allow for entering non-readable directories. - ftpfs: Allow the user to interrupt the connection establishment. - ftpfs: Enable reget functionality. - ftpfs: `first_cd_then_ls' is the default mode for retrieving directory contents now. - tarfs: Add support for long filenames as stored in ustar format archives. - tarfs: Allow for working with archives conforming to POSIX.1-2001 standard Version 4.6.1. - Core functionality. - Bash < 2.05b no longer supported. For usage with bash < 2.05b fix subshell_name_quote() to use 3-digit octals. Version 4.6.1. - Core functionality. - Device numbers are displayed correctly. - Improved message formatting for i18n. - Recursive option added for internal grep. - Viewer. - Almost completely rewritten internal viewer. - mmap(2) support removed from internal viewer. - VFS. - Fixed device number handling. - zipfs can handle zip files that contain pathnames starting with "./". - Passive FTP over proxies is possible. - Miscellaneous. - Code cleanup in various places Version 4.6.1-pre5. - Core functionality. - Fix double free in mc_maybe_editor_or_viewer(). - Do not blindly cleanup in exit_subshell(). - Fix blocking of panel cd-ing with white space command. - Fix mini status after first Ctrl-O. - Fix dynamic loading of Photon library for shift keys. - Security. - See also VFS. - Portability. - Added configuration files for Sun Solaris pkgmk(1). - Editor. - Fix position save bug. - Improve c.syntax. - Improve makefile.syntax. - Improve python.syntax. - Improve eiffel.syntax. - Improve syntax.syntax. - Viewer. - Add .7z archives extensions to mc.ext.in. - Add OpenOffice.org 2 extensions to mc.ext.in. - Recognize both .udeb and .deb as Debian packages. - Screen libraries. - Backport S-Lang fixes from HEAD. - VFS. - Extensive samba cleanup. - Fix possible crash on broken cpio archives. - Quote fixes in urar.in. - Translations. - Updated translations: German. - Updated translations: Italian. Version 4.6.1-pre4. - Core functionality. - Fix X11 connection handling. - Editor. - Add syntax file for the x86 assembler. - Add syntax file for the Vision(tm) Ray Tracer. - Add syntax file for the CORBA IDL. - Add syntax file for the LUA programming language. Version 4.6.1-pre3. - Core functionality. - Improve support for tcsh. - Translations. - Updated translations: Spanish. Version 4.6.1-pre2. Release candidate for 4.6.1. - Security. - Fixed CAN-2004-0226 (buffer overflows). - Fixed CAN-2004-0231 (unsafe temporary file and directory creation). - Fixed CAN-2004-0232 (format string vulnerablities). - cons.saver does not need to be setuid-root on Linux. - Hiding of FTP passwords. - Portability. - PC port has been removed. - Support for SCO UNIX has been removed. - Improve support for QNX Neutrino. - Core functionality. - Use 8bit input as default. - Better support for '@' in FTP usernames. - Better large file support (int -> off_t) - Add gnome, rxvt and xterm-new terminals (keyword copy for mc.lib). - Make the find dialog more responsive while scanning through large files. - Add implementation to cons.handler for FreeBSD 4.x and 5.x. - Screen saving is now supported on FreeBSD console. - Hide temporary commands from history. - Add --with-glib12 option to configure to force using glib 1.2.x. - Add --disable-background option to disable background support. - Background support now uses pipes instead of UNIX sockets. - libX11 is loaded dynamically using gmodule if possible. - User is warned if one mc is run from another. - Screen libraries. - Add many boundary check into internal slang library. - Internal slang upgrade to 1.4.9. - Increased maximum screen size to 512 x 512. - Add support for qansi-m terminals. - Editor. - Fix bugs for mcedit compiled with ncurses. - New status string format in mcedit. - Support for large syntax files. - Temporarily disable safe save and backups on remote VFS because it doesn't work. - Enable user menu in mcedit. - Add syntax file for the ASP.NET technology. - Add syntax file for the Eiffel programming language. - Add syntax file for the Ruby programming language. - Add syntax file for the C# programming language. - Upgrade php.syntax file. - Improve sql.syntax file. - Improve perl.syntax. - Improve diff.syntax. - Improve makefile.syntax. - Add "define" keyword for syntax files. - VFS. - Full audit of quoting of parameters in vfs scripts (CAN-2004-0494). - Fixed CAN-2003-1023 (stack overflow in vfs_s_resolve_symlink). - Various fixes in tar.c. - VFS supports iso9660 images. - Translations. - New translations: Mongolian, Serbian and Lithuanian. - Updated translations: Ukrainian, Italian, Hungarian. Version 4.6.0. - Core functionality. - Fixed infinite loop under xterm if xterm is forcedly closed. - Portability. - ncurses can be found even if it's renamed to curses (OpenBSD). - Warning fixes for 64-bit systems. Version 4.6.0-pre3. Another release candidate for 4.6.0. - Core functionality. - ".." is no longer shown in the root directory. - Fixed segmentation fault when processing truncated section header in the corrupted initialization file. - Screen libraries. - Fixed incorrect processing of AltGr on Linux console introduced in -pre2. - Documentation. - Fixed a bug in man2hlp that could randomly prevent correct generation of the help files. - Added manual page for mcview. Version 4.6.0-pre2. Release candidate for 4.6.0. - Security. - mc now creates its own temporary directory /tmp/mc-$USER. If it fails or permissions are wrong, the user is warned. - Portability. - mc now complies with the Filesystem Hierarchy Standard and uses @prefix@/share/mc for the data files. - Support for glib 2.0.x has been added. - glib 1.2 is now properly detected on FreeBSD. - Core functionality. - Fixed segmentation fault when displaying messages from background operations. - When using support for setting the last working directory of mc in the parent shell, "mc" is now an alias in all shells, not a function. The "-P" option needs an argument now. - Alt-O sets the same directory on the other panel. - Current directory is shown in the xterm window title. - Screen libraries. - Screen library is now selected by the option --with-screen. - X11 support is enabled by default, use --without-x to disable. - The keycode now contains information about all screen modifiers. This allows to implement more shortcuts, but this work has just begun. - Included S-Lang library has been updated to version 1.4.5. - Mouse wheel is supported in the internal editor and viewer in xterm compatible terminals that implement wheel events. - Editor. - Internal editor now saves the cursor position in the file. - New syntax rules - RPM specfile, m4. - Editor shows control characters in the caret notation. - VFS. - Most extfs scripts have been reviewed and improved. - Fixed viewing and editing files on mcfs. - Support for termnet and HSC firewall has been removed. - Documentation. - Polish manual has been added. Version 4.6.0-pre1. - Security release. Massive code cleanup. Most improvements didn't need any significant amount of the new code. - Security. - Fixes for remotely exploitable buffer overflows in VFS. - Ports and editions. - GNOME edition has been removed. - OS/2 port has been removed. - MAD (Memory Allocation Debugger) has been removed. - Core functionality. - Large file support enabled by default. - Shift-F5 and Shift-F6 copy and rename like F5 and F6, but suggest the selected filename as the destination. - File search with contents doesn't use external egrep. - Directories with many files are now reloaded much faster. - Subshell works under Cygwin. - Screen libraries. - Improved support for ncurses. - Dropped support for the old Curses library. - Colors are enabled on all capable terminals when using S-Lang. - Syntax highlighting now works with ncurses. - Editor. - Editor files are now stored in ~/.mc/cedit instead of ~/.cedit to avoid collision with Cooledit. - New syntax rules - PHP, Tcl, SQL, DOS batch file. - Editor supports word completion. - VFS. - Local temporary file is used for uploading via ftpfs/fish only if file is uploaded to the same ftp/fish server. - mcfs support is disabled by default. - Samba configuration and codepage files locations can be configured. - .netrc support in ftpfs is enabled by default. - Viewing zip files could corrupt them. - Documentation. - Added manuals in Spanish, Italian and Russian. - Help files are not distributed, but generated during the build from the manual pages. - Translations. - Belarussian translation has been added. Version 4.5.55 - Mostly bugfixes and portability fixes. Making things work as they were meant to work. - Text edition improvements. - Ctrl-O supported in the viewer and editor. - Better terminal support. Should not need "Learn Keys" on rxvt and xterm in most cases. - GNOME edition improvements. - Find dialog rewritten. - Editor and viewer ask whether to save modified file when closed from window manager. - Editor. - New syntax rules - S-Lang, PO files, Octave. - Alt-B goes to matching bracket. - Portability improvements. - Should compile out-of-box on Cygwin and QNX Neutrino. - Can be compiled by BSD make. - Subshell and VFS code are safer and more portable. - Experimental features (disabled by default). - Charset conversion support. - Large (64-bit) file support on 32-bit systems. Version 4.5 - Too many new features to list. - This is the last version to be actively maintained. The GNOME edition is in stabilization and maintenance phase only. A new file manager is being written for the GNOME project. Version 3.5 - New hotlist code. - The bookmark code has been completely revamped and now it supports folders. New format for the hot list file. - It is possible to copy a selected path name into the input line (C-Enter). - Tk enhancements. - New built in GUI designer to help developers modify the look of the program at run time (no penalty for users). - Many dialog boxes now work. - Right button now pops up a context sensitive action menu. - Added many visual enhancements. - The Tk edition is not yet finished though. - File management. - Now we do background copy and move operations. (you can ftp your files in the background now, for example). - Built in text editor - This is an easy to use text editor with pull-down menus. The features it presently supports are: Block copy, move, delete, cut, paste; key for key undo; file insertion; macro definition; regular expression search and replace (and our own scanf-printf search and replace); shift-arrow MSW-MAC text highlighting (for the Linux console only); insert-overwrite toggle; and an option to pipe text blocks through shell commands like indent. Comes with Emacs keybindings as well. mcedit is a link to mc which bring it up in editor mode. - FTP File system - Many fixes and enhancements, better support for proxy machines. - Now we support both active and passive opens. - Estimated time of arrival for ftp transfers. - stalled detection. - Much better support for proxies. - ftp URLs now allow a password to be provided. - ext2fs Undelete File system - Minor enhancements. - TAR File system - Now we flush the tarfs if the tar file has been modified - External File systems: - Speeded up RPM file system. - New LHA file system. - New ARC file system. - New DEB file system (for those users of Debian). - New RAR file system. - Fixed problems with different zipfs. - MC file system: - We get can use a mc file system by using either mc: or mc:// prefixes. - Viewer changes: - Now we include a program that preprocesses mail if you view it so, you get colored mails in the viewer. - A simple ruler has been implemented (press Alt-r to enable it). - New hex editor - Now you can do hex editions in your files with a single keystroke. (invoke it by using the hex-viewer and then clicking on edit). - Find file command: - Now we can search inside files using a piped grep (particularly interesting to search inside virtual file system: tar files, tar files on remote ftp sites, or searching information on an ftp site) - Widgets: - Input lines now support control-left, control-right movement on the Linux console. - Extension file: - We now support extra entries in a given rule with the Include= tag. - Ports: - Windows NT, Windows 95 by Juan Grigera - OS/2 by Alexander Dong. - Many many many bug fixes and memory leaks have been fixed. Version 3.2 - External File system: - Mtools file system works. - New Cpio file system. - New RPM file system. - FTP file system: - support for HSC firewall - Lots of subshell fixes - Regexp-extension: - Editing of non-local files works now. - Bunch of bug fixes. - Panelize now works properly. - Can work on Nextstep now. - Windows NT port by Juan Grigera. - Midnight Commander file system server: - Fixed errno handling in the server. - Fixed time handling in the server. - Better caching. - Works with PAM if supported on the system. Version 3.1 This has been finished: - Enhanced ftpfs: - Displays progress bars. - Supports Netware and Windows NT servers - Better support for symlinked files. - Handles those warez sites file names. - Increase the directory cache timeout. - Cache flushing (C-r) - If you append a /~ to the directory, you will log into your home directory (this is done by default if you use the menus to connect). - More robust. - Subshell fixes (it should not hang any longer). - Fixes prompt handling for zsh and tcsh users. - Fixes variable expansion for tcsh (now you may edit files). - Rewrote the sync code between the parent and child, should not hang any longer. - Better command completion. - Keypad handling enhanced: - Special key treatment for +, -, \ and now may be configure to only take place if you do not have a command typed in. - Now the + and \ bindings when ran on the Linux console work may use the keypad and M-+ and M-\ and leave the + and \ keys free. - Better handling of the line drawing chars on OSF/1 and AIX. - Enhanced tar/compressed tar file systems. - Global kill ring. - Added undelete feature for Linux systems: now you may recover deleted files on ext2 file systems with the Undelete file system. - Symlink commands (for symlink lovers). see the docs on C-x C-r, C-x C-l, C-x C-s keystrokes. - New macros: %b and %B return the basename of the selected filename %var{ENV-VAR} expands to the contents of ENV-VAR variable. - MC may be invoked as a viewer (mc -f flag). - Added Unicode support on the Linux console (run with mc -N) - Tons of bug fixes, the code is cleaner and hopefully - Allow a vfs pathname to be passed as a startup directory. This is a list of people that put their effort into making the 3.1 release: Adam Tla/lka, Antonio Palama, Carl Thompson, Ching Hui, Dugan Porter, Gerd Knorr, Ilya Rybkin, Jakub Jelinek, Janne Kukonlehto, Juan Grigera, Juan Jose Ciarlante, John Davis, Marcelo Fabian Roccasalva, Perry Francis Nguyen, Sergey Ya Korshunoff Steven Hirsch, Thanh Ma and Torben Fjerdingstad. Version 3.0 This has been finished: - Virtual File System: You now can browse tar, compressed tar and file systems over the network as if they were local subdirectories; - Slang support, you don't need ncurses anymore (but you can still compile with ncurses, if you want). - New mc.ext format, for details see the sample mc.ext file provided. - Append option if you try to copy/move a file onto already existing one. - Internal cd command uses CDPATH variable if set (like in BASH). - Find file command is much faster. - External panelize command - finding files using unlimited number of criteria - actually spawns an external command and it can be find, awk, grep -l or anything else. - Learn keys makes setting up of mc on terminals with broken terminfo/termcap databases easier. It just asks you to press keys which are not working. - Advanced chown command. - C-PgUp and C-PgDn takes you to the previous and currently selected directory respectively on the Linux console. - You can choose between 7 data bits, iso-latin-1 (0-127+160-255) or other (0-255). - Confirmation for overwriting, deleting and exiting added. - Viewer has growing buffers. - Filename, username, hostname and variable completion (M-Tab) on all input lines plus command completion on appropriate places of command line. - Following of symlinks at changing directory. - Viewer now supports bold faces and underlines, and it fits the information on the screen better. Now you can also specify the starting mode for the viewer depending on the contents of the viewed file. - Mask rename and copy. - Colors now let you specify the intensity of the colors you want. This is being worked on: - Virtual File System: FTP file system. - Tcl/Tk and XView versions of the program (preliminary versions are up and running). Version 2.0 Now users are able to define their own display - User defined display formats. Now you can configure the file display to suit your needs. For example, you can say which information you want to see displayed instead of our defaults. - User definable program layout. Panels could be shown vertically or horizontally; panels could be different sizes, you can hide or show most program windows (command line, keybar or menubar). - Output window. Now, it's possible to see part of the last program output on the Linux console without having to switch screens via an option in the layout menu. - New View modes: Quick view: as you browse your files, each one is displayed on the other panel on the idle time. Tree view: let's you browse your directories by traveling a tree. We have two traveling modes available. And the tree does not take your precious time: it's build on the fly, as you browse your disk (you can always loose your time if you want to :-). Info view: Gives you information on the currently select file and the current file system as you move. User view: Let's you define a directory listing and the format you want to use. - New subshell support (concurrent shell execution) The Midnight Commander will now spawn one copy of the shell, so you get better performance and you can use shell functions, define variables and execute complete shell commands. Supported shells: bash, zsh and tcsh. If your shell is not supported, then the old mode is still available. - Dialog box manager Almost all the new configuration options are configured with this new dialog manager, easy to use if you are familiar with dialog boxes in DOS and Windows. Available widgets: check buttons, buttons, radio buttons, input lines and list boxes (So you can take our code and use it on your applications). - New option configuration. Now the program options are configured with a dialog box. - Chmod and Chown commands: For changing permissions as well as ownership of files and directories, uses our new dialog manager. - Color customization support Now you can change the default color of the program with any of these: environment variable, Colors section in the init file (colors per terminal type) and command line. - User menu and extension enhancements: Execution understand the %t macro (tagged files). User menu also has a new macro to let the user specify options. You can hide and show entries in the user menus by using conditions. Auto detect best match depending on a regexp. - Viewer: Goto line command, horizontal scrolling, on the fly decompression (and we don't eat unneeded cycles of CPU), allow non gunzip operation. - Internal move command: Now, we don't rely anymore on system commands in /bin, so the program is more robust and is much faster. Bunches of code come from the GNU fileutils. - The Tree view and normal views allows wrapped incremental searches of file names. - Mask rename: Now it's possible to do things like rename *.pas in *.bak - Compare directories command - Allow panels to be in Long mode without forcing the user to a single panel. (You can even have two long panels). - F10, C-g cancels as well as ESC ESC. - Improved help system. We updated and spelled the help system and added a lots of links. The Web page is constructed with the same tools. - Allows tagging of directories: Now you can copy, rename, move and delete complete directories. You are not limited anymore to files. - View output (screen save/restore) on Linux console. On old Linux systems, only b&w is supported, on newer Linux systems (1.1.67 and newer), we also support color screen save/restore and cursor positions. - 8 bit clean support. - Visual feedback while i-searching files. - Much more intuitive, you have to use it. - It's better than aspirin. - New memory allocation debugger. During testing time, we used a powerful memory allocation debugger, so the program will not eat all your memory, and will make a good use of your memory. - Now it also runs on hppa-hp-hpux9, hppa-hp-hpux7, m68k-apple-aux and sparc-sun-netbsd1.0. The best platform to run it is Linux, of course, since that's where most of us develop it. - Inode sort option. - Nice progress status indicator. We have two of them: a moving dash indicator and a progress bar indicator for file operations. Version 0.15 - Uses GNU autoconf. Currently, it has been ported to this configurations: i386-*-linux1.0 i386-*-linux1.1 mips-sgi-irix5.2 mips-dec-ultrix4.3 rs6000-ibm-aix3.2.5 sparc-sun-sunos4.1 sparc-sun-solaris2.3 - Improvements to the internal file viewer: Wrap/Unwrap mode. Hex mode. Hex searches. Now you can view compressed files (gzip, compress, zip, pack and lzh). Performance enhancements, now it's much faster. Works on systems without mmap. - Mouse Support now also works on xterms. If you run in the Linux console, you will still need the gpm mouse server to use the mouse support, but if you use xterms, then you're lucky and can use the mouse support when using xterms. - Help system and man page. Both were updated and has many more hypertext links inside, the help system can also be used with a mouse. - If running on xterms, now you can see the output of the last program you ran by using the C-o key combination. - Switch panels command (C-u) - With filter command per panel. - With auto mounting/umounting on chdir feature. - cd now expands tildes (~, ~user). - Much more portable. - Many bugs were fixed. Version 0.14 - Now can handle directories with an unlimited number of files. - New link and symlink commands (C-x l, C-x s). - New insert tagged files or selection command (C-x t). Version 0.13 - Behave more like the Norton Commander. - Added menu file edit. - If there is no permission to load a directory, now it loads a dummy directory. - When a panel is re-sorted, keep the selected file selected. - forward_word and backward_word command on the input line now skip over letters and numbers. - Fixed backward scrolling in the internal viewer. - The internal viewer now computes the percentage in a more natural way. - Added handling of the Home and End keys to the internal viewer - Bug fixes. Version 0.12 - Preliminary support for System V compilation. - Bug fix: didn't call closedir in all cases. - bug fixes. Version 0.11 - Support cd -. - Corrected Makefile. Version 0.10 - Added new Alt-G, Alt-H, Alt-J to select the top file, middle file and bottom file in the current panel. - Now it's allowed to select option in query boxes by the first initial - Fixed mouse repeat rate. - Fixed a bug that prevent copying individual files to another file. - Some minor bug fixes. Version 0.9 - Mouse Support. - Internal Copy command (it no longer uses cp). - Verbose Copying of files. - Confirmation on Overwrite and on Delete. - Support reverse sorting. - Many visual enhancements. - Per panel options are saved and restored. - New truncation of names in the panels. - History in Input Lines (M-p and M-n). - Input line enhancements. - Dialog boxes are nicer than before. - Cache in gid and uid translators. - More keybindings for the Input lines. - Better kill management in Input Lines. - Bug fixes. Version 0.8 - The online help now comes with the complete man page. - Input lines now support M-b and M-f for movement by word. - Unlimited input lines (command line). - Filename searches now must be started with C-s or M-s. - Many bug fixes. Version 0.7 - The stat() reloading optimization is now a configuration option. - Many bug fixes went to the find file command. - New history in the hypertext viewer. - ESC-Tab will copy the name of the other-panel selected file to the input line. - Now it's possible to display files and directories mixed together or separated (like the Norton Commander). - Many bug fixes, see the ChangeLog for details. Version 0.6 - Extension dependent execution implemented (now you can execute things like tar tzvf over compressed tar files, just a tap in the Enter key). - Added simple expansion of useful variables in the user menu. - Avoid unnecessary reloading of subdirectories using stat (suggested by Torben Fjerdingstad ). - Added options to disable colors and display version number. - Allow start up directory specification (ex: mc /usr/local/bin /tmp). - Fixed bug that operated on the selection instead of the tagged file (when only one file was tagged). - Some cosmetic changes. - Bug fixes. Version 0.5 - Fixed bug in the help browser that crashed the program. - New internal viewer. - New long directory listing format. - some bug fixes. Version 0.4 - User Menus (F2 key). - Quick search of files in a panel (Alt-filename takes you to that file). - Char quoting (C-q). - exec() enhancements. - now you can suspend the program (C-z). - The find file command now seems to be very stable. - misc bug fixes. Version 0.3 - Setup loading/saving. - Support for any size screen. - Many, many bug fixes.