aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Albinus2020-01-08 14:44:18 +0100
committerMichael Albinus2020-01-08 14:44:18 +0100
commit42329e6d3b51dd7a9202cd1a98160d5e2db34509 (patch)
tree694785e1e97ebc408ecfc21b1de6dea491b224f8
parentaf5709f16b0aa21aea8158a953e9a5a803e61018 (diff)
downloademacs-42329e6d3b51dd7a9202cd1a98160d5e2db34509.tar.gz
emacs-42329e6d3b51dd7a9202cd1a98160d5e2db34509.zip
; * etc/NEWS: Review of the whole text.
-rw-r--r--etc/NEWS300
1 files changed, 156 insertions, 144 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 6eb5d3811a0..6d4a6119afa 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -69,8 +69,8 @@ When built with the portable dumping support (which is the default),
69Emacs looks for the 'emacs.pdmp' file, generated during the build, in 69Emacs looks for the 'emacs.pdmp' file, generated during the build, in
70its data directory at startup, and loads the dumped state from there. 70its data directory at startup, and loads the dumped state from there.
71The new command-line argument '--dump-file=FILE' allows to specify a 71The new command-line argument '--dump-file=FILE' allows to specify a
72non-default '.pdmp' file to load the state from; see the node "Initial 72non-default '.pdmp' file to load the state from; see the node
73Options" in the Emacs manual for more information. 73"(emacs) Initial Options" in the Emacs manual for more information.
74 74
75An Emacs started via a dump file can create a new dump file only if it 75An Emacs started via a dump file can create a new dump file only if it
76was invoked with the '-batch' option. (This is a temporary 76was invoked with the '-batch' option. (This is a temporary
@@ -92,7 +92,7 @@ change to one of the data structures that it relies on.
92'--enable-checking=xmallocoverrun' have been withdrawn. The former 92'--enable-checking=xmallocoverrun' have been withdrawn. The former
93made Emacs irredeemably slow, and the latter made it crash. Neither 93made Emacs irredeemably slow, and the latter made it crash. Neither
94option was useful with modern debugging tools such as AddressSanitizer. 94option was useful with modern debugging tools such as AddressSanitizer.
95(See etc/DEBUG for the details of using the modern replacements of the 95(See "etc/DEBUG" for the details of using the modern replacements of the
96removed configure options.) 96removed configure options.)
97 97
98--- 98---
@@ -158,25 +158,25 @@ support.
158For example, it looks for init.el in "~/.config/emacs/init.el", and 158For example, it looks for init.el in "~/.config/emacs/init.el", and
159similarly for other init files. 159similarly for other init files.
160 160
161The XDG_CONFIG_HOME environment variable (which defaults to "~/.config") 161The 'XDG_CONFIG_HOME' environment variable (which defaults to "~/.config")
162specifies the parent directory of these and other configuration files, 162specifies the parent directory of these and other configuration files,
163and will override their traditional locations (the home directory, 163and will override their traditional locations (the home directory,
164"~/.emacs.d", etc.). 164"~/.emacs.d", etc.).
165 165
166Emacs will still look for init files in their traditional locations if 166Emacs will still look for init files in their traditional locations if
167XDG_CONFIG_HOME/emacs does not exist, but ~/.emacs.d or ~/.emacs does 167"$XDG_CONFIG_HOME/emacs" does not exist, but "~/.emacs.d" or
168exist, so invoking Emacs with XDG_CONFIG_HOME='/nowhere' might be 168"~/.emacs" does exist, so invoking Emacs with XDG_CONFIG_HOME='/nowhere'
169useful if your new-location init files are scrambled, or if you want 169might be useful if your new-location init files are scrambled, or if
170to force Emacs to ignore files under XDG_CONFIG_HOME for some other 170you want to force Emacs to ignore files under 'XDG_CONFIG_HOME' for
171reason. 171some other reason.
172 172
173If neither XDG_CONFIG_HOME/emacs nor ~/.emacs.d exist, Emacs will now 173If neither "$XDG_CONFIG_HOME/emacs" nor "~/.emacs.d" exist, Emacs will
174default to XDG_CONFIG_HOME/emacs, and will create that directory and 174now default to "$XDG_CONFIG_HOME/emacs", and will create that directory
175set 'user-emacs-directory' to point to it. 175and set 'user-emacs-directory' to point to it.
176 176
177+++ 177+++
178** Emacs can now be configured using an early init file. 178** Emacs can now be configured using an early init file.
179The file is called 'early-init.el', in 'user-emacs-directory'. It is 179The file is called "early-init.el", in 'user-emacs-directory'. It is
180loaded very early in the startup process: before graphical elements 180loaded very early in the startup process: before graphical elements
181such as the tool bar are initialized, and before the package manager 181such as the tool bar are initialized, and before the package manager
182is initialized. The primary purpose is to allow customizing how the 182is initialized. The primary purpose is to allow customizing how the
@@ -283,7 +283,6 @@ The old function names are maintained as aliases for backward
283compatibility. 283compatibility.
284 284
285** emacsclient 285** emacsclient
286
287+++ 286+++
288*** emacsclient now supports the 'EMACS_SOCKET_NAME' environment variable. 287*** emacsclient now supports the 'EMACS_SOCKET_NAME' environment variable.
289The command-line argument '--socket-name' overrides it. 288The command-line argument '--socket-name' overrides it.
@@ -468,7 +467,7 @@ This user option allows to specify the set of buffers that may be
468shown by 'switch-to-prev-buffer' and 'switch-to-next-buffer' more 467shown by 'switch-to-prev-buffer' and 'switch-to-next-buffer' more
469stringently than the now obsolete 'switch-to-visible-buffer'. 468stringently than the now obsolete 'switch-to-visible-buffer'.
470 469
471** New 'flex' completion style 470** New 'flex' completion style.
472An implementation of popular "flex/fuzzy/scatter" completion which 471An implementation of popular "flex/fuzzy/scatter" completion which
473matches strings where the pattern appears as a subsequence. Put 472matches strings where the pattern appears as a subsequence. Put
474simply, makes "foo" complete to both "barfoo" and "frodo". Add 'flex' 473simply, makes "foo" complete to both "barfoo" and "frodo". Add 'flex'
@@ -493,7 +492,6 @@ Consequently, a theme generally shouldn't specify this attribute
493unless it has a good reason to do so. 492unless it has a good reason to do so.
494 493
495** Connection-local variables 494** Connection-local variables
496
497+++ 495+++
498*** Connection-local variables are applied by default like file-local 496*** Connection-local variables are applied by default like file-local
499and directory-local variables. 497and directory-local variables.
@@ -521,7 +519,6 @@ Emacs configured with Cairo drawing and linked with cairo >= 1.16.0.
521 519
522+++ 520+++
523** Emacs now optionally displays a fill column indicator. 521** Emacs now optionally displays a fill column indicator.
524
525This is similar to what 'fill-column-indicator' package provides, but 522This is similar to what 'fill-column-indicator' package provides, but
526much faster and compatible with 'show-trailing-whitespace'. 523much faster and compatible with 'show-trailing-whitespace'.
527 524
@@ -533,7 +530,7 @@ The indicator is not displayed at all in minibuffer windows and
533in tooltips, as it is not useful there. 530in tooltips, as it is not useful there.
534 531
535There are 2 new buffer local variables and 1 face to customize this 532There are 2 new buffer local variables and 1 face to customize this
536mode they are described in the manual "(emacs) Display". 533mode, they are described in the manual "(emacs) Display".
537 534
538+++ 535+++
539** 'progress-reporter-update' accepts a suffix string to display. 536** 'progress-reporter-update' accepts a suffix string to display.
@@ -547,7 +544,6 @@ It is used for displaying file sizes and disk space in some cases.
547 544
548+++ 545+++
549** Emacs now interprets RGB triplets like HTML, SVG, and CSS do. 546** Emacs now interprets RGB triplets like HTML, SVG, and CSS do.
550
551The X convention previously used differed slightly, particularly for 547The X convention previously used differed slightly, particularly for
552RGB triplets with a single hexadecimal digit per component. 548RGB triplets with a single hexadecimal digit per component.
553 549
@@ -555,8 +551,8 @@ RGB triplets with a single hexadecimal digit per component.
555** The toolbar now shows the equivalent key binding in its tooltips. 551** The toolbar now shows the equivalent key binding in its tooltips.
556 552
557--- 553---
558** The File menu-bar menu was re-arranged: Print menu items moved to 554** The File menu-bar menu was re-arranged.
559submenu, and also added the new entries for tabs. 555Print menu items moved to submenu, and also added the new entries for tabs.
560 556
561--- 557---
562** 'scroll-lock-mode' is now bound to the 'Scroll_Lock' key globally. 558** 'scroll-lock-mode' is now bound to the 'Scroll_Lock' key globally.
@@ -734,6 +730,7 @@ network connection information (in addition to the host name).
734 730
735--- 731---
736** desktop 732** desktop
733
737*** When called interactively with a prefix arg 'C-u', 'desktop-read' 734*** When called interactively with a prefix arg 'C-u', 'desktop-read'
738now prompts the user for the directory containing the desktop file. 735now prompts the user for the directory containing the desktop file.
739 736
@@ -750,28 +747,34 @@ an offset to absolute line numbers.
750 747
751+++ 748+++
752** winner 749** winner
750
753*** A new user option, 'winner-boring-buffers-regexp', has been added. 751*** A new user option, 'winner-boring-buffers-regexp', has been added.
754 752
755** table 753** table
756** 'table-generate-source' and friends now support outputting wiki and 754
755*** 'table-generate-source' and friends now support outputting wiki and
757mediawiki format tables. 756mediawiki format tables.
758 757
759--- 758---
760** telnet-mode 759** telnet-mode
760
761*** Reverting a buffer in 'telnet-mode' will restart a closed connection. 761*** Reverting a buffer in 'telnet-mode' will restart a closed connection.
762 762
763** goto-addr 763** goto-addr
764
764*** A way to more conveniently specify what URI address schemes that 765*** A way to more conveniently specify what URI address schemes that
765should be ignored have been added via the 766should be ignored have been added via the
766'goto-address-uri-schemes-ignored' variable. 767'goto-address-uri-schemes-ignored' variable.
767 768
768+++ 769+++
769** tex-mode 770** tex-mode
771
770*** 'latex-noindent-commands' controls indentation of certain commands. 772*** 'latex-noindent-commands' controls indentation of certain commands.
771You can use this new user option to control indentation of arguments of 773You can use this new user option to control indentation of arguments of
772\emph, \footnote, and similar commands. 774\emph, \footnote, and similar commands.
773 775
774** byte compiler 776** byte compiler
777
775*** 'byte-compile-dynamic' is now obsolete. 778*** 'byte-compile-dynamic' is now obsolete.
776This is because on the one hand it suffers from misbehavior in corner 779This is because on the one hand it suffers from misbehavior in corner
777cases that have plagued it for years, and on the other experiments indicated 780cases that have plagued it for years, and on the other experiments indicated
@@ -783,20 +786,24 @@ command that will recompile the file previously compiled with 'M-x
783byte-compile-file' and the like. 786byte-compile-file' and the like.
784 787
785** compile.el 788** compile.el
789
786--- 790---
787*** In 'compilation-error-regexp-alist', 'line' (and 'end-line') can 791*** In 'compilation-error-regexp-alist', 'line' (and 'end-line') can
788be functions. 792be functions.
793
789+++ 794+++
790*** 'compilation-context-lines' can now take the value t; this is like 795*** 'compilation-context-lines' can now take the value t; this is like
791nil, but instead of scrolling the current line to the top of the 796nil, but instead of scrolling the current line to the top of the
792screen when there is no left fringe, it inserts a visible arrow before 797screen when there is no left fringe, it inserts a visible arrow before
793column zero. 798column zero.
799
794--- 800---
795*** The new 'compilation-transform-file-match-alist' user option can 801*** The new 'compilation-transform-file-match-alist' user option can
796be used to transform file name matches compilation output, and remove 802be used to transform file name matches compilation output, and remove
797known false positives being recognized as warnings/errors. 803known false positives being recognized as warnings/errors.
798 804
799** cl-lib.el 805** cl-lib.el
806
800+++ 807+++
801*** 'cl-defstruct' has a new ':noinline' argument to prevent inlining 808*** 'cl-defstruct' has a new ':noinline' argument to prevent inlining
802its functions. 809its functions.
@@ -808,13 +815,16 @@ its functions.
808*** 'cl-values-list' will now signal an error if its argument isn't a list. 815*** 'cl-values-list' will now signal an error if its argument isn't a list.
809 816
810** doc-view.el 817** doc-view.el
818
811*** New commands 'doc-view-presentation' and 'doc-view-fit-window-to-page'. 819*** New commands 'doc-view-presentation' and 'doc-view-fit-window-to-page'.
812*** Added support for password-protected PDF files 820
821*** Added support for password-protected PDF files.
813 822
814*** A new user option 'doc-view-pdftotext-program-args' has been added 823*** A new user option 'doc-view-pdftotext-program-args' has been added
815to allow controlling how the conversion to text is done. 824to allow controlling how the conversion to text is done.
816 825
817** Ido 826** Ido
827
818*** New user option 'ido-big-directories' to mark directories whose 828*** New user option 'ido-big-directories' to mark directories whose
819names match certain regular expressions as big. Ido won't attempt to 829names match certain regular expressions as big. Ido won't attempt to
820list the contents of such directories when completing file names. 830list the contents of such directories when completing file names.
@@ -846,13 +856,13 @@ at the end of the active minibuffer.
846a character using the minibuffer by 'read-char-from-minibuffer'. 856a character using the minibuffer by 'read-char-from-minibuffer'.
847 857
848** map.el 858** map.el
859
849*** Now also understands plists. 860*** Now also understands plists.
850*** Now defined via generic functions that can be extended via 'cl-defmethod'. 861*** Now defined via generic functions that can be extended via 'cl-defmethod'.
851*** Deprecate the 'map-put' macro in favor of a new 'map-put!' function. 862*** Deprecate the 'map-put' macro in favor of a new 'map-put!' function.
852*** 'map-contains-key' now returns a boolean rather than the key. 863*** 'map-contains-key' now returns a boolean rather than the key.
853*** Deprecate the 'testfn' args of 'map-elt' and 'map-contains-key'. 864*** Deprecate the 'testfn' args of 'map-elt' and 'map-contains-key'.
854*** New generic function 'map-insert'. 865*** New generic function 'map-insert'.
855
856+++ 866+++
857*** The 'type' arg can be a list '(hash-table :key1 VAL1 :key2 VAL2 ...)'. 867*** The 'type' arg can be a list '(hash-table :key1 VAL1 :key2 VAL2 ...)'.
858 868
@@ -922,7 +932,6 @@ The mode is automatically enabled in files that start with the
922** project.el 932** project.el
923 933
924*** New commands 'project-search' and 'project-query-replace-regexp'. 934*** New commands 'project-search' and 'project-query-replace-regexp'.
925
926*** New user option 'project-read-file-name-function'. 935*** New user option 'project-read-file-name-function'.
927 936
928** Etags 937** Etags
@@ -1070,7 +1079,7 @@ by Hg.
1070you invoke 'C-x v m' ('vc-merge'). 1079you invoke 'C-x v m' ('vc-merge').
1071 1080
1072--- 1081---
1073*** The Hg (Mercurial) back-end now use tags, branches and bookmarks 1082*** The Hg (Mercurial) back-end now uses tags, branches and bookmarks
1074instead of revision numbers as completion candidates when it prompts 1083instead of revision numbers as completion candidates when it prompts
1075for a revision. 1084for a revision.
1076 1085
@@ -1122,6 +1131,7 @@ Emacs 24.1, but wasn't documented until now.
1122*** New command 'diff-buffers' interactively diffs two buffers. 1131*** New command 'diff-buffers' interactively diffs two buffers.
1123 1132
1124** Diff mode 1133** Diff mode
1134
1125+++ 1135+++
1126*** Hunks are now automatically refined by font-lock. 1136*** Hunks are now automatically refined by font-lock.
1127To disable refinement, set the new user option 'diff-refine' to nil. 1137To disable refinement, set the new user option 'diff-refine' to nil.
@@ -1249,7 +1259,7 @@ included.
1249Database passwords can now by stored in NETRC or JSON data files that 1259Database passwords can now by stored in NETRC or JSON data files that
1250may optionally be encrypted. When establishing an interactive session 1260may optionally be encrypted. When establishing an interactive session
1251with the database via 'sql-connect' or a product specific function, 1261with the database via 'sql-connect' or a product specific function,
1252like 'sql-mysql' or 'my-postgres', the password wallet will be 1262like 'sql-mysql' or 'sql-postgres', the password wallet will be
1253searched for the password. The 'sql-product', 'sql-server', 1263searched for the password. The 'sql-product', 'sql-server',
1254'sql-database', and the 'sql-username' will be used to identify the 1264'sql-database', and the 'sql-username' will be used to identify the
1255appropriate authorization. This eliminates the discouraged practice of 1265appropriate authorization. This eliminates the discouraged practice of
@@ -1321,8 +1331,8 @@ package data. It is therefore recommended to keep this line.
1321 1331
1322+++ 1332+++
1323*** Change of 'package-check-signature' for packages with multiple sigs. 1333*** Change of 'package-check-signature' for packages with multiple sigs.
1324In previous Emacsen, 't' checked that all signatures are valid. 1334In previous Emacsen, t checked that all signatures are valid.
1325Now 't' only checks that at least one signature is valid and the new 'all' 1335Now t only checks that at least one signature is valid and the new 'all'
1326value needs to be used if you want to enforce that all signatures 1336value needs to be used if you want to enforce that all signatures
1327are valid. This only affects packages with multiple signatures. 1337are valid. This only affects packages with multiple signatures.
1328 1338
@@ -1402,9 +1412,9 @@ This command finds definitions of the identifier at the place of a
1402mouse click event, and is intended to be bound to a mouse event. 1412mouse click event, and is intended to be bound to a mouse event.
1403 1413
1404+++ 1414+++
1405*** Changing 'xref-marker-ring-length' works after 'xref.el' is loaded. 1415*** Changing 'xref-marker-ring-length' works after xref.el is loaded.
1406Previously, setting 'xref-marker-ring-length' would only take effect 1416Previously, setting 'xref-marker-ring-length' would only take effect
1407if set before 'xref.el' was loaded. 1417if set before xref.el was loaded.
1408 1418
1409--- 1419---
1410*** 'xref-find-definitions' now sets the mark at the buffer position 1420*** 'xref-find-definitions' now sets the mark at the buffer position
@@ -1423,8 +1433,7 @@ behavior and the display of results.
1423*** Search results show the buffer even for one hit. 1433*** Search results show the buffer even for one hit.
1424The search-type Xref commands (e.g. 'xref-find-references' or 1434The search-type Xref commands (e.g. 'xref-find-references' or
1425'project-find-regexp') now show the results buffer even when there is 1435'project-find-regexp') now show the results buffer even when there is
1426only one hit. This can be altered by changing 1436only one hit. This can be altered by changing 'xref-show-xrefs-function'.
1427'xref-show-xrefs-function'.
1428 1437
1429+++ 1438+++
1430*** Xref buffers support refreshing the search results. 1439*** Xref buffers support refreshing the search results.
@@ -1446,7 +1455,7 @@ completion facilities.
1446** Ecomplete 1455** Ecomplete
1447 1456
1448--- 1457---
1449*** The ecomplete sorting has changed to a decay-based algorithm. 1458*** The Ecomplete sorting has changed to a decay-based algorithm.
1450This can be controlled by the new 'ecomplete-sort-predicate' user option. 1459This can be controlled by the new 'ecomplete-sort-predicate' user option.
1451 1460
1452--- 1461---
@@ -1471,14 +1480,14 @@ are marked with "." in the summary mode lines.)
1471'never' for never expunging messages, 'immediately' for immediately 1480'never' for never expunging messages, 'immediately' for immediately
1472expunging deleted messages, and 'on-exit' to expunge deleted articles 1481expunging deleted messages, and 'on-exit' to expunge deleted articles
1473when exiting the group's summary buffer. Setting 'nnimap-expunge' to 1482when exiting the group's summary buffer. Setting 'nnimap-expunge' to
1474'nil' or 't' is still supported but not recommended, since it may 1483nil or t is still supported but not recommended, since it may
1475result in Gnus expunging all messages that have been flagged as 1484result in Gnus expunging all messages that have been flagged as
1476deleted by any IMAP client (rather than just those that have been 1485deleted by any IMAP client (rather than just those that have been
1477deleted by Gnus). 1486deleted by Gnus).
1478 1487
1479+++ 1488+++
1480*** New user option 'gnus-use-atomic-windows' makes Gnus window layouts atomic. 1489*** New user option 'gnus-use-atomic-windows' makes Gnus window layouts atomic.
1481See the "Atomic Windows" section of the Elisp manual for details. 1490See the "(elisp) Atomic Windows" node of the Elisp manual for details.
1482 1491
1483+++ 1492+++
1484*** There's a new value for 'gnus-article-date-headers', 1493*** There's a new value for 'gnus-article-date-headers',
@@ -1516,20 +1525,19 @@ See the concept index in the Gnus manual for the 'match-list' entry.
1516*** nil is no longer an allowed value for 'mm-text-html-renderer'. 1525*** nil is no longer an allowed value for 'mm-text-html-renderer'.
1517 1526
1518+++ 1527+++
1519The default value of 'mm-inline-large-images' has changed from nil to 1528*** The default value of 'mm-inline-large-images' has changed from nil
1520'resize', which means that large images will be resized instead of 1529to 'resize', which means that large images will be resized instead of
1521displayed with an external program by default. 1530displayed with an external program by default.
1522 1531
1523+++ 1532+++
1524*** A new Gnus summary mode command, 'S A' 1533*** A new Gnus summary mode command, 'S A' ('gnus-summary-attach-article')
1525('gnus-summary-attach-article') can be used to attach the current 1534can be used to attach the current article(s) to a pre-existing Message
1526article(s) to a pre-existing Message buffer, or create a new Message 1535buffer, or create a new Message buffer with the article(s) attached.
1527buffer with the article(s) attached.
1528 1536
1529+++ 1537+++
1530*** A new Gnus summary mode command, 'w' 1538*** A new Gnus summary mode command, 'w' ('gnus-summary-browse-url')
1531('gnus-summary-browse-url') scans the article buffer for URLs, and 1539scans the article buffer for URLs, and offers them to the user to open
1532offers them to the user to open with 'browse-url'. 1540with 'browse-url'.
1533 1541
1534--- 1542---
1535*** New user option 'nnir-notmuch-filter-group-names-function'. 1543*** New user option 'nnir-notmuch-filter-group-names-function'.
@@ -1550,8 +1558,7 @@ fail.
1550*** New hook 'erc-insert-done-hook'. 1558*** New hook 'erc-insert-done-hook'.
1551This hook is called after strings have been inserted into the buffer, 1559This hook is called after strings have been inserted into the buffer,
1552and is free to alter point and window configurations, as it's not 1560and is free to alter point and window configurations, as it's not
1553called from inside a 'save-excursion', as opposed to 1561called from inside a 'save-excursion', as opposed to 'erc-insert-post-hook'.
1554'erc-insert-post-hook'.
1555 1562
1556--- 1563---
1557*** 'erc-button-google-url' has been renamed to 'erc-button-search-url' 1564*** 'erc-button-google-url' has been renamed to 'erc-button-search-url'
@@ -1637,14 +1644,14 @@ attempt when communicating with the SMTP server(s), the
1637'smtpmail-servers-requiring-authorization' user option can be used. 1644'smtpmail-servers-requiring-authorization' user option can be used.
1638 1645
1639+++ 1646+++
1640*** smtpmail will now try resending mail when getting a transient 4xx 1647*** smtpmail will now try resending mail when getting a transient "4xx"
1641error message from the SMTP server. The new 'smtpmail-retries' 1648error message from the SMTP server. The new 'smtpmail-retries'
1642user option says how many times to retry. 1649user option says how many times to retry.
1643 1650
1644** Footnote mode 1651** Footnote mode
1645 1652
1646--- 1653---
1647*** Support Hebrew-style footnotes 1654*** Support Hebrew-style footnotes.
1648 1655
1649--- 1656---
1650*** Footnote text lines are now aligned. 1657*** Footnote text lines are now aligned.
@@ -1738,7 +1745,7 @@ with a numeric argument.
1738of matches in the Isearch prompt. User options 1745of matches in the Isearch prompt. User options
1739'lazy-count-prefix-format' and 'lazy-count-suffix-format' define the 1746'lazy-count-prefix-format' and 'lazy-count-suffix-format' define the
1740format of the current and the total number of matches in the prompt's 1747format of the current and the total number of matches in the prompt's
1741prefix and suffix respectively. 1748prefix and suffix, respectively.
1742 1749
1743--- 1750---
1744*** 'lazy-highlight-buffer' highlights matches in the full buffer. 1751*** 'lazy-highlight-buffer' highlights matches in the full buffer.
@@ -1751,7 +1758,6 @@ highlight in one iteration while processing the full buffer.
1751 1758
1752+++ 1759+++
1753*** New isearch bindings. 1760*** New isearch bindings.
1754
1755'C-M-z' invokes new function 'isearch-yank-until-char', which yanks 1761'C-M-z' invokes new function 'isearch-yank-until-char', which yanks
1756everything from point up to but not including the specified 1762everything from point up to but not including the specified
1757character into the search string. This is especially useful for 1763character into the search string. This is especially useful for
@@ -1768,13 +1774,13 @@ to the existing binding 'M-s h r' ('highlight-regexp') that highlights
1768JUST the search string. 1774JUST the search string.
1769 1775
1770+++ 1776+++
1771*** New user option 'isearch-yank-on-move' provides options 't' and 'shift' 1777*** New user option 'isearch-yank-on-move' provides options t and 'shift'
1772to extend the search string by yanking text that ends at the new 1778to extend the search string by yanking text that ends at the new
1773position after moving point in the current buffer. 'shift' extends 1779position after moving point in the current buffer. 'shift' extends
1774the search string by motion commands while holding down the shift key. 1780the search string by motion commands while holding down the shift key.
1775 1781
1776+++ 1782+++
1777*** 'isearch-allow-scroll' provides new option 'unlimited' to allow 1783*** 'isearch-allow-scroll' provides a new option 'unlimited' to allow
1778scrolling any distance off screen. 1784scrolling any distance off screen.
1779 1785
1780--- 1786---
@@ -1799,7 +1805,7 @@ IOTA WITH OXIA".
1799*** New char-folding options: 'char-fold-include' lets you add ad hoc 1805*** New char-folding options: 'char-fold-include' lets you add ad hoc
1800foldings, 'char-fold-exclude' to remove foldings from default decomposition, 1806foldings, 'char-fold-exclude' to remove foldings from default decomposition,
1801and 'char-fold-symmetric' to search for any of an equivalence class of 1807and 'char-fold-symmetric' to search for any of an equivalence class of
1802characters. For example, with a 'nil' value of 'char-fold-symmetric' 1808characters. For example, with a nil value of 'char-fold-symmetric'
1803you can search for "e" to find "é", but not vice versa. With a non-nil 1809you can search for "e" to find "é", but not vice versa. With a non-nil
1804value you can search for either, for example, you can search for "é" 1810value you can search for either, for example, you can search for "é"
1805to find "e". 1811to find "e".
@@ -1913,7 +1919,7 @@ This is useful for games where lower scores are better, like time-based games.
1913** Filecache 1919** Filecache
1914 1920
1915--- 1921---
1916*** Completing filenames in the minibuffer via 'C-TAB' now uses the 1922*** Completing file names in the minibuffer via 'C-TAB' now uses the
1917styles as configured by the user option 'completion-styles'. 1923styles as configured by the user option 'completion-styles'.
1918 1924
1919** New macros 'thunk-let' and 'thunk-let*'. 1925** New macros 'thunk-let' and 'thunk-let*'.
@@ -2060,8 +2066,8 @@ Tramp for some look-alike remote file names.
2060 2066
2061+++ 2067+++
2062*** For some connection methods, like "su" or "sudo", the host name in 2068*** For some connection methods, like "su" or "sudo", the host name in
2063ad-hoc multi-hop file names must match the previous hop. Default host 2069multi-hop file names must match the previous hop. Default host names
2064names are adjusted to the host name from the previous hop. 2070are adjusted to the host name from the previous hop.
2065 2071
2066+++ 2072+++
2067*** For the connection methods "sudo" and "doas" there exists a 2073*** For the connection methods "sudo" and "doas" there exists a
@@ -2097,15 +2103,6 @@ Two new user options are provided for this:
2097*** The return value of method 'register-val-describe' includes the 2103*** The return value of method 'register-val-describe' includes the
2098names of buffers shown by the windows of a window configuration. 2104names of buffers shown by the windows of a window configuration.
2099 2105
2100---
2101** The options.el library has been removed.
2102It was obsolete since Emacs 22.1, replaced by customize.
2103
2104---
2105** The tls.el and starttls.el libraries are now marked obsolete.
2106Use of built-in libgnutls based functionality (described in the Emacs
2107GnuTLS manual) is recommended instead.
2108
2109** Message 2106** Message
2110 2107
2111--- 2108---
@@ -2140,7 +2137,7 @@ are formatted as MIME digests.
2140*** 'message-forward-included-headers' has changed its default to 2137*** 'message-forward-included-headers' has changed its default to
2141exclude most headers when forwarding. 2138exclude most headers when forwarding.
2142 2139
2143*** 'mml-secure-openpgp-sign-with-sender' sets also "gpg --sender" 2140*** 'mml-secure-openpgp-sign-with-sender' sets also "gpg --sender".
2144When 'mml-secure-openpgp-sign-with-sender' is non-nil message sender's 2141When 'mml-secure-openpgp-sign-with-sender' is non-nil message sender's
2145email address (in addition to its old behavior) will also be used to 2142email address (in addition to its old behavior) will also be used to
2146set gpg's "--sender email@domain" option. 2143set gpg's "--sender email@domain" option.
@@ -2150,10 +2147,10 @@ The option is useful for two reasons when verifying the signature:
2150 1. GnuPG's TOFU statistics are updated for the specific user id 2147 1. GnuPG's TOFU statistics are updated for the specific user id
2151 (email) only. See gpg(1) man page about "--sender". 2148 (email) only. See gpg(1) man page about "--sender".
2152 2149
2153 2. GnuPG's '--auto-key-retrieve' functionality can use WKD (web key 2150 2. GnuPG's "--auto-key-retrieve" functionality can use WKD (web key
2154 directory) method for finding the signer's key. You need GnuPG 2151 directory) method for finding the signer's key. You need GnuPG
2155 2.2.17 to fully benefit from this feature. See gpg(1) man page for 2152 2.2.17 to fully benefit from this feature. See gpg(1) man page for
2156 '--auto-key-retrieve'. 2153 "--auto-key-retrieve".
2157 2154
2158--- 2155---
2159** EasyPG 2156** EasyPG
@@ -2171,9 +2168,9 @@ been removed. Use 'encode-coding-string', 'decode-coding-string', and
2171--- 2168---
2172*** 'epg-context' structure supports now 'sender' slot. 2169*** 'epg-context' structure supports now 'sender' slot.
2173The value of the new 'sender' slot (if a string) is used to set gpg's 2170The value of the new 'sender' slot (if a string) is used to set gpg's
2174'--sender' option. This feature is used by 2171"--sender" option. This feature is used by
2175'mml-secure-openpgp-sign-with-sender'. See gpg(1) manual page about 2172'mml-secure-openpgp-sign-with-sender'. See gpg(1) manual page about
2176'--sender' for more information. 2173"--sender" for more information.
2177 2174
2178--- 2175---
2179** Rmail 2176** Rmail
@@ -2414,7 +2411,7 @@ of an idle Emacs, but may fail on some network file systems; set
2414notification is not supported. The default value is nil. 2411notification is not supported. The default value is nil.
2415 2412
2416+++ 2413+++
2417*** New variable 'buffer-auto-revert-by-notification' 2414*** New variable 'buffer-auto-revert-by-notification'.
2418A major mode can declare that notification on the buffer's default 2415A major mode can declare that notification on the buffer's default
2419directory is sufficient to know when updates are required, by setting 2416directory is sufficient to know when updates are required, by setting
2420the new variable 'buffer-auto-revert-by-notification' to a non-nil 2417the new variable 'buffer-auto-revert-by-notification' to a non-nil
@@ -2551,6 +2548,7 @@ if you set 'time-stamp-format' or 'time-stamp-pattern' with a
2551file-local variable, you may need to update the value. 2548file-local variable, you may need to update the value.
2552 2549
2553** mode-local 2550** mode-local
2551
2554--- 2552---
2555*** Declare 'define-overload' and 'define-child-mode' as obsolete. 2553*** Declare 'define-overload' and 'define-child-mode' as obsolete.
2556 2554
@@ -2565,13 +2563,38 @@ To do this, use 'c-toggle-comment-style', if needed, to set the desired
2565default comment style (block or line); then set the user option 2563default comment style (block or line); then set the user option
2566'c-mark-wrong-style-of-comment' to non-nil. 2564'c-mark-wrong-style-of-comment' to non-nil.
2567 2565
2566** Mailcap
2567
2568---
2569*** The new function 'mailcap-file-name-to-mime-type' has been added.
2570It's a simple convenience function for looking up MIME types based on
2571file name extensions.
2572
2573---
2574*** The default way the list of possible external viewers for MIME
2575types is sorted and chosen has changed. Earlier, the most specific
2576viewer was chosen, even if there was a general override in "~/.mailcap".
2577For instance, if "/etc/mailcap" has an entry for "image/gif", that one
2578will be chosen even if you have an entry for "image/*" in your
2579"~/.mailcap" file. But with the new method, entries from "~/.mailcap"
2580overrides all system and Emacs-provided defaults. To get the old
2581method back, set 'mailcap-prefer-mailcap-viewers' to nil.
2582
2583** URL
2584
2585---
2586*** The 'file:' handler no longer looks for "index.html" in
2587directories if you ask it for a "file:///dir" URL. Since this is a
2588low-level library, such decisions (if they are to be made at all) are
2589left to higher-level functions.
2590
2568 2591
2569* New Modes and Packages in Emacs 27.1 2592* New Modes and Packages in Emacs 27.1
2570 2593
2571** Tab Bars 2594** Tab Bars
2572 2595
2573+++ 2596+++
2574*** Tab Bar mode. 2597*** Tab Bar mode
2575The new command 'tab-bar-mode' enables the tab bar at the top of each 2598The new command 'tab-bar-mode' enables the tab bar at the top of each
2576frame, where you can use tabs to switch between named persistent 2599frame, where you can use tabs to switch between named persistent
2577window configurations. 2600window configurations.
@@ -2754,43 +2777,48 @@ fixnum for such arguments.
2754 2777
2755--- 2778---
2756** Some functions and variables obsolete since Emacs 22 have been removed: 2779** Some functions and variables obsolete since Emacs 22 have been removed:
2757archive-mouse-extract, assoc-ignore-case, assoc-ignore-representation, 2780'archive-mouse-extract', 'assoc-ignore-case', 'assoc-ignore-representation',
2758backward-text-line, blink-cursor, bookmark-exit-hooks, 2781'backward-text-line', 'blink-cursor', 'bookmark-exit-hooks',
2759c-opt-op-identitier-prefix, comint-use-prompt-regexp-instead-of-fields, 2782'c-opt-op-identitier-prefix', 'comint-use-prompt-regexp-instead-of-fields',
2760compilation-finish-function, count-text-lines, cperl-vc-header-alist, 2783'compilation-finish-function', 'count-text-lines', 'cperl-vc-header-alist',
2761custom-face-save-command, cvs-display-full-path, cvs-fileinfo->full-path, 2784'custom-face-save-command', 'cvs-display-full-path', 'cvs-fileinfo->full-path',
2762delete-frame-hook, derived-mode-class, describe-char-after, describe-project, 2785'delete-frame-hook', 'derived-mode-class', 'describe-char-after',
2763desktop-basefilename, desktop-buffer-handlers, desktop-buffer-misc-functions, 2786'describe-project', 'desktop-basefilename', 'desktop-buffer-handlers',
2764desktop-buffer-modes-to-save, desktop-enable, desktop-load-default, 2787'desktop-buffer-misc-functions', 'desktop-buffer-modes-to-save',
2765dired-omit-files-p, disabled-command-hook, dungeon-mode-map, 2788'desktop-enable', 'desktop-load-default', 'dired-omit-files-p',
2766electric-nroff-mode, electric-nroff-newline, electric-perl-terminator, 2789'disabled-command-hook', 'dungeon-mode-map', 'electric-nroff-mode',
2767focus-frame, forward-text-line, generic-define-mswindows-modes, 2790'electric-nroff-newline', 'electric-perl-terminator', 'focus-frame',
2768generic-define-unix-modes, generic-font-lock-defaults, goto-address-at-mouse, 2791'forward-text-line', 'generic-define-mswindows-modes',
2769highlight-changes-colours, ibuffer-elide-long-columns, ibuffer-hooks, 2792'generic-define-unix-modes', 'generic-font-lock-defaults',
2770ibuffer-mode-hooks, icalendar-convert-diary-to-ical, 2793'goto-address-at-mouse', 'highlight-changes-colours',
2771icalendar-extract-ical-from-buffer, imenu-always-use-completion-buffer-p, 2794'ibuffer-elide-long-columns', 'ibuffer-hooks', 'ibuffer-mode-hooks',
2772ipconfig-program, ipconfig-program-options, isearch-lazy-highlight-cleanup, 2795'icalendar-convert-diary-to-ical', 'icalendar-extract-ical-from-buffer',
2773isearch-lazy-highlight-initial-delay, isearch-lazy-highlight-interval, 2796'imenu-always-use-completion-buffer-p', 'ipconfig-program',
2774isearch-lazy-highlight-max-at-a-time, iswitchb-use-fonts, 2797'ipconfig-program-options', 'isearch-lazy-highlight-cleanup',
2775latin1-char-displayable-p, mouse-wheel-click-button, mouse-wheel-down-button, 2798'isearch-lazy-highlight-initial-delay', 'isearch-lazy-highlight-interval',
2776mouse-wheel-up-button, new-frame, pascal-outline, process-kill-without-query, 2799'isearch-lazy-highlight-max-at-a-time', 'iswitchb-use-fonts',
2777recentf-menu-append-commands-p, rmail-pop-password, 2800'latin1-char-displayable-p', 'mouse-wheel-click-button',
2778rmail-pop-password-required, savehist-load, set-default-font, 2801'mouse-wheel-down-button', 'mouse-wheel-up-button', 'new-frame',
2779spam-list-of-processors, speedbar-add-ignored-path-regexp, 2802'pascal-outline', 'process-kill-without-query',
2780speedbar-buffers-line-path, speedbar-ignored-path-expressions, 2803'recentf-menu-append-commands-p', 'rmail-pop-password',
2781speedbar-ignored-path-regexp, speedbar-line-path, speedbar-path-line, 2804'rmail-pop-password-required', 'savehist-load', 'set-default-font',
2782timer-set-time-with-usecs, tooltip-gud-display, tooltip-gud-modes, 2805'spam-list-of-processors', 'speedbar-add-ignored-path-regexp',
2783tooltip-gud-toggle-dereference, unfocus-frame, unload-hook-features-list, 2806'speedbar-buffers-line-path', 'speedbar-ignored-path-expressions',
2784update-autoloads-from-directories, vc-comment-ring, vc-comment-ring-index, 2807'speedbar-ignored-path-regexp', 'speedbar-line-path', 'speedbar-path-line',
2785vc-comment-search-forward, vc-comment-search-reverse, vc-comment-to-change-log, 2808'timer-set-time-with-usecs', 'tooltip-gud-display', 'tooltip-gud-modes',
2786vc-diff-switches-list, vc-next-comment, vc-previous-comment, view-todo, 2809'tooltip-gud-toggle-dereference', 'unfocus-frame', 'unload-hook-features-list',
2787x-lost-selection-hooks, x-sent-selection-hooks. 2810'update-autoloads-from-directories', 'vc-comment-ring', 'vc-comment-ring-index',
2811'vc-comment-search-forward', 'vc-comment-search-reverse',
2812'vc-comment-to-change-log', 'vc-diff-switches-list', 'vc-next-comment',
2813'vc-previous-comment', 'view-todo', 'x-lost-selection-hooks',
2814'x-sent-selection-hooks'.
2788 2815
2789--- 2816---
2790** Further functions and variables obsolete since Emacs 24 have been removed: 2817** Further functions and variables obsolete since Emacs 24 have been removed:
2791default-directory-alist, dired-default-directory, 2818'default-directory-alist', 'dired-default-directory',
2792dired-default-directory-alist, dired-enable-local-variables, 2819'dired-default-directory-alist', 'dired-enable-local-variables',
2793dired-hack-local-variables, dired-local-variables-file, dired-omit-here-always. 2820'dired-hack-local-variables', 'dired-local-variables-file',
2821'dired-omit-here-always'.
2794 2822
2795+++ 2823+++
2796** Garbage collection no longer treats miscellaneous objects specially; 2824** Garbage collection no longer treats miscellaneous objects specially;
@@ -2869,6 +2897,20 @@ where it scales the image under the mouse pointer.
2869** 'help-follow-symbol' now signals 'user-error' if point (or the 2897** 'help-follow-symbol' now signals 'user-error' if point (or the
2870position pointed to by the argument POS) is not in a symbol. 2898position pointed to by the argument POS) is not in a symbol.
2871 2899
2900---
2901** The options.el library has been removed.
2902It was obsolete since Emacs 22.1, replaced by customize.
2903
2904---
2905** The tls.el and starttls.el libraries are now marked obsolete.
2906Use of built-in libgnutls based functionality (described in the Emacs
2907GnuTLS manual) is recommended instead.
2908
2909---
2910** The url-ns.el library is now marked obsolete.
2911This library is used to open configuration files for the long defunct
2912web browser Netscape, and is no longer relevant.
2913
2872 2914
2873* Lisp Changes in Emacs 27.1 2915* Lisp Changes in Emacs 27.1
2874 2916
@@ -3067,12 +3109,12 @@ informational messages that look pleasing during the Emacs build.
3067 3109
3068--- 3110---
3069** New 'help-fns-describe-variable-functions' hook. 3111** New 'help-fns-describe-variable-functions' hook.
3070Makes it possible to add metadata information to 'describe-variable'. 3112It makes it possible to add metadata information to 'describe-variable'.
3071 3113
3072** i18n (internationalization) 3114** i18n (internationalization)
3073 3115
3074--- 3116---
3075*** ngettext can be used now to return the right plural form 3117*** 'ngettext' can be used now to return the right plural form
3076according to the given numeric value. 3118according to the given numeric value.
3077 3119
3078+++ 3120+++
@@ -3085,7 +3127,7 @@ according to the given numeric value.
3085** 'lookup-key' can take a list of keymaps as argument. 3127** 'lookup-key' can take a list of keymaps as argument.
3086 3128
3087+++ 3129+++
3088** 'condition-case' now accepts 't' to match any error symbol. 3130** 'condition-case' now accepts t to match any error symbol.
3089 3131
3090+++ 3132+++
3091** New function 'proper-list-p'. 3133** New function 'proper-list-p'.
@@ -3157,7 +3199,7 @@ are unaffected by these changes.
3157 3199
3158In addition, a number of functions now allow the caller to detect what 3200In addition, a number of functions now allow the caller to detect what
3159has changed since last redisplay: 'window-old-buffer' returns for any 3201has changed since last redisplay: 'window-old-buffer' returns for any
3160window the buffer it showed at that time. old-selected-window and 3202window the buffer it showed at that time. 'old-selected-window' and
3161'old-selected-frame' return the window and frame that were selected 3203'old-selected-frame' return the window and frame that were selected
3162during last redisplay. 'window-old-pixel-width' (renamed from 3204during last redisplay. 'window-old-pixel-width' (renamed from
3163'window-pixel-width-before-size-change'), 'window-old-pixel-height' 3205'window-pixel-width-before-size-change'), 'window-old-pixel-height'
@@ -3322,36 +3364,6 @@ If the new optional ALLOW-PARTIAL argument is passed, then the data
3322that was decompressed successfully before failing will be inserted 3364that was decompressed successfully before failing will be inserted
3323into the buffer. 3365into the buffer.
3324 3366
3325** Mailcap
3326
3327---
3328*** The new function 'mailcap-file-name-to-mime-type' has been added.
3329It's a simple convenience function for looking up MIME types based on
3330file name extensions.
3331
3332---
3333*** The default way the list of possible external viewers for MIME
3334types is sorted and chosen has changed. Earlier, the most specific
3335viewer was chosen, even if there was a general override in "~/.mailcap".
3336For instance, if "/etc/mailcap" has an entry for "image/gif", that one
3337will be chosen even if you have an entry for "image/*" in your
3338"~/.mailcap" file. But with the new method, entries from "~/.mailcap"
3339overrides all system and Emacs-provided defaults. To get the old
3340method back, set 'mailcap-prefer-mailcap-viewers' to nil.
3341
3342** URL
3343
3344---
3345*** The 'file:' handler no longer looks for "index.html" in
3346directories if you ask it for a "file:///dir" URL. Since this is a
3347low-level library, such decisions (if they are to be made at all) are
3348left to higher-level functions.
3349
3350---
3351** The url-ns.el library is now marked obsolete.
3352This library is used to open configuration files for the long defunct
3353web browser Netscape, and is no longer relevant.
3354
3355** Image mode 3367** Image mode
3356 3368
3357--- 3369---
@@ -3470,7 +3482,7 @@ case.
3470It is a convenient and readable way to specify a regexp that should 3482It is a convenient and readable way to specify a regexp that should
3471not match anything, and is as fast as any such regexp can be. 3483not match anything, and is as fast as any such regexp can be.
3472 3484
3473++++ 3485+++
3474** New functions to handle the URL variant of base-64 encoding. 3486** New functions to handle the URL variant of base-64 encoding.
3475New functions 'base64url-encode-string' and 'base64url-encode-region' 3487New functions 'base64url-encode-string' and 'base64url-encode-region'
3476implement the url-variant of base-64 encoding as defined in RFC4648. 3488implement the url-variant of base-64 encoding as defined in RFC4648.
@@ -3484,7 +3496,7 @@ encoding.
3484The new third argument is a string put between the number and unit; it 3496The new third argument is a string put between the number and unit; it
3485defaults to the empty string. The new fourth argument is a string 3497defaults to the empty string. The new fourth argument is a string
3486representing the unit to use; it defaults to "B" when the second 3498representing the unit to use; it defaults to "B" when the second
3487argument is 'iec' and the empty string otherwise. We recomment a 3499argument is 'iec' and the empty string otherwise. We recommend a
3488space or non-breaking space as third argument, and "B" as fourth 3500space or non-breaking space as third argument, and "B" as fourth
3489argument, circumstances allowing. 3501argument, circumstances allowing.
3490 3502
@@ -3543,7 +3555,7 @@ ordinary keys, function keys and mouse clicks. This allows using them
3543in their standard macOS way for composing characters. 3555in their standard macOS way for composing characters.
3544 3556
3545** The special handling of 'frame-title-format' on NS where setting it 3557** The special handling of 'frame-title-format' on NS where setting it
3546to 't' would enable the macOS proxy icon has been replaced with a 3558to t would enable the macOS proxy icon has been replaced with a
3547separate variable, 'ns-use-proxy-icon'. 'frame-title-format' will now 3559separate variable, 'ns-use-proxy-icon'. 'frame-title-format' will now
3548work as on other platforms. 3560work as on other platforms.
3549 3561