From: Eli Zaretskii Date: Sat, 2 Sep 2017 09:37:51 +0000 (+0300) Subject: Rewrite Antinews for Emacs 26 X-Git-Tag: emacs-26.0.90~274 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c89f3ff3dc6c744c71808c40dc52c61979c57a4b;p=emacs.git Rewrite Antinews for Emacs 26 * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26. * doc/lispref/elisp.texi (Top): Update the top-level menu's Antinews entry. * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26. * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews entry. * etc/NEWS: Rearrange some entries in a more reasonable order. --- diff --git a/doc/emacs/anti.texi b/doc/emacs/anti.texi index 87cbe439e05..ffec915cb13 100644 --- a/doc/emacs/anti.texi +++ b/doc/emacs/anti.texi @@ -4,215 +4,167 @@ @c See file emacs.texi for copying conditions. @node Antinews -@appendix Emacs 24 Antinews +@appendix Emacs 25 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 24.5. We hope you will enjoy the -greater simplicity that results from the absence of many Emacs -@value{EMACSVER} features. +about downgrading to Emacs version 25.2. We hope you will enjoy the +greater simplicity that results from the absence of many @w{Emacs +@value{EMACSVER}} features. @itemize @bullet @item -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. +Emacs no longer defaults to requiring the GnuTLS library when you +build it. Those who want the TLS functionality built-in will have to +explicitly request it at build time---or forever hold their peace. We +decided that having the TLS functionality doesn't justify annoying +users or package builders with error messages about libgnutls absence. +We also decided that if you do build with GnuTLS, we will allow +versions of the library older than 2.12.2, as that version will become +less and less available/popular as you move farther back in time. @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. +For similar reasons, we've reverted back to building our own version +of of @command{movemail} that retrieves POP3 mail as clear text via +insecure channels. As you move back in time, the availability of +secure alternatives to POP3 will diminish, and we are only keen to +support that. We've also removed the @option{--with-mailutils} +configure-time option, as it no longer makes sense for the observable +past. -@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 +We have removed support for @command{systemd} and similar services: we +no longer provide a user init file for enabling Emacs support via +those services, and we removed from the Emacs server the +socket-launching support important for Emacs client operation under +these services. Again, these services will lose popularity as you +move back in time, so the code supporting them will be just dead code, +bloating Emacs unnecessarily. + +@item +Reproducible builds of Emacs are no longer supported, as past +development will make that unnecessary. + +@item +The @option{--fg-daemon} is gone, leaving only @option{--daemon}. No +need to procrastinate on the dilemma whether you do or don't want the +new shiny ``headless Emacs'' thingy. Hail, simplicity! + +@item +As text terminals supporting true color will lose ground as you move +back in time, we've removed support for 24-bit colors on text +terminals. If you want colors on a text terminal, you should be fine +with just 8 of them. (Truth being told, we think text terminals +should be monochrome, but you will have to keep downgrading to older +Emacs versions to have that feature back.) + +@item +Emacs 25.2 no longer supports magic signatures of the form +@samp{#!/usr/bin/env @var{interpreter}} in scripts. Moving back in +time means you are getting closer to the ideal of the original Unix +design where all the interpreters lived in a single directory +@file{/bin}, so this fancy feature is simply becoming unnecessary +ballast. + +@item +The double-buffering feature of Emacs display on X has been removed. +We decided that its complexity and a few random surprising +side-effects aren't justified by the gains, even though those gains +were hailed in some quarters. Yes, Emacs 25.2 will flicker in some +use cases, but we are sure Emacs users will be able to suck it, a they +have been doing for years. Since this feature is gone, we've also +removed the @code{inhibit-double-buffering} frame parameter, which is +now unnecessary. + +@item +Non-breaking hyphens and ASCII characters displayed instead of +unsupported quote characters are now again displayed using the +@code{escape-glyph} face. We think having a single face instead of 3 +different ones will make Emacs customization a much simpler job for +users. For the same reason, we've removed the +@code{header-line-highlight} face, leaving just @code{highlight} for +any element of the Emacs display besides the mode line. + +@item +You can no longer disable attempts of recovery from fatal exceptions +such as C stack overflows and fatal signals. Since the recovery +included in Emacs is reliable enough, we decided there was no reason +to put your edits in danger of becoming lost when these situations +happen. The variables @code{'attempt-stack-overflow-recovery} and +@code{attempt-orderly-shutdown-on-fatal-signal} are therefore removed. + +@item +The @code{timer-list} command was removed, as we decided timers are +not user-level feature, and therefore users should not be allowed to +mess with them. Ask an Emacs Lisp guru near you for help if you have +a runaway timer in your session. (Of course, as you move back in +time, such runaway timers will become less and less frequent, and +actually timers might start shutting down automatically, as they +cannot cope with time reversal.) + +@item +Horizontal scrolling using the mouse or touchpad has been removed. In +the past, wide monitors will become less popular, so horizontal +scrolling will no longer be needed. Removal of the mouse support for +horizontal scrolling is the first step towards its complete removal in +prior Emacs versions. + +@item +We have found the @option{--tramp} option of @command{emacsclient} too +risky and too complicated, so we removed it to simplify the client +code and its usage. + +@item +The @code{display-raw-bytes-as-hex} variable is gone, so raw bytes can +only be displayed as octal escapes. Emacs users should be able to +convert from octal to any other base in their sleep! @item -@code{(/ @var{n})} once again yields just @var{n}. Emacs Lisp is not -Common Lisp, so compatibility with CL just complicates Emacs here. +Displaying line numbers for a buffer is only possibly using add-on +features, such as @code{linum-mode}, which can only display the +numbers in the display margins. Line-number display using these +features is also slow, as we firmly believe such a feature is +un-Emacsy and should not have been included in Emacs to begin with. +Consequently, @code{display-line-numbers-mode} was removed. @item -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? +On our permanent quest for simplifying Emacs, we've removed the +support for passing command-line arguments and options to Emacs via +the @option{--alternate-editor} option of @command{emacsclient} and +@env{ALTERNATE_EDITOR} environment variable. There's only one True +Emacs---the one that comes up when invoked as @kbd{emacs}, no need for +all those fancy options! @item -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. +The complication known as ``single-line horizontal scrolling'' is no +longer with you in Emacs 25.2. This feature was a bow to ``other +editors''; instead, let those other editors bow to Emacs by hscrolling +the entire window at all times. Repeat after me: ``The Emacs way is +the Only Way!'' @item -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. +The fancy case conversions of non-ASCII characters used in several +locales, like Turkish and Greek, are removed, leaving the relations +between upper and lower letter-case simple again, as they were in +7-bit ASCII. Likewise with ligatures that turn into multiple +characters when their letter-case changes---gone. @item -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. +Enchant is no longer supported by @code{ispell-buffer} and similar +spell-checking commands. As Enchant will gradually disappear while +you move back in time, its support will become unnecessary anyway. @item -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. +Tramp lost its support for Google Drive repositories. Cloud storage +is on its way to extinction as you move back in time, thus making this +feature redundant. @item -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. +Several commands, deemed to be unnecessary complications, have been +removed. Examples include @code{replace-buffer-contents} and +@code{apropos-local-variable}. @item To keep up with decreasing computer memory capacity and disk space, many -other functions and files have been eliminated in Emacs 24.5. +other functions and files have been eliminated in Emacs 25.2. @end itemize diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index f3e6c94e274..1f603540615 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -222,7 +222,7 @@ Appendices * GNU Free Documentation License:: The license for this documentation. * Emacs Invocation:: Hairy startup options. * X Resources:: X resources for customizing Emacs. -* Antinews:: Information about Emacs version 24. +* Antinews:: Information about Emacs version 25. * Mac OS / GNUstep:: Using Emacs under Mac OS and GNUstep. * Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS. * Manifesto:: What's GNU? Gnu's Not Unix! diff --git a/doc/lispref/anti.texi b/doc/lispref/anti.texi index 02d08ebc019..fc14c8cfca5 100644 --- a/doc/lispref/anti.texi +++ b/doc/lispref/anti.texi @@ -6,110 +6,158 @@ @c This node must have no pointers. @node Antinews -@appendix Emacs 24 Antinews +@appendix Emacs 25 Antinews @c Update the elisp.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 24.5. We hope you will enjoy the greater -simplicity that results from the absence of many Emacs @value{EMACSVER} -features. +downgrading to Emacs version 25.2. We hope you will enjoy the greater +simplicity that results from the absence of many @w{Emacs +@value{EMACSVER}} features. -@section Old Lisp Features in Emacs 24 +@section Old Lisp Features in Emacs 25 @itemize @bullet @item -The requirement that @code{setq} and @code{setf} must be called with -an even number of arguments has been removed. You can now call them -with an odd number of arguments, and Emacs will helpfully supply a -@code{nil} for the missing one. Simplicity rules! +The concurrency features have been removed. Even in its limited +``mostly cooperative'' form, with only one Lisp thread running at any +given time, it made Emacs significantly more complex for Lisp programs +that need to work correctly in the presence of additional threads. @item -@kbd{M-x shell} and @kbd{M-x compile} set the @env{EMACS} environment -variable, as they should, to indicate that the subprocess is run by -Emacs. This is so packages that took years to learn how to work -around that setting could continue using their code to that effect. +Handling of file attributes has been simplified by discarding the +accessor functions, such as @code{file-attribute-type} and +@code{file-attribute-modification-time}. Real Lisp programmers always +access the individual attributes by their ordinal numbers, and can +recite those numbers in their sleep. @item -The @code{save-excursion} form saves and restores the mark, as -expected. No more need for the new @code{save-mark-and-excursion}, -which has been deleted. +The networking code is back at its pristine simplicity, as we deleted +the use of asynchronous DNS resolution, connection, and TLS +negotiation for TLS streams. You no longer need to consider the +resulting complexity and interesting race conditions when you write +Lisp programs that use network communications. As a direct +consequence, the @code{:complete-negotiation} parameter of +@code{gnutls-boot} has become unnecessary, and was removed---just one +example of how removal of asynchronicity simplifies Emacs. @item -We have removed the @code{text-quoting-style} variable and the -associated functionality that translates quote characters in messages -displayed to the user and in help buffers. Emacs now shows exactly -the same quote characters as you wrote in your code! Likewise, -@code{substitute-command-keys} leaves the quote characters alone. As -you move back in time, Unicode support becomes less and less -important, so no need to display those fancy new quotes the Unicode -Standard invented. +We've removed the @file{puny.el} library, so Web sites with +non-@acronym{ASCII} URLs are no longer easily accessible. But such +sites become more and more rare as you move back in time, so having a +specialized library for their support was deemed an unnecessary +maintenance burden. + +@item +Field numbers like @samp{%2$} in format specifiers are no longer +available. We decided that their use makes code reading and +comprehension much harder, and that having them is unjustified in the +past where similar features in popular C libraries will also be gone. + +@item +Since the built-in capability to display line numbers has been removed +(@pxref{Antinews,,, emacs, The GNU Emacs Manual}), we've also deleted +the @code{line-number-display-width} function and the support for the +@code{display-line-numbers-disable} property, as Lisp programs that do +their own display layout decisions no longer need to cater to this +tricky feature. @item Regular expressions have been simplified by removing support for -Unicode character properties in regexp classes. As result, -@code{[:alpha:]} and @code{[:alnum:]} will match any character with a -word syntax, and @code{[:graph:]} and @code{[:print:]} will match any -multibyte character, including surrogates and unassigned codepoints. -Once again, this is in line with diminishing importance of Unicode as -you move back in time. +Unicode character properties in the @code{[:blank:]} regexp class. As +result, this class will match only spaces and tabs. Once again, this +is in line with diminishing importance of Unicode as you move back in +time. + +@item +For similar reasons, we removed the function @code{char-from-name}. +It should be easy enough to access the full list of Unicode characters +returned by @code{ucs-names} instead, for as long as Unicode support +in Emacs exists (which shouldn't be too long). + +@item +Various functions that accept file names as arguments, such as +@code{file-attributes}, @code{file-symlink-p}, and +@code{make-symbolic-link} gained back the special support for file +names quoted with @samp{/:}, and they now interpret @samp{~} in +symlink targets as you'd expect: to mean your home directory. The +confusing differences between the operation of these functions in +interactive and non-interactive invocations has been removed. + +@item +The function @file{assoc} has been simplified by removing its third +optional argument. It now always uses @code{equal} for comparison. +Likewise, @code{alist-get} always uses @code{assq}, and @code{map-get} +and @code{map-put} always use @code{eql} for their comparisons. + +@item +GnuTLS cryptographic functions are no longer available in Emacs. We +have decided that the needs for such functionality are deteriorating, +and their cumbersome interfaces make them hard to use. + +@item +We have removed support for records of user-defined types, and +@code{cl-defstruct} no longer uses records. This removes the +potential for quite a few places where existing and past code could be +broken by records. + +@item +You can again use @code{string-as-unibyte}, +@code{string-make-multibyte}, and other similar functions, without +being annoyed by messages about their deprecation. This is in +preparation for removal of multibyte text from Emacs in the distance +past. @item -Evaluating @samp{(/ @var{n})} will now yield @var{n}. We have -realized that interpreting that as in Common Lisp was a bad mistake -that needed to be corrected. +The function @code{read-color} no longer displays color names using +each color as the background. We have determined that this surprises +users and produces funny inconsistent results on color-challenged +terminals. @item -The @code{pcase} form was significantly simplified by removing the -UPatterns @code{quote} and @code{app}. To further simplify this -facility, we've removed @code{pcase-defmacro}, since we found no need -for letting Lisp programs define new UPatterns. +We removed the function @code{file-name-case-insensitive-p}, as +testing for the OS symbol should be enough for the observable past to +come, and learning to use yet another API is a burden. @item -We've removed the text properties @code{cursor-intangible} and -@code{cursor-sensor-functions}, replacing them by the much simpler -@code{intangible}, @code{point-entered}, and @code{point-left} -properties. The latter are implemented on a much lower level, and -therefore are better integrated with user expectations. For similar -reasons, @code{cursor-intangible-mode} and @code{cursor-sensor-mode} -were removed; use the hook variable @code{inhibit-point-motion-hooks} -which is no longer obsolete. +The function @code{read-multiple-choice} is also gone, in recognition +of the fact that nothing makes Emacs Lisp hacker rejoice more than the +need to sit down and write yet another interactive question-and-answer +function, and make it optimal for each specific case. @item -Process creation and management functions were significantly improved -and simplified by removing @code{make-process} and the @code{pipe} -connection type. Redirecting @code{stderr} of a subprocess should be -done with shell facilities, not by Emacs. +The function @code{add-variable-watcher} and the corresponding +debugger command @code{debug-on-variable-change} have been removed. +They make debugging more complicated, while examining the value of a +variable at each stop point is easy enough to cover the same use +cases. Let simplicity rule! @item -We decided that shutting up informative messages is bad for user -interaction, so we've removed the @code{inhibit-message} variable -which could be used to that effect. +The function @code{mapcan} is gone; use @code{mapcar} instead, and +process the resulting list as you see fit. @item -Support for generators and for finalizers has been removed, as we -found no real need for these facilities. +You can once again write a Lisp program that returns funny random +values from @code{file-attributes} by having another process alter the +filesystem while Emacs is accessing the file. This can give rise to +some interesting applications in the near past. @item -Due to excessive complexity and the diminishing need for Unicode -support, the functions @code{string-collate-lessp} and -@code{string-collate-equalp} were removed. Their locale-independent -counterparts @code{string-lessp} and @code{string-equal} are so much -more simple and yield predictable results that we don't see any -situation where the locale-dependent collation could be useful in -Emacs. As result, the @file{ls-lisp.el} package sorts files in a -locale-independent manner. +We have removed the functions @code{file-name-quote}, +@code{file-name-unquote}, and @code{file-name-quoted-p}. Writing code +that checks whether a file name is already quoted is easy, and doubly +quoting a file name should not produce any problems for well-written +Lisp code. @item -In preparation for removal in some past version of Emacs of the -bidirectional editing support, we started by deleting two functions -@code{bidi-find-overridden-directionality} and -@code{buffer-substring-with-bidi-context}. +Frame parameters like @code{z-group}, @code{min-width}, +@code{parent-frame}, @code{delete-before}, etc. have been removed. +Emacs should not replace your window-manager, certainly not as +window-managers become less and less capable. @item -Time conversion functions, such as @code{current-time-string}, no -longer accept an optional @var{zone} argument. If you need to change -the current time zone (why?), do that explicitly with -@code{set-time-zone-rule}. +We decided that the format of mode line and header line should be +customizable only based on buffers; the @code{mode-line-format} and +@code{header-line-format} window parameters have been removed. @item As part of the ongoing quest for simplicity, many other functions and diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index f30d9f95e2c..b1399cdbd14 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -230,7 +230,7 @@ To view this manual in other formats, click Appendices -* Antinews:: Info for users downgrading to Emacs 24. +* Antinews:: Info for users downgrading to Emacs 25. * GNU Free Documentation License:: The license for this documentation. * GPL:: Conditions for copying and changing GNU Emacs. * Tips:: Advice and coding conventions for Emacs Lisp. diff --git a/etc/NEWS b/etc/NEWS index be95504cfd4..2b0c86d7afb 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -65,9 +65,9 @@ need to copy the emacs.service file to eg ~/.config/systemd/user/) Emacs that is more likely to be reproducible; that is, if you build and install Emacs twice, the second Emacs is a copy of the first. Deterministic builds omit the build date from the output of the -emacs-version and erc-cmd-SV functions, and the leave the following -variables nil: emacs-build-system, emacs-build-time, -erc-emacs-build-time. +'emacs-version' and 'erc-cmd-SV' functions, and the leave the +following variables nil: 'emacs-build-system', 'emacs-build-time', +'erc-emacs-build-time'. ** The configure option '--with-gameuser' now defaults to 'no', as this appears to be the most common configuration in practice. @@ -108,11 +108,6 @@ The effect is similar to that of "toolBar" resource on the tool bar. * Changes in Emacs 26.1 -+++ -** The function 'assoc' now takes an optional third argument 'testfn'. -This argument, when non-nil, is used for comparison instead of -'equal'. - --- ** New variable 'executable-prefix-env' for inserting magic signatures. This variable affects the format of the interpreter magic number @@ -126,10 +121,6 @@ so the default behavior is not changed. ** The variable 'emacs-version' no longer includes the build number. This is now stored separately in a new variable, 'emacs-build-number'. -+++ -** The new function 'mapbacktrace' applies a function to all frames of -the current stack trace. - +++ ** Emacs now provides a limited form of concurrency with Lisp threads. Concurrency in Emacs Lisp is "mostly cooperative", meaning that @@ -143,10 +134,6 @@ buffer and its own match data. See the chapter "Threads" in the ELisp manual for full documentation of these facilities. -+++ -** The new function 'file-name-case-insensitive-p' tests whether a -given file is on a case-insensitive filesystem. - +++ ** The new user variable 'electric-quote-chars' provides a list of curved quotes for 'electric-quote-mode', allowing user to choose @@ -272,20 +259,6 @@ part of minibuffers. ** 'find-library' now takes a prefix argument to pop to a different window. -+++ -** Several accessors for the value returned by 'file-attributes' -have been added. They are: 'file-attribute-type', -'file-attribute-link-number', 'file-attribute-user-id', -'file-attribute-group-id', 'file-attribute-access-time', -'file-attribute-modification-time', -'file-attribute-status-change-time', 'file-attribute-size', -'file-attribute-modes', 'file-attribute-inode-number', -'file-attribute-device-number' and 'file-attribute-collect'. - -+++ -** The new function 'buffer-hash' computes a fast, non-consing hash of -a buffer's contents. - --- ** 'fill-paragraph' no longer marks the buffer as changed unless it actually changed something. @@ -336,13 +309,6 @@ These variables are for users who would like to avoid the small probability of data corruption due to techniques Emacs uses to recover in these situations. -+++ -** 'interrupt-process' now consults the list 'interrupt-process-functions', -to determine which function has to be called in order to deliver the -SIGINT signal. This allows Tramp to send the SIGINT signal to remote -asynchronous processes. The hitherto existing implementation has been -moved to 'internal-default-interrupt-process'. - +++ ** File local and directory local variables are now initialized each time the major mode is set, not just when the file is first visited. @@ -359,16 +325,12 @@ see the node "Connection Local Variables" in the ELisp manual. --- ** International domain names (IDNA) are now encoded via the new -puny.el library, so that one can visit web sites with non-ASCII URLs. +puny.el library, so that one can visit Web sites with non-ASCII URLs. +++ ** The new 'timer-list' command lists all active timers in a buffer, where you can cancel them with the 'c' command. -+++ -** The new function 'read-multiple-choice' prompts for multiple-choice -questions, with a handy way to display help texts. - +++ ** 'switch-to-buffer-preserve-window-point' now defaults to t. @@ -455,10 +417,6 @@ display of raw bytes from octal to hex. ** You can now provide explicit field numbers in format specifiers. For example, '(format "%2$s %1$s" "X" "Y")' produces "Y X". ---- -** 'comment-indent-function' values may now return a cons to specify a -range of indentation. - +++ ** Emacs now supports optional display of line numbers in the buffer. This is similar to what linum-mode provides, but much faster and @@ -1289,18 +1247,62 @@ variable 'x-gtk-use-window-move'. The variable is now obsolete. * Lisp Changes in Emacs 26.1 +++ -** New optional argument TEXT in 'make-temp-file'. - ---- -** New function `define-symbol-prop'. +** The function 'assoc' now takes an optional third argument TESTFN. +This argument, when non-nil, is used for comparison instead of +'equal'. +++ ** New optional argument TESTFN in 'alist-get', 'map-elt' and 'map-put'. +If non-nil, the argument specifies a function to use for comparison, +instead of, respectively, 'assq' and 'eql'. +++ ** New function 'seq-set-equal-p' to check if SEQUENCE1 and SEQUENCE2 contain the same elements, regardless of the order. ++++ +** The new function 'mapbacktrace' applies a function to all frames of +the current stack trace. + ++++ +** The new function 'file-name-case-insensitive-p' tests whether a +given file is on a case-insensitive filesystem. + ++++ +** Several accessors for the value returned by 'file-attributes' +have been added. They are: 'file-attribute-type', +'file-attribute-link-number', 'file-attribute-user-id', +'file-attribute-group-id', 'file-attribute-access-time', +'file-attribute-modification-time', +'file-attribute-status-change-time', 'file-attribute-size', +'file-attribute-modes', 'file-attribute-inode-number', +'file-attribute-device-number' and 'file-attribute-collect'. + ++++ +** The new function 'buffer-hash' computes a fast, non-consing hash of +a buffer's contents. + ++++ +** 'interrupt-process' now consults the list 'interrupt-process-functions', +to determine which function has to be called in order to deliver the +SIGINT signal. This allows Tramp to send the SIGINT signal to remote +asynchronous processes. The hitherto existing implementation has been +moved to 'internal-default-interrupt-process'. + ++++ +** The new function 'read-multiple-choice' prompts for multiple-choice +questions, with a handy way to display help texts. + +--- +** 'comment-indent-function' values may now return a cons to specify a +range of indentation. + ++++ +** New optional argument TEXT in 'make-temp-file'. + +--- +** New function `define-symbol-prop'. + ** Checksum/Hash +++