(ibuffer-set-mark): Go back to the beginning of the line after setting
[bpt/emacs.git] / man / anti.texi
dissimilarity index 83%
index 11251b1..2373fca 100644 (file)
-@c This is part of the Emacs manual.
-@c Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
-@c See file emacs.texi for copying conditions.
-
-@node Antinews, MS-DOS, Command Arguments, Top
-@appendix 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.
-
-@itemize @bullet
-@item
-The good, old, vintage Emacs 19 display engine is back, eliminating most
-of the unnecessary complications introduced with Emacs 21.  To wit:
-
-@itemize @minus
-@item
-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!
-
-@item
-Likewise, Emacs cannot display images, play sounds, and do anything
-except displaying text.  Multimedia is for Netrape!
-
-@item
-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.  @code{LessTif} is not supported either.
-
-@item
-There are no toolbars and no tooltips; in particular, the @acronym{GUD}
-mode cannot display variable values in tooltips.  Emacs is an editor,
-not some fancy GUI program!
-
-@item
-Colors are not available on character terminals.  If you @emph{must}
-have colors, but cannot afford running X, use the MS-DOG version of
-Emacs inside a DOS emulator.
-
-@item
-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.
-
-@item
-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.
-
-@item
-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.
-
-@item
-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.
-
-@item
-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.
-@end itemize
-
-@item
-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:
-
-@itemize @minus
-@item
-Translations of the Emacs reference cards to other languages are gone.
-Every Emacs user should know English better than their national
-languages.
-
-@item
-To avoid extra confusion, many language environments have been
-eliminated.  For example, @samp{Polish} and @samp{Celtic} (Latin-8)
-environments are not supported, and you cannot have the Euro characters,
-since the Latin-9 environment is gone, too.
-
-@item
-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.
-
-@item
-Commands which provide detailed information about character sets and
-coding systems, such as @code{list-charset-chars},
-@code{describe-character-set}, and the @kbd{C-u C-x =} key-sequence, no
-longer exist.  User feedback suggests that telling too much about
-non-@sc{ascii} characters is confusing and unnecessary.
-
-@item
-The terminal coding system cannot be set to something CCL-based, so
-keyboards which produce @code{KOI8} and DOS/Windows codepage codes
-cannot be supported directly.  Leim is so much simpler!
-@end itemize
-
-@item
-Systems which are deemed unimportant or still in vaporware phase are no
-longer supported:
-
-@itemize @minus
-@item
-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.
-
-@item
-LynxOS is also not supported.
-@end itemize
-
-@item
-The menu bar is no longer @acronym{CUA}-compliant.  We think that
-uniformity of look-and-feel is boring, and that @acronym{CUA} is not
-suitable for Emacs anyway.
-
-@item
-You cannot save the options set via the @samp{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.
-
-@item
-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.
-
-@item
-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.)
-
-@item
-@kbd{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 @code{tmm-menubar} replacement, even if they
-do have the mouse.
-
-@item
-The @key{delete} function key produces the same effect as the @key{DEL}
-key, on both TTY and windowed displays.  Never again will you be
-confused by this terrible @emph{dichotomy}!
-
-@item
-The ability to save backup files in special subdirectories has been
-eliminated.  This makes finding your backup files much easier.
-
-@item
-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.
-
-@item
-You cannot delete all frames but the current one with @kbd{C-x 5 1}.
-Delete them one by one instead.  If you have many frames, it's tough on
-you.
-
-@item
-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@t{++} buffers is
-messed up, and vice versa.
-
-@item
-Isearch no longer highlights matches besides the current one, and
-@kbd{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.
-
-@item
-You cannot specify a port number with @code{ange-ftp}.  Instead, you
-need to rely on undocumented features (@emph{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 @samp{^M} character at the
-end of each line wreak havoc with @code{ange-ftp}, making your life more
-interesting.
-
-@item
-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!
-
-@item
-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.
-
-@item
-recentf.el is not available, so you will have to memorize your
-frequently edited files by heart, or use desktop.el.
-
-@item
-Many additional packages that were unnecessarily complicating your lives
-are no longer with us.  You cannot browse C@t{++} classes with Ebrowse,
-edit Delphi sources, access @acronym{SQL} data bases, edit PostScript
-files and context diffs, access LDAP and other directory servers, edit
-TODO files conveniently.  Emacs doesn't need all that crud.
-
-@item
-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.
-@end itemize
+@c This is part of the Emacs manual.
+@c Copyright (C) 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
+@c See file emacs.texi for copying conditions.
+
+@node Antinews, Mac OS, X Resources, Top
+@appendix 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.
+
+@itemize @bullet
+@item
+The display engine has been greatly simplified by eliminating support
+for variable-size characters and other non-text display features.  This
+avoids the complexity of display layout in Emacs 21.  To wit:
+
+@itemize @minus
+@item
+Variable-size characters are not supported in Emacs 20.  You cannot use
+fonts which contain oversized characters, and using italic fonts can
+result in illegible display.  However, text which uses variable-size
+fonts is unreadable anyway.  With all characters in a frame laid out on
+a regular grid, each character having the same height and width, text is
+much easier to read.
+
+@item
+Emacs does not display images, or play sounds.  It just displays text,
+as you would expect from a @strong{text} editor.
+
+@item
+Specification of the font for a face now uses an XLFD font name, for
+compatibility with other X applications.  This means that font
+attributes cannot be merged when combining faces; however, experience
+shows that mergers are bad economics.  Face inheritance has also been
+removed, so no one can accumulate ``too much face.''
+
+@item
+Several face appearance attributes, including 3D, strike-through, and
+overline, have been eliminated.
+
+@item
+Emacs now provides its own ``lean and mean'' scroll bars instead of using
+those from the X toolkit.  Toggle buttons and radio buttons in menus now
+look just like any other menu item, which simplifies them, and prevents
+them from standing out and distracting your attention from the other
+menu items.
+
+@item
+There are no toolbars and no tooltips; in particular, @acronym{GUD}
+mode cannot display variable values in a tooltip when you click on
+that variable's name.  Instead, Emacs 20 provides a direct interface to
+the debugger, so that you can type appropriate debugger commands, such
+as @kbd{display foo} and @kbd{print bar}.  As these commands use
+explicit words, their meaning is more self-evident.
+
+@item
+Colors are not available on text-only terminals.  If you @emph{must}
+have colors, but cannot afford to run X, you can now use the MS-DOG
+version of Emacs inside a DOS emulator.
+
+@item
+The mode line is not mouse-sensitive, since it is meant only to
+display information.  Use keyboard commands to switch between buffers,
+toggle read-only and modified status, switch minor modes on and off,
+etc.
+
+@item
+The support for ``wheeled'' mice under X has been removed, because
+of their slow scroll rate, and because you will find fewer and fewer of
+these mice as you go back in time.  Instead Emacs 20 provides the
+@kbd{C-v} and @kbd{M-v} keys for scrolling.  (You can also use the
+scroll bar, but be advised that it, too, may be absent in yet earlier
+Emacs versions.)
+
+@item
+Busy-cursor display is gone, as it was found to be too hard to draw on
+displays whose resolution is getting lower and lower.  This means that
+you get the standard kind of cursor blinking that your terminal
+provides.
+
+@item
+Some aspects of Emacs appearance, such as the colors of the scroll bar
+and the menus, can only be controlled via X resources.  Since colors
+aren't supported except on X, it doesn't make any sense to do this in
+any way but the X way.  For those users who aren't privy to X arcana,
+we've provided good default colors that should make everybody happy.
+
+@item
+Emacs 20 adds new lines to the buffer when you move down from the last
+line with @kbd{C-n} or a down-arrow.
+
+@item
+The variable @code{show-trailing-whitespace} has no special meaning, so
+trailing whitespace on a line is now always displayed correctly: as
+empty space.  To see if a line ends with spaces or tabs, type @kbd{C-e}
+on that line.  Likewise, empty lines at the end of the buffer are not
+marked in any way; use @kbd{M->} to see where the end of the buffer is.
+
+@item
+The spacing between text lines on the display now always follows the
+font design and the rules of your window manager.  This provides for
+predictable appearance of the displayed text.
+@end itemize
+
+@item
+Emacs 20 has simpler support for multi-lingual editing.  While not as
+radical a simplification as Emacs 19 will be, it goes a long way toward
+eliminating some of the annoying features:
+
+@itemize @minus
+@item
+Translations of the Emacs reference cards to other languages are no
+longer part of the distribution, because in the past we expect
+computer users to speak English.
+
+@item
+To avoid extra confusion, many language environments have been
+eliminated.  For example, @samp{Polish} and @samp{Celtic} (Latin-8)
+environments are not supported.  The Latin-9 environment is gone,
+too, because you won't need the Euro sign in the past.
+
+@item
+Emacs 20 always asks you which coding system to use when saving 
+a buffer, unless it can use the same one that it used to read the buffer.
+It does not try to see if the preferred coding system is suitable.
+
+@item
+Commands which provide detailed information about character sets and
+coding systems, such as @code{list-charset-chars},
+@code{describe-character-set}, and the @kbd{C-u C-x =} key-sequence,
+no longer exist.  The less said about non-ASCII characters, the
+better.
+
+@item
+The terminal coding system cannot be set to something CCL-based, so
+keyboards which produce @code{KOI8} and DOS/Windows codepage codes
+cannot be supported directly.  Instead, you should use one of the input
+methods provided in the Leim package.
+@end itemize
+
+@item
+As you move back through time, some systems will become unimportant or
+enter the vaporware phase, so Emacs 20 does not support them:
+
+@itemize @minus
+@item
+Emacs 20 cannot be built on GNU/Linux systems running on IA64 machines,
+and you cannot build a 64-bit Emacs on Solaris or Irix even though there
+are still 64-bit versions of those OSes.
+
+@item
+LynxOS is also not supported, and neither is the Macintosh, though they
+still exist.
+@end itemize
+
+@item
+The arrangement of menu bar items differs from most other @acronym{GUI}
+programs.  We think that uniformity of look-and-feel is boring, and that
+Emacs' unique features require its unique menu-bar configuration.
+
+@item
+You cannot save the options that you set from the @samp{Options}
+menu-bar menu; instead, you need to set all the options again each time
+you start a new session.  However, if you follow the recommended
+practice and keep a single Emacs session running until you log out,
+you won't have to set the options very often.
+
+@item
+Emacs 20 does not pop up a buffer with error messages when an error is
+signaled during loading of the user's init file.  Instead, it simply
+announces the fact that an error happened.  To know where in the init
+file that was, insert @code{(message "foo")} lines judiciously into the
+file and look for those messages in the @samp{*Messages*} buffer.
+
+@item
+Some commands no longer treat Transient Mark mode specially.  For
+example, @code{ispell} doesn't spell-check the region when Transient
+Mark mode is in effect and the mark is active; instead, it checks the
+current buffer.  (Transient Mark mode is alien to the spirit of Emacs,
+so we are planning to remove it altogether in an earlier version.)
+
+@item
+@kbd{C-Down-Mouse-3} does not show what would be in the menu bar
+when the menu bar is not displayed.
+
+@item
+For uniformity, the @key{delete} function key in Emacs 20 works exactly like
+the @key{DEL} key, on both text-only terminals and window systems---it
+always deletes backward.  This eliminates the inconsistency of Emacs 21,
+where the key labeled @key{delete} deletes forward when you are using a
+window system, and backward on a text-only terminals.
+
+@item
+The ability to place backup files in special subdirectories (controlled
+by @code{backup-directory-alist}) has been eliminated.  This makes
+finding your backup files much easier: they are always in the same
+directory as the original files.
+
+@item
+Emacs no longer refuses to load Lisp files compiled by incompatible
+versions of Emacs, which may contain invalid byte-code.  Instead,
+Emacs now dumps core when it encounters such byte-code.  However, this
+is a rare occurrence, and it won't happen at all when all Emacs
+versions merge together, in the distant past.
+
+@item
+The @kbd{C-x 5 1} command has been eliminated.  If you want to delete
+all the frames but the current one, delete them one by one instead.
+
+@item
+CC Mode now enforces identical values for some customizable options,
+such as indentation style, for better consistency.  In particular, if
+you select an indentation style for Java, the same style is used
+for C and C@t{++} buffers as well.
+
+@item
+Isearch does not highlight other possible matches; it shows only the
+current match, to avoid distracting your attention.  @kbd{Mouse-2} in
+the echo area during incremental search now signals an error, instead of
+inserting the current selection into the search string.  But you can
+accomplish more or less the same job by typing @kbd{M-y}.
+
+@item
+The ability to specify a port number when editing remote files with
+@code{ange-ftp} was removed.  Instead, Emacs 20 provides undocumented
+features in the function @code{ange-ftp-normal-login} (@cite{Use the
+source, Luke!}) to specify the port.
+
+@item
+Emacs 20 does not check for changing time stamps of remote files, since
+the old FTP programs you will encounter in the past could not provide
+the time stamp anyway.  Windows-style FTP clients which output the
+@samp{^M} character at the end of each line get special handling from
+@code{ange-ftp} in Emacs 20, with unexpected results that should make
+your life more interesting.
+
+@item
+Many complicated display features, including highlighting of
+mouse-sensitive text regions and popping up help strings for menu items,
+don't work in the MS-DOS version.  Spelling doesn't work on MS-DOS,
+and Eshell doesn't exist, so there's no workable shell-mode, either.
+This fits the spirit of MS-DOS, which resembles a dumb character
+terminal.
+
+@item
+The @code{woman} package has been removed, so Emacs users on non-Posix
+systems will need @emph{a real man} to read manual pages.  (Users who
+are not macho can read the Info documentation instead.)
+
+@item
+@code{recentf} has been removed, because we figure that you can remember
+the names of the files you edit frequently.  With decreasing disk size,
+you should have fewer files anyway, so you won't notice the absence of
+this feature.
+
+@item
+The @code{field} property does not exist in Emacs 20, so various
+packages that run subsidiary programs in Emacs buffers cannot in general
+distinguish which text was user input and which was output from the
+subprocess.  If you need to try to do this nonetheless, Emacs 20
+provides a variable @code{comint-prompt-regexp}, which lets you try to
+distinguish input by recognizing prompt strings.
+
+@item
+We have eliminated the special major modes for Delphi sources,
+PostScript files, context diffs, and @file{TODO} files.  Use Fundamental
+Mode instead.
+
+@item
+Many additional packages that unnecessarily complicate your life in
+Emacs 21 are absent in Emacs 20.  You cannot browse C@t{++} classes with
+Ebrowse, access @acronym{SQL} data bases, access @acronym{LDAP} and
+other directory servers, or mix shell commands and Lisp functions using
+Eshell.
+
+@item
+To keep up with decreasing computer memory capacity and disk space, many
+other functions and files have been eliminated in Emacs 20.
+@end itemize