Emacs 20 Antinews
*****************

For those users who live backwards in time, here is information about downgrading to Emacs version 20.  We hope you will enjoy the greater simplicity that results from the absence of many Emacs 21 features.

  * The good, old, vintage Emacs 19 display engine is back, eliminating most of the unnecessary complications introduced with Emacs 21.  To wit:

       - Variable-size characters are not supported anymore: you cannot use fonts which contain oversized characters, and using italics fonts can totally screw up your display.  Find one font that works and stick to it!

       - Likewise, Emacs cannot display images, play sounds, or do anything except displaying text.  Multimedia is for Netrape!

       - Faces on X were made to follow the XLFD font names, to avoid the need of reinventing what X has already invented.  This means that face merging doesn't work.  However, experience shows that supporting mergers is bad economics.  Face inheritance was also removed.

       - New face attributes, such as 3D appearence, strike-through, overline etc., were eliminated, to minimize consing.

       - Toolkit scrollbars are not supported.  Emacs bare-bones X scrollbars are so much leaner and meaner.  There are no toggle buttons and radio buttons in menus.  LessTif is not supported either.

       - There are no toolbars and no tooltips; in particular, the GUD mode cannot display in a tooltip a value of a variable when you click on that variable's name.  Emacs is an editor, not some fancy GUI program!

       - Colors are not available on character terminals.  If you must have colors, but cannot afford running X, use the MS-DOG version of Emacs inside a DOS emulator.

       - The mode line is no longer mouse-sensitive.  You will have to remember all the necessary commands to switch between buffers, toggle read-only and modified status, switch minor modes on and off, etc.

       - The support for ``wheeled'' mice on XFree86 has been removed.  Go away, MS-Windows weenies!  Busy-cursor display has gone down the drain, too, for the same reasons.  Meanwhile, the cursor blinking is no longer under your control.

       - Some aspects of Emacs appearance, such as the colors of the scroll bar and the menus, can only be controlled via X resources.  Users who aren't privy to X arcana, should learn to be happy with the default colors.

       - Highlighting of trailing whitespace is not available; you need to move the cursor into the suspect area to find out whether there is slack whitespace there.  Empty lines at the end of the buffer cannot be marked in any way, either, since each user should know where the buffer ends without any help.

       - You cannot control the spacing between text lines on the display; you are now entirely at the mercy of the font designer and the window manager.  Complain to them if your display looks ugly.

  * Emacs 20 has less elaborate support for multi-lingual editing.  While not as radical as Emacs 19 (which doesn't support anything but single-byte European characters), it goes a long way toward eliminating some of the annoying features:

       - Translations of the Emacs reference cards to other languages are gone. Every Emacs user should know English better than their national languages.

       - To avoid extra confusion, many language environments have been eliminated.  For example, Polish and Celtic (Latin-8) environments are not supported, and you cannot have the Euro characters, since the Latin-9 environment is gone, too.

       - Emacs no longer uses the most preferred coding system if it is suitable for saving the buffer.  Instead, it always prompts you for a coding system, so that you get to know its name better.

       - Commands which provide detailed information about character sets and coding systems, such as list-charset-chars, describe-character-set, and the C-u C-x = key-sequence, no longer exist.  User feedback suggests that telling too much about non-ASCII characters is confusing and unnecessary.

       - The terminal coding system cannot be set to something CCL-based, so keyboards which produce KOI8 and DOS/Windows codepage codes cannot be supported directly.  Leim is so much simpler!

  * Systems which are deemed unimportant or still in vaporware phase are no longer supported:

       - Emacs cannot be built on GNU/Linux systems running on IA64 machines, and you cannot build a 64-bit Emacs for SPARC/Solaris systems which support 64-bit executables.  Thus, Emacs contributes to stability of these systems by preventing you from corrupting files larger than 128MB.

       - LynxOS is also not supported.

  * The menu bar is no longer CUA-compliant.  We think that uniformity of look-and-feel is boring, and that CUA is not suitable for Emacs anyway.

  * You cannot save the options set via the Options menu-bar menu; instead, you need to set all the options again each time you start a new session.  This will gradually make your acquaintance with the options better and better, until eventually you will be able to set all the options without looking at the screen.  Unless you start Emacs once and never stop it, that is.

  * Emacs no longer pops up a buffer with error messages when an error is signaled during loading of the user's init file.  Gurus who can debug init files by the seat of their pants will regain their due honor which they lost with Emacs 21.

  * Many commands duly ignore the active region when Transient Mark mode is in effect.  (Transient Mark mode is alien to Emacs mantra in the first place, its introduction was a grave mistake, and we are planning to remove it altogether in one of the previous versions; stay tuned.)

  * C-down-mouse-3 does nothing special when menu bar is not displayed.  Users who don't like the menu bar should be amply punished by forcing them to use the tmm-menubar replacement, even if they do have the mouse.

  * The delete function key produces the same effect as the DEL key, on both TTY and windowed displays.  Never again will you be confused by this terrible dichotomy!

  * The ability to save backup files in special subdirectories has been eliminated.  This makes finding your backup files much easier.

  * Emacs no longer refuses to load Lisp files compiled by incompatible versions of other Emacsen, which may contain invalid byte-code. Instead, Emacs now dumps core when it encounters such byte-code.

  * You cannot delete all frames but the current one with C-x 5 1. Delete them one by one instead.  If you have many frames, it's tough on you.

  * CC Mode is now much harder to customize, due to subtle aspects of local and global bindings.  In particular, if you change the indentation style as appropriate for Java, the indentation in C and C++ buffers is messed up, and vice versa.

  * Isearch no longer highlights matches besides the current one, and mouse-2 in the echo area during incremental search now signals an error, since nobody in their right mind will use a mouse while searching.

  * You cannot specify a port number with ange-ftp.  Instead, you need to rely on undocumented features (use the source, Luke!) to sneak the port in.  Time stamps for remote files are not supported, and Windows-style ftp clients which output the ^M character at the end of each line wreak havoc with ange-ftp, making your life more interesting.

  * Many advanced display features, such as highlighting of mouse-sensitive text regions and popping up help strings for menu items, don't work in the MS-DOS version.  Ispell and Eshell don't work on MS-DOS, either. MS-DOG users should be aware of their inferiority at all times!

  * There's no woman.el package, so Emacs users on non-Posix systems should learn to read Troff sources of manual pages.  This is a Good Thing, since Troff is such a nice, intuitive language.

  * recentf.el is not available, so you will have to memorize your frequently edited files by heart, or use desktop.el.

  * Field properties were eliminated, so various packages based on comint.el which run subsidiary programs in Emacs buffers cannot easily distinguish between text which came from the subprocess and text typed by the user. The ingenious techniques this requires from Lisp programs will undoubtfully assist to further advance and development of the Emacs Lisp language.

  * Many additional packages that were unnecessarily complicating your lives are no longer with us.  You cannot browse C++ classes with Ebrowse, edit Delphi sources, access SQL data bases, edit PostScript files and context diffs, access LDAP and other directory servers, edit TODO files conveniently, or mix shell commands and Lisp functions with Eshell.  Emacs doesn't need all that crud.

  * To keep up with decreasing computer memory capacity and disk space, many other functions and files have been eliminated in Emacs 20.  There's no need to mention them all here.  If you try to use one of them, you'll get an error message to tell you that it is undefined or unbound.