diff options
| author | YAMAMOTO Mitsuharu | 2019-05-23 10:53:23 +0900 |
|---|---|---|
| committer | YAMAMOTO Mitsuharu | 2019-05-23 10:53:23 +0900 |
| commit | b40dde705af4d53853de6185a2468153b442dc9a (patch) | |
| tree | e8dabba695163c2d07439fad6accff761f8f714c /etc | |
| parent | 5d7dafacf4afc888511649f6fc24c28210cd0dfc (diff) | |
| parent | 03feb9376b54c489e24478954a11061e9b0d6db7 (diff) | |
| download | emacs-b40dde705af4d53853de6185a2468153b442dc9a.tar.gz emacs-b40dde705af4d53853de6185a2468153b442dc9a.zip | |
Merge branch 'master' into harfbuzz
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/NEWS | 337 | ||||
| -rw-r--r-- | etc/NEWS.24 | 2 | ||||
| -rw-r--r-- | etc/TODO | 9 | ||||
| -rw-r--r-- | etc/tutorials/TUTORIAL.translators | 5 |
4 files changed, 225 insertions, 128 deletions
| @@ -43,11 +43,15 @@ functions 'json-serialize', 'json-insert', 'json-parse-string', and | |||
| 43 | 'json-parse-buffer' are typically much faster than their Lisp | 43 | 'json-parse-buffer' are typically much faster than their Lisp |
| 44 | counterparts from json.el. | 44 | counterparts from json.el. |
| 45 | 45 | ||
| 46 | ** Emacs no longer defaults to using ImageMagick to display images, | ||
| 47 | due to security and stability concerns. To override the default, use | ||
| 48 | 'configure --with-imagemagick'. | ||
| 49 | |||
| 46 | ** Several configure options now accept an option-argument 'ifavailable'. | 50 | ** Several configure options now accept an option-argument 'ifavailable'. |
| 47 | For example, './configure --with-xpm=ifavailable' now configures Emacs | 51 | For example, './configure --with-xpm=ifavailable' now configures Emacs |
| 48 | to attempt to use libxpm but to continue building even if libxpm is absent. | 52 | to attempt to use libxpm but to continue building even if libxpm is |
| 49 | The other affected options are --with-gif, --with-gnutls, --with-jpeg, | 53 | absent. The other affected options are '--with-gif', '--with-gnutls', |
| 50 | --with-png, and --with-tiff. | 54 | '--with-jpeg', '--with-png', and '--with-tiff'. |
| 51 | 55 | ||
| 52 | ** The etags program now uses the C library's regular expression matcher | 56 | ** The etags program now uses the C library's regular expression matcher |
| 53 | when possible, and a compatible regex substitute otherwise. This will | 57 | when possible, and a compatible regex substitute otherwise. This will |
| @@ -103,6 +107,10 @@ option was useful with modern debugging tools such as AddressSanitizer. | |||
| 103 | (See etc/DEBUG for the details of using the modern replacements of the | 107 | (See etc/DEBUG for the details of using the modern replacements of the |
| 104 | removed configure options.) | 108 | removed configure options.) |
| 105 | 109 | ||
| 110 | +++ | ||
| 111 | ** The distribution tarball now has test cases; 'make check' runs them. | ||
| 112 | This is intended mostly to help developers. | ||
| 113 | |||
| 106 | --- | 114 | --- |
| 107 | ** Emacs now requires GTK 2.24 and GTK 3.10 for the GTK 2 and GTK 3 | 115 | ** Emacs now requires GTK 2.24 and GTK 3.10 for the GTK 2 and GTK 3 |
| 108 | builds respectively. | 116 | builds respectively. |
| @@ -134,13 +142,14 @@ file, which was previously done when Emacs was started. As a result | |||
| 134 | of this change, it is no longer necessary to call 'package-initialize' | 142 | of this change, it is no longer necessary to call 'package-initialize' |
| 135 | in your init file. | 143 | in your init file. |
| 136 | 144 | ||
| 137 | However, if your init file changes the values of 'package-load-list' or | 145 | However, if your init file changes the values of 'package-load-list' |
| 138 | 'package-user-dir', or sets 'package-enable-at-startup' to nil then it won't | 146 | or 'package-user-dir', or sets 'package-enable-at-startup' to nil then |
| 139 | work right without some adjustment: | 147 | it won't work right without some adjustment: |
| 140 | - you can move that code to the early init file (see above), so those settings | 148 | - You can move that code to the early init file (see above), so those |
| 141 | apply before Emacs tries to activate the packages. | 149 | settings apply before Emacs tries to activate the packages. |
| 142 | - you can use the new 'package-quickstart' so activation of packages does not | 150 | - You can use the new 'package-quickstart' so activation of packages |
| 143 | need to pay attention to 'package-load-list' or 'package-user-dir' any more. | 151 | does not need to pay attention to 'package-load-list' or |
| 152 | 'package-user-dir' any more. | ||
| 144 | 153 | ||
| 145 | --- | 154 | --- |
| 146 | ** Emacs now notifies systemd when startup finishes or shutdown begins. | 155 | ** Emacs now notifies systemd when startup finishes or shutdown begins. |
| @@ -150,6 +159,12 @@ after Emacs has finished initialization and is ready for use. | |||
| 150 | emacs.service file to eg "~/.config/systemd/user/", you will need to copy | 159 | emacs.service file to eg "~/.config/systemd/user/", you will need to copy |
| 151 | the new version of the file again.) | 160 | the new version of the file again.) |
| 152 | 161 | ||
| 162 | +++ | ||
| 163 | ** New option 'help-enable-completion-auto-load'. | ||
| 164 | This allows disabling the new feature introduced in Emacs 26.1 which | ||
| 165 | loads files during completion of 'C-h f' and 'C-h v' according to | ||
| 166 | 'definition-prefixes'. | ||
| 167 | |||
| 153 | 168 | ||
| 154 | * Changes in Emacs 27.1 | 169 | * Changes in Emacs 27.1 |
| 155 | 170 | ||
| @@ -159,16 +174,16 @@ the new version of the file again.) | |||
| 159 | *** emacsclient now supports the 'EMACS_SOCKET_NAME' environment variable. | 174 | *** emacsclient now supports the 'EMACS_SOCKET_NAME' environment variable. |
| 160 | The behavior is identical to 'EMACS_SERVER_FILE', in that the | 175 | The behavior is identical to 'EMACS_SERVER_FILE', in that the |
| 161 | command-line value specified via '--socket-name' will override the | 176 | command-line value specified via '--socket-name' will override the |
| 162 | environment, and the natural default to TMPDIR, then "/tmp", continues | 177 | environment, and the natural default to 'TMPDIR', then "/tmp", continues |
| 163 | to apply. | 178 | to apply. |
| 164 | 179 | ||
| 165 | +++ | 180 | +++ |
| 166 | *** Emacs and emacsclient now default to $XDG_RUNTIME_DIR/emacs | 181 | *** Emacs and emacsclient now default to "$XDG_RUNTIME_DIR/emacs" |
| 167 | as the directory for client/server sockets, if Emacs is running | 182 | as the directory for client/server sockets, if Emacs is running |
| 168 | under an X Window System desktop that sets the XDG_RUNTIME_DIR | 183 | under an X Window System desktop that sets the 'XDG_RUNTIME_DIR' |
| 169 | environment variable to indicate where session sockets should go. | 184 | environment variable to indicate where session sockets should go. |
| 170 | To get the old, less-secure behavior, you can set the | 185 | To get the old, less-secure behavior, you can set the |
| 171 | EMACS_SOCKET_NAME environment variable to an appropriate value. | 186 | 'EMACS_SOCKET_NAME' environment variable to an appropriate value. |
| 172 | 187 | ||
| 173 | --- | 188 | --- |
| 174 | *** When run by root, emacsclient no longer connects to non-root sockets. | 189 | *** When run by root, emacsclient no longer connects to non-root sockets. |
| @@ -182,11 +197,11 @@ be controlled via the new variable 'face-near-same-color-threshold'. | |||
| 182 | The default value is 30000, as the previously hard-coded threshold. | 197 | The default value is 30000, as the previously hard-coded threshold. |
| 183 | 198 | ||
| 184 | +++ | 199 | +++ |
| 185 | ** The function 'read-passwd' uses '*' as default character to hide passwords. | 200 | ** The function 'read-passwd' uses "*" as default character to hide passwords. |
| 186 | 201 | ||
| 187 | ** Lexical binding is now used when evaluating interactive Elisp forms | 202 | ** Lexical binding is now used when evaluating interactive Elisp forms. |
| 188 | More specifically, lexical-binding is now used for M-:, --eval, as well | 203 | More specifically, lexical-binding is now used for 'M-:', '--eval', as |
| 189 | as in the *scratch* and *ielm* buffers. | 204 | well as in the "*scratch*" and "*ielm*" buffers. |
| 190 | 205 | ||
| 191 | --- | 206 | --- |
| 192 | ** The new option 'tooltip-resize-echo-area' avoids truncating tooltip text | 207 | ** The new option 'tooltip-resize-echo-area' avoids truncating tooltip text |
| @@ -221,7 +236,7 @@ indirectly, e.g., by checking that functions like | |||
| 221 | 'libxml-parse-html-region' return nil. | 236 | 'libxml-parse-html-region' return nil. |
| 222 | 237 | ||
| 223 | +++ | 238 | +++ |
| 224 | ** 'libxml-parse-xml-region' and 'libxml-parse-html' region take | 239 | ** 'libxml-parse-xml-region' and 'libxml-parse-html-region' take |
| 225 | a parameter that's called DISCARD-COMMENTS, but it really only | 240 | a parameter that's called DISCARD-COMMENTS, but it really only |
| 226 | discards the top-level comment. Therefore this parameter is now | 241 | discards the top-level comment. Therefore this parameter is now |
| 227 | obsolete, and the new utility function 'xml-remove-comments' can be | 242 | obsolete, and the new utility function 'xml-remove-comments' can be |
| @@ -247,7 +262,7 @@ security level (assuming you use the 'medium' level). | |||
| 247 | +++ | 262 | +++ |
| 248 | ** Native GnuTLS connections can now use client certificates. | 263 | ** Native GnuTLS connections can now use client certificates. |
| 249 | Previously, this support was only available when using the external | 264 | Previously, this support was only available when using the external |
| 250 | gnutls-cli command. Call 'open-network-stream' with | 265 | 'gnutls-cli' command. Call 'open-network-stream' with |
| 251 | ':client-certificate t' to trigger looking up of per-server | 266 | ':client-certificate t' to trigger looking up of per-server |
| 252 | certificates via 'auth-source'. | 267 | certificates via 'auth-source'. |
| 253 | 268 | ||
| @@ -327,25 +342,40 @@ and directory-local variables. | |||
| 327 | 342 | ||
| 328 | +++ | 343 | +++ |
| 329 | *** The macro 'with-connection-local-variables' has been renamed from | 344 | *** The macro 'with-connection-local-variables' has been renamed from |
| 330 | 'with-connection-local-profiles'. No argument 'profiles' needed any | 345 | 'with-connection-local-profiles'. No argument PROFILES needed any longer. |
| 331 | longer. | ||
| 332 | 346 | ||
| 333 | --- | 347 | --- |
| 334 | ** New variable next-error-verbose controls when `next-error' outputs | 348 | ** New variable 'next-error-verbose' controls when 'next-error' outputs |
| 335 | a message about the error locus. | 349 | a message about the error locus. |
| 336 | 350 | ||
| 337 | --- | 351 | --- |
| 338 | ** New variable grep-search-path defines the directories searched for | 352 | ** New variable 'grep-search-path' defines the directories searched for |
| 339 | grep hits (this used to be controlled by compilation-search-path). | 353 | grep hits (this used to be controlled by 'compilation-search-path'). |
| 340 | 354 | ||
| 341 | --- | 355 | --- |
| 342 | ** New variable emacs-lisp-compilation-search-path defines the | 356 | ** New variable 'emacs-lisp-compilation-search-path' defines the |
| 343 | directories searched for byte-compiler error messages (this used to | 357 | directories searched for byte-compiler error messages (this used to |
| 344 | be controlled by compilation-search-path). | 358 | be controlled by 'compilation-search-path'). |
| 345 | 359 | ||
| 346 | ** Multicolor fonts such as "Noto Color Emoji" can be displayed on | 360 | ** Multicolor fonts such as "Noto Color Emoji" can be displayed on |
| 347 | Emacs configured with Cairo drawing and linked with cairo >= 1.16.0. | 361 | Emacs configured with Cairo drawing and linked with cairo >= 1.16.0. |
| 348 | 362 | ||
| 363 | +++ | ||
| 364 | ** Emacs now optionally displays a fill column indicator. | ||
| 365 | |||
| 366 | This is similar to what 'fill-column-indicator' package provides, but | ||
| 367 | much faster and compatible with 'show-trailing-whitespace'. | ||
| 368 | |||
| 369 | Customize the buffer-local variables 'display-fill-column-indicator' | ||
| 370 | and 'display-fill-column-indicator-character' to activate the | ||
| 371 | indicator. | ||
| 372 | |||
| 373 | The indicator is not displayed at all in minibuffer windows and | ||
| 374 | in tooltips, as it is not useful there. | ||
| 375 | |||
| 376 | There are 2 new buffer local variables and 1 face to customize this | ||
| 377 | mode they are described in the manual "(emacs) Display". | ||
| 378 | |||
| 349 | 379 | ||
| 350 | * Editing Changes in Emacs 27.1 | 380 | * Editing Changes in Emacs 27.1 |
| 351 | 381 | ||
| @@ -405,39 +435,41 @@ syntax that you can see in the example of a ".dir-locals.el" file in | |||
| 405 | the node "(emacs) Directory Variables" of the user manual. | 435 | the node "(emacs) Directory Variables" of the user manual. |
| 406 | 436 | ||
| 407 | +++ | 437 | +++ |
| 408 | ** Network connections using 'local can now use IPv6. | 438 | ** Network connections using 'local' can now use IPv6. |
| 409 | 'make-network-process' now uses the correct loopback address when | 439 | 'make-network-process' now uses the correct loopback address when |
| 410 | asked to use :host 'local and :family 'ipv6. | 440 | asked to use ':host 'local' and ':family 'ipv6'. |
| 411 | 441 | ||
| 412 | +++ | 442 | +++ |
| 413 | ** The new function `replace-region-contents' replaces the current | 443 | ** The new function 'replace-region-contents' replaces the current |
| 414 | region using a given replacement-function in a non-destructive manner | 444 | region using a given replacement-function in a non-destructive manner |
| 415 | (in terms of `replace-buffer-contents'). | 445 | (in terms of 'replace-buffer-contents'). |
| 416 | 446 | ||
| 417 | +++ | 447 | +++ |
| 418 | ** The command `replace-buffer-contents' now has two optional | 448 | ** The command 'replace-buffer-contents' now has two optional |
| 419 | arguments mitigating performance issues when operating on huge | 449 | arguments mitigating performance issues when operating on huge |
| 420 | buffers. | 450 | buffers. |
| 421 | 451 | ||
| 452 | +++ | ||
| 422 | ** The command 'delete-indentation' now operates on the active region. | 453 | ** The command 'delete-indentation' now operates on the active region. |
| 423 | If the region is active, the command joins all the lines in the | 454 | If the region is active, the command joins all the lines in the |
| 424 | region. When there's no active region, the command works on the | 455 | region. When there's no active region, the command works on the |
| 425 | current and the previous or the next line, as before. | 456 | current and the previous or the next line, as before. |
| 426 | 457 | ||
| 427 | +++ | ||
| 428 | 458 | ||
| 429 | * Changes in Specialized Modes and Packages in Emacs 27.1 | 459 | * Changes in Specialized Modes and Packages in Emacs 27.1 |
| 430 | 460 | ||
| 431 | ** compile.el | 461 | ** compile.el |
| 432 | --- | 462 | --- |
| 433 | *** In compilation-error-regexp-alist, 'line' (and 'end-line') can be functions | 463 | *** In 'compilation-error-regexp-alist', 'line' (and 'end-line') can |
| 464 | be functions. | ||
| 434 | 465 | ||
| 435 | ** cl-lib | 466 | ** cl-lib.el |
| 436 | +++ | 467 | +++ |
| 437 | *** cl-defstruct has a new :noinline argument to prevent inlining its functions | 468 | *** 'cl-defstruct' has a new ':noinline' argument to prevent inlining |
| 469 | its functions. | ||
| 438 | 470 | ||
| 439 | ** doc-view-mode | 471 | ** doc-view.el |
| 440 | *** New commands doc-view-presentation and doc-view-fit-window-to-page | 472 | *** New commands 'doc-view-presentation' and 'doc-view-fit-window-to-page'. |
| 441 | *** Added support for password-protected PDF files | 473 | *** Added support for password-protected PDF files |
| 442 | 474 | ||
| 443 | ** Ido | 475 | ** Ido |
| @@ -479,10 +511,10 @@ that display the next buffer in the window at the specified direction. | |||
| 479 | This is like 'windmove-default-keybindings' that binds keys to commands | 511 | This is like 'windmove-default-keybindings' that binds keys to commands |
| 480 | that select the window in the specified direction, but additionally it | 512 | that select the window in the specified direction, but additionally it |
| 481 | displays the buffer from the next command in that window. For example, | 513 | displays the buffer from the next command in that window. For example, |
| 482 | 'S-M-right C-h i' displays the *Info* buffer in the right window, | 514 | 'S-M-right C-h i' displays the "*Info*" buffer in the right window, |
| 483 | creating the window if necessary. A special key can be customized to | 515 | creating the window if necessary. A special key can be customized to |
| 484 | display the buffer in the same window, for example, 'S-M-0 C-h e' | 516 | display the buffer in the same window, for example, 'S-M-0 C-h e' |
| 485 | displays the *Messages* buffer in the same window. | 517 | displays the "*Messages*" buffer in the same window. |
| 486 | 518 | ||
| 487 | *** Windmove also supports directional window deletion. | 519 | *** Windmove also supports directional window deletion. |
| 488 | The new command 'windmove-delete-default-keybindings' binds default | 520 | The new command 'windmove-delete-default-keybindings' binds default |
| @@ -502,8 +534,11 @@ The mode is automatically enabled in files that start with the | |||
| 502 | 'function' keyword. | 534 | 'function' keyword. |
| 503 | 535 | ||
| 504 | ** project.el | 536 | ** project.el |
| 537 | |||
| 505 | *** New commands 'project-search' and 'project-query-replace-regexp'. | 538 | *** New commands 'project-search' and 'project-query-replace-regexp'. |
| 506 | 539 | ||
| 540 | *** New customizable variable 'project-read-file-name-function'. | ||
| 541 | |||
| 507 | ** Etags | 542 | ** Etags |
| 508 | 543 | ||
| 509 | +++ | 544 | +++ |
| @@ -547,7 +582,7 @@ With non-nil, 'vc-find-revision' doesn't write the created buffer to file. | |||
| 547 | This new variable allows customizing the default arguments passed to | 582 | This new variable allows customizing the default arguments passed to |
| 548 | 'git-grep' when 'vc-git-grep' is used. | 583 | 'git-grep' when 'vc-git-grep' is used. |
| 549 | 584 | ||
| 550 | *** Command 'vc-git-stash' now respects marks in the '*vc-dir*' buffer. | 585 | *** Command 'vc-git-stash' now respects marks in the "*vc-dir*" buffer. |
| 551 | When some files are marked, only those are stashed. | 586 | When some files are marked, only those are stashed. |
| 552 | When no files are marked, all modified files are stashed, as before. | 587 | When no files are marked, all modified files are stashed, as before. |
| 553 | 588 | ||
| @@ -565,7 +600,7 @@ values. | |||
| 565 | and compares their entire trees. | 600 | and compares their entire trees. |
| 566 | 601 | ||
| 567 | *** New user option 'vc-hg-revert-switches' specifies switches to pass | 602 | *** New user option 'vc-hg-revert-switches' specifies switches to pass |
| 568 | to hg revert. | 603 | to Hg revert. |
| 569 | 604 | ||
| 570 | *** 'C-x v M D' ('vc-diff-mergebase') and 'C-x v M L' ('vc-log-mergebase') | 605 | *** 'C-x v M D' ('vc-diff-mergebase') and 'C-x v M L' ('vc-log-mergebase') |
| 571 | print diffs and logs between the merge base (common ancestor) of two | 606 | print diffs and logs between the merge base (common ancestor) of two |
| @@ -574,9 +609,10 @@ given revisions. | |||
| 574 | ** Diff mode | 609 | ** Diff mode |
| 575 | +++ | 610 | +++ |
| 576 | *** Hunks are now automatically refined by font-lock. | 611 | *** Hunks are now automatically refined by font-lock. |
| 577 | To disable refinement, set the new defcustom 'diff-refine' to nil. | 612 | To disable refinement, set the new user option 'diff-refine' to nil. |
| 578 | To get back the old behavior where hunks are refined as you navigate | 613 | To get back the old behavior where hunks are refined as you navigate |
| 579 | through a diff, set 'diff-refine' to the symbol 'navigate'. | 614 | through a diff, set 'diff-refine' to the symbol 'navigate'. |
| 615 | |||
| 580 | +++ | 616 | +++ |
| 581 | *** 'diff-auto-refine-mode' is deprecated in favor of 'diff-refine'. | 617 | *** 'diff-auto-refine-mode' is deprecated in favor of 'diff-refine'. |
| 582 | It is no longer enabled by default and binding it no longer has any | 618 | It is no longer enabled by default and binding it no longer has any |
| @@ -589,7 +625,7 @@ according to the appropriate major mode. Customize the new option | |||
| 589 | 'diff-font-lock-syntax' to nil to disable this. | 625 | 'diff-font-lock-syntax' to nil to disable this. |
| 590 | 626 | ||
| 591 | *** File headers can be shortened, mimicking Magit's diff format. | 627 | *** File headers can be shortened, mimicking Magit's diff format. |
| 592 | To enable it, set the new defcustom 'diff-font-lock-prettify' to t. | 628 | To enable it, set the new user option 'diff-font-lock-prettify' to t. |
| 593 | 629 | ||
| 594 | +++ | 630 | +++ |
| 595 | *** Prefix arg of 'diff-goto-source' means jump to the old revision | 631 | *** Prefix arg of 'diff-goto-source' means jump to the old revision |
| @@ -599,11 +635,11 @@ or to the new revision of the file otherwise. | |||
| 599 | ** Texinfo | 635 | ** Texinfo |
| 600 | 636 | ||
| 601 | +++ | 637 | +++ |
| 602 | *** New function for inserting @pxref, @xref, or @ref commands. | 638 | *** New function for inserting '@pxref', '@xref', or '@ref' commands. |
| 603 | The function 'texinfo-insert-dwim-@ref', bound to 'C-c C-c r' by | 639 | The function 'texinfo-insert-dwim-@ref', bound to 'C-c C-c r' by |
| 604 | default, inserts one of three types of references based on the text | 640 | default, inserts one of three types of references based on the text |
| 605 | surrounding point, namely @pxref near a parenthesis, @xref at the | 641 | surrounding point, namely '@pxref' near a parenthesis, '@xref' at the |
| 606 | start of a sentence or at (point-min), else @ref. | 642 | start of a sentence or at '(point-min)', else '@ref'. |
| 607 | 643 | ||
| 608 | ** Browse-url | 644 | ** Browse-url |
| 609 | 645 | ||
| @@ -637,7 +673,6 @@ end. | |||
| 637 | ** SQL | 673 | ** SQL |
| 638 | 674 | ||
| 639 | *** SQL Indent Minor Mode | 675 | *** SQL Indent Minor Mode |
| 640 | |||
| 641 | SQL Mode now supports the ELPA 'sql-indent' package for assisting | 676 | SQL Mode now supports the ELPA 'sql-indent' package for assisting |
| 642 | sophisticated SQL indenting rules. Note, however, that SQL is not | 677 | sophisticated SQL indenting rules. Note, however, that SQL is not |
| 643 | like other programming languages like C, Java, or Python where code is | 678 | like other programming languages like C, Java, or Python where code is |
| @@ -659,7 +694,6 @@ default values. If you have existing customizations to these variables, | |||
| 659 | you should make sure that the new default entry is included. | 694 | you should make sure that the new default entry is included. |
| 660 | 695 | ||
| 661 | *** Connection Wallet | 696 | *** Connection Wallet |
| 662 | |||
| 663 | Database passwords can now by stored in NETRC or JSON data files that | 697 | Database passwords can now by stored in NETRC or JSON data files that |
| 664 | may optionally be encrypted. When establishing an interactive session | 698 | may optionally be encrypted. When establishing an interactive session |
| 665 | with the database via 'sql-connect' or a product specific function, | 699 | with the database via 'sql-connect' or a product specific function, |
| @@ -669,9 +703,9 @@ searched for the password. The 'sql-product', 'sql-server', | |||
| 669 | appropriate authorization. This eliminates the discouraged practice of | 703 | appropriate authorization. This eliminates the discouraged practice of |
| 670 | embedding database passwords in your Emacs initialization. | 704 | embedding database passwords in your Emacs initialization. |
| 671 | 705 | ||
| 672 | See the `auth-source' module for complete documentation on the file | 706 | See the 'auth-source' module for complete documentation on the file |
| 673 | formats. By default, the wallet file is expected to be in the | 707 | formats. By default, the wallet file is expected to be in the |
| 674 | `user-emacs-directory', named 'sql-wallet' or '.sql-wallet', with | 708 | 'user-emacs-directory', named 'sql-wallet' or '.sql-wallet', with |
| 675 | '.json' (JSON) or no (NETRC) suffix. Both file formats can optionally | 709 | '.json' (JSON) or no (NETRC) suffix. Both file formats can optionally |
| 676 | be encrypted with GPG by adding an additional '.gpg' suffix. | 710 | be encrypted with GPG by adding an additional '.gpg' suffix. |
| 677 | 711 | ||
| @@ -694,6 +728,10 @@ Control whether Flymake starts checking the buffer on save. | |||
| 694 | This enables more efficient backends. See the docstring of | 728 | This enables more efficient backends. See the docstring of |
| 695 | 'flymake-diagnostic-functions' or the Flymake manual for details. | 729 | 'flymake-diagnostic-functions' or the Flymake manual for details. |
| 696 | 730 | ||
| 731 | +++ | ||
| 732 | *** 'flymake-start-syntax-check-on-newline' is now obsolete, | ||
| 733 | use 'post-self-insert-hook' to check on newline. | ||
| 734 | |||
| 697 | ** Ruby | 735 | ** Ruby |
| 698 | 736 | ||
| 699 | *** The Rubocop Flymake diagnostic function will only run Lint cops if | 737 | *** The Rubocop Flymake diagnostic function will only run Lint cops if |
| @@ -703,16 +741,23 @@ it can't find the config file. | |||
| 703 | 741 | ||
| 704 | ** Package | 742 | ** Package |
| 705 | 743 | ||
| 744 | *** Change of 'package-check-signature' for packages with multiple sigs | ||
| 745 | In previous Emacsen, 't' checked that all signatures are valid. | ||
| 746 | Now 't' only checks that at least one signature is valid and the new 'all' | ||
| 747 | value needs to be used if you want to enforce that all signatures | ||
| 748 | are valid. This only affects packages with multiple signatures. | ||
| 749 | |||
| 706 | *** New function 'package-get-version' lets packages query their own version. | 750 | *** New function 'package-get-version' lets packages query their own version. |
| 707 | Example use in auctex.el: '(defconst auctex-version (package-get-version))' | 751 | Example use in auctex.el: '(defconst auctex-version (package-get-version))' |
| 708 | 752 | ||
| 709 | *** New 'package-quickstart' feature. | 753 | *** New 'package-quickstart' feature. |
| 710 | When 'package-quickstart' is non-nil, package.el precomputes a big autoloads | 754 | When 'package-quickstart' is non-nil, package.el precomputes a big |
| 711 | file so that activation of packages can be done much faster, which can speed up | 755 | autoloads file so that activation of packages can be done much faster, |
| 712 | your startup significantly. | 756 | which can speed up your startup significantly. |
| 713 | It also causes variables like 'package-user-dir' and 'package-load-list' to be | 757 | It also causes variables like 'package-user-dir' and |
| 714 | consulted when 'package-quickstart-refresh' is run rather than at startup so | 758 | 'package-load-list' to be consulted when 'package-quickstart-refresh' |
| 715 | you don't need to set them in your early init file. | 759 | is run rather than at startup so you don't need to set them in your |
| 760 | early init file. | ||
| 716 | 761 | ||
| 717 | *** New function 'package-activate-all'. | 762 | *** New function 'package-activate-all'. |
| 718 | 763 | ||
| @@ -738,19 +783,19 @@ Previously, setting 'xref-marker-ring-length' would only take effect | |||
| 738 | if set before 'xref.el' was loaded. | 783 | if set before 'xref.el' was loaded. |
| 739 | 784 | ||
| 740 | --- | 785 | --- |
| 741 | *** xref-find-definitions now sets the mark at the buffer position | 786 | *** 'xref-find-definitions' now sets the mark at the buffer position |
| 742 | where it was invoked | 787 | where it was invoked. |
| 743 | 788 | ||
| 744 | --- | 789 | --- |
| 745 | *** New xref faces 'xref-file-header', 'xref-line-number', 'xref-match' | 790 | *** New xref faces 'xref-file-header', 'xref-line-number', 'xref-match'. |
| 746 | 791 | ||
| 747 | ** Ecomplete | 792 | ** Ecomplete |
| 748 | 793 | ||
| 749 | *** The ecomplete sorting has changed to a decay-based algorithm. | 794 | *** The ecomplete sorting has changed to a decay-based algorithm. |
| 750 | This can be controlled by the new 'ecomplete-sort-predicate' variable. | 795 | This can be controlled by the new 'ecomplete-sort-predicate' variable. |
| 751 | 796 | ||
| 752 | *** The 'ecompleterc' file is now placed in ~/.emacs.d/ecompleterc by default. | 797 | *** The 'ecompleterc' file is now placed in '~/.emacs.d/ecompleterc' by default. |
| 753 | Of course it will still find it if you have it in ~/.ecompleterc | 798 | Of course it will still find it if you have it in '~/.ecompleterc'. |
| 754 | 799 | ||
| 755 | ** Gnus | 800 | ** Gnus |
| 756 | 801 | ||
| @@ -797,7 +842,7 @@ This option controls whether and how to use Gnus search groups as | |||
| 797 | ** erc | 842 | ** erc |
| 798 | 843 | ||
| 799 | --- | 844 | --- |
| 800 | *** 'erc-button-google-url' has been renamed 'erc-button-search-url' | 845 | *** 'erc-button-google-url' has been renamed to 'erc-button-search-url' |
| 801 | and its value has been changed to Duck Duck Go. | 846 | and its value has been changed to Duck Duck Go. |
| 802 | 847 | ||
| 803 | ** EUDC | 848 | ** EUDC |
| @@ -889,7 +934,7 @@ directories in the destination. | |||
| 889 | ** Help | 934 | ** Help |
| 890 | 935 | ||
| 891 | --- | 936 | --- |
| 892 | *** Description of variables and functions give an estimated first release | 937 | *** Description of variables and functions give an estimated first release. |
| 893 | 938 | ||
| 894 | --- | 939 | --- |
| 895 | *** Output format of 'C-h l' ('view-lossage') has changed. | 940 | *** Output format of 'C-h l' ('view-lossage') has changed. |
| @@ -968,7 +1013,7 @@ and case-sensitivity together with search strings in the search ring. | |||
| 968 | *** Isearch now has its own tool-bar and menu-bar menu. | 1013 | *** Isearch now has its own tool-bar and menu-bar menu. |
| 969 | 1014 | ||
| 970 | +++ | 1015 | +++ |
| 971 | *** flush-lines prints and returns the number of deleted matching lines. | 1016 | *** 'flush-lines' prints and returns the number of deleted matching lines. |
| 972 | 1017 | ||
| 973 | ** Debugger | 1018 | ** Debugger |
| 974 | 1019 | ||
| @@ -1011,7 +1056,7 @@ by default. | |||
| 1011 | ** Grep | 1056 | ** Grep |
| 1012 | 1057 | ||
| 1013 | +++ | 1058 | +++ |
| 1014 | *** rgrep, lgrep and zrgrep now hide part of the command line | 1059 | *** 'rgrep', 'lgrep' and 'zrgrep' now hide part of the command line |
| 1015 | that contains a list of ignored directories and files. | 1060 | that contains a list of ignored directories and files. |
| 1016 | Clicking on the button with ellipsis unhides it. | 1061 | Clicking on the button with ellipsis unhides it. |
| 1017 | The abbreviation can be disabled by the new option | 1062 | The abbreviation can be disabled by the new option |
| @@ -1070,10 +1115,10 @@ default, and not just the opening element. | |||
| 1070 | 1115 | ||
| 1071 | ** Eshell | 1116 | ** Eshell |
| 1072 | 1117 | ||
| 1073 | *** TAB completion uses the standard completion-at-point rather than pcomplete | 1118 | *** TAB completion uses the standard 'completion-at-point' rather than |
| 1074 | Its UI is slightly different but can be customized to behave similarly, | 1119 | 'pcomplete'. Its UI is slightly different but can be customized to |
| 1075 | e.g. Pcomplete's default cycling can be obtained with | 1120 | behave similarly, e.g. Pcomplete's default cycling can be obtained |
| 1076 | (setq completion-cycle-threshold 5). | 1121 | with '(setq completion-cycle-threshold 5)'. |
| 1077 | 1122 | ||
| 1078 | --- | 1123 | --- |
| 1079 | *** Expansion of history event designators is disabled by default. | 1124 | *** Expansion of history event designators is disabled by default. |
| @@ -1108,9 +1153,9 @@ variable for remote shells. It still defaults to "/bin/sh". | |||
| 1108 | 1153 | ||
| 1109 | ** Single shell commands | 1154 | ** Single shell commands |
| 1110 | 1155 | ||
| 1111 | --- | 1156 | +++ |
| 1112 | *** 'shell-command-width' defines the number of display columns | 1157 | *** 'async-shell-command-width' defines the number of display columns |
| 1113 | available for output of asynchronous or remote shell commands. | 1158 | available for output of asynchronous shell commands. |
| 1114 | 1159 | ||
| 1115 | ** Pcomplete | 1160 | ** Pcomplete |
| 1116 | 1161 | ||
| @@ -1172,6 +1217,7 @@ Setting this option to an integer causes URLs displayed in Rcirc | |||
| 1172 | buffers to be truncated to that many characters. | 1217 | buffers to be truncated to that many characters. |
| 1173 | 1218 | ||
| 1174 | ** Register | 1219 | ** Register |
| 1220 | |||
| 1175 | --- | 1221 | --- |
| 1176 | *** The return value of method 'register-val-describe' includes the | 1222 | *** The return value of method 'register-val-describe' includes the |
| 1177 | names of buffers shown by the windows of a window configuration. | 1223 | names of buffers shown by the windows of a window configuration. |
| @@ -1253,11 +1299,18 @@ automatically updates. In the buffer, you can use 's q' or 's e' to | |||
| 1253 | signal a thread with quit or error respectively, or get a snapshot | 1299 | signal a thread with quit or error respectively, or get a snapshot |
| 1254 | backtrace with 'b'. | 1300 | backtrace with 'b'. |
| 1255 | 1301 | ||
| 1302 | |||
| 1303 | ** thingatpt.el | ||
| 1304 | |||
| 1256 | --- | 1305 | --- |
| 1257 | ** thingatpt.el supports a new "thing" called 'uuid'. | 1306 | *** 'thing-at-point' supports a new "thing" called 'uuid'. |
| 1258 | A symbol 'uuid' can be passed to 'thing-at-point' and it returns the | 1307 | A symbol 'uuid' can be passed to 'thing-at-point' and it returns the |
| 1259 | UUID at point. | 1308 | UUID at point. |
| 1260 | 1309 | ||
| 1310 | --- | ||
| 1311 | *** 'word-at-point' and 'sentence-at-point' accept NO-PROPERTIES. | ||
| 1312 | Just like 'thing-at-point' itself. | ||
| 1313 | |||
| 1261 | ** Interactive automatic highlighting | 1314 | ** Interactive automatic highlighting |
| 1262 | 1315 | ||
| 1263 | +++ | 1316 | +++ |
| @@ -1280,6 +1333,12 @@ when given in a string. Previously, '(any "\x80-\xff")' would match | |||
| 1280 | characters U+0080...U+00FF. Now the expression matches raw bytes in | 1333 | characters U+0080...U+00FF. Now the expression matches raw bytes in |
| 1281 | the 128...255 range, as expected. | 1334 | the 128...255 range, as expected. |
| 1282 | 1335 | ||
| 1336 | *** The rx 'or' and 'seq' forms no longer require any arguments. | ||
| 1337 | (or) produces a regexp that never matches anything, while (seq) | ||
| 1338 | matches the empty string, each being an identity for the operation. | ||
| 1339 | This also works for their aliases: '|' for 'or'; ':', 'and' and | ||
| 1340 | 'sequence' for 'seq'. | ||
| 1341 | |||
| 1283 | ** Frames | 1342 | ** Frames |
| 1284 | 1343 | ||
| 1285 | +++ | 1344 | +++ |
| @@ -1294,7 +1353,7 @@ frame when making a frame. | |||
| 1294 | *** New predicates 'display-blink-cursor-p' and 'display-symbol-keys-p'. | 1353 | *** New predicates 'display-blink-cursor-p' and 'display-symbol-keys-p'. |
| 1295 | These predicates are to be preferred over 'display-graphic-p' when | 1354 | These predicates are to be preferred over 'display-graphic-p' when |
| 1296 | testing for blinking cursor capability and the capability to have | 1355 | testing for blinking cursor capability and the capability to have |
| 1297 | symbols (e.g., [return], [tab], [backspace]) as keys respectively. | 1356 | symbols (e.g., '[return]', '[tab]', '[backspace]') as keys respectively. |
| 1298 | 1357 | ||
| 1299 | ** Tabulated List mode | 1358 | ** Tabulated List mode |
| 1300 | 1359 | ||
| @@ -1315,8 +1374,8 @@ near the current column in Tabulated Lists (see variables | |||
| 1315 | ** CUA mode | 1374 | ** CUA mode |
| 1316 | 1375 | ||
| 1317 | --- | 1376 | --- |
| 1318 | *** New defcustom 'cua-rectangle-terminal-modifier-key'. | 1377 | *** New user option 'cua-rectangle-terminal-modifier-key'. |
| 1319 | This defcustom allows for the customization of the modifier key used | 1378 | This user option allows for the customization of the modifier key used |
| 1320 | in a terminal frame. | 1379 | in a terminal frame. |
| 1321 | 1380 | ||
| 1322 | ** JS mode | 1381 | ** JS mode |
| @@ -1329,11 +1388,11 @@ will be supported in 'js-mode' and derivative modes. ('js-jsx-mode' | |||
| 1329 | no longer needs to be enabled.) | 1388 | no longer needs to be enabled.) |
| 1330 | 1389 | ||
| 1331 | --- | 1390 | --- |
| 1332 | *** New defcustom 'js-jsx-detect-syntax' disables automatic detection. | 1391 | *** New user option 'js-jsx-detect-syntax' disables automatic detection. |
| 1333 | This is turned on by default. | 1392 | This is turned on by default. |
| 1334 | 1393 | ||
| 1335 | --- | 1394 | --- |
| 1336 | *** New defcustom 'js-jsx-syntax' enables JSX syntax unconditionally. | 1395 | *** New user option 'js-jsx-syntax' enables JSX syntax unconditionally. |
| 1337 | This is off by default. | 1396 | This is off by default. |
| 1338 | 1397 | ||
| 1339 | --- | 1398 | --- |
| @@ -1353,7 +1412,7 @@ of the React developer community (see 'js-jsx-align->-with-<'), | |||
| 1353 | otherwise still adhering to SGML conventions. | 1412 | otherwise still adhering to SGML conventions. |
| 1354 | 1413 | ||
| 1355 | --- | 1414 | --- |
| 1356 | *** New defcustom 'js-jsx-align->-with-<' controls '>' indents. | 1415 | *** New user option 'js-jsx-align->-with-<' controls '>' indents. |
| 1357 | Commonly in JSX code, a '>' on its own line is indented at the same | 1416 | Commonly in JSX code, a '>' on its own line is indented at the same |
| 1358 | level as its opening '<'. This is the new default for JSX. This | 1417 | level as its opening '<'. This is the new default for JSX. This |
| 1359 | behavior is slightly different than that used by SGML in Emacs, where | 1418 | behavior is slightly different than that used by SGML in Emacs, where |
| @@ -1376,12 +1435,12 @@ The old behavior can be emulated by controlling JSX indentation | |||
| 1376 | independently of JS, by setting 'js-jsx-indent-level'. | 1435 | independently of JS, by setting 'js-jsx-indent-level'. |
| 1377 | 1436 | ||
| 1378 | --- | 1437 | --- |
| 1379 | *** New defcustom 'js-jsx-indent-level' for different JSX indentation. | 1438 | *** New user option 'js-jsx-indent-level' for different JSX indentation. |
| 1380 | If you wish to indent JSX by a different number of spaces than JS, set | 1439 | If you wish to indent JSX by a different number of spaces than JS, set |
| 1381 | this variable to the desired number. | 1440 | this user option to the desired number. |
| 1382 | 1441 | ||
| 1383 | --- | 1442 | --- |
| 1384 | *** New defcustom 'js-jsx-attribute-offset' for JSX attribute indents. | 1443 | *** New user option 'js-jsx-attribute-offset' for JSX attribute indents. |
| 1385 | 1444 | ||
| 1386 | --- | 1445 | --- |
| 1387 | *** New variable 'js-syntactic-mode-name' controls mode name display. | 1446 | *** New variable 'js-syntactic-mode-name' controls mode name display. |
| @@ -1395,6 +1454,22 @@ Packages deriving from 'js-mode' with 'define-derived-mode' should | |||
| 1395 | call this function to add enabled syntax extensions to their mode | 1454 | call this function to add enabled syntax extensions to their mode |
| 1396 | name, too. | 1455 | name, too. |
| 1397 | 1456 | ||
| 1457 | ** Autorevert | ||
| 1458 | |||
| 1459 | *** New variable 'auto-revert-avoid-polling' for saving power. | ||
| 1460 | When set to a non-nil value, buffers in Auto Revert mode are no longer | ||
| 1461 | polled for changes periodically. This reduces the power consumption | ||
| 1462 | of an idle Emacs, but may fail on some network file systems; set | ||
| 1463 | 'auto-revert-notify-exclude-dir-regexp' to match files where | ||
| 1464 | notification is not supported. The default value is nil. | ||
| 1465 | |||
| 1466 | *** New variable 'buffer-auto-revert-by-notification' | ||
| 1467 | A major mode can declare that notification on the buffer's default | ||
| 1468 | directory is sufficient to know when updates are required, by setting | ||
| 1469 | the new variable 'buffer-auto-revert-by-notification' to a non-nil | ||
| 1470 | value. Auto Revert mode can use this information to avoid polling the | ||
| 1471 | buffer periodically when 'auto-revert-avoid-polling' is non-nil. | ||
| 1472 | |||
| 1398 | 1473 | ||
| 1399 | * New Modes and Packages in Emacs 27.1 | 1474 | * New Modes and Packages in Emacs 27.1 |
| 1400 | 1475 | ||
| @@ -1425,8 +1500,8 @@ documentation of the new mode and its commands. | |||
| 1425 | 1500 | ||
| 1426 | * Incompatible Lisp Changes in Emacs 27.1 | 1501 | * Incompatible Lisp Changes in Emacs 27.1 |
| 1427 | 1502 | ||
| 1428 | ** In compilation-error-regexp-alist the old undocumented feature where 'line' | 1503 | ** In 'compilation-error-regexp-alist' the old undocumented feature |
| 1429 | could be a function of 2 arguments has been dropped. | 1504 | where 'line' could be a function of 2 arguments has been dropped. |
| 1430 | 1505 | ||
| 1431 | ** 'define-fringe-bitmap' is always defined, even when Emacs is built | 1506 | ** 'define-fringe-bitmap' is always defined, even when Emacs is built |
| 1432 | without any GUI support. | 1507 | without any GUI support. |
| @@ -1449,11 +1524,11 @@ its default value changed in Emacs 27.1. | |||
| 1449 | 1524 | ||
| 1450 | ** The REPETITIONS argument of 'benchmark-run' can now also be a variable. | 1525 | ** The REPETITIONS argument of 'benchmark-run' can now also be a variable. |
| 1451 | 1526 | ||
| 1452 | ** Interpretation of relative HOME directory has changed. | 1527 | ** Interpretation of relative 'HOME' directory has changed. |
| 1453 | If $HOME is set to a relative file name, 'expand-file-name' now | 1528 | If "$HOME" is set to a relative file name, 'expand-file-name' now |
| 1454 | interprets it relative to the directory where Emacs was started, not | 1529 | interprets it relative to the directory where Emacs was started, not |
| 1455 | relative to the 'default-directory' of the current buffer. We recommend | 1530 | relative to the 'default-directory' of the current buffer. We recommend |
| 1456 | always setting $HOME to an absolute file name, so that its meaning is | 1531 | always setting "$HOME" to an absolute file name, so that its meaning is |
| 1457 | independent of where Emacs was started. | 1532 | independent of where Emacs was started. |
| 1458 | 1533 | ||
| 1459 | ** The FILENAME argument to 'file-name-base' is now mandatory and no | 1534 | ** The FILENAME argument to 'file-name-base' is now mandatory and no |
| @@ -1479,7 +1554,7 @@ old-style backquotes as new-style, bind the new variable | |||
| 1479 | integer, Emacs now signals an error if the number is too large for the | 1554 | integer, Emacs now signals an error if the number is too large for the |
| 1480 | implementation to format. | 1555 | implementation to format. |
| 1481 | 1556 | ||
| 1482 | ** logb now returns infinity when given an infinite or zero argument, | 1557 | ** 'logb' now returns infinity when given an infinite or zero argument, |
| 1483 | and returns a NaN when given a NaN. Formerly, it returned an extreme | 1558 | and returns a NaN when given a NaN. Formerly, it returned an extreme |
| 1484 | fixnum for such arguments. | 1559 | fixnum for such arguments. |
| 1485 | 1560 | ||
| @@ -1530,11 +1605,11 @@ they are now allocated like any other pseudovector. As a result, the | |||
| 1530 | removed. | 1605 | removed. |
| 1531 | 1606 | ||
| 1532 | +++ | 1607 | +++ |
| 1533 | ** Reversed character ranges are no longer permitted in rx. | 1608 | ** Reversed character ranges are no longer permitted in 'rx'. |
| 1534 | Previously, ranges where the starting character is greater than the | 1609 | Previously, ranges where the starting character is greater than the |
| 1535 | ending character were silently omitted. | 1610 | ending character were silently omitted. |
| 1536 | For example, '(rx (any "@z-a" (?9 . ?0)))' would match '@' only. | 1611 | For example, '(rx (any "@z-a" (?9 . ?0)))' would match '@' only. |
| 1537 | Now, such rx expressions generate an error. | 1612 | Now, such 'rx' expressions generate an error. |
| 1538 | 1613 | ||
| 1539 | +++ | 1614 | +++ |
| 1540 | ** 'text-mode' no longer sets the value of 'indent-line-function'. | 1615 | ** 'text-mode' no longer sets the value of 'indent-line-function'. |
| @@ -1543,16 +1618,21 @@ The global value of 'indent-line-function', which defaults to | |||
| 1543 | 'text-mode'. | 1618 | 'text-mode'. |
| 1544 | 1619 | ||
| 1545 | To get back the old behavior, add a function to 'text-mode-hook' which | 1620 | To get back the old behavior, add a function to 'text-mode-hook' which |
| 1546 | performs (setq-local indent-line-function #'indent-relative). | 1621 | performs '(setq-local indent-line-function #'indent-relative)'. |
| 1547 | 1622 | ||
| 1548 | ** 'make-process' no longer accepts a non-nil ':stop' key. This has | 1623 | ** 'make-process' no longer accepts a non-nil ':stop' key. This has |
| 1549 | never worked reliably, and now causes an error. | 1624 | never worked reliably, and now causes an error. |
| 1550 | 1625 | ||
| 1626 | +++ | ||
| 1627 | ** 'eventp' no longer returns non-nil for lists whose car is nil. | ||
| 1628 | This is consistent with the fact that nil, though a symbol, is not a | ||
| 1629 | valid event type. | ||
| 1630 | |||
| 1551 | 1631 | ||
| 1552 | * Lisp Changes in Emacs 27.1 | 1632 | * Lisp Changes in Emacs 27.1 |
| 1553 | 1633 | ||
| 1554 | ** New 'help-fns-describe-variable-functions' hook. | 1634 | ** New 'help-fns-describe-variable-functions' hook. |
| 1555 | Makes it possible to add metadata information to describe-variable. | 1635 | Makes it possible to add metadata information to 'describe-variable'. |
| 1556 | 1636 | ||
| 1557 | ** i18n (internationalization) | 1637 | ** i18n (internationalization) |
| 1558 | 1638 | ||
| @@ -1560,7 +1640,7 @@ Makes it possible to add metadata information to describe-variable. | |||
| 1560 | according to the given numeric value. | 1640 | according to the given numeric value. |
| 1561 | 1641 | ||
| 1562 | +++ | 1642 | +++ |
| 1563 | ** inhibit-null-byte-detection is renamed to inhibit-nul-byte-detection | 1643 | ** 'inhibit-null-byte-detection' is renamed to 'inhibit-nul-byte-detection'. |
| 1564 | 1644 | ||
| 1565 | +++ | 1645 | +++ |
| 1566 | ** 'self-insert-command' takes the char to insert as (optional) argument. | 1646 | ** 'self-insert-command' takes the char to insert as (optional) argument. |
| @@ -1604,8 +1684,10 @@ like 'file-attributes' that compute file sizes and other attributes, | |||
| 1604 | functions like 'process-id' that compute process IDs, and functions like | 1684 | functions like 'process-id' that compute process IDs, and functions like |
| 1605 | 'user-uid' and 'group-gid' that compute user and group IDs. | 1685 | 'user-uid' and 'group-gid' that compute user and group IDs. |
| 1606 | 1686 | ||
| 1687 | ** Time values | ||
| 1688 | |||
| 1607 | +++ | 1689 | +++ |
| 1608 | ** Although the default timestamp format is still (HI LO US PS), | 1690 | *** Although the default timestamp format is still '(HI LO US PS)', |
| 1609 | it is planned to change in a future Emacs version, to exploit bignums. | 1691 | it is planned to change in a future Emacs version, to exploit bignums. |
| 1610 | The documentation has been updated to mention that the timestamp | 1692 | The documentation has been updated to mention that the timestamp |
| 1611 | format may change and that programs should use functions like | 1693 | format may change and that programs should use functions like |
| @@ -1614,22 +1696,22 @@ probing the innards of a timestamp directly, or creating a timestamp | |||
| 1614 | by hand. | 1696 | by hand. |
| 1615 | 1697 | ||
| 1616 | +++ | 1698 | +++ |
| 1617 | ** 'encode-time' supports a new API '(encode-time TIME &optional FORM)'. | 1699 | *** 'encode-time' supports a new API '(encode-time TIME &optional FORM)'. |
| 1618 | This can convert decoded times and Lisp time values to Lisp timestamps | 1700 | This can convert decoded times and Lisp time values to Lisp timestamps |
| 1619 | of various forms, including a new timestamp form '(TICKS . HZ)', where | 1701 | of various forms, including a new timestamp form '(TICKS . HZ)', where |
| 1620 | TICKS is an integer and HZ is a positive integer denoting a clock | 1702 | TICKS is an integer and HZ is a positive integer denoting a clock |
| 1621 | frequency. The old 'encode-time' API is still supported. | 1703 | frequency. The old 'encode-time' API is still supported. |
| 1622 | 1704 | ||
| 1623 | +++ | 1705 | +++ |
| 1624 | ** 'time-add', 'time-subtract', and 'time-less-p' now accept | 1706 | *** 'time-add', 'time-subtract', and 'time-less-p' now accept |
| 1625 | infinities and NaNs too, and propagate them or return nil like | 1707 | infinities and NaNs too, and propagate them or return nil like |
| 1626 | floating-point operators do. | 1708 | floating-point operators do. |
| 1627 | 1709 | ||
| 1628 | +++ | 1710 | +++ |
| 1629 | ** New function 'time-equal-p' compares time values for equality. | 1711 | *** New function 'time-equal-p' compares time values for equality. |
| 1630 | 1712 | ||
| 1631 | +++ | 1713 | +++ |
| 1632 | ** 'format-time-string' supports a new conversion specifier flag '+' | 1714 | *** 'format-time-string' supports a new conversion specifier flag '+' |
| 1633 | that acts like the '0' flag but also puts a '+' before nonnegative | 1715 | that acts like the '0' flag but also puts a '+' before nonnegative |
| 1634 | years containing more than four digits. This is for compatibility | 1716 | years containing more than four digits. This is for compatibility |
| 1635 | with POSIX.1-2017. | 1717 | with POSIX.1-2017. |
| @@ -1682,7 +1764,6 @@ of the Emacs Lisp Reference manual for more detail. | |||
| 1682 | 1764 | ||
| 1683 | +++ | 1765 | +++ |
| 1684 | ** Window change functions have been redesigned. | 1766 | ** Window change functions have been redesigned. |
| 1685 | |||
| 1686 | Hooks reacting to window changes run now only when redisplay detects | 1767 | Hooks reacting to window changes run now only when redisplay detects |
| 1687 | that a change has actually occurred. Six hooks are now provided: | 1768 | that a change has actually occurred. Six hooks are now provided: |
| 1688 | 'window-buffer-change-functions' (run after window buffers have | 1769 | 'window-buffer-change-functions' (run after window buffers have |
| @@ -1710,11 +1791,16 @@ See the section "(elisp) Window Hooks" in the Elisp manual for a | |||
| 1710 | detailed explanation of the new behavior. | 1791 | detailed explanation of the new behavior. |
| 1711 | 1792 | ||
| 1712 | +++ | 1793 | +++ |
| 1713 | *** New option 'resize-mini-frames'. | 1794 | ** New option 'resize-mini-frames'. |
| 1714 | This option allows to automatically resize minibuffer-only frames | 1795 | This option allows to automatically resize minibuffer-only frames |
| 1715 | similarly to how minibuffer windows are resized on "normal" frames. | 1796 | similarly to how minibuffer windows are resized on "normal" frames. |
| 1716 | 1797 | ||
| 1717 | +++ | 1798 | +++ |
| 1799 | ** New buffer display action function 'display-buffer-in-direction'. | ||
| 1800 | This function allows to specify the location of the window chosen by | ||
| 1801 | 'display-buffer' in various ways. | ||
| 1802 | |||
| 1803 | +++ | ||
| 1718 | ** New buffer display action alist entry 'dedicated'. | 1804 | ** New buffer display action alist entry 'dedicated'. |
| 1719 | Such an entry allows to specify the dedicated status of a window | 1805 | Such an entry allows to specify the dedicated status of a window |
| 1720 | created by 'display-buffer'. | 1806 | created by 'display-buffer'. |
| @@ -1726,6 +1812,16 @@ for displaying a buffer. 'display-buffer-below-selected' is the only | |||
| 1726 | action function to respect it at the moment. | 1812 | action function to respect it at the moment. |
| 1727 | 1813 | ||
| 1728 | +++ | 1814 | +++ |
| 1815 | ** New buffer display action alist entry 'direction'. | ||
| 1816 | This entry is used to specify the location of the window chosen by | ||
| 1817 | 'display-buffer-in-direction'. | ||
| 1818 | |||
| 1819 | +++ | ||
| 1820 | ** Additional meaning of display action alist entry 'window'. | ||
| 1821 | A 'window' entry can now also specify a reference window for | ||
| 1822 | 'display-buffer-in-direction'. | ||
| 1823 | |||
| 1824 | +++ | ||
| 1729 | ** The function 'assoc-delete-all' now takes an optional predicate argument. | 1825 | ** The function 'assoc-delete-all' now takes an optional predicate argument. |
| 1730 | 1826 | ||
| 1731 | +++ | 1827 | +++ |
| @@ -1741,7 +1837,7 @@ This avoids problems in calls like '(read (format "#x%x" -1))', and is | |||
| 1741 | more compatible with bignums. To get the traditional machine-dependent | 1837 | more compatible with bignums. To get the traditional machine-dependent |
| 1742 | behavior, set the experimental variable 'binary-as-unsigned' to t, | 1838 | behavior, set the experimental variable 'binary-as-unsigned' to t, |
| 1743 | and if the new behavior breaks your code please email | 1839 | and if the new behavior breaks your code please email |
| 1744 | 32252@debbugs.gnu.org. Because '%o' and '%x' can now format signed | 1840 | <32252@debbugs.gnu.org>. Because '%o' and '%x' can now format signed |
| 1745 | integers, they now support the '+' and space flags. | 1841 | integers, they now support the '+' and space flags. |
| 1746 | 1842 | ||
| 1747 | ** To avoid confusion caused by "smart quotes", the reader signals an | 1843 | ** To avoid confusion caused by "smart quotes", the reader signals an |
| @@ -1870,16 +1966,31 @@ some years back. It now respects 'imagemagick-types-inhibit' as a way | |||
| 1870 | to disable that. | 1966 | to disable that. |
| 1871 | 1967 | ||
| 1872 | --- | 1968 | --- |
| 1873 | *** Some image-mode variables are now buffer-local. | 1969 | *** Some 'image-mode' variables are now buffer-local. |
| 1874 | The image parameters 'image-transform-rotation', | 1970 | The image parameters 'image-transform-rotation', |
| 1875 | 'image-transform-scale' and 'image-transform-resize' are now declared | 1971 | 'image-transform-scale' and 'image-transform-resize' are now declared |
| 1876 | buffer-local, so each buffer could have its own values for these | 1972 | buffer-local, so each buffer could have its own values for these |
| 1877 | parameters. | 1973 | parameters. |
| 1878 | 1974 | ||
| 1879 | ** The function 'load' now behaves correctly when loading modules. | 1975 | ** Modules |
| 1976 | |||
| 1977 | *** The function 'load' now behaves correctly when loading modules. | ||
| 1880 | Specifically, it puts the module name into 'load-history', prints | 1978 | Specifically, it puts the module name into 'load-history', prints |
| 1881 | loading messages if requested, and protects against recursive loads. | 1979 | loading messages if requested, and protects against recursive loads. |
| 1882 | 1980 | ||
| 1981 | *** New module environment function 'process_input' to process user | ||
| 1982 | input while module code is running. | ||
| 1983 | |||
| 1984 | *** New module environment functions 'make_time' and 'extract_time' to | ||
| 1985 | convert between timespec structures and Emacs Lisp time values. | ||
| 1986 | |||
| 1987 | *** New module environment functions 'make_big_integer' and | ||
| 1988 | 'extract_big_integer' to create and extract arbitrary-size integer | ||
| 1989 | values. | ||
| 1990 | |||
| 1991 | *** emacs-module.h now defines a macro 'EMACS_MAJOR_VERSION' that expands | ||
| 1992 | to the major version of the latest Emacs supported by the header. | ||
| 1993 | |||
| 1883 | +++ | 1994 | +++ |
| 1884 | ** The function 'read-variable' now uses its own history list. | 1995 | ** The function 'read-variable' now uses its own history list. |
| 1885 | The history of variable names read by 'read-variable' is recorded in | 1996 | The history of variable names read by 'read-variable' is recorded in |
| @@ -1912,13 +2023,10 @@ The new function 'image-scaling-p' can be used to test whether any | |||
| 1912 | given frame supports resizing. | 2023 | given frame supports resizing. |
| 1913 | 2024 | ||
| 1914 | +++ | 2025 | +++ |
| 1915 | ** (locale-info 'paper) now returns the paper size on systems that support it. | 2026 | ** '(locale-info 'paper)' now returns the paper size on systems that support it. |
| 1916 | This is currently supported on GNUish hosts and on modern versions of | 2027 | This is currently supported on GNUish hosts and on modern versions of |
| 1917 | MS-Windows. | 2028 | MS-Windows. |
| 1918 | 2029 | ||
| 1919 | ** New module environment function 'process_input' to process user | ||
| 1920 | input while module code is running. | ||
| 1921 | |||
| 1922 | +++ | 2030 | +++ |
| 1923 | ** The function 'regexp-opt' accepts an additional optional argument. | 2031 | ** The function 'regexp-opt' accepts an additional optional argument. |
| 1924 | By default, the regexp returned by 'regexp-opt' may match the strings | 2032 | By default, the regexp returned by 'regexp-opt' may match the strings |
| @@ -1932,12 +2040,9 @@ returns a regexp that never matches anything, which is an identity for | |||
| 1932 | this operation. Previously, the empty string was returned in this | 2040 | this operation. Previously, the empty string was returned in this |
| 1933 | case. | 2041 | case. |
| 1934 | 2042 | ||
| 1935 | ** New module environment functions 'make_time' and 'extract_time' to | 2043 | ** New constant 'regexp-unmatchable' contains a never-matching regexp. |
| 1936 | convert between timespec structures and Emacs Lisp time values. | 2044 | It is a convenient and readable way to specify a regexp that should |
| 1937 | 2045 | not match anything, and is as fast as any such regexp can be. | |
| 1938 | ** New module environment functions 'make_big_integer' and | ||
| 1939 | 'extract_big_integer' to create and extract arbitrary-size integer | ||
| 1940 | values. | ||
| 1941 | 2046 | ||
| 1942 | 2047 | ||
| 1943 | * Changes in Emacs 27.1 on Non-Free Operating Systems | 2048 | * Changes in Emacs 27.1 on Non-Free Operating Systems |
diff --git a/etc/NEWS.24 b/etc/NEWS.24 index 9150e49fd92..049005306fd 100644 --- a/etc/NEWS.24 +++ b/etc/NEWS.24 | |||
| @@ -1117,6 +1117,8 @@ a non-nil `interactive-only' property. | |||
| 1117 | The value, if non-nil, is a regexp that specifies what to trim from | 1117 | The value, if non-nil, is a regexp that specifies what to trim from |
| 1118 | the start and end of each substring. | 1118 | the start and end of each substring. |
| 1119 | 1119 | ||
| 1120 | ** New function `delete-consecutive-dups'. | ||
| 1121 | |||
| 1120 | ** Completion | 1122 | ** Completion |
| 1121 | 1123 | ||
| 1122 | *** The separator used by `completing-read-multiple' is now a regexp. | 1124 | *** The separator used by `completing-read-multiple' is now a regexp. |
| @@ -143,15 +143,6 @@ See the 'test' directory for examples. | |||
| 143 | 143 | ||
| 144 | * Small but important fixes needed in existing features: | 144 | * Small but important fixes needed in existing features: |
| 145 | 145 | ||
| 146 | ** Flymake's customization mechanism needs to be both simpler (fewer | ||
| 147 | levels of indirection) and better documented, so it is easier to | ||
| 148 | understand. I find it quite hard to figure out what compilation | ||
| 149 | command it will use. | ||
| 150 | |||
| 151 | I suggest totally rewriting that part of Flymake, using the simplest | ||
| 152 | mechanism that suffices for the specific needs. That will be easy | ||
| 153 | for users to customize. | ||
| 154 | |||
| 155 | ** Distribute a bar cursor of width > 1 evenly between the two glyphs | 146 | ** Distribute a bar cursor of width > 1 evenly between the two glyphs |
| 156 | on each side of the bar (what to do at the edges?). | 147 | on each side of the bar (what to do at the edges?). |
| 157 | 148 | ||
diff --git a/etc/tutorials/TUTORIAL.translators b/etc/tutorials/TUTORIAL.translators index 2747d39d355..b6b95787068 100644 --- a/etc/tutorials/TUTORIAL.translators +++ b/etc/tutorials/TUTORIAL.translators | |||
| @@ -41,8 +41,8 @@ Maintainer: Alfredo Finelli <alfredofnl@tiscali.it> | |||
| 41 | Italian GNU Translation Group <tp@lists.linux.it> | 41 | Italian GNU Translation Group <tp@lists.linux.it> |
| 42 | 42 | ||
| 43 | * TUTORIAL.ja: | 43 | * TUTORIAL.ja: |
| 44 | Author: Kenichi Handa <handa@m17n.org> | 44 | Author: Kenichi Handa <handa@gnu.org> |
| 45 | Maintainer: Kenichi Handa <handa@m17n.org> | 45 | Maintainer: Kenichi Handa <handa@gnu.org> |
| 46 | 46 | ||
| 47 | * TUTORIAL.ko: | 47 | * TUTORIAL.ko: |
| 48 | Author: Koaunghi Un <koaunghi@ling.cnu.ac.kr> | 48 | Author: Koaunghi Un <koaunghi@ling.cnu.ac.kr> |
| @@ -94,4 +94,3 @@ Maintainer: Chao-Hong Liu <chliu@gnu.org> | |||
| 94 | ;;; Local Variables: | 94 | ;;; Local Variables: |
| 95 | ;;; coding: utf-8 | 95 | ;;; coding: utf-8 |
| 96 | ;;; End: | 96 | ;;; End: |
| 97 | |||