+@c -*- coding: utf-8 -*-
@c This is part of the Emacs manual.
-@c Copyright (C) 2005-2011 Free Software Foundation, Inc.
+@c Copyright (C) 2005-2016 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
-@node Antinews, Mac OS / GNUstep, X Resources, Top
-@appendix Emacs 22 Antinews
+@node 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 22.3. 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
-We have switched to a character representation specially designed for
-Emacs. Rather than forcing all the widely used scripts into artificial
-alignment, as Unicode does, Emacs treats them all equally, giving
-each one a place in the space of character codes. We have eliminated
-the confusing practice, in Emacs 23, whereby one character can belong
-to multiple character sets. Now each script has its own variant, and
-they all are different as far as Emacs is concerned. For example,
-there's a Latin-1 c-cedilla character, and there's a Latin-2
-c-cedilla; searching a buffer for the Latin-1 variant only finds that
-variant, but not the others.
-
-@item
-Emacs now uses its own special internal encoding for non-@acronym{ASCII}
-characters, known as @samp{emacs-mule}. This was imperative to
-support several different variants of the same character, each one
-belonging to its own script: @samp{emacs-mule} marks each character
-with its script, to better discern them from one another.
-
-@item
-For simplicity, the functions @code{encode-coding-region} and
-@code{decode-coding-region} no longer accept an argument saying where
-to store the result of their conversions. The result always replaces
-the original, so there's no need to look for it elsewhere.
-
-@item
-Emacs no longer performs font anti-aliasing. If your fonts look ugly,
-try choosing a larger font and increasing the screen resolution.
-Admittedly, this becomes difficult as you go further back in time,
-since available screen resolutions will decrease.
-
@item
-The Fontconfig font library is no longer supported. To specify a
-font, you must use an XLFD (X Logical Font Descriptor). The other
-ways of specifying fonts---so-called ``Fontconfig'' and ``GTK'' font
-names---are redundant, so they have been removed.
+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!
+
+@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 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
+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
+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.
+
+@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
-Transient Mark mode is now disabled by default. Furthermore, some
-commands that operate specifically on the region when it is active and
-Transient Mark mode is enabled (such as @code{fill-paragraph}
-@code{ispell-word}, and @code{indent-for-tab-command}), no longer do
-so.
+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
-Holding @key{shift} while typing a motion command no longer creates a
-temporarily active region, since that's inconsistent with how Emacs
-normally handles keybindings. The variable @code{shift-select-mode}
-has been deleted. You can, however, still create temporarily active
-regions by dragging the mouse.
-
-@item
-The line motion commands, @kbd{C-n} and @kbd{C-p}, now move by logical
-text lines, not screen lines. Even if a long text line is continued
-over multiple screen lines, @kbd{C-n} and @kbd{C-p} treat it as a
-single line, because that's ultimately what it is.
-
-@item
-Visual Line mode, which provides ``word wrap'' functionality, has been
-removed. You can still use Long Lines mode to gain an approximation
-of word wrapping, though this has some drawbacks---for instance,
-syntax highlighting often doesn't work well on wrapped lines.
-
-@item
-@kbd{C-l} now runs @code{recenter} instead of
-@code{recenter-top-bottom}. This always sets the current line at the
-center of the window, instead of cycling through the center, top, and
-bottom of the window on successive invocations. This lets you type
-@kbd{C-l C-l C-l C-l} to be @emph{absolutely sure} that you have
-recentered the line.
-
-@item
-The way Emacs generates possible minibuffer completions is now much
-simpler to understand. It matches alternatives to the text before
-point, ignoring the text after point; it also does not attempt to
-perform partial completion if the first completion attempt fails.
+@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
+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
-Typing @kbd{M-n} at the start of the minibuffer history list no longer
-attempts to generate guesses of possible minibuffer input. It instead
-does the straightforward thing, by issuing the message @samp{End of
-history; no default available}.
+@code{(/ @var{n})} once again yields just @var{n}. Emacs Lisp is not
+Common Lisp, so compatibility with CL just complicates Emacs here.
@item
-Individual buffers can no longer display faces specially. The text
-scaling commands @kbd{C-x C-+}, @kbd{C-x C--}, and @kbd{C-x C-0} have
-been removed, and so has the buffer face menu bound to
-@kbd{S-down-mouse-1}.
+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
-VC no longer supports fileset-based operations on distributed version
-control systems (DVCSs) such as Arch, Bazaar, Subversion, Mercurial,
-and Git. For instance, multi-file commits will be performed by
-committing one file at a time. As you go further back in time, we
-will remove DVCS support entirely, so you should migrate your projects
-to CVS.
+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
-Rmail now uses a special file format, Babyl format, specifically designed
-for storing and editing mail. When you visit a file in Rmail, or get new
-mail, Rmail converts it automatically to Babyl format.
+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
-Emacs can no longer display frames on X windows and text terminals
-(ttys) simultaneously. If you start Emacs as an X application, it
-can only create X frames; if you start Emacs on a tty, it can only use
-that tty. No more confusion about which type of frame
-@command{emacsclient} will use in any given Emacs session!
+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
-Emacs can no longer be started as a daemon. You can be sure that if
-you don't see Emacs, then it's not running.
+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
-Emacs has added support for many soon-to-be-non-obsolete platforms,
-including VMS, DECstation, SCO Unix, and systems lacking alloca.
-Support for Sun windows has been added.
+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 22.3.
+other functions and files have been eliminated in Emacs 24.5.
@end itemize