+++
** Emacs now uses the XDG convention for init files.
-For example, it looks for init.el in ~/.config/emacs/init.el, and
+For example, it looks for init.el in "~/.config/emacs/init.el", and
similarly for other init files.
-The XDG_CONFIG_HOME environment variable (which defaults to ~/.config)
+The XDG_CONFIG_HOME environment variable (which defaults to "~/.config")
specifies the parent directory of these and other configuration files,
and will override their traditional locations (the home directory,
-~/.emacs.d, etc.).
+"~/.emacs.d", etc.).
Emacs will still look for init files in their traditional locations if
XDG_CONFIG_HOME does not exist, so invoking Emacs with
well as in the "*scratch*" and "*ielm*" buffers.
---
-** The new option 'tooltip-resize-echo-area' avoids truncating tooltip text
-on GUI frames when tooltips are displayed in the echo area. Instead,
-it resizes the echo area as needed to accommodate the full tool-tip
-text.
+** The new user option 'tooltip-resize-echo-area' avoids truncating
+tooltip text on GUI frames when tooltips are displayed in the echo
+area. Instead, it resizes the echo area as needed to accommodate the
+full tool-tip text.
---
** Show mode line tooltips only if the corresponding action applies.
-Customize the option 'mode-line-default-help-echo' to restore the old
-behavior where the tooltip text is also shown when the corresponding
-action does not apply.
+Customize the user option 'mode-line-default-help-echo' to restore the
+old behavior where the tooltip text is also shown when the
+corresponding action does not apply.
+++
** New hook 'server-after-make-frame-hook'.
+++
** The Network Security Manager now allows more fine-grained control
of what checks to run via the 'network-security-protocol-checks'
-variable.
+user option.
+++
** TLS connections have their security tightened by default.
allow them. To get the old behavior back (where certificates are
checked for validity, but no warnings about weak cryptography are
issued), you can either set 'network-security-protocol-checks' to nil,
-or adjust the elements in that variable to only happen on the 'high'
+or adjust the elements in that user option to only happen on the 'high'
security level (assuming you use the 'medium' level).
---
+++
** New function 'exec-path'.
This function by default returns the value of the corresponding
-variable, but can optionally return the equivalent of 'exec-path'
+user option, but can optionally return the equivalent of 'exec-path'
from a remote host.
+++
'default-directory'.
+++
-** New variable 'auto-save-no-message'.
+** New user option 'auto-save-no-message'.
When set to t, no message will be shown when auto-saving (default
value: nil).
'with-connection-local-profiles'. No argument PROFILES needed any longer.
---
-** New variable 'next-error-verbose' controls when 'next-error' outputs
-a message about the error locus.
+** New user option 'next-error-verbose' controls when 'next-error'
+outputs a message about the error locus.
---
-** New variable 'grep-search-path' defines the directories searched for
+** New user option 'grep-search-path' defines the directories searched for
grep hits (this used to be controlled by 'compilation-search-path').
---
-** New variable 'emacs-lisp-compilation-search-path' defines the
+** New user option 'emacs-lisp-compilation-search-path' defines the
directories searched for byte-compiler error messages (this used to
be controlled by 'compilation-search-path').
This is similar to what 'fill-column-indicator' package provides, but
much faster and compatible with 'show-trailing-whitespace'.
-Customize the buffer-local variables 'display-fill-column-indicator'
+Customize the buffer-local user options 'display-fill-column-indicator'
and 'display-fill-column-indicator-character' to activate the
indicator.
** 'progress-reporter-update' accepts a suffix string to display.
---
-** New variable 'xref-file-name-display' controls the display of file
-names in xref buffers.
+** New user option 'xref-file-name-display' controls the display of
+file names in xref buffers.
-** New customizable variable 'byte-count-to-string-function'.
+** New user option 'byte-count-to-string-function'.
It is used for displaying file sizes and disk space in some cases.
+++
---
** The 'C' command in 'tar-mode' will now preserve the timestamp of
-the extracted file if the new variable 'tar-copy-preserve-time' is
+the extracted file if the new user option 'tar-copy-preserve-time' is
non-nil.
---
** display-line-numbers-mode
*** New faces 'line-number-major-tick' and 'line-number-minor-tick',
-and customizable variables 'display-line-numbers-major-tick' and
+and user options 'display-line-numbers-major-tick' and
'display-line-numbers-minor-tick' can be used to highlight the line
numbers of lines multiple of certain numbers.
-*** New variable `display-line-numbers-offset', when non-zero, adds
+*** New variable 'display-line-numbers-offset', when non-zero, adds
an offset to absolute line numbers.
+++
** winner
-*** A new variable, 'winner-boring-buffers-regexp', has been added.
+*** A new user option, 'winner-boring-buffers-regexp', has been added.
** table
** 'table-generate-source' and friends now support outputting wiki and
+++
** tex-mode
*** 'latex-noindent-commands' controls indentation of certain commands.
-You can use this new variable to control indentation of arguments of
+You can use this new user option to control indentation of arguments of
\emph, \footnote, and similar commands.
** byte compiler
screen when there is no left fringe, it inserts a visible arrow before
column zero.
---
-*** The new 'compilation-transform-file-match-alist' variable can be used
-to transform file name matches compilation output, and remove known
-false positives being recognised as warnings/errors.
+*** The new 'compilation-transform-file-match-alist' user option can
+be used to transform file name matches compilation output, and remove
+known false positives being recognised as warnings/errors.
** cl-lib.el
+++
its functions.
+++
-*** 'cl-defstruct' slots accept a ':documentation' property
+*** 'cl-defstruct' slots accept a ':documentation' property.
---
*** 'cl-values-list' will now signal an error if its argument isn't a list.
*** New commands 'doc-view-presentation' and 'doc-view-fit-window-to-page'.
*** Added support for password-protected PDF files
-*** A new variable 'doc-view-pdftotext-program-args' has been added to
-allow controlling how the conversion to text is done.
+*** A new user option 'doc-view-pdftotext-program-args' has been added
+to allow controlling how the conversion to text is done.
** Ido
*** New user option 'ido-big-directories' to mark directories whose
** Minibuffer
+++
-*** A new variable, 'minibuffer-beginning-of-buffer-movement', has
+*** A new user option, 'minibuffer-beginning-of-buffer-movement', has
been introduced to allow controlling how the 'M-<' command works in
the minibuffer. If non-nil, point will move to the end of the prompt
(if point is after the end of the prompt).
*** New commands 'project-search' and 'project-query-replace-regexp'.
-*** New customizable variable 'project-read-file-name-function'.
+*** New user option 'project-read-file-name-function'.
** Etags
** Find-Dired
-*** New customizable variable 'find-dired-refine-function'.
+*** New user option 'find-dired-refine-function'.
The default value is 'find-dired-sort-by-filename'.
-*** New sorting options for the variable 'find-ls-option'.
+*** New sorting options for the user option 'find-ls-option'.
---
*** Zstandard compression is now supported for 'dired-do-compress' and
** Change Logs and VC
+++
-*** New command 'log-edit-generate-changelog-from-diff', bound to C-c C-w.
+*** New command 'log-edit-generate-changelog-from-diff', bound to 'C-c C-w'.
This generates ChangeLog entries from the VC fileset diff.
*** Recording ChangeLog entries doesn't require an actual file.
-If a ChangeLog file doesn't exist, and if the new variable
+If a ChangeLog file doesn't exist, and if the new user option
'add-log-dont-create-changelog-file' is non-nil (which is the
default), commands such as 'C-x 4 a' will add log entries to a
suitable named temporary buffer. (An existing ChangeLog file will
-still be used if it exists.) Set the variable to nil to get the
+still be used if it exists.) Set the user option to nil to get the
previous behavior of always creating a buffer that visits a ChangeLog
file.
-*** New customizable variable 'vc-find-revision-no-save'.
+*** New user option 'vc-find-revision-no-save'.
With non-nil, 'vc-find-revision' doesn't write the created buffer to file.
---
-*** 'vc-dir-ignore' now takes a prefix argument to ignore all marked
-files.
+*** 'vc-dir-ignore' now takes a prefix argument to ignore all marked files.
-*** New customizable variable 'vc-git-grep-template'.
-This new variable allows customizing the default arguments passed to
+*** New user option 'vc-git-grep-template'.
+This new user option allows customizing the default arguments passed to
'git-grep' when 'vc-git-grep' is used.
*** Command 'vc-git-stash' now respects marks in the "*vc-dir*" buffer.
+++
*** Better syntax highlighting of Diff hunks.
Fragments of source in Diff hunks are now by default highlighted
-according to the appropriate major mode. Customize the new option
-'diff-font-lock-syntax' to nil to disable this.
+according to the appropriate major mode. Customize the new user
+option 'diff-font-lock-syntax' to nil to disable this.
*** File headers can be shortened, mimicking Magit's diff format.
To enable it, set the new user option 'diff-font-lock-prettify' to t.
have URLs embedded. 'browse-url-button-regexp' controls what's
considered a button.
-*** A new variable, 'browse-url-secondary-browser-function', has been added.
+*** A new user option, 'browse-url-secondary-browser-function', has been added.
+
** Comint
+++
+++
*** 'comint-insert-previous-argument' can now count arguments from the end.
By default, invoking 'C-c .' with a numeric argument N would copy the
-Nth argument, counting from the first one. But if the new option
+Nth argument, counting from the first one. But if the new user option
'comint-insert-previous-argument-from-end' is non-nil, it will copy
the Nth argument counting from the last one. Thus 'C-c .' can now
better emulate 'M-.' in both Bash and zsh, since the former counts
You should instead set properties on known diagnostic symbols, like
':error' and ':warning', as demonstrated in the Flymake manual.
-*** New customizable variable 'flymake-start-on-save-buffer'.
+*** New user option 'flymake-start-on-save-buffer'.
Control whether Flymake starts checking the buffer on save.
*** Flymake and backend functions may exchange hints about buffer changes.
---
*** Info can now follow 'file://' protocol URLs.
The 'file://' URLs in Info documents can now be followed by passing
-them to the 'browse-url' function, like the other protocols: ftp,
-http, and https. This allows to have references to local HTML files,
-for example.
+them to the 'browse-url' function, like the other protocols: 'ftp',
+'http', and 'https'. This allows to have references to local HTML
+files, for example.
** Xref
---
*** New xref faces 'xref-file-header', 'xref-line-number', 'xref-match'.
-*** New variable 'xref-show-definitions-function'.
+*** New user option 'xref-show-definitions-function'.
It encapsulates the logic pertinent to showing the result of
'xref-find-definitions'. The user can change it to customize its
behavior and the display of results.
** Ecomplete
*** The ecomplete sorting has changed to a decay-based algorithm.
-This can be controlled by the new 'ecomplete-sort-predicate' variable.
+This can be controlled by the new 'ecomplete-sort-predicate' user option.
-*** The 'ecompleterc' file is now placed in '~/.emacs.d/ecompleterc' by default.
-Of course it will still find it if you have it in '~/.ecompleterc'.
+*** The 'ecompleterc' file is now placed in "~/.emacs.d/ecompleterc" by default.
+Of course it will still find it if you have it in "~/.ecompleterc".
** Gnus
+++
*** Two new Gnus summary mode navigation commands have been added,
-bound to the '[' and ']' keys: `gnus-summary-prev-unseen-article' and
-`gnus-summary-next-unseen-article'. These take you (respectively) to
+bound to the '[' and ']' keys: 'gnus-summary-prev-unseen-article' and
+'gnus-summary-next-unseen-article'. These take you (respectively) to
the previous unseen or next unseen article. (These are the ones that
are marked with "." in the summary mode lines.)
deleted by Gnus).
+++
-*** New option 'gnus-use-atomic-windows' makes Gnus window layouts
+*** New user option 'gnus-use-atomic-windows' makes Gnus window layouts
atomic. See the "Atomic Windows" section of the Elisp manual for
details.
offers them to the user to open with 'browse-url'.
---
-*** New option 'nnir-notmuch-filter-group-names-function'.
+*** New user option 'nnir-notmuch-filter-group-names-function'.
This option controls whether and how to use Gnus search groups as
'path:' search terms to 'notmuch'.
---
*** 'erc-send-pre-hook' and 'erc-send-this' have been obsoleted.
-The variable to use instead to alter text to be sent is now
+The user option to use instead to alter text to be sent is now
'erc-pre-send-functions'.
** EUDC
** eww/shr
+++
-*** The new variable 'shr-cookie-policy' can be used to control when
-to use cookies when fetching embedded images. The default is to use
-them when the images are from the same domain as the main HTML
+*** The new user option 'shr-cookie-policy' can be used to control
+when to use cookies when fetching embedded images. The default is to
+use them when the images are from the same domain as the main HTML
document.
+++
has been executed.
+++
-*** New option 'shr-discard-aria-hidden'.
+*** New user option 'shr-discard-aria-hidden'.
If set, shr will not render tags with attribute 'aria-hidden="true"'.
This attribute is meant to tell screen readers to ignore a tag.
*** To always force smtpmail to send credentials over on the first
attempt when communicating with the SMTP server(s), the
-'smtpmail-servers-requiring-authorization' variable can be used.
+'smtpmail-servers-requiring-authorization' user option can be used.
+++
*** smtpmail will now try resending mail when getting a transient 4xx
error message from the SMTP server. The new 'smtpmail-retries'
-variable says how many times to retry.
+user option says how many times to retry.
** Footnote mode
*** Support Hebrew-style footnotes
*** Footnote text lines are now aligned.
-Can be controlled via the new variable 'footnote-align-to-fn-text'.
+Can be controlled via the new user option 'footnote-align-to-fn-text'.
** CSS mode
** Ibuffer
---
-*** New filter 'ibuffer-filter-by-process'; bound to '/E'.
+*** New filter 'ibuffer-filter-by-process'; bound to '/ E'.
---
*** All mode filters can now accept a list of symbols.
with a numeric argument.
*** 'isearch-lazy-count' shows the current match number and total number
-of matches in the Isearch prompt. Customizable variables
+of matches in the Isearch prompt. User options
'lazy-count-prefix-format' and 'lazy-count-suffix-format' define the
format of the current and the total number of matches in the prompt's
prefix and suffix respectively.
JUST the search string.
+++
-*** New variable 'isearch-yank-on-move' provides options 't' and 'shift'
+*** New user option 'isearch-yank-on-move' provides options 't' and 'shift'
to extend the search string by yanking text that ends at the new
position after moving point in the current buffer. 'shift' extends
the search string by motion commands while holding down the shift key.
** Enhanced xterm support
-*** New variable 'xterm-set-window-title' controls whether Emacs sets
+*** New user option 'xterm-set-window-title' controls whether Emacs sets
the XTerm window title. This feature is experimental and is disabled
by default.
*** 'rgrep', 'lgrep' and 'zrgrep' now hide part of the command line
that contains a list of ignored directories and files.
Clicking on the button with ellipsis unhides it.
-The abbreviation can be disabled by the new option
+The abbreviation can be disabled by the new user option
'grep-find-abbreviate'. The new command
'grep-find-toggle-abbreviation' toggles it interactively.
---
*** Completing filenames in the minibuffer via 'C-TAB' now uses the
-styles as configured by the variable 'completion-styles'.
+styles as configured by the user option 'completion-styles'.
** New macros 'thunk-let' and 'thunk-let*'.
These macros are analogue to 'let' and 'let*', but create bindings that
** next-error
+++
-*** New customizable variable 'next-error-find-buffer-function'.
+*** New user option 'next-error-find-buffer-function'.
The value should be a function that determines how to find the
next buffer to be used by 'next-error' and 'previous-error'. The
default is to use the last buffer that navigated to the current
*** Program name completion inside remote shells works now as expected.
+++
-*** The variable 'shell-file-name' can be set now as connection-local
+*** The user option 'shell-file-name' can be set now as connection-local
variable for remote shells. It still defaults to "/bin/sh".
** Single shell commands
+++
*** Prompt for shell commands can now show the current directory.
-Customize 'shell-command-prompt-show-cwd' to enable it.
+Customize the new user option 'shell-command-prompt-show-cwd' to enable it.
** Pcomplete
-*** The 'pcomplete' command is now obsolete
-The Pcomplete functionality can be obtained via completion-at-point
-instead, by adding pcomplete-completions-at-point to
-completion-at-point-functions.
+*** The 'pcomplete' command is now obsolete.
+The Pcomplete functionality can be obtained via 'completion-at-point'
+instead, by adding 'pcomplete-completions-at-point' to
+'completion-at-point-functions'.
*** The function 'pcomplete-uniquify-list' has been renamed from
'pcomplete-uniqify-list'.
---
*** The Secret Service backend supports the ':create' key now.
-*** .authinfo and .netrc files now use a new mode: 'authinfo-mode'.
+*** ".authinfo" and ".netrc" files now use a new mode: 'authinfo-mode'.
This is just like 'fundamental-mode', except that it hides passwords
under a "****" display property. When the cursor moves to this text,
-the real password is revealed (via 'reveal-mode'). The
-'authinfo-hidden' variable can be used to control what to hide.
+the real password is revealed (via 'reveal-mode'). The new
+'authinfo-hidden' user option can be used to control what to hide.
** Tramp
** Message
-*** 'message-mode' now supports highlighting citations of different
-depths. This can be customized via 'message-cite-level-function' and
-the new 'message-cited-text-*' faces.
+*** 'message-mode' now supports highlighting citations of different depths.
+This can be customized via the new user option
+'message-cite-level-function' and the new 'message-cited-text-*' faces.
+++
*** Messages can now be systematically encrypted
UUID at point.
---
-*** 'number-at-point' will now recognize hex number like 0xAb09 and #xAb09
+*** 'number-at-point' will now recognize hex numbers like 0xAb09 and #xAb09
and return them as numbers.
---
+++
*** New user options for tabulated list sort indicators.
You can now customize which sorting indicator character to display
-near the current column in Tabulated Lists (see variables
+near the current column in Tabulated Lists (see user options
'tabulated-list-gui-sort-indicator-asc',
'tabulated-list-gui-sort-indicator-desc',
'tabulated-list-tty-sort-indicator-asc', and
** Autorevert
-*** New variable 'auto-revert-avoid-polling' for saving power.
+*** New user option 'auto-revert-avoid-polling' for saving power.
When set to a non-nil value, buffers in Auto Revert mode are no longer
polled for changes periodically. This reduces the power consumption
of an idle Emacs, but may fail on some network file systems; set
** auth-source-pass
+++
-*** New customizable variable 'auth-source-pass-filename'.
+*** New user option 'auth-source-pass-filename'.
Allows setting the path to the password-store, defaults to
"~/.password-store".
+++
-*** New customizable variable 'auth-source-pass-port-separator'.
+*** New user option 'auth-source-pass-port-separator'.
Specifies separator between host and port, defaults to colon ":".
---
Login name: was %u, now %l
User's full name: was %U, now %L
-Merely having (add-hook 'before-save-hook 'time-stamp) in your
+Merely having '(add-hook 'before-save-hook 'time-stamp)' in your
Emacs init file does not expose you to this change. However,
if you set 'time-stamp-format' or 'time-stamp-pattern' with a
file-local variable, you may need to update the value.
** mode-local
-*** define-overload is declared obsolete
+*** 'define-overload' is declared obsolete.
\f
* New Modes and Packages in Emacs 27.1
or previous tab. You can also switch between tabs and create/delete
tabs with a mouse.
-Tab-related commands are available even when the tab-bar-mode is
-disabled: by default, they enable tab-bar-mode in that case.
+Tab-related commands are available even when 'tab-bar-mode' is
+disabled: by default, they enable 'tab-bar-mode' in that case.
The X resource "tabBar", class "TabBar" enables the tab bar
when its value is "on", "yes" or "1".
-The variable 'tab-bar-position' specifies where to show the tab bar.
+The user option 'tab-bar-position' specifies where to show the tab bar.
Read the new Info node "(emacs) Tab Bars" for full description
of all related features.
The new command 'global-tab-line-mode' enables the tab line above each
window, which you can use to switch buffers in the window. Selecting
the previous window-local tab is the same as typing 'C-x <LEFT>'
-(previous-buffer), selecting the next tab is the same as 'C-x <RIGHT>'
-(next-buffer). Both commands support a numeric prefix argument as
+('previous-buffer'), selecting the next tab is the same as 'C-x <RIGHT>'
+('next-buffer'). Both commands support a numeric prefix argument as
a repeat count. Clicking on the plus icon adds a new buffer to the
window-local tab line of buffers. Using the mouse wheel on the tab
line scrolls tabs that display the window buffers.
* Incompatible Lisp Changes in Emacs 27.1
---
-** Two-column mode provides its C-x 6 prefix map only after loading
-two-column.el. Its prefix key F2 is still available globally
-along with C-x 6 used by the tab commands globally.
+** Two-column mode provides its 'C-x 6' prefix map only after loading
+two-column.el. Its prefix key 'F2' is still available globally
+along with 'C-x 6' used by the tab commands globally.
---
** Incomplete destructive splicing support has been removed.
Formerly, these functions often (though not always) returned nil.
For example, if there is an access error, I/O error or low-level
integer overflow when getting the attributes of a file F,
-(file-attributes F) now signals an error instead of returning nil.
+'(file-attributes F)' now signals an error instead of returning nil.
These functions still behave as before if the only problem is that the
file does not exist. The affected primitives are
-directory-files-and-attributes, file-acl, file-attributes, file-modes,
-file-newer-than-file-p, file-selinux-context, file-system-info, and
-set-visited-file-modtime.
+'directory-files-and-attributes', 'file-acl', 'file-attributes',
+'file-modes', 'file-newer-than-file-p', 'file-selinux-context',
+'file-system-info', and 'set-visited-file-modtime'.
---
** The function 'eldoc-message' now accepts a single argument.
an amount which was close to near a full screen. This is now instead
available by scrolling with the meta modifier key.
-To get the old behaviour back, customize the variable
+To get the old behaviour back, customize the user option
'mouse-wheel-scroll-amount', or add the following to your init file:
(customize-set-variable 'mouse-wheel-scroll-amount
'(5 ((shift) . 1) ((control) . nil)))
By default, the font size will be changed in the window that the mouse
-pointer is over. To change this behaviour, you can customize the
+pointer is over. To change this behaviour, you can customize the user
option 'mouse-wheel-follow-mouse'. Note that this will also affect
scrolling.
'reveal-toggle-invisible' property set.
+++
-** 'process-contact' now takes an optional NO-BLOCK parameter to allow
+** 'process-contact' now takes an optional NO-BLOCK argument to allow
not waiting for a process to be set up.
+++
-** The new 'quit-window-hook' is now run first when executing the
-'quit-window' command.
+** The new user option 'quit-window-hook' is now run first when
+executing the 'quit-window' command.
-** The variables 'help-enable-completion-auto-load',
+** The user options 'help-enable-completion-auto-load',
'help-enable-auto-load' and 'vhdl-project-auto-load', as well as the
-'vhdl-auto-load-project' have been renamed to have "autoload" without
-the hyphen in their names. Obsolete aliases from the old names have
-been added.
+function 'vhdl-auto-load-project' have been renamed to have "autoload"
+without the hyphen in their names. Obsolete aliases from the old
+names have been added.
+++
** Buttons (created with 'make-button' and related functions) can
** Time values
+++
-*** New function time 'time-convert' converts Lisp time values
-to Lisp timestamps of various forms, including a new timestamp form
-(TICKS . HZ) where TICKS is an integer and HZ a positive integer
-denoting a clock frequency.
+*** New function 'time-convert' converts Lisp time values to Lisp
+timestamps of various forms, including a new timestamp form '(TICKS
+. HZ)' where TICKS is an integer and HZ a positive integer denoting a
+clock frequency.
+++
*** Although the default timestamp format is still '(HI LO US PS)',
+++
*** Decoded (calendrical) timestamps now have subsecond resolution.
-This affects decode-time, which generates these timestamps, as well as
-functions like encode-time that accept them. The subsecond info is
-present as a (TICKS . HZ) value in the seconds element of a decoded
-timestamp, and decode-time has a new optional FORM argument specifying
-the form of the seconds member. For example, if X is the timestamp
-(1566009571321878186 . 1000000000), which represents 2019-08-17
-02:39:31.321878186 UTC, (decode-time X t t) returns ((31321878186
-. 1000000000) 39 2 17 8 2019 6 nil 0) instead of the traditional (31
-39 2 17 8 2019 6 nil 0) returned by plain (decode-time X t). Although
-the default FORM is currently 'integer', which truncates the seconds
-to an integer and is the traditional behavior, this default may change
-in future Emacs versions, so callers requiring an integer should
-specify FORM explicitly.
+This affects 'decode-time', which generates these timestamps, as well
+as functions like 'encode-time' that accept them. The subsecond info
+is present as a '(TICKS . HZ)' value in the seconds element of a
+decoded timestamp, and 'decode-time' has a new optional FORM argument
+specifying the form of the seconds member. For example, if X is the
+timestamp '(1566009571321878186 . 1000000000)', which represents
+"2019-08-17 02:39:31.321878186 UTC", '(decode-time X t t)' returns
+'((31321878186 . 1000000000) 39 2 17 8 2019 6 nil 0)' instead of the
+traditional '(31 39 2 17 8 2019 6 nil 0)' returned by plain
+'(decode-time X t)'. Although the default FORM is currently
+'integer', which truncates the seconds to an integer and is the
+traditional behavior, this default may change in future Emacs
+versions, so callers requiring an integer should specify FORM
+explicitly.
+++
*** 'encode-time' supports a new API '(encode-time TIME)'.
*** The new functions 'date-days-in-month' (which will say how many
days there are in a month in a specific year), 'date-ordinal-to-time'
-(that computes the date of an ordinal day), 'decoded-time-add' for
+(that computes the date of an ordinal day), 'decoded-time-add' (for
doing computations on a decoded time structure), 'make-decoded-time'
(for making a decoded time structure with only the given keywords
filled out), and 'encoded-time-set-defaults' (which fills in nil
reliably survive subsequent invocations of 'set-window-buffer'.
+++
-** New option 'resize-mini-frames'.
+** New user option 'resize-mini-frames'.
This option allows to automatically resize minibuffer-only frames
similarly to how minibuffer windows are resized on "normal" frames.
+++
** When interpreting 'gc-cons-percentage', Emacs now estimates the
heap size more often and (we hope) more accurately. E.g., formerly
-(progn (let ((gc-cons-percentage 0.8)) BODY1) BODY2) continued to use
+'(progn (let ((gc-cons-percentage 0.8)) BODY1) BODY2)' continued to use
the 0.8 value during BODY2 until the next garbage collection, but that
is no longer true. Applications may need to re-tune their GC tricks.
*** New library image-converter.
If you need to view exotic image formats for which Emacs doesn't have
-native support, customize the new variable 'convert-images-externally'
-to t. If your system has GraphicsMagick, ImageMagick or 'ffmpeg'
-installed, they will then be used to convert images automatically
-before displaying them.
+native support, customize the new user option
+'image-use-external-converter' to t. If your system has
+GraphicsMagick, ImageMagick or 'ffmpeg' installed, they will then be
+used to convert images automatically before displaying them.
*** 'image-mode' now uses this library to automatically rotate images
according to the orientation in the Exif data, if any.