# HG changeset patch # User Eli Zaretskii # Date 971938351 0 # Node ID 09353c2fcc8ad031c24c0bb790d521b9c9e17856 # Parent eacee61883ee0e50cd3b37d38af405226fe4f916 (Antinews): Many changes from Richard Stallman. diff -r eacee61883ee -r 09353c2fcc8a man/anti.texi --- 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