]> code.delx.au - gnu-emacs/blobdiff - doc/emacs/anti.texi
Merge from origin/emacs-25
[gnu-emacs] / doc / emacs / anti.texi
index dcab8b57aefc3ae9989d7e1691d6ba395f04b77a..68a65a7c0c1cd628bec73bc9ba20190d412cc7bb 100644 (file)
+@c -*- coding: utf-8 -*-
 @c This is part of the Emacs manual.
-@c Copyright (C) 2005-2014 Free Software Foundation, Inc.
+@c Copyright (C) 2005-2016 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 
 @node Antinews
-@appendix Emacs 23 Antinews
+@appendix Emacs 24 Antinews
 @c Update the emacs.texi Antinews menu entry with the above version number.
 
   For those users who live backwards in time, here is information
-about downgrading to Emacs version 23.4.  We hope you will enjoy the
+about downgrading to Emacs version 24.5.  We hope you will enjoy the
 greater simplicity that results from the absence of many Emacs
 @value{EMACSVER} features.
 
 @itemize @bullet
 @item
-Support for displaying and editing ``bidirectional'' text has been
-removed.  Text is now always displayed on the screen in a single
-consistent direction---left to right---regardless of the underlying
-script.  Similarly, @kbd{C-f} and @kbd{C-b} always move the text
-cursor to the right and left respectively.  Also, @key{right} and
-@key{left} are now equivalent to @kbd{C-f} and @kbd{C-b}, as you might
-expect, rather than moving forward or backward based on the underlying
-``paragraph direction''.
+Support for Cairo drawing has been removed.  On GNU and Unix systems,
+you now have only one drawing engine---the venerable X Window system.
+No need to procrastinate on the dilemma whether you do or don't want
+the new shiny Cairo thing.  Hail, simplicity!
 
-Users of ``right-to-left'' languages, like Arabic and Hebrew, may
-adapt by reading and/or editing text in left-to-right order.
+@item
+Emacs still works on SGI IRIX systems.  If you live backwards in time,
+this is actually a bonus, as IRIX systems will become more and more
+popular as you move farther back in time.
+
+@item
+Support for dynamically loaded modules has been removed.  You get to
+use only the trusted Emacs codebase, with no additions.  Those
+external modules written by some J.R. Hacker cannot be trusted anyway.
+Good riddance!
+
+@item
+We have greatly simplified the Emacs features which access the network
+by removing the Network Security Manager.  No more annoying prompts
+about trusting this or that site or page---you asked for it, you get
+it, no questions asked!  You, the user, are now in charge of any
+security issues related to sites whose certificates expired or didn't
+exist in the first place.  Giving the user the utmost freedom was and
+always will be the most important goal of Emacs development.  We keep
+that goal even as we develop Emacs back in time.
+
+@item
+We made the output of @kbd{C-h l} much simpler and easier to grasp by
+removing the names of commands run by the recorded keystrokes.  True
+Emacs lovers know their bindings by heart anyway, so why waste
+precious screen estate on that which is well known?
+
+@item
+Selection- and clipboard-related commands and variables got their
+historical names back.  It's now the definitive
+@code{x-select-enable-clipboard} again instead of the vague
+@code{select-enable-clipboard}, and all those @code{gui-select-text},
+@code{gui-get-primary-selection}, etc.@: got their @code{x-*} names
+back.  (What's a ``GUI'', anyway?)  The only true window system with
+selections is the X Window system, so we stopped pretending that other
+platforms have anything similar to that.  You now know when you invoke
+a command that accesses X.
+
+@item
+Passwords are no longer hidden when typed in @code{-batch} mode.  It
+was a misfeature to have it not shown in the first place: who can type
+without seeing what they type?  We couldn't convince the users of GUI
+sessions to give up hiding the password, so we at least made it
+visible in batch mode, which is something every veteran Emacs user
+uses all the time.  Stay tuned for un-hiding the password in GUI
+sessions as well as we downgrade progressively to previous Emacs
+versions.
 
 @item
-The Emacs Lisp package manager has been removed.  Instead of using a
-``user interface'' (@kbd{M-x list-packages}), additional Lisp packages
-must now be installed by hand, which is the most flexible and
-``Lispy'' method anyway.  Typically, this just involves editing your
-init file to add the package installation directory to the load path
-and defining some autoloads; see each package's commentary section
-and/or README file for details.
+The nuisance with Unicode characters popping up all over the place has
+been amply dealt with.  We've removed @kbd{C-x 8} shorthands for
+characters such as ‘, ’, “, ”, €, ≤, and many others; as a nice
+benefit, this removes many useless entries at the beginning of the
+@kbd{C-h b} output.  The @code{electric-quote-mode} has been deleted,
+so there's only the one true quoting method now---using the
+plain-@acronym{ASCII} quote characters.  And if that's not enough, the
+doc strings and other messages show text quoted @t{`like this'}
+as they were written, instead of arbitrarily replacing them
+with Unicode ``curved quote'' characters @t{‘like this’}.  The
+@code{text-quoting-style} variable becomes therefore unneeded and was
+removed.  As result, text produced by Emacs can be sent to those
+venerable teletypes again, yeah!
+
+For the same reasons, the character classes @code{[:alpha:]} and
+@code{[:alnum:]} again match any word-constituent character, and
+@code{[:graph:]} and @code{[:print:]} match every multibyte character.
+Confusing use of Unicode character properties is gone.
 
 @item
-The option @code{delete-active-region} has been deleted.  When the
-region is active, typing @key{DEL} or @key{delete} no longer deletes
-the text in the region; it deletes a single character instead.
+I-search and query-replace no longer try to confuse you by using the
+``character-folding'' magic.  They will no longer find any characters
+you didn't actually type, like find @kbd{ⓐ} when you actually typed
+@kbd{a}.  Users who want to find some fancy character will have to
+type it explicitly.
 
 @item
-We have reworked how Emacs handles the clipboard and the X primary
-selection.  Commands for killing and yanking, like @kbd{C-w} and
-@kbd{C-y}, use the primary selection and not the clipboard, so you can
-use these commands without interfering with ``cutting'' or ``pasting''
-in other programs.  The @samp{Cut}/@samp{Copy}/@samp{Paste} menu items
-are bound to separate clipboard commands, not to the same commands as
-@kbd{C-w}/@kbd{M-w}/@kbd{C-y}.
+The @file{desktop.el} package no longer records window and frame
+configuration, and doesn't attempt to restore them.  You now have back
+your freedom of re-arranging your windows and frames anew each time
+you restore a session.  This made the new backward-incompatible format
+of the @file{.emacs.desktop} file unnecessary, so the format was
+reverted back to what it was before Emacs 25.  You can now again use
+the desktop file with all the previous versions of Emacs.
 
-Selecting text by dragging with the mouse now puts the text in the
-kill ring, in addition to the primary selection.  But note that
-selecting an active region with @kbd{C-@key{SPC}} does @emph{not}
-alter the kill ring nor the primary selection, even though the text
-highlighting is visually identical.
+@item
+We have reworked the Prettify Symbols mode to support only the default
+@code{prettify-symbols-compose-predicate}.  No need to consider
+whether your major or minor mode needs its own prettifications; just
+use what came with Emacs.  We also removed the
+@code{prettify-symbols-unprettify-at-point} option: once prettified,
+always prettified!  These changes make the Prettify Symbols mode quite
+a lot simpler and easier to use.
+
+@item
+Support for nifty new features of xterm, such as access to the X
+selection and the clipboard, the ``bracketed paste mode'', and other
+advanced capabilities has been removed.  When you kill text in an
+xterm Emacs session, that text is only saved in the Emacs kill ring,
+without letting other applications have any way of accessing it.  An
+xterm is just a text terminal, nothing more, nothing less.  There
+should be no feature we support on xterm that isn't supported on bare
+console terminals.  For the same reasons, support for mouse-tracking
+on xterm was removed.  We will continue this line of simplifications
+as we downgrade to previous versions of Emacs; stay tuned.
+
+@item
+Various features in @file{package.el} have been simplified.  The
+``external'' package status is no longer available.  A package present
+on multiple archives will now be listed as many times as it is found:
+we don't believe in concealing any information from the users.  This
+and other similar simplifications made
+@code{package-menu-toggle-hiding} unnecessary, since there's nothing
+to unhide now.
+
+@item
+The @kbd{@key{UP}} and @kbd{@key{DOWN}} keys in the minibuffer have
+been simplified to move by history items.  No need to wonder whether
+you have moved to the next/previous item or to another line within the
+same item.  Well-written commands shouldn't allow too long history
+entries anyway; be sure to report any that do as bugs, so that we
+could fix them in past versions of Emacs.
+
+@item
+The VC mode was simplified by removing the support for ``push''
+commands.  Moving back in time means you will have less and less need
+to use modern version control systems such as Git, Bazaar, and
+Mercurial, so the necessity of using ``push'' commands will gradually
+disappear.  We removed it from Emacs in advance, so that you won't
+need to un-learn it when this command disappears, as it should.
+
+@item
+The support for full C/C++ expressions in macros has been removed from
+Hide-Ifdef mode.  It now supports only the basic literal macros.  As
+result, the user interface was simplified, and a number of useless
+commands have been removed from Hide-Ifdef mode.  Further
+simplifications were made possible by removing support for some fancy
+new preprocessor directives, such as @code{#if defined}, @code{#elif},
+etc.
 
 @item
-In Isearch, @kbd{C-y} and @kbd{M-y} are no longer bound to
-@code{isearch-yank-kill} and @code{isearch-yank-pop} respectively.
-Instead, @kbd{C-y} yanks the rest of the current line into the search
-string (@code{isearch-yank-line}), whereas @kbd{M-y} does
-@code{isearch-yank-kill}.  The mismatch with the usual meanings of
-@kbd{C-y} and @kbd{M-y} is unintended.
+We have reverted to Etags for looking up definitions of functions,
+variables, etc.  Commands such as @kbd{M-.} use tags tables, as they
+always have.  This allowed the removal of the entire @file{xref.el}
+package and its many metastases in the other Emacs packages and
+commands, significantly simplifying those.  No more complexities with
+the various ``backends'' that provide incoherent behavior that is hard
+to explain and remember; either the symbol is in TAGS or it isn't.  No
+more new user interfaces we never before saw in Emacs, either; if you
+want the next definition for the symbol you typed, just invoke
+@kbd{C-u M-.}---what could be simpler?  As a nice side effect, you get
+to use your beloved @code{tags-loop-continue} and @code{pop-tag-mark}
+commands and their memorable bindings.  The @file{package.el} package
+has been removed for similar reasons.
 
 @item
-Various completion features have been simplified.  The option
-@code{completion-category-overrides} has been removed, so Emacs uses a
-single consistent scheme to generate completions, instead of using a
-separate scheme for (say) buffer name completion.  Several major
-modes, such as Shell mode, now implement their own inline completion
-commands instead of using @code{completion-at-point}.
+@code{(/ @var{n})} once again yields just @var{n}.  Emacs Lisp is not
+Common Lisp, so compatibility with CL just complicates Emacs here.
 
 @item
-We have removed several options for controlling how windows are used,
-such as @code{display-buffer-base-action},
-@code{display-buffer-alist}, @code{window-combination-limit}, and
-@code{window-combination-resize}.
+The functions @code{filepos-to-bufferpos} and
+@code{bufferpos-to-filepos} have been removed.  Code that needs to
+find a file position by a buffer position or vice versa should adapt
+by reading the file with no conversions and counting bytes while
+comparing text.  How hard can that be?
 
 @item
-The command @kbd{M-x customize-themes} has been removed.  Emacs no
-longer comes with pre-defined themes (you can write your own).
+We saw no need for the @code{make-process} primitive, so we removed
+it.  The @code{start-process} primitive provides all the functionality
+one needs, so adding more APIs just confuses users.
 
 @item
-Emacs no longer adapts various aspects of its display to GTK+
-settings, opting instead for a uniform toolkit-independent look.  GTK+
-scroll bars are placed on the left, the same position as non-GTK+ X
-scroll bars.  Emacs no longer refers to GTK+ to set the default
-@code{region} face, nor for drawing tooltips.
+The functions @code{bidi-find-overridden-directionality} and
+@code{buffer-substring-with-bidi-context} were removed, in preparation
+for removing the whole bidi support when downgrading to Emacs 23.
 
 @item
-Setting the option @code{delete-by-moving-to-trash} to a
-non-@code{nil} value now causes all file deletions to use the system trash,
-even temporary files created by Lisp programs; furthermore, the
-@kbd{M-x delete-file} and @kbd{M-x delete-directory} commands no
-longer accept prefix arguments to force true deletion.
+Horizontal scroll bars are no longer supported.  Enlarge your windows
+and frames instead, or use @code{truncate-lines} and the automatic
+horizontal scrolling of text that Emacs had since time immemorial.
 
 @item
-On GNU/Linux and Unix, the default method for sending mail (as
-specified by @code{send-mail-function}) is to use the
-@command{sendmail} program.  Emacs no longer asks for a delivery
-method the first time you try to send mail, trusting instead that the
-system is configured for mail delivery, as it ought to be.
+Emacs is again counting the height of a frame's menu and its tool bar
+in the frame's text height calculations.  This makes Emacs invocation
+on different platforms and with different toolkits less predictable
+when frame geometry parameters are given on the Emacs command line,
+thus making Emacs more adventurous and less boring to use.
 
 @item
-Several VC features have been removed, including the @kbd{C-x v +} and
-@kbd{C-x v m} commands for pulling and merging on distributed version
-control systems, and the ability to view inline log entries in the log
-buffers made by @kbd{C-x v L}.
+The @command{etags} program no longer supports Ruby and Go languages.
+You won't need that as you progressively travel back in time towards
+the time before these languages were invented.  We removed support for
+them in anticipation for that time.
 
 @item
 To keep up with decreasing computer memory capacity and disk space, many
-other functions and files have been eliminated in Emacs 23.4.
+other functions and files have been eliminated in Emacs 24.5.
 @end itemize