aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Albinus2019-05-06 11:23:54 +0200
committerMichael Albinus2019-05-06 11:23:54 +0200
commit1ac5c6c3cfc4c50347af893aa72926cdf2edb8c1 (patch)
treefb062cfac7ac7e50ce0ac3ad66b2def374e23f4a
parent926a394997eaae55b797a90cb2cd037bbe3c3db4 (diff)
downloademacs-1ac5c6c3cfc4c50347af893aa72926cdf2edb8c1.tar.gz
emacs-1ac5c6c3cfc4c50347af893aa72926cdf2edb8c1.zip
; Make /etc/NEWS more consistent
-rw-r--r--etc/NEWS242
1 files changed, 124 insertions, 118 deletions
diff --git a/etc/NEWS b/etc/NEWS
index caaffc22818..5fe2e63526d 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -39,9 +39,9 @@ counterparts from json.el.
39 39
40** Several configure options now accept an option-argument 'ifavailable'. 40** Several configure options now accept an option-argument 'ifavailable'.
41For example, './configure --with-xpm=ifavailable' now configures Emacs 41For example, './configure --with-xpm=ifavailable' now configures Emacs
42to attempt to use libxpm but to continue building even if libxpm is absent. 42to attempt to use libxpm but to continue building even if libxpm is
43The other affected options are --with-gif, --with-gnutls, --with-jpeg, 43absent. The other affected options are '--with-gif', '--with-gnutls',
44--with-png, and --with-tiff. 44'--with-jpeg', '--with-png', and '--with-tiff'.
45 45
46** The etags program now uses the C library's regular expression matcher 46** The etags program now uses the C library's regular expression matcher
47when possible, and a compatible regex substitute otherwise. This will 47when possible, and a compatible regex substitute otherwise. This will
@@ -128,13 +128,14 @@ file, which was previously done when Emacs was started. As a result
128of this change, it is no longer necessary to call 'package-initialize' 128of this change, it is no longer necessary to call 'package-initialize'
129in your init file. 129in your init file.
130 130
131However, if your init file changes the values of 'package-load-list' or 131However, if your init file changes the values of 'package-load-list'
132'package-user-dir', or sets 'package-enable-at-startup' to nil then it won't 132or 'package-user-dir', or sets 'package-enable-at-startup' to nil then
133work right without some adjustment: 133it won't work right without some adjustment:
134- you can move that code to the early init file (see above), so those settings 134- You can move that code to the early init file (see above), so those
135 apply before Emacs tries to activate the packages. 135 settings apply before Emacs tries to activate the packages.
136- you can use the new 'package-quickstart' so activation of packages does not 136- You can use the new 'package-quickstart' so activation of packages
137 need to pay attention to 'package-load-list' or 'package-user-dir' any more. 137 does not need to pay attention to 'package-load-list' or
138 'package-user-dir' any more.
138 139
139--- 140---
140** Emacs now notifies systemd when startup finishes or shutdown begins. 141** Emacs now notifies systemd when startup finishes or shutdown begins.
@@ -153,16 +154,16 @@ the new version of the file again.)
153*** emacsclient now supports the 'EMACS_SOCKET_NAME' environment variable. 154*** emacsclient now supports the 'EMACS_SOCKET_NAME' environment variable.
154The behavior is identical to 'EMACS_SERVER_FILE', in that the 155The behavior is identical to 'EMACS_SERVER_FILE', in that the
155command-line value specified via '--socket-name' will override the 156command-line value specified via '--socket-name' will override the
156environment, and the natural default to TMPDIR, then "/tmp", continues 157environment, and the natural default to 'TMPDIR', then "/tmp", continues
157to apply. 158to apply.
158 159
159+++ 160+++
160*** Emacs and emacsclient now default to $XDG_RUNTIME_DIR/emacs 161*** Emacs and emacsclient now default to "$XDG_RUNTIME_DIR/emacs"
161as the directory for client/server sockets, if Emacs is running 162as the directory for client/server sockets, if Emacs is running
162under an X Window System desktop that sets the XDG_RUNTIME_DIR 163under an X Window System desktop that sets the 'XDG_RUNTIME_DIR'
163environment variable to indicate where session sockets should go. 164environment variable to indicate where session sockets should go.
164To get the old, less-secure behavior, you can set the 165To get the old, less-secure behavior, you can set the
165EMACS_SOCKET_NAME environment variable to an appropriate value. 166'EMACS_SOCKET_NAME' environment variable to an appropriate value.
166 167
167--- 168---
168*** When run by root, emacsclient no longer connects to non-root sockets. 169*** When run by root, emacsclient no longer connects to non-root sockets.
@@ -176,11 +177,11 @@ be controlled via the new variable 'face-near-same-color-threshold'.
176The default value is 30000, as the previously hard-coded threshold. 177The default value is 30000, as the previously hard-coded threshold.
177 178
178+++ 179+++
179** The function 'read-passwd' uses '*' as default character to hide passwords. 180** The function 'read-passwd' uses "*" as default character to hide passwords.
180 181
181** Lexical binding is now used when evaluating interactive Elisp forms 182** Lexical binding is now used when evaluating interactive Elisp forms.
182More specifically, lexical-binding is now used for M-:, --eval, as well 183More specifically, lexical-binding is now used for 'M-:', '--eval', as
183as in the *scratch* and *ielm* buffers. 184well as in the "*scratch*" and "*ielm*" buffers.
184 185
185--- 186---
186** The new option 'tooltip-resize-echo-area' avoids truncating tooltip text 187** The new option 'tooltip-resize-echo-area' avoids truncating tooltip text
@@ -215,7 +216,7 @@ indirectly, e.g., by checking that functions like
215'libxml-parse-html-region' return nil. 216'libxml-parse-html-region' return nil.
216 217
217+++ 218+++
218** 'libxml-parse-xml-region' and 'libxml-parse-html' region take 219** 'libxml-parse-xml-region' and 'libxml-parse-html-region' take
219a parameter that's called DISCARD-COMMENTS, but it really only 220a parameter that's called DISCARD-COMMENTS, but it really only
220discards the top-level comment. Therefore this parameter is now 221discards the top-level comment. Therefore this parameter is now
221obsolete, and the new utility function 'xml-remove-comments' can be 222obsolete, and the new utility function 'xml-remove-comments' can be
@@ -241,7 +242,7 @@ security level (assuming you use the 'medium' level).
241+++ 242+++
242** Native GnuTLS connections can now use client certificates. 243** Native GnuTLS connections can now use client certificates.
243Previously, this support was only available when using the external 244Previously, this support was only available when using the external
244gnutls-cli command. Call 'open-network-stream' with 245'gnutls-cli' command. Call 'open-network-stream' with
245':client-certificate t' to trigger looking up of per-server 246':client-certificate t' to trigger looking up of per-server
246certificates via 'auth-source'. 247certificates via 'auth-source'.
247 248
@@ -321,21 +322,20 @@ and directory-local variables.
321 322
322+++ 323+++
323*** The macro 'with-connection-local-variables' has been renamed from 324*** The macro 'with-connection-local-variables' has been renamed from
324'with-connection-local-profiles'. No argument 'profiles' needed any 325'with-connection-local-profiles'. No argument PROFILES needed any longer.
325longer.
326 326
327--- 327---
328** New variable next-error-verbose controls when `next-error' outputs 328** New variable 'next-error-verbose' controls when 'next-error' outputs
329 a message about the error locus. 329a message about the error locus.
330 330
331--- 331---
332** New variable grep-search-path defines the directories searched for 332** New variable 'grep-search-path defines' the directories searched for
333 grep hits (this used to be controlled by compilation-search-path). 333grep hits (this used to be controlled by 'compilation-search-path').
334 334
335--- 335---
336** New variable emacs-lisp-compilation-search-path defines the 336** New variable 'emacs-lisp-compilation-search-path' defines the
337 directories searched for byte-compiler error messages (this used to 337directories searched for byte-compiler error messages (this used to
338 be controlled by compilation-search-path). 338be controlled by 'compilation-search-path').
339 339
340** Multicolor fonts such as "Noto Color Emoji" can be displayed on 340** Multicolor fonts such as "Noto Color Emoji" can be displayed on
341Emacs configured with Cairo drawing and linked with cairo >= 1.16.0. 341Emacs configured with Cairo drawing and linked with cairo >= 1.16.0.
@@ -344,7 +344,7 @@ Emacs configured with Cairo drawing and linked with cairo >= 1.16.0.
344** Emacs now optionally displays a fill column indicator. 344** Emacs now optionally displays a fill column indicator.
345 345
346This is similar to what 'fill-column-indicator' package provides, but 346This is similar to what 'fill-column-indicator' package provides, but
347much faster and compatible with show-trailing-whitespace. 347much faster and compatible with 'show-trailing-whitespace'.
348 348
349Customize the buffer-local variables 'display-fill-column-indicator' 349Customize the buffer-local variables 'display-fill-column-indicator'
350and 'display-fill-column-indicator-character' to activate the 350and 'display-fill-column-indicator-character' to activate the
@@ -415,17 +415,17 @@ syntax that you can see in the example of a ".dir-locals.el" file in
415the node "(emacs) Directory Variables" of the user manual. 415the node "(emacs) Directory Variables" of the user manual.
416 416
417+++ 417+++
418** Network connections using 'local can now use IPv6. 418** Network connections using 'local' can now use IPv6.
419'make-network-process' now uses the correct loopback address when 419'make-network-process' now uses the correct loopback address when
420asked to use :host 'local and :family 'ipv6. 420asked to use ':host 'local' and ':family 'ipv6'.
421 421
422+++ 422+++
423** The new function `replace-region-contents' replaces the current 423** The new function 'replace-region-contents' replaces the current
424region using a given replacement-function in a non-destructive manner 424region using a given replacement-function in a non-destructive manner
425(in terms of `replace-buffer-contents'). 425(in terms of 'replace-buffer-contents').
426 426
427+++ 427+++
428** The command `replace-buffer-contents' now has two optional 428** The command 'replace-buffer-contents' now has two optional
429arguments mitigating performance issues when operating on huge 429arguments mitigating performance issues when operating on huge
430buffers. 430buffers.
431 431
@@ -440,14 +440,16 @@ current and the previous or the next line, as before.
440 440
441** compile.el 441** compile.el
442--- 442---
443*** In compilation-error-regexp-alist, 'line' (and 'end-line') can be functions 443*** In 'compilation-error-regexp-alist', 'line' (and 'end-line') can
444be functions.
444 445
445** cl-lib 446** cl-lib.el
446+++ 447+++
447*** cl-defstruct has a new :noinline argument to prevent inlining its functions 448*** 'cl-defstruct' has a new ':noinline' argument to prevent inlining
449its functions.
448 450
449** doc-view-mode 451** doc-view.el
450*** New commands doc-view-presentation and doc-view-fit-window-to-page 452*** New commands 'doc-view-presentation' and 'doc-view-fit-window-to-page'.
451*** Added support for password-protected PDF files 453*** Added support for password-protected PDF files
452 454
453** Ido 455** Ido
@@ -489,10 +491,10 @@ that display the next buffer in the window at the specified direction.
489This is like 'windmove-default-keybindings' that binds keys to commands 491This is like 'windmove-default-keybindings' that binds keys to commands
490that select the window in the specified direction, but additionally it 492that select the window in the specified direction, but additionally it
491displays the buffer from the next command in that window. For example, 493displays the buffer from the next command in that window. For example,
492'S-M-right C-h i' displays the *Info* buffer in the right window, 494'S-M-right C-h i' displays the "*Info*" buffer in the right window,
493creating the window if necessary. A special key can be customized to 495creating the window if necessary. A special key can be customized to
494display the buffer in the same window, for example, 'S-M-0 C-h e' 496display the buffer in the same window, for example, 'S-M-0 C-h e'
495displays the *Messages* buffer in the same window. 497displays the "*Messages*" buffer in the same window.
496 498
497*** Windmove also supports directional window deletion. 499*** Windmove also supports directional window deletion.
498The new command 'windmove-delete-default-keybindings' binds default 500The new command 'windmove-delete-default-keybindings' binds default
@@ -557,7 +559,7 @@ With non-nil, 'vc-find-revision' doesn't write the created buffer to file.
557This new variable allows customizing the default arguments passed to 559This new variable allows customizing the default arguments passed to
558'git-grep' when 'vc-git-grep' is used. 560'git-grep' when 'vc-git-grep' is used.
559 561
560*** Command 'vc-git-stash' now respects marks in the '*vc-dir*' buffer. 562*** Command 'vc-git-stash' now respects marks in the "*vc-dir*" buffer.
561When some files are marked, only those are stashed. 563When some files are marked, only those are stashed.
562When no files are marked, all modified files are stashed, as before. 564When no files are marked, all modified files are stashed, as before.
563 565
@@ -575,7 +577,7 @@ values.
575and compares their entire trees. 577and compares their entire trees.
576 578
577*** New user option 'vc-hg-revert-switches' specifies switches to pass 579*** New user option 'vc-hg-revert-switches' specifies switches to pass
578to hg revert. 580to Hg revert.
579 581
580*** 'C-x v M D' ('vc-diff-mergebase') and 'C-x v M L' ('vc-log-mergebase') 582*** 'C-x v M D' ('vc-diff-mergebase') and 'C-x v M L' ('vc-log-mergebase')
581print diffs and logs between the merge base (common ancestor) of two 583print diffs and logs between the merge base (common ancestor) of two
@@ -584,9 +586,10 @@ given revisions.
584** Diff mode 586** Diff mode
585+++ 587+++
586*** Hunks are now automatically refined by font-lock. 588*** Hunks are now automatically refined by font-lock.
587To disable refinement, set the new defcustom 'diff-refine' to nil. 589To disable refinement, set the new user option 'diff-refine' to nil.
588To get back the old behavior where hunks are refined as you navigate 590To get back the old behavior where hunks are refined as you navigate
589through a diff, set 'diff-refine' to the symbol 'navigate'. 591through a diff, set 'diff-refine' to the symbol 'navigate'.
592
590+++ 593+++
591*** 'diff-auto-refine-mode' is deprecated in favor of 'diff-refine'. 594*** 'diff-auto-refine-mode' is deprecated in favor of 'diff-refine'.
592It is no longer enabled by default and binding it no longer has any 595It is no longer enabled by default and binding it no longer has any
@@ -599,7 +602,7 @@ according to the appropriate major mode. Customize the new option
599'diff-font-lock-syntax' to nil to disable this. 602'diff-font-lock-syntax' to nil to disable this.
600 603
601*** File headers can be shortened, mimicking Magit's diff format. 604*** File headers can be shortened, mimicking Magit's diff format.
602To enable it, set the new defcustom 'diff-font-lock-prettify' to t. 605To enable it, set the new user option 'diff-font-lock-prettify' to t.
603 606
604+++ 607+++
605*** Prefix arg of 'diff-goto-source' means jump to the old revision 608*** Prefix arg of 'diff-goto-source' means jump to the old revision
@@ -609,11 +612,11 @@ or to the new revision of the file otherwise.
609** Texinfo 612** Texinfo
610 613
611+++ 614+++
612*** New function for inserting @pxref, @xref, or @ref commands. 615*** New function for inserting '@pxref', '@xref', or '@ref' commands.
613The function 'texinfo-insert-dwim-@ref', bound to 'C-c C-c r' by 616The function 'texinfo-insert-dwim-@ref', bound to 'C-c C-c r' by
614default, inserts one of three types of references based on the text 617default, inserts one of three types of references based on the text
615surrounding point, namely @pxref near a parenthesis, @xref at the 618surrounding point, namely '@pxref' near a parenthesis, '@xref' at the
616start of a sentence or at (point-min), else @ref. 619start of a sentence or at '(point-min)', else '@ref'.
617 620
618** Browse-url 621** Browse-url
619 622
@@ -647,7 +650,6 @@ end.
647** SQL 650** SQL
648 651
649*** SQL Indent Minor Mode 652*** SQL Indent Minor Mode
650
651SQL Mode now supports the ELPA 'sql-indent' package for assisting 653SQL Mode now supports the ELPA 'sql-indent' package for assisting
652sophisticated SQL indenting rules. Note, however, that SQL is not 654sophisticated SQL indenting rules. Note, however, that SQL is not
653like other programming languages like C, Java, or Python where code is 655like other programming languages like C, Java, or Python where code is
@@ -669,7 +671,6 @@ default values. If you have existing customizations to these variables,
669you should make sure that the new default entry is included. 671you should make sure that the new default entry is included.
670 672
671*** Connection Wallet 673*** Connection Wallet
672
673Database passwords can now by stored in NETRC or JSON data files that 674Database passwords can now by stored in NETRC or JSON data files that
674may optionally be encrypted. When establishing an interactive session 675may optionally be encrypted. When establishing an interactive session
675with the database via 'sql-connect' or a product specific function, 676with the database via 'sql-connect' or a product specific function,
@@ -679,9 +680,9 @@ searched for the password. The 'sql-product', 'sql-server',
679appropriate authorization. This eliminates the discouraged practice of 680appropriate authorization. This eliminates the discouraged practice of
680embedding database passwords in your Emacs initialization. 681embedding database passwords in your Emacs initialization.
681 682
682See the `auth-source' module for complete documentation on the file 683See the 'auth-source' module for complete documentation on the file
683formats. By default, the wallet file is expected to be in the 684formats. By default, the wallet file is expected to be in the
684`user-emacs-directory', named 'sql-wallet' or '.sql-wallet', with 685'user-emacs-directory', named 'sql-wallet' or '.sql-wallet', with
685'.json' (JSON) or no (NETRC) suffix. Both file formats can optionally 686'.json' (JSON) or no (NETRC) suffix. Both file formats can optionally
686be encrypted with GPG by adding an additional '.gpg' suffix. 687be encrypted with GPG by adding an additional '.gpg' suffix.
687 688
@@ -721,12 +722,13 @@ it can't find the config file.
721Example use in auctex.el: '(defconst auctex-version (package-get-version))' 722Example use in auctex.el: '(defconst auctex-version (package-get-version))'
722 723
723*** New 'package-quickstart' feature. 724*** New 'package-quickstart' feature.
724When 'package-quickstart' is non-nil, package.el precomputes a big autoloads 725When 'package-quickstart' is non-nil, package.el precomputes a big
725file so that activation of packages can be done much faster, which can speed up 726autoloads file so that activation of packages can be done much faster,
726your startup significantly. 727which can speed up your startup significantly.
727It also causes variables like 'package-user-dir' and 'package-load-list' to be 728It also causes variables like 'package-user-dir' and
728consulted when 'package-quickstart-refresh' is run rather than at startup so 729'package-load-list' to be consulted when 'package-quickstart-refresh'
729you don't need to set them in your early init file. 730is run rather than at startup so you don't need to set them in your
731early init file.
730 732
731*** New function 'package-activate-all'. 733*** New function 'package-activate-all'.
732 734
@@ -752,19 +754,19 @@ Previously, setting 'xref-marker-ring-length' would only take effect
752if set before 'xref.el' was loaded. 754if set before 'xref.el' was loaded.
753 755
754--- 756---
755*** xref-find-definitions now sets the mark at the buffer position 757*** 'xref-find-definitions' now sets the mark at the buffer position
756where it was invoked 758where it was invoked.
757 759
758--- 760---
759*** New xref faces 'xref-file-header', 'xref-line-number', 'xref-match' 761*** New xref faces 'xref-file-header', 'xref-line-number', 'xref-match'.
760 762
761** Ecomplete 763** Ecomplete
762 764
763*** The ecomplete sorting has changed to a decay-based algorithm. 765*** The ecomplete sorting has changed to a decay-based algorithm.
764This can be controlled by the new 'ecomplete-sort-predicate' variable. 766This can be controlled by the new 'ecomplete-sort-predicate' variable.
765 767
766*** The 'ecompleterc' file is now placed in ~/.emacs.d/ecompleterc by default. 768*** The 'ecompleterc' file is now placed in '~/.emacs.d/ecompleterc' by default.
767Of course it will still find it if you have it in ~/.ecompleterc 769Of course it will still find it if you have it in '~/.ecompleterc'.
768 770
769** Gnus 771** Gnus
770 772
@@ -811,7 +813,7 @@ This option controls whether and how to use Gnus search groups as
811** erc 813** erc
812 814
813--- 815---
814*** 'erc-button-google-url' has been renamed 'erc-button-search-url' 816*** 'erc-button-google-url' has been renamed to 'erc-button-search-url'
815and its value has been changed to Duck Duck Go. 817and its value has been changed to Duck Duck Go.
816 818
817** EUDC 819** EUDC
@@ -903,7 +905,7 @@ directories in the destination.
903** Help 905** Help
904 906
905--- 907---
906*** Description of variables and functions give an estimated first release 908*** Description of variables and functions give an estimated first release.
907 909
908--- 910---
909*** Output format of 'C-h l' ('view-lossage') has changed. 911*** Output format of 'C-h l' ('view-lossage') has changed.
@@ -982,7 +984,7 @@ and case-sensitivity together with search strings in the search ring.
982*** Isearch now has its own tool-bar and menu-bar menu. 984*** Isearch now has its own tool-bar and menu-bar menu.
983 985
984+++ 986+++
985*** flush-lines prints and returns the number of deleted matching lines. 987*** 'flush-lines' prints and returns the number of deleted matching lines.
986 988
987** Debugger 989** Debugger
988 990
@@ -1025,7 +1027,7 @@ by default.
1025** Grep 1027** Grep
1026 1028
1027+++ 1029+++
1028*** rgrep, lgrep and zrgrep now hide part of the command line 1030*** 'rgrep', 'lgrep' and 'zrgrep' now hide part of the command line
1029that contains a list of ignored directories and files. 1031that contains a list of ignored directories and files.
1030Clicking on the button with ellipsis unhides it. 1032Clicking on the button with ellipsis unhides it.
1031The abbreviation can be disabled by the new option 1033The abbreviation can be disabled by the new option
@@ -1084,10 +1086,10 @@ default, and not just the opening element.
1084 1086
1085** Eshell 1087** Eshell
1086 1088
1087*** TAB completion uses the standard completion-at-point rather than pcomplete 1089*** TAB completion uses the standard 'completion-at-point' rather than
1088Its UI is slightly different but can be customized to behave similarly, 1090'pcomplete'. Its UI is slightly different but can be customized to
1089e.g. Pcomplete's default cycling can be obtained with 1091behave similarly, e.g. Pcomplete's default cycling can be obtained
1090(setq completion-cycle-threshold 5). 1092with '(setq completion-cycle-threshold 5)'.
1091 1093
1092--- 1094---
1093*** Expansion of history event designators is disabled by default. 1095*** Expansion of history event designators is disabled by default.
@@ -1122,7 +1124,7 @@ variable for remote shells. It still defaults to "/bin/sh".
1122 1124
1123** Single shell commands 1125** Single shell commands
1124 1126
1125--- 1127+++
1126*** 'async-shell-command-width' defines the number of display columns 1128*** 'async-shell-command-width' defines the number of display columns
1127available for output of asynchronous shell commands. 1129available for output of asynchronous shell commands.
1128 1130
@@ -1186,6 +1188,7 @@ Setting this option to an integer causes URLs displayed in Rcirc
1186buffers to be truncated to that many characters. 1188buffers to be truncated to that many characters.
1187 1189
1188** Register 1190** Register
1191
1189--- 1192---
1190*** The return value of method 'register-val-describe' includes the 1193*** The return value of method 'register-val-describe' includes the
1191names of buffers shown by the windows of a window configuration. 1194names of buffers shown by the windows of a window configuration.
@@ -1308,7 +1311,7 @@ frame when making a frame.
1308*** New predicates 'display-blink-cursor-p' and 'display-symbol-keys-p'. 1311*** New predicates 'display-blink-cursor-p' and 'display-symbol-keys-p'.
1309These predicates are to be preferred over 'display-graphic-p' when 1312These predicates are to be preferred over 'display-graphic-p' when
1310testing for blinking cursor capability and the capability to have 1313testing for blinking cursor capability and the capability to have
1311symbols (e.g., [return], [tab], [backspace]) as keys respectively. 1314symbols (e.g., '[return]', '[tab]', '[backspace]') as keys respectively.
1312 1315
1313** Tabulated List mode 1316** Tabulated List mode
1314 1317
@@ -1329,8 +1332,8 @@ near the current column in Tabulated Lists (see variables
1329** CUA mode 1332** CUA mode
1330 1333
1331--- 1334---
1332*** New defcustom 'cua-rectangle-terminal-modifier-key'. 1335*** New user option 'cua-rectangle-terminal-modifier-key'.
1333This defcustom allows for the customization of the modifier key used 1336This user option allows for the customization of the modifier key used
1334in a terminal frame. 1337in a terminal frame.
1335 1338
1336** JS mode 1339** JS mode
@@ -1343,11 +1346,11 @@ will be supported in 'js-mode' and derivative modes. ('js-jsx-mode'
1343no longer needs to be enabled.) 1346no longer needs to be enabled.)
1344 1347
1345--- 1348---
1346*** New defcustom 'js-jsx-detect-syntax' disables automatic detection. 1349*** New user option 'js-jsx-detect-syntax' disables automatic detection.
1347This is turned on by default. 1350This is turned on by default.
1348 1351
1349--- 1352---
1350*** New defcustom 'js-jsx-syntax' enables JSX syntax unconditionally. 1353*** New user option 'js-jsx-syntax' enables JSX syntax unconditionally.
1351This is off by default. 1354This is off by default.
1352 1355
1353--- 1356---
@@ -1367,7 +1370,7 @@ of the React developer community (see 'js-jsx-align->-with-<'),
1367otherwise still adhering to SGML conventions. 1370otherwise still adhering to SGML conventions.
1368 1371
1369--- 1372---
1370*** New defcustom 'js-jsx-align->-with-<' controls '>' indents. 1373*** New user option 'js-jsx-align->-with-<' controls '>' indents.
1371Commonly in JSX code, a '>' on its own line is indented at the same 1374Commonly in JSX code, a '>' on its own line is indented at the same
1372level as its opening '<'. This is the new default for JSX. This 1375level as its opening '<'. This is the new default for JSX. This
1373behavior is slightly different than that used by SGML in Emacs, where 1376behavior is slightly different than that used by SGML in Emacs, where
@@ -1390,12 +1393,12 @@ The old behavior can be emulated by controlling JSX indentation
1390independently of JS, by setting 'js-jsx-indent-level'. 1393independently of JS, by setting 'js-jsx-indent-level'.
1391 1394
1392--- 1395---
1393*** New defcustom 'js-jsx-indent-level' for different JSX indentation. 1396*** New user option 'js-jsx-indent-level' for different JSX indentation.
1394If you wish to indent JSX by a different number of spaces than JS, set 1397If you wish to indent JSX by a different number of spaces than JS, set
1395this variable to the desired number. 1398this user option to the desired number.
1396 1399
1397--- 1400---
1398*** New defcustom 'js-jsx-attribute-offset' for JSX attribute indents. 1401*** New user option 'js-jsx-attribute-offset' for JSX attribute indents.
1399 1402
1400--- 1403---
1401*** New variable 'js-syntactic-mode-name' controls mode name display. 1404*** New variable 'js-syntactic-mode-name' controls mode name display.
@@ -1412,7 +1415,7 @@ name, too.
1412** Autorevert 1415** Autorevert
1413 1416
1414*** New variable 'auto-revert-avoid-polling' for saving power. 1417*** New variable 'auto-revert-avoid-polling' for saving power.
1415When set to a non-nil value, buffers in Auto-Revert mode are no longer 1418When set to a non-nil value, buffers in Auto Revert mode are no longer
1416polled for changes periodically. This reduces the power consumption 1419polled for changes periodically. This reduces the power consumption
1417of an idle Emacs, but may fail on some network file systems; set 1420of an idle Emacs, but may fail on some network file systems; set
1418'auto-revert-notify-exclude-dir-regexp' to match files where 1421'auto-revert-notify-exclude-dir-regexp' to match files where
@@ -1449,8 +1452,8 @@ documentation of the new mode and its commands.
1449 1452
1450* Incompatible Lisp Changes in Emacs 27.1 1453* Incompatible Lisp Changes in Emacs 27.1
1451 1454
1452** In compilation-error-regexp-alist the old undocumented feature where 'line' 1455** In 'compilation-error-regexp-alist' the old undocumented feature
1453could be a function of 2 arguments has been dropped. 1456where 'line' could be a function of 2 arguments has been dropped.
1454 1457
1455** 'define-fringe-bitmap' is always defined, even when Emacs is built 1458** 'define-fringe-bitmap' is always defined, even when Emacs is built
1456without any GUI support. 1459without any GUI support.
@@ -1473,11 +1476,11 @@ its default value changed in Emacs 27.1.
1473 1476
1474** The REPETITIONS argument of 'benchmark-run' can now also be a variable. 1477** The REPETITIONS argument of 'benchmark-run' can now also be a variable.
1475 1478
1476** Interpretation of relative HOME directory has changed. 1479** Interpretation of relative 'HOME' directory has changed.
1477If $HOME is set to a relative file name, 'expand-file-name' now 1480If "$HOME" is set to a relative file name, 'expand-file-name' now
1478interprets it relative to the directory where Emacs was started, not 1481interprets it relative to the directory where Emacs was started, not
1479relative to the 'default-directory' of the current buffer. We recommend 1482relative to the 'default-directory' of the current buffer. We recommend
1480always setting $HOME to an absolute file name, so that its meaning is 1483always setting "$HOME" to an absolute file name, so that its meaning is
1481independent of where Emacs was started. 1484independent of where Emacs was started.
1482 1485
1483** The FILENAME argument to 'file-name-base' is now mandatory and no 1486** The FILENAME argument to 'file-name-base' is now mandatory and no
@@ -1503,7 +1506,7 @@ old-style backquotes as new-style, bind the new variable
1503integer, Emacs now signals an error if the number is too large for the 1506integer, Emacs now signals an error if the number is too large for the
1504implementation to format. 1507implementation to format.
1505 1508
1506** logb now returns infinity when given an infinite or zero argument, 1509** 'logb' now returns infinity when given an infinite or zero argument,
1507and returns a NaN when given a NaN. Formerly, it returned an extreme 1510and returns a NaN when given a NaN. Formerly, it returned an extreme
1508fixnum for such arguments. 1511fixnum for such arguments.
1509 1512
@@ -1554,11 +1557,11 @@ they are now allocated like any other pseudovector. As a result, the
1554removed. 1557removed.
1555 1558
1556+++ 1559+++
1557** Reversed character ranges are no longer permitted in rx. 1560** Reversed character ranges are no longer permitted in 'rx'.
1558Previously, ranges where the starting character is greater than the 1561Previously, ranges where the starting character is greater than the
1559ending character were silently omitted. 1562ending character were silently omitted.
1560For example, '(rx (any "@z-a" (?9 . ?0)))' would match '@' only. 1563For example, '(rx (any "@z-a" (?9 . ?0)))' would match '@' only.
1561Now, such rx expressions generate an error. 1564Now, such 'rx' expressions generate an error.
1562 1565
1563+++ 1566+++
1564** 'text-mode' no longer sets the value of 'indent-line-function'. 1567** 'text-mode' no longer sets the value of 'indent-line-function'.
@@ -1567,7 +1570,7 @@ The global value of 'indent-line-function', which defaults to
1567'text-mode'. 1570'text-mode'.
1568 1571
1569To get back the old behavior, add a function to 'text-mode-hook' which 1572To get back the old behavior, add a function to 'text-mode-hook' which
1570performs (setq-local indent-line-function #'indent-relative). 1573performs '(setq-local indent-line-function #'indent-relative)'.
1571 1574
1572** 'make-process' no longer accepts a non-nil ':stop' key. This has 1575** 'make-process' no longer accepts a non-nil ':stop' key. This has
1573never worked reliably, and now causes an error. 1576never worked reliably, and now causes an error.
@@ -1576,7 +1579,7 @@ never worked reliably, and now causes an error.
1576* Lisp Changes in Emacs 27.1 1579* Lisp Changes in Emacs 27.1
1577 1580
1578** New 'help-fns-describe-variable-functions' hook. 1581** New 'help-fns-describe-variable-functions' hook.
1579Makes it possible to add metadata information to describe-variable. 1582Makes it possible to add metadata information to 'describe-variable'.
1580 1583
1581** i18n (internationalization) 1584** i18n (internationalization)
1582 1585
@@ -1584,7 +1587,7 @@ Makes it possible to add metadata information to describe-variable.
1584according to the given numeric value. 1587according to the given numeric value.
1585 1588
1586+++ 1589+++
1587** inhibit-null-byte-detection is renamed to inhibit-nul-byte-detection 1590** 'inhibit-null-byte-detection' is renamed to 'inhibit-nul-byte-detection'.
1588 1591
1589+++ 1592+++
1590** 'self-insert-command' takes the char to insert as (optional) argument. 1593** 'self-insert-command' takes the char to insert as (optional) argument.
@@ -1628,8 +1631,10 @@ like 'file-attributes' that compute file sizes and other attributes,
1628functions like 'process-id' that compute process IDs, and functions like 1631functions like 'process-id' that compute process IDs, and functions like
1629'user-uid' and 'group-gid' that compute user and group IDs. 1632'user-uid' and 'group-gid' that compute user and group IDs.
1630 1633
1634** Time values
1635
1631+++ 1636+++
1632** Although the default timestamp format is still (HI LO US PS), 1637*** Although the default timestamp format is still '(HI LO US PS)',
1633it is planned to change in a future Emacs version, to exploit bignums. 1638it is planned to change in a future Emacs version, to exploit bignums.
1634The documentation has been updated to mention that the timestamp 1639The documentation has been updated to mention that the timestamp
1635format may change and that programs should use functions like 1640format may change and that programs should use functions like
@@ -1638,22 +1643,22 @@ probing the innards of a timestamp directly, or creating a timestamp
1638by hand. 1643by hand.
1639 1644
1640+++ 1645+++
1641** 'encode-time' supports a new API '(encode-time TIME &optional FORM)'. 1646*** 'encode-time' supports a new API '(encode-time TIME &optional FORM)'.
1642This can convert decoded times and Lisp time values to Lisp timestamps 1647This can convert decoded times and Lisp time values to Lisp timestamps
1643of various forms, including a new timestamp form '(TICKS . HZ)', where 1648of various forms, including a new timestamp form '(TICKS . HZ)', where
1644TICKS is an integer and HZ is a positive integer denoting a clock 1649TICKS is an integer and HZ is a positive integer denoting a clock
1645frequency. The old 'encode-time' API is still supported. 1650frequency. The old 'encode-time' API is still supported.
1646 1651
1647+++ 1652+++
1648** 'time-add', 'time-subtract', and 'time-less-p' now accept 1653*** 'time-add', 'time-subtract', and 'time-less-p' now accept
1649infinities and NaNs too, and propagate them or return nil like 1654infinities and NaNs too, and propagate them or return nil like
1650floating-point operators do. 1655floating-point operators do.
1651 1656
1652+++ 1657+++
1653** New function 'time-equal-p' compares time values for equality. 1658*** New function 'time-equal-p' compares time values for equality.
1654 1659
1655+++ 1660+++
1656** 'format-time-string' supports a new conversion specifier flag '+' 1661*** 'format-time-string' supports a new conversion specifier flag '+'
1657that acts like the '0' flag but also puts a '+' before nonnegative 1662that acts like the '0' flag but also puts a '+' before nonnegative
1658years containing more than four digits. This is for compatibility 1663years containing more than four digits. This is for compatibility
1659with POSIX.1-2017. 1664with POSIX.1-2017.
@@ -1706,7 +1711,6 @@ of the Emacs Lisp Reference manual for more detail.
1706 1711
1707+++ 1712+++
1708** Window change functions have been redesigned. 1713** Window change functions have been redesigned.
1709
1710Hooks reacting to window changes run now only when redisplay detects 1714Hooks reacting to window changes run now only when redisplay detects
1711that a change has actually occurred. Six hooks are now provided: 1715that a change has actually occurred. Six hooks are now provided:
1712'window-buffer-change-functions' (run after window buffers have 1716'window-buffer-change-functions' (run after window buffers have
@@ -1734,7 +1738,7 @@ See the section "(elisp) Window Hooks" in the Elisp manual for a
1734detailed explanation of the new behavior. 1738detailed explanation of the new behavior.
1735 1739
1736+++ 1740+++
1737*** New option 'resize-mini-frames'. 1741** New option 'resize-mini-frames'.
1738This option allows to automatically resize minibuffer-only frames 1742This option allows to automatically resize minibuffer-only frames
1739similarly to how minibuffer windows are resized on "normal" frames. 1743similarly to how minibuffer windows are resized on "normal" frames.
1740 1744
@@ -1765,7 +1769,7 @@ This avoids problems in calls like '(read (format "#x%x" -1))', and is
1765more compatible with bignums. To get the traditional machine-dependent 1769more compatible with bignums. To get the traditional machine-dependent
1766behavior, set the experimental variable 'binary-as-unsigned' to t, 1770behavior, set the experimental variable 'binary-as-unsigned' to t,
1767and if the new behavior breaks your code please email 1771and if the new behavior breaks your code please email
176832252@debbugs.gnu.org. Because '%o' and '%x' can now format signed 1772<32252@debbugs.gnu.org>. Because '%o' and '%x' can now format signed
1769integers, they now support the '+' and space flags. 1773integers, they now support the '+' and space flags.
1770 1774
1771** To avoid confusion caused by "smart quotes", the reader signals an 1775** To avoid confusion caused by "smart quotes", the reader signals an
@@ -1894,16 +1898,31 @@ some years back. It now respects 'imagemagick-types-inhibit' as a way
1894to disable that. 1898to disable that.
1895 1899
1896--- 1900---
1897*** Some image-mode variables are now buffer-local. 1901*** Some 'image-mode' variables are now buffer-local.
1898The image parameters 'image-transform-rotation', 1902The image parameters 'image-transform-rotation',
1899'image-transform-scale' and 'image-transform-resize' are now declared 1903'image-transform-scale' and 'image-transform-resize' are now declared
1900buffer-local, so each buffer could have its own values for these 1904buffer-local, so each buffer could have its own values for these
1901parameters. 1905parameters.
1902 1906
1903** The function 'load' now behaves correctly when loading modules. 1907** Modules
1908
1909*** The function 'load' now behaves correctly when loading modules.
1904Specifically, it puts the module name into 'load-history', prints 1910Specifically, it puts the module name into 'load-history', prints
1905loading messages if requested, and protects against recursive loads. 1911loading messages if requested, and protects against recursive loads.
1906 1912
1913*** New module environment function 'process_input' to process user
1914input while module code is running.
1915
1916*** New module environment functions 'make_time' and 'extract_time' to
1917convert between timespec structures and Emacs Lisp time values.
1918
1919*** New module environment functions 'make_big_integer' and
1920'extract_big_integer' to create and extract arbitrary-size integer
1921values.
1922
1923*** emacs-module.h now defines a macro 'EMACS_MAJOR_VERSION' that expands
1924to the major version of the latest Emacs supported by the header.
1925
1907+++ 1926+++
1908** The function 'read-variable' now uses its own history list. 1927** The function 'read-variable' now uses its own history list.
1909The history of variable names read by 'read-variable' is recorded in 1928The history of variable names read by 'read-variable' is recorded in
@@ -1936,13 +1955,10 @@ The new function 'image-scaling-p' can be used to test whether any
1936given frame supports resizing. 1955given frame supports resizing.
1937 1956
1938+++ 1957+++
1939** (locale-info 'paper) now returns the paper size on systems that support it. 1958** '(locale-info 'paper)' now returns the paper size on systems that support it.
1940This is currently supported on GNUish hosts and on modern versions of 1959This is currently supported on GNUish hosts and on modern versions of
1941MS-Windows. 1960MS-Windows.
1942 1961
1943** New module environment function 'process_input' to process user
1944input while module code is running.
1945
1946+++ 1962+++
1947** The function 'regexp-opt' accepts an additional optional argument. 1963** The function 'regexp-opt' accepts an additional optional argument.
1948By default, the regexp returned by 'regexp-opt' may match the strings 1964By default, the regexp returned by 'regexp-opt' may match the strings
@@ -1956,16 +1972,6 @@ returns a regexp that never matches anything, which is an identity for
1956this operation. Previously, the empty string was returned in this 1972this operation. Previously, the empty string was returned in this
1957case. 1973case.
1958 1974
1959** New module environment functions 'make_time' and 'extract_time' to
1960convert between timespec structures and Emacs Lisp time values.
1961
1962** New module environment functions 'make_big_integer' and
1963'extract_big_integer' to create and extract arbitrary-size integer
1964values.
1965
1966** emacs-module.h now defines a macro EMACS_MAJOR_VERSION that expands
1967to the major version of the latest Emacs supported by the header.
1968
1969 1975
1970* Changes in Emacs 27.1 on Non-Free Operating Systems 1976* Changes in Emacs 27.1 on Non-Free Operating Systems
1971 1977