changeset 32639:09353c2fcc8a

(Antinews): Many changes from Richard Stallman.
author Eli Zaretskii <eliz@gnu.org>
date Thu, 19 Oct 2000 06:52:31 +0000
parents eacee61883ee
children 9adbb2160f48
files man/anti.texi
diffstat 1 files changed, 169 insertions(+), 132 deletions(-) [+]
line wrap: on
line diff
--- a/man/anti.texi	Thu Oct 19 04:31:37 2000 +0000
+++ b/man/anti.texi	Thu Oct 19 06:52:31 2000 +0000
@@ -11,228 +11,265 @@
 
 @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:
+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 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!
+Variable-size characters are not supported in Emacs 20.  You cannot use
+fonts which contain oversized characters, and using italics fonts can
+results in illegible display.  However, text which uses variable-size
+fonts is unreadable anyway.  With all characters in a frame layed out on
+a regular grid, each character having the same height and width, text is
+much easier to read.
 
 @item
-Likewise, Emacs cannot display images, play sounds, or do anything
-except displaying text.  Multimedia is for Netrape!
+Emacs does not display images, or play sounds.  It just displays text,
+as you would expect from a @strong{text} editor.
 
 @item
-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.
+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 such as 3D appearence,
+strike-through, and overline, have been eliminated.
 
 @item
-New face attributes, such as 3D appearence, strike-through, overline
-etc., were eliminated, to minimize consing.
+Emacs now provides its own ``lean and mean'' scroll bars instead 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
-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 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!
+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 character terminals.  If you @emph{must}
-have colors, but cannot afford running X, use the MS-DOG version of
-Emacs inside a DOS emulator.
+have colors, but cannot afford running 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 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, because
+of their slow scroll rate, and because you will find less and less 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
-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.
+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.  Users who aren't
-privy to X arcana, should learn to be happy with the default colors.
+and the menus, can only be controlled via X resources.  Since colors
+aren't supported except on X, it doesn't make any sense doing 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
-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.
+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
-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.
+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 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:
+Emacs 20 has simpler support for multi-lingual editing.  While not as
+radical a simplification as Emacs 19 was, 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.
+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, and you cannot have the Euro characters,
-since the Latin-9 environment is gone, too.
+environments are not supported.  The Latin-9 environment is gone,
+too, because you won't need the Euro sign in the past.
 
 @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.
+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.  User feedback suggests that telling too much about
-non-@sc{ascii} characters is confusing and unnecessary.
+@code{describe-character-set}, and the @kbd{C-u C-x =} key-sequence,
+no longer exist.  The less said about non-@sc{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.  Leim is so much simpler!
+cannot be supported directly.  Instead, you should use one of the input
+methods provided in the Leim package.
 @end itemize
 
 @item
-Systems which are deemed unimportant or still in vaporware phase are no
-longer supported:
+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 cannot be built on GNU/Linux systems running on IA64 machines,
+Emacs 20 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.
+support 64-bit executables.
 
 @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.
+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 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.
+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 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.
+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 was that, insert @code{(message "foo")} lines judiciously into the
+file and look for those messages in the @samp{*Messages*} buffer.
 
 @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.)
+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 the mode-specific menu in Emacs 20
+when menu bar is not displayed.
 
 @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.
+For uniformity, @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 @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.
+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 other Emacsen, which may contain invalid byte-code.
-Instead, Emacs now dumps core when it encounters such byte-code.
+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
-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.
+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{++} buffer as well.
 
 @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.
+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
-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.
+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
-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.
+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 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!
+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
-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.
+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
-recentf.el is not available, so you will have to memorize your
-frequently edited files by heart, or use desktop.el.
+@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
-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.
+The @code{field} property does not exist in Emasc 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
-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 @acronym{LDAP} and other directory
-servers, edit @file{TODO} files conveniently, or mix shell commands and
-Lisp functions with Eshell.  Emacs doesn't need all that crud.
+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.  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.
+other functions and files have been eliminated in Emacs 20.
 @end itemize