]> code.delx.au - gnu-emacs/blobdiff - doc/emacs/anti.texi
* doc/emacs/files.texi (Comparing Files):
[gnu-emacs] / doc / emacs / anti.texi
index 1ee93362ae6e536c34f89863d5a99ea50e13885b..68a65a7c0c1cd628bec73bc9ba20190d412cc7bb 100644 (file)
+@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