]> code.delx.au - gnu-emacs/blobdiff - man/anti.texi
(mouse-avoidance-point-position): Use posn-at-point instead of compute-motion.
[gnu-emacs] / man / anti.texi
index 544cfcc163029035c6e651d3ff06a6337006e286..bfcd8badae08b8ecd88a88413bcb70819b58f100 100644 (file)
 @c This is part of the Emacs manual.
-@c Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+@c Copyright (C) 2005, 2006 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 
-@node Antinews, Mac OS, Command Arguments, Top
-@appendix Emacs 20 Antinews
+@node Antinews, Mac OS, X Resources, Top
+@appendix Emacs 21 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.
+downgrading to Emacs version 21.4.  We hope you will enjoy the greater
+simplicity that results from the absence of many Emacs @value{EMACSVER}
+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:
+The buffer position and line number are now displayed at the end of
+the mode line, where they can be more easily seen.
 
-@itemize @minus
 @item
-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.
+The mode line of the selected window is no longer displayed with a
+special face.  All mode lines are created equal.  Meanwhile, you can
+use the variable @code{mode-line-inverse-video} to control whether
+mode lines are highlighted at all---@code{nil} means don't highlight
+them.
 
 @item
-Emacs does not display images, or play sounds.  It just displays text,
-as you would expect from a @strong{text} editor.
+Clicking on a link with the left mouse button (@kbd{mouse-1}) will
+always set point at the position clicked, instead of following the
+link.  If you want to follow the link, use the middle mouse button
+(@kbd{mouse-2}).
 
 @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''.
+Emacs is tired of X droppings.  If you drop a file or a piece of text
+onto an Emacs window, nothing will happen.
 
 @item
-Several face appearance attributes such as 3D appearence,
-strike-through, and overline, have been eliminated.
+On an xterm, even if you enable Xterm Mouse mode, Emacs provides a
+more convincing simulation of a text terminal by not responding to
+mouse clicks on the mode line, header line, or display margin.
 
 @item
-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.
+For simplicity, windows always have fringes.  We wouldn't want to
+in-fringe anyone's windows.  Likewise, horizontal scrolling always
+works in the same automatic way.
 
 @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.
+The horizontal-bar cursor shape has been removed.
 
 @item
-Colors are not available on character terminals.  If you @emph{must}
-have colors, but cannot afford running X, you can now use the MS-DOG
-version of Emacs inside a DOS emulator.
+If command line arguments are given, Emacs will not display a splash
+screen, so that you can immediately get on with your editing.  The
+command-line option @samp{--no-splash} is therefore obsolete, and has
+been removed.
 
 @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.
+The command line options @samp{--color}, @samp{--fullwidth},
+@samp{--fullheight}, @samp{--fullscreen}, @samp{--no-blinking-cursor},
+@samp{--no-desktop}, and @samp{-Q} have also been removed.
 
 @item
-The support for ``wheeled'' mice under X 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.)
+The @samp{--geometry} option applies only to the initial frame, and
+the @samp{-f} option will not read arguments for interactive
+functions.
 
 @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.
+We have standardized on one location for the user init file: the file
+named @file{.emacs} in your home directory.  Emacs will not look for
+the init file in @file{~/.emacs.d/init.el}.  Similarly, don't try
+putting @file{.emacs_SHELL} in @file{~/.emacs.d}; Emacs won't find it.
 
 @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 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.
+Emacs will not read @file{~/.abbrev_defs} automatically.  If you want
+to load abbrev definitions from a file, you must always do so
+explicitly.
 
 @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.
+When you are logged in as root, all files now give you writable
+buffers, reflecting the fact that you can write any files.
 
 @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
+The maximum size of buffers and integer variables has been halved.  On
+32-bit machines, the maximum buffer size is now 128 megabytes.
 
 @item
-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:
+An unquoted @samp{$} in a file name is now an error, if the following
+name is not recognized as an environment variable.  Thus,
+the file name @file{foo$bar} would probably be an error.  Meanwhile,
+the @code{setenv} command does not expand @samp{$} at all.
 
-@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.
+If a single command accumulates too much undo information, Emacs never
+discards it.  If Emacs runs out of memory as a result, it will handle
+this by crashing.
 
 @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.
+Many commands have been removed from the menus or rearranged.
 
 @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.
+The @kbd{C-h} (help) subcommands have been rearranged---especially
+those that display specific files.  Type @kbd{C-h C-h} to see a list
+of these commands; that will show you what is different.
 
 @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-@sc{ascii} characters, the
-better.
+The @kbd{C-h v} and @kbd{C-h f} commands no longer show a hyperlink to
+the C source code, even if it is available.  If you want to find the
+source code, grep for it.
 
 @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
+The apropos commands will not accept a list of words to match, in
+order to encourage you to be more specific.  Also, the user option
+@code{apropos-sort-by-scores} has been removed.
 
 @item
-As you move back through time, some systems will become unimportant or
-enter the vaporware phase, so Emacs 20 does not support them:
+The minibuffer prompt is now displayed using the default face.
+The colon is enough to show you what part is the prompt.
 
-@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.
+Minibuffer completion commands always complete the entire minibuffer
+contents, just as if you had typed them at the end of the minibuffer,
+no matter where point is actually located.
 
 @item
-LynxOS is also not supported, and neither is the Macintosh, though they
-still exist.
-@end itemize
+The command @code{backward-kill-sexp} is now bound to @kbd{C-M-delete}
+and @kbd{C-M-backspace}.  Be careful when using these key sequences!
+It may shut down your X server, or reboot your operating system.
+
+@item
+Commands to set the mark at a place away from point, including
+@kbd{M-@@}, @kbd{M-h}, etc., don't do anything special when you repeat
+them.  In most cases, typing these commands multiple times is
+equivalent to typing them once.  @kbd{M-h} ignores numeric arguments.
+
+@item
+The user option @code{set-mark-command-repeat-pop} has been removed.
+
+@item
+@kbd{C-@key{SPC} C-@key{SPC}} has no special meaning--it just sets the
+mark twice.  Neither does @kbd{C-u C-x C-x}, which simply exchanges
+point and mark like @kbd{C-x C-x}.
 
 @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.
+The function @code{sentence-end} has been eliminated in favor of a
+more straightforward approach: directly setting the variable
+@code{sentence-end}.  For example, to end each sentence with a single
+space, use
+
+@lisp
+(setq sentence-end "[.?!][]\"')@}]*\\($\\|[ \t]\\)[ \t\n]*")
+@end lisp
 
 @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.
+The variable @code{fill-nobreak-predicate} is no longer customizable,
+and it can only hold a single function.
 
 @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 was that, insert @code{(message "foo")} lines judiciously into the
-file and look for those messages in the @samp{*Messages*} buffer.
+Nobreak spaces and hyphens are displayed just like normal characters,
+and the user option @code{nobreak-char-display} has been removed.
 
 @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.)
+@kbd{C-w} in an incremental search always grabs an entire word
+into the search string.  More precisely, it grabs text through
+the next end of a word.
 
 @item
-@kbd{C-down-mouse-3} does not show what would be in the menu bar
-when the menu bar is not displayed.
+Yanking now preserves all text properties that were in the killed
+text.  The variable @code{yank-excluded-properties} has been removed.
 
 @item
-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.
+Occur mode, Info mode, and Comint-derived modes now control
+fontification in their own way, and @kbd{M-x font-lock-mode} has
+nothing to do with it.  To control fontification in Info mode, use the
+variable @code{Info-fontify}.
 
 @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.
+The Grep package has been merged with Compilation mode.  Many
+grep-specific commands and user options have thus been eliminated.
+Also, @kbd{M-x grep} never tries the GNU grep @samp{-H} option,
+and instead silently appends @file{/dev/null} to the command line.
 
 @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.
+In Dired's @kbd{!} command, @samp{*} and @samp{?} now
+cause substitution of the file names wherever they appear---not
+only when they are surrounded by whitespace.
+
+@item
+When a file is managed with version control, the command @kbd{C-x C-q}
+(whose general meaning is to make a buffer read-only or writable) now
+does so by checking the file in or out.  Checking the file out makes
+the buffer writable; checking it in makes the buffer read-only.
+
+You can still use @kbd{C-x v v} to do these operations if you wish;
+its meaning is unchanged.  If you want to control the buffer's
+read-only flag without performing any version control operation,
+use @kbd{M-x toggle-read-only}.
 
 @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.
+SGML mode does not handle XML syntax, and does not have indentation
+support.
 
 @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.
+Many Info mode commands have been removed.  Incremental search in Info
+searches only the current node.
 
 @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}.
+Many @code{etags} features for customizing parsing using regexps
+have been removed.
 
 @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.
+The Emacs server now runs a small C program called @file{emacsserver},
+rather than trying to handle everything in Emacs Lisp.  Now there can
+only be one Emacs server running at a time.  The @code{server-mode}
+command and @code{server-name} user option have been eliminated.
 
 @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.
+The @file{emacsclient} program no longer accepts the @samp{--eval} and
+@samp{--display} command line options.
 
 @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.
+The command @code{quail-show-key}, for showing how to input a
+character, has been removed.
 
 @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.)
+The default value of @code{keyboard-coding-system} is always
+@code{nil}, regardless of your locale settings.  If you want some
+other value, set it yourself.
 
 @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.
+Unicode support and unification between Latin-@var{n} character sets
+have been removed.  Cutting and pasting X selections does not support
+``extended segments'', so there are certain coding systems it cannot
+handle.
 
 @item
-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.
+The input methods for Emacs are included in a separate distribution
+called ``Leim''.  To use this, you must extract the Leim tar file on
+top of the Emacs distribution, into the same directory, before you
+build Emacs.
 
 @item
-We have eliminated the special major modes for Delphi sources,
-PostScript files, context diffs, and @file{TODO} files.  Use Fundamental
-Mode instead.
+The following input methods have been eliminated: belarusian,
+bulgarian-bds, bulgarian-phonetic, chinese-sisheng, croatian, dutch,
+georgian, latin-alt-postfix, latin-postfix, latin-prefix,
+latvian-keyboard, lithuanian-numeric, lithuanian-keyboard,
+malayalam-inscript, rfc1345, russian-computer, sgml, slovenian,
+tamil-inscript ucs, ukrainian-computer, vietnamese-telex, and welsh.
 
 @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.
+The following language environments have been eliminated: Belarusian,
+Bulgarian, Chinese-EUC-TW, Croatian, French, Georgian, Italian,
+Latin-6, Latin-7, Latvian, Lithuanian, Malayalam, Russian, Russian,
+Slovenian, Swedish, Tajik, Tamil, UTF-8, Ukrainian, Ukrainian, Welsh,
+and Windows-1255.
+
+@item
+The @code{code-pages} library, which contained various 8-bit coding
+systems, has been removed.
+
+@item
+The Kmacro package has been replaced with a simple and elegant
+keyboard macro system.  Use @kbd{C-x (} to start a new keyboard macro,
+@kbd{C-x )} to end the macro, and @kbd{C-x e} to execute the last
+macro.  Use @kbd{M-x name-last-kbd-macro} to name the most recently
+defined macro.
+
+@item
+The Calc, CUA, GDB-UI, Ibuffer, Ido, Password, Printing, Reveal,
+Ruler-mode, SES, Table, Tramp, and URL packages have been removed.
+The Benchmark, Cfengine, Conf, Dns, Flymake, Python, Thumbs, and
+Wdired modes have also been removed.
+
+@item
+The Emacs Lisp Reference Manual and the Introduction to Programming in
+Emacs Lisp are now distributed separately, not in the Emacs
+distribution.
+
+@item
+On MS Windows, there is no longer any support for tooltips, images,
+sound, different mouse pointer shapes, or pointing devices with more
+than 3 buttons.  If you want these features, consider switching to
+another operating system.  But even if you don't want these features,
+you should still switch---for freedom's sake.
+
+@item
+Emacs will not use Unicode for clipboard operations on MS Windows.
 
 @item
 To keep up with decreasing computer memory capacity and disk space, many
-other functions and files have been eliminated in Emacs 20.
+other functions and files have been eliminated in Emacs 21.4.
 @end itemize
+
+@ignore
+   arch-tag: 32932bd9-46f5-41b2-8a0e-fb0cc4caeb29
+@end ignore