More updates of documentation for Emacs 30
* etc/NEWS: Improve wording and move/mark entries. * doc/lispref/positions.texi (List Motion): Document 'forward-sentence-function'. * doc/lispref/functions.texi (What Is a Function): Document 'primitive-function-p' and 'cl-functionp'. * doc/emacs/misc.texi (Saving Emacs Sessions): Improve wording and indexing. * doc/lispref/tips.texi (Documentation Tips): Adapt to the new value of 'emacs-lisp-docstring-fill-column'. * doc/emacs/fixit.texi (Spelling): Document 'flyspell-check-changes'.
This commit is contained in:
parent
a9df581c40
commit
2f71460d52
6 changed files with 250 additions and 170 deletions
|
@ -473,6 +473,13 @@ it will slow down cursor motion and scrolling commands. It also
|
|||
doesn't automatically check the text you didn't type or move across;
|
||||
use @code{flyspell-region} or @code{flyspell-buffer} for that.
|
||||
|
||||
@vindex flyspell-check-changes
|
||||
Normally, Flyspell mode highlights misspelled words that you typed or
|
||||
modified, but also words you move across without changing them. But if
|
||||
you customize the variable @code{flyspell-check-changes} to a
|
||||
non-@code{nil} value, Flyspell mode will check only the words you typed
|
||||
or edited in some way.
|
||||
|
||||
@findex flyspell-correct-word
|
||||
@findex flyspell-auto-correct-word
|
||||
@findex flyspell-correct-word-before-point
|
||||
|
|
|
@ -2849,13 +2849,14 @@ frame parameters you don't want to be restored; they will then be set
|
|||
according to your customizations in the init file.
|
||||
|
||||
@vindex desktop-files-not-to-save
|
||||
@vindex remote-file-name-access-timeout
|
||||
@vindex remote-file-name-access-timeout@r{, and desktop restoring}
|
||||
Information about buffers visiting remote files is not saved by
|
||||
default. Customize the variable @code{desktop-files-not-to-save} to
|
||||
change this. In this case, you might also consider customizing
|
||||
@code{remote-file-name-access-timeout}, which is the number of
|
||||
seconds after which buffer restoration of a remote file is
|
||||
stopped. This prevents Emacs being blocked.
|
||||
stopped. This prevents Emacs from being blocked when restoring sessions
|
||||
that visited remote files.
|
||||
|
||||
@vindex desktop-restore-eager
|
||||
By default, all the buffers in the desktop are restored in one go.
|
||||
|
|
|
@ -186,8 +186,8 @@ their code.
|
|||
@end defun
|
||||
|
||||
@noindent
|
||||
Unlike @code{functionp}, the next three functions do @emph{not} treat
|
||||
a symbol as its function definition.
|
||||
Unlike @code{functionp}, the next functions do @emph{not} treat a symbol
|
||||
as its function definition.
|
||||
|
||||
@defun subrp object
|
||||
This function returns @code{t} if @var{object} is a built-in function
|
||||
|
@ -243,6 +243,20 @@ without symbol indirection. It signals an error for non-built-in
|
|||
functions. We recommend to use @code{func-arity} instead.
|
||||
@end defun
|
||||
|
||||
@defun cl-functionp object
|
||||
This function is like @code{functionp}, except it returns @code{nil} for
|
||||
lists and symbols.
|
||||
@end defun
|
||||
|
||||
@findex subr-primitive-p
|
||||
@defun primitive-function-p object
|
||||
This function returns @code{t} if @var{object} is a built-in primitive
|
||||
written in C (@pxref{Primitive Function Type}). Note that special forms
|
||||
are explicitly excluded, as they are not functions. Use
|
||||
@code{subr-primitive-p} if you need to recognize special forms as well.
|
||||
@end defun
|
||||
|
||||
|
||||
@node Lambda Expressions
|
||||
@section Lambda Expressions
|
||||
@cindex lambda expression
|
||||
|
|
|
@ -875,14 +875,21 @@ nested defuns.
|
|||
@findex treesit-forward-sentence
|
||||
@findex forward-sentence
|
||||
@findex backward-sentence
|
||||
If Emacs is compiled with tree-sitter, it can use the tree-sitter
|
||||
parser information to move across syntax constructs. Since what
|
||||
exactly is considered a sentence varies between languages, a major
|
||||
mode should set @code{treesit-thing-settings} to determine that.
|
||||
Then the mode can get navigation-by-sentence functionality for free,
|
||||
by using @code{forward-sentence} and
|
||||
@code{backward-sentence}(@pxref{Moving by Sentences,,, emacs, The
|
||||
extensible self-documenting text editor}).
|
||||
@vindex forward-sentence-function
|
||||
@cindex sentence, in program source files
|
||||
The function that is the value of the variable
|
||||
@code{forward-sentence-function} determines how to move across syntax
|
||||
constructs known as @dfn{sentences}. Major modes can assign their own
|
||||
functions to this variable to customize the behavior of
|
||||
@code{forward-sentence} command. If Emacs is compiled with tree-sitter,
|
||||
it can use the tree-sitter parser information to move across syntax
|
||||
constructs. Since what exactly is considered a sentence varies between
|
||||
languages, a major mode should set @code{treesit-thing-settings} to
|
||||
determine that. Then @code{forward-sentence-function} will be set to
|
||||
@code{treesit-forward-sentence}, and the mode will get
|
||||
navigation-by-sentence functionality for free, by using
|
||||
@code{forward-sentence} and @code{backward-sentence}(@pxref{Moving by
|
||||
Sentences,,, emacs, The extensible self-documenting text editor}).
|
||||
|
||||
@findex treesit-forward-sexp
|
||||
@findex forward-sexp@r{, and tree-sitter}
|
||||
|
|
|
@ -611,7 +611,7 @@ little space in a running Emacs.
|
|||
@item
|
||||
Format the documentation string so that it fits in an Emacs window on an
|
||||
80-column screen. It is a good idea for most lines to be no wider than
|
||||
60 characters. The first line should not be wider than 67 characters
|
||||
60 characters. The first line should not be wider than 74 characters,
|
||||
or it will look bad in the output of @code{apropos}.
|
||||
|
||||
@vindex emacs-lisp-docstring-fill-column
|
||||
|
|
365
etc/NEWS
365
etc/NEWS
|
@ -744,6 +744,8 @@ bind 'M-TAB' to 'ispell-complete-word' as it did in previous Emacs
|
|||
versions, or disable Ispell word completion in Text mode altogether, by
|
||||
customizing the new user option 'text-mode-ispell-word-completion'.
|
||||
|
||||
** Internationalization
|
||||
|
||||
---
|
||||
** Mode-line mnemonics for some coding-systems have changed.
|
||||
The mode-line mnemonic for 'utf-7' is now the lowercase 'u', to be
|
||||
|
@ -760,7 +762,14 @@ previous behavior of showing 'U' in the mode line for 'koi8-u':
|
|||
|
||||
(coding-system-put 'koi8-u :mnemonic ?U)
|
||||
|
||||
** Internationalization
|
||||
---
|
||||
** 'vietnamese-tcvn' is now a coding system alias for 'vietnamese-vscii'.
|
||||
VSCII-1 and TCVN-5712 are different names for the same character
|
||||
encoding. Therefore, the duplicate coding system definition has been
|
||||
dropped in favor of an alias.
|
||||
|
||||
The mode-line mnemonic for 'vietnamese-vscii' and its aliases is the
|
||||
lowercase letter 'v'.
|
||||
|
||||
---
|
||||
*** Users in CJK locales can control width of some non-CJK characters.
|
||||
|
@ -1593,10 +1602,12 @@ mouse to consult an error message.
|
|||
|
||||
** Flyspell
|
||||
|
||||
+++
|
||||
*** New user option 'flyspell-check-changes'.
|
||||
When non-nil, Flyspell mode spell-checks only words that you edited; it
|
||||
does not check unedited words just because you move point across them.
|
||||
|
||||
---
|
||||
** JS mode.
|
||||
The binding 'M-.' has been removed from the major mode keymaps in
|
||||
'js-mode' and 'js-ts-mode', having it default to the global binding
|
||||
|
@ -1604,6 +1615,7 @@ which calls 'xref-find-definitions'. If the previous one worked
|
|||
better for you, use 'define-key' in your init script to bind
|
||||
'js-find-symbol' to that combination again.
|
||||
|
||||
---
|
||||
** Json mode.
|
||||
'js-json-mode' does not derive from 'js-mode' any more so as not
|
||||
to confuse tools like Eglot or YASnippet into thinking that those
|
||||
|
@ -1627,19 +1639,16 @@ instead of:
|
|||
and another_expression):
|
||||
do_something()
|
||||
|
||||
---
|
||||
*** New user option 'python-interpreter-args'.
|
||||
This allows the user to specify command line arguments to the non
|
||||
interactive Python interpreter specified by 'python-interpreter'.
|
||||
|
||||
---
|
||||
*** New function 'python-shell-send-block'.
|
||||
It sends the python block delimited by 'python-nav-beginning-of-block'
|
||||
and 'python-nav-end-of-block' to the inferior Python process.
|
||||
|
||||
*** 'eldoc' no longer truncates to a single line by default.
|
||||
Previously, the entire docstring was not available to eldoc, which made
|
||||
'eldoc-echo-area-use-multiline-p' ineffective. The old behavior may be
|
||||
kept by customizing 'eldoc-echo-area-use-multiline-p'.
|
||||
|
||||
** Inferior Python mode
|
||||
|
||||
---
|
||||
|
@ -1648,6 +1657,15 @@ Support for Python's ExceptionGroup has been added, so in the Python
|
|||
shell, the line indicating the source of error in the error messages
|
||||
from ExceptionGroup will be recognized as well.
|
||||
|
||||
** Eldoc
|
||||
|
||||
---
|
||||
*** 'eldoc' no longer truncates to a single line by default.
|
||||
Previously, the entire docstring was not available to eldoc, which made
|
||||
'eldoc-echo-area-use-multiline-p' ineffective. The old behavior may be
|
||||
kept by customizing 'eldoc-echo-area-use-multiline-p'.
|
||||
|
||||
---
|
||||
** Scheme mode
|
||||
Scheme mode now handles regular expression literal '#/regexp/' that is
|
||||
available in some Scheme implementations.
|
||||
|
@ -1711,7 +1729,7 @@ provide dictionary-based minibuffer completion for word selection.
|
|||
*** New user option 'dictionary-read-word-prompt'.
|
||||
This allows the user to customize the prompt that is used by
|
||||
'dictionary-search' when asking for a word to search in the
|
||||
dictionary.
|
||||
dictionaries.
|
||||
|
||||
---
|
||||
*** New user option 'dictionary-display-definition-function'.
|
||||
|
@ -1750,13 +1768,19 @@ the mode was turned on.
|
|||
|
||||
** Pp
|
||||
|
||||
+++
|
||||
*** New 'pp-default-function' user option replaces 'pp-use-max-width'.
|
||||
Its default value is 'pp-fill', a new default pretty-printing function,
|
||||
which tries to obey 'fill-column'.
|
||||
|
||||
*** New default pretty printing function, which tries to obey 'fill-column'.
|
||||
|
||||
---
|
||||
*** 'pp-to-string' takes an additional PP-FUNCTION argument.
|
||||
This argument specifies the prettifying algorithm to use.
|
||||
|
||||
---
|
||||
*** 'pp' and 'pp-to-string' now always include a terminating newline.
|
||||
In the past they included a terminating newline in most cases but not all.
|
||||
|
||||
** Emacs Lisp mode
|
||||
|
||||
---
|
||||
|
@ -1765,7 +1789,7 @@ Previously, the '@' character, which normally has 'symbol' syntax,
|
|||
would combine with a following Lisp symbol and interfere with symbol
|
||||
searching.
|
||||
|
||||
---
|
||||
+++
|
||||
*** 'emacs-lisp-docstring-fill-column' now defaults to 72.
|
||||
It was previously 65. The new default formats documentation strings to
|
||||
fit on fewer lines without negatively impacting readability.
|
||||
|
@ -1777,10 +1801,12 @@ fit on fewer lines without negatively impacting readability.
|
|||
CPerl mode fontifies subroutine signatures like variable declarations
|
||||
which makes them visually distinct from subroutine prototypes.
|
||||
|
||||
---
|
||||
*** Syntax of Perl up to version 5.40 is supported.
|
||||
CPerl mode supports the new keywords for exception handling and the
|
||||
object oriented syntax which were added in Perl 5.36, 5.38 and 5.40.
|
||||
|
||||
---
|
||||
*** New user option 'cperl-fontify-trailer'.
|
||||
This user option takes the values 'perl-code' or 'comment' and treats
|
||||
text after an "__END__" or "__DATA__" token accordingly. The default
|
||||
|
@ -1788,21 +1814,25 @@ value of 'perl-code' is useful for trailing POD and for AutoSplit
|
|||
modules, the value 'comment' makes CPerl mode treat trailers as
|
||||
comment, like Perl mode does.
|
||||
|
||||
---
|
||||
*** New command 'cperl-file-style'.
|
||||
This command sets the indentation style for the current buffer. To
|
||||
change the default style, either use the user option with the same name
|
||||
or use the command 'cperl-set-style'.
|
||||
|
||||
*** New minor mode cperl-extra-paired-delimiters-mode
|
||||
---
|
||||
*** New minor mode 'cperl-extra-paired-delimiters-mode'.
|
||||
Perl 5.36 and newer allows using more than 200 non-ASCII paired
|
||||
delimiters for quote-like constructs, eg. "q«text»". Use this minor
|
||||
mode in buffers where this feature is activated.
|
||||
|
||||
*** Commands using the Perl info page are obsolete.
|
||||
The Perl documentation in info format is no longer distributed with
|
||||
---
|
||||
*** Commands using the Perl Info manual are obsolete.
|
||||
The Perl documentation in Info format is no longer distributed with
|
||||
Perl or on CPAN since more than 10 years. Perl documentation can be
|
||||
read with 'cperl-perldoc' instead.
|
||||
|
||||
---
|
||||
*** Highlighting trailing whitespace has been removed.
|
||||
The user option 'cperl-invalid-face' is now obsolete, and does
|
||||
nothing. See the user option 'show-trailing-whitespace' instead.
|
||||
|
@ -1828,8 +1858,9 @@ of the accessibility of remote files can now time out if
|
|||
|
||||
** Image Dired
|
||||
|
||||
+++
|
||||
*** New user option 'image-dired-thumb-naming'.
|
||||
You can now configure how a thumbnail is named using this option.
|
||||
You can now configure how thumbnails are named using this option.
|
||||
|
||||
** ERT
|
||||
|
||||
|
@ -1874,10 +1905,10 @@ macros with many lines, such as from 'kmacro-edit-lossage'.
|
|||
Fractions of the form "123⁄456" are handled as if written "123:456".
|
||||
Note in particular the difference in behavior from U+2215 DIVISION SLASH
|
||||
and U+002F SOLIDUS, which result in division rather than a rational
|
||||
fraction. You may also be interested to know that precomposed fraction
|
||||
characters, such as ½ (U+00BD VULGAR FRACTION ONE HALF), are also
|
||||
recognized as rational fractions. They have been since 2004, but it
|
||||
looks like it was never mentioned in the NEWS, or even the manual.
|
||||
fraction. In addition, precomposed fraction characters, such as ½
|
||||
(U+00BD VULGAR FRACTION ONE HALF), are also recognized as rational
|
||||
fractions. (They have been recognized since 2004, but it looks like it
|
||||
was never mentioned in the NEWS, or even the Calc manual.)
|
||||
|
||||
** IELM
|
||||
|
||||
|
@ -1904,12 +1935,14 @@ labels of unselected active radio-button or checkbox widgets from the
|
|||
labels of unselected inactive widgets (the default value inherits from
|
||||
the 'widget-inactive' face).
|
||||
|
||||
+++
|
||||
*** New user option 'widget-skip-inactive'.
|
||||
If non-nil, moving point forward or backward between widgets by typing
|
||||
'TAB' or 'S-TAB' skips over inactive widgets. The default value is nil.
|
||||
|
||||
** Ruby mode
|
||||
|
||||
---
|
||||
*** New user option 'ruby-rubocop-use-bundler'.
|
||||
By default it retains the previous behavior: read the contents of
|
||||
Gemfile and act accordingly. But you can also set it to t or nil to
|
||||
|
@ -1927,8 +1960,8 @@ of 'bounds-of-thing-at-point' and 'forward-thing', respectively.
|
|||
*** New helper functions for text property-based thingatpt providers.
|
||||
The new helper functions 'thing-at-point-for-char-property',
|
||||
'bounds-of-thing-at-point-for-char-property', and
|
||||
'forward-thing-for-char-property' can help to help implement custom
|
||||
thingatpt providers for "things" that are defined by a text property.
|
||||
'forward-thing-for-char-property' can help to implement custom thingatpt
|
||||
providers for "things" that are defined by text properties.
|
||||
|
||||
---
|
||||
*** 'bug-reference-mode' now supports 'thing-at-point'.
|
||||
|
@ -1957,7 +1990,7 @@ in Buffer Menu mode.
|
|||
|
||||
---
|
||||
*** 'ffap-lax-url' now defaults to nil.
|
||||
Previously, it was set to t but this broke remote file name detection.
|
||||
Previously, it was set to t, but this broke remote file name detection.
|
||||
|
||||
---
|
||||
*** More control on automatic update of Proced buffers.
|
||||
|
@ -1976,6 +2009,7 @@ The following new XML schemas are now supported:
|
|||
- Nuget package specification file
|
||||
- Nuget packages config file
|
||||
|
||||
---
|
||||
*** color.el now supports the Oklab color representation.
|
||||
|
||||
+++
|
||||
|
@ -1989,9 +2023,9 @@ This allows disabling JavaScript in xwidget Webkit sessions.
|
|||
options of GNU 'ls'.
|
||||
|
||||
---
|
||||
*** 'M-x ping' can now give "ping" additional flags.
|
||||
*** 'M-x ping' can now give additional flags to the 'ping' program.
|
||||
Typing 'C-u M-x ping' prompts first for the host, and then for the flags
|
||||
to give to "ping".
|
||||
to give to the 'ping' command.
|
||||
|
||||
---
|
||||
*** Webjump now assumes URIs are HTTPS instead of HTTP.
|
||||
|
@ -2004,11 +2038,13 @@ URIs are now prefixed with "https://" instead.
|
|||
Most of the variables and functions in the file have been renamed to
|
||||
make sure they all use a 'tit-' namespace prefix.
|
||||
|
||||
---
|
||||
*** 'xref-revert-buffer' is now an alias of 'revert-buffer'.
|
||||
The Xref buffer now sets up 'revert-buffer-function' such that
|
||||
'revert-buffer' behaves like 'xref-revert-buffer' did in previous Emacs
|
||||
versions, and the latter is now an alias of the former.
|
||||
|
||||
---
|
||||
*** The Makefile browser is now obsolete.
|
||||
The command 'makefile-switch-to-browser' command is now obsolete,
|
||||
together with related commands used in the "*Macros and Targets*"
|
||||
|
@ -2040,6 +2076,7 @@ A major mode based on the tree-sitter library for editing Lua files.
|
|||
*** New major mode 'php-ts-mode'.
|
||||
A major mode based on the tree-sitter library for editing PHP files.
|
||||
|
||||
+++
|
||||
** New package EditorConfig.
|
||||
This package provides support for the EditorConfig standard,
|
||||
an editor-neutral way to provide directory local (project-wide) settings.
|
||||
|
@ -2080,7 +2117,7 @@ global minor mode 'global-window-tool-bar-mode' enables this minor mode
|
|||
in all buffers.
|
||||
|
||||
+++
|
||||
** New package Track-Changes.
|
||||
** New library Track-Changes.
|
||||
This library is a layer of abstraction above 'before-change-functions'
|
||||
and 'after-change-functions' which provides a superset of
|
||||
the functionality of 'after-change-functions':
|
||||
|
@ -2095,7 +2132,7 @@ the functionality of 'after-change-functions':
|
|||
** New global minor mode 'minibuffer-regexp-mode'.
|
||||
This is a minor mode for editing regular expressions in the minibuffer,
|
||||
for example in 'query-replace-regexp'. It correctly highlights parens
|
||||
via ‘show-paren-mode’ and ‘blink-matching-paren’ in a user-friendly way,
|
||||
via 'show-paren-mode' and 'blink-matching-paren' in a user-friendly way,
|
||||
avoids reporting alleged paren mismatches and makes sexp navigation more
|
||||
intuitive.
|
||||
|
||||
|
@ -2112,13 +2149,14 @@ The Info manual "(modus-themes) Top" describes the details and
|
|||
showcases all their customization options.
|
||||
|
||||
+++
|
||||
** New package PEG.
|
||||
** New library PEG.
|
||||
Emacs now includes a library for writing Parsing Expression
|
||||
Grammars (PEG), an approach to text parsing that provides more structure
|
||||
than regular expressions, but less complexity than context-free
|
||||
grammars. The Info manual "(elisp) Parsing Expression Grammars" has
|
||||
documentation and examples.
|
||||
|
||||
---
|
||||
** New major mode 'shell-command-mode'.
|
||||
This mode is used by default for the output of asynchronous 'shell-command'.
|
||||
To revert to the previous behavior, set the (also new) variable
|
||||
|
@ -2170,9 +2208,7 @@ whose major modes fail to use 'run-mode-hooks'. Major modes defined
|
|||
with 'define-derived-mode' are not affected. 'run-mode-hooks' has been the
|
||||
recommended way to run major mode hooks since Emacs 22.
|
||||
|
||||
** 'pp' and 'pp-to-string' now always include a terminating newline.
|
||||
In the past they included a terminating newline in most cases but not all.
|
||||
|
||||
+++
|
||||
** 'buffer-match-p' and 'match-buffers' take '&rest args'.
|
||||
They used to take a single '&optional arg' and were documented to use
|
||||
an unreliable hack to try and support condition predicates that
|
||||
|
@ -2180,10 +2216,11 @@ don't accept this optional arg.
|
|||
The new semantics makes no such accommodation, but the code still
|
||||
supports it (with a warning) for backward compatibility.
|
||||
|
||||
---
|
||||
** 'post-gc-hook' runs after updating 'gcs-done' and 'gcs-elapsed'.
|
||||
|
||||
---
|
||||
** Connection-local variables are applied in buffers visiting a remote file.
|
||||
** Connection-local variables are applied in buffers visiting remote files.
|
||||
This overrides possible directory-local or file-local variables with
|
||||
the same name.
|
||||
|
||||
|
@ -2198,15 +2235,6 @@ assertion only (which is useless). For historical compatibility, an
|
|||
operator character following '^' or '\`' becomes literal, but we
|
||||
advise against relying on this.
|
||||
|
||||
---
|
||||
** 'vietnamese-tcvn' is now a coding system alias for 'vietnamese-vscii'.
|
||||
VSCII-1 and TCVN-5712 are different names for the same character
|
||||
encoding. Therefore, the duplicate coding system definition has been
|
||||
dropped in favor of an alias.
|
||||
|
||||
The mode-line mnemonic for 'vietnamese-vscii' and its aliases is the
|
||||
lowercase letter 'v'.
|
||||
|
||||
+++
|
||||
** Infinities and NaNs no longer act as symbols on non-IEEE platforms.
|
||||
On old platforms like the VAX that do not support IEEE floating-point,
|
||||
|
@ -2246,6 +2274,7 @@ The compatibility aliases 'x-defined-colors', 'x-color-defined-p',
|
|||
** 'easy-mmode-define-{minor,global}-mode' aliases are now obsolete.
|
||||
Use 'define-minor-mode' and 'define-globalized-minor-mode' instead.
|
||||
|
||||
+++
|
||||
** The 'millisec' argument of 'sleep-for' is now obsolete.
|
||||
Use a float value for the first argument instead.
|
||||
|
||||
|
@ -2264,9 +2293,19 @@ values.
|
|||
This user option has been obsoleted in Emacs 27, use
|
||||
'remote-file-name-inhibit-cache' instead.
|
||||
|
||||
+++
|
||||
** The obsolete calling convention of 'sit-for' has been removed.
|
||||
That convention was: '(sit-for SECONDS MILLISEC &optional NODISP)'.
|
||||
|
||||
---
|
||||
** 'defadvice' is marked as obsolete.
|
||||
See the "(elisp) Porting Old Advice" Info node for help converting
|
||||
them to use 'advice-add' or 'define-advice' instead.
|
||||
|
||||
---
|
||||
** 'cl-old-struct-compat-mode' is marked as obsolete.
|
||||
You may need to recompile your code if it was compiled with Emacs < 24.3.
|
||||
|
||||
---
|
||||
** Old derived.el functions removed.
|
||||
The following functions have been deleted because they were only used
|
||||
|
@ -2287,6 +2326,7 @@ to specify the 'mouse-4/5/6/7' events that might still happen to be
|
|||
generated by some old packages (or if 'mouse-wheel-buttons' has been set
|
||||
to nil).
|
||||
|
||||
---
|
||||
** Xterm Mouse mode now emits 'wheel-up/down/right/left' events.
|
||||
This is instead of 'mouse-4/5/6/7' events for the mouse wheel. It uses
|
||||
the new variable 'mouse-wheel-buttons' to decide which button maps to
|
||||
|
@ -2312,6 +2352,7 @@ compilation, by customizing this user option. It is also possible to
|
|||
control this at function granularity by using the new 'safety' parameter
|
||||
in the function's 'declare' form.
|
||||
|
||||
+++
|
||||
** New types 'closure' and 'interpreted-function'.
|
||||
'interpreted-function' is the new type used for interpreted functions,
|
||||
and 'closure' is the common parent type of 'interpreted-function'
|
||||
|
@ -2321,6 +2362,7 @@ Those new types come with the associated new predicates 'closurep' and
|
|||
'interpreted-function-p' as well as a new constructor
|
||||
'make-interpreted-closure'.
|
||||
|
||||
---
|
||||
** New function 'help-fns-function-name'.
|
||||
For named functions, it just returns the name and otherwise
|
||||
it returns a short "unique" string that identifies the function.
|
||||
|
@ -2332,22 +2374,26 @@ further details.
|
|||
This is a convenience function to return the Unicode name of a char (if
|
||||
it has one).
|
||||
|
||||
+++
|
||||
** New function 'cl-type-of'.
|
||||
This function is like 'type-of' except that it sometimes returns
|
||||
a more precise type. For example, for nil and t it returns 'null'
|
||||
and 'boolean' respectively, instead of just 'symbol'.
|
||||
|
||||
+++
|
||||
** New functions 'primitive-function-p' and 'cl-functionp'.
|
||||
'primitive-function-p' is like 'subr-primitive-p' except that it returns
|
||||
t only if the argument is a function rather than a special-form,
|
||||
and 'cl-functionp' is like 'functionp' except it returns nil
|
||||
for lists and symbols.
|
||||
|
||||
---
|
||||
** Built-in types now have corresponding classes.
|
||||
At the Lisp level, this means that things like '(cl-find-class 'integer)'
|
||||
will now return a class object, and at the UI level it means that
|
||||
things like 'C-h o integer RET' will show some information about that type.
|
||||
|
||||
---
|
||||
** New variable 'major-mode-remap-defaults' and function 'major-mode-remap'.
|
||||
The first is like Emacs-29's 'major-mode-remap-alist' but to be set by
|
||||
packages (instead of users). The second looks up those two variables.
|
||||
|
@ -2392,6 +2438,7 @@ more details.
|
|||
This has the same effect as the variable of the same name and takes
|
||||
precedence over the variable when present.
|
||||
|
||||
---
|
||||
** New function 'merge-ordered-lists'.
|
||||
Mostly used internally to do a kind of topological sort of
|
||||
inheritance hierarchies.
|
||||
|
@ -2469,6 +2516,7 @@ without specifying a file, like this:
|
|||
(notifications-notify
|
||||
:title "I am playing music" :app-icon 'multimedia-player)
|
||||
|
||||
---
|
||||
** New function 're-disassemble' to see the innards of a regexp.
|
||||
If you built Emacs with '--enable-checking', you can use this to help
|
||||
debug either your regexp performance problems or the regexp engine.
|
||||
|
@ -2480,13 +2528,6 @@ characters in length, provided that the LONG_XLFDs argument is true.
|
|||
Other features in Emacs which employ XLFDs have been modified to
|
||||
produce and understand XLFDs larger than 255 characters.
|
||||
|
||||
** 'defadvice' is marked as obsolete.
|
||||
See the "(elisp) Porting Old Advice" Info node for help converting
|
||||
them to use 'advice-add' or 'define-advice' instead.
|
||||
|
||||
** 'cl-old-struct-compat-mode' is marked as obsolete.
|
||||
You may need to recompile code if it was compiled with Emacs < 24.3.
|
||||
|
||||
+++
|
||||
** New macro 'static-if' for conditional evaluation of code.
|
||||
This macro hides a form from the evaluator or byte-compiler based on a
|
||||
|
@ -2536,98 +2577,24 @@ as a single word. This is useful for programming languages and styles
|
|||
where only the first letter of a symbol's name is ever capitalized.
|
||||
The default value of this variable is nil.
|
||||
|
||||
** Touch Screen support
|
||||
---
|
||||
** Bytecode is now always loaded eagerly.
|
||||
Bytecode compiled with older Emacs versions for lazy loading using
|
||||
'byte-compile-dynamic' is now loaded all at once.
|
||||
As a consequence, 'fetch-bytecode' has no use, does nothing, and is
|
||||
now obsolete. The variable 'byte-compile-dynamic' has no effect any
|
||||
more; compilation will always yield bytecode for eager loading.
|
||||
|
||||
+++
|
||||
*** 'x-popup-menu' now understands touch screen events.
|
||||
When a 'touchscreen-begin' or 'touchscreen-end' event is passed as the
|
||||
POSITION argument, it will behave as if that event was a mouse event.
|
||||
|
||||
+++
|
||||
*** New functions for handling touch screen events.
|
||||
The new functions 'touch-screen-track-tap' and
|
||||
'touch-screen-track-drag' handle tracking common touch screen gestures
|
||||
from within a command.
|
||||
|
||||
+++
|
||||
*** New parameter to 'touchscreen-end' events.
|
||||
CANCEL non-nil establishes that the touch sequence has been
|
||||
intercepted by programs such as window managers and should be ignored
|
||||
with Emacs.
|
||||
|
||||
** New variable 'inhibit-auto-fill' to temporarily prevent auto-fill.
|
||||
|
||||
+++
|
||||
** New variable 'secondary-tool-bar-map'.
|
||||
If non-nil, this variable contains a keymap of menu items that are
|
||||
displayed along tool bar items inside 'tool-bar-map'.
|
||||
|
||||
** New variable 'completion-lazy-hilit'.
|
||||
Lisp programs that present completion candidates may bind this
|
||||
variable non-nil around calls to functions such as
|
||||
'completion-all-completions'. This tells the underlying completion
|
||||
styles to skip eager fontification of completion candidates, which
|
||||
improves performance. Such a Lisp program can then use the
|
||||
'completion-lazy-hilit' function to fontify candidates just in time.
|
||||
|
||||
** New primitive 'buffer-last-name'.
|
||||
It returns the name of a buffer before the last time it was renamed or
|
||||
killed.
|
||||
|
||||
** New primitive 'marker-last-position'.
|
||||
It returns the last position of a marker in its buffer even if that
|
||||
buffer has been killed. ('marker-position' would return nil in that
|
||||
case.)
|
||||
|
||||
** Functions and variables to transpose sexps
|
||||
|
||||
+++
|
||||
*** New helper variable 'transpose-sexps-function'.
|
||||
Emacs now can set this variable to customize the behavior of the
|
||||
'transpose-sexps' function.
|
||||
|
||||
+++
|
||||
*** New function 'transpose-sexps-default-function'.
|
||||
The previous implementation is moved into its own function, to be
|
||||
bound by 'transpose-sexps-function'.
|
||||
|
||||
*** New function 'treesit-transpose-sexps'.
|
||||
Tree-sitter now unconditionally sets 'transpose-sexps-function' for all
|
||||
tree-sitter enabled modes. This functionality utilizes the new
|
||||
'transpose-sexps-function'.
|
||||
|
||||
** Functions and variables to move by program statements
|
||||
|
||||
*** New variable 'forward-sentence-function'.
|
||||
Major modes can now set this variable to customize the behavior of the
|
||||
'forward-sentence' command.
|
||||
|
||||
*** New function 'forward-sentence-default-function'.
|
||||
The previous implementation of 'forward-sentence' is moved into its
|
||||
own function, to be bound by 'forward-sentence-function'.
|
||||
|
||||
*** New function 'treesit-forward-sentence'.
|
||||
All tree-sitter enabled modes that define 'sentence' in
|
||||
'treesit-thing-settings' now set 'forward-sentence-function' to call
|
||||
'treesit-forward-sentence'.
|
||||
|
||||
** Functions and variables to move by program sexps
|
||||
|
||||
*** New function 'treesit-forward-sexp'.
|
||||
Tree-sitter conditionally sets 'forward-sexp-function' for major modes
|
||||
that have defined 'sexp' in 'treesit-thing-settings' to enable
|
||||
sexp-related motion commands.
|
||||
|
||||
+++
|
||||
** Returned strings are never docstrings.
|
||||
** Returned strings from functions and macros are never docstrings.
|
||||
Functions and macros whose bodies consist of a single string literal now
|
||||
only return that string; it is not used as a docstring. Example:
|
||||
only return that string, and will not use it as a docstring. Example:
|
||||
|
||||
(defun sing-a-song ()
|
||||
"Sing a song.")
|
||||
|
||||
The above function returns the string '"Sing a song."' but has no
|
||||
docstring. Previously, that string was used as both a docstring and
|
||||
The above function returns the string '"Sing a song."' and has no doc
|
||||
string. Previously, that string was used as both the doc string and
|
||||
return value, which was never what the programmer wanted. If you want
|
||||
the string to be a docstring, add an explicit return value.
|
||||
|
||||
|
@ -2743,8 +2710,8 @@ default (unconditional) clause. Example:
|
|||
(t (say "some"))
|
||||
(say "goodbye"))
|
||||
|
||||
Such a clause will never be executed but is likely to be a mistake,
|
||||
perhaps due to misplaced brackets.
|
||||
Such a clause will never be executed, and is likely to be a mistake,
|
||||
perhaps due to misplaced parens.
|
||||
|
||||
This warning can be suppressed using 'with-suppressed-warnings' with
|
||||
the warning name 'suspicious'.
|
||||
|
@ -2758,8 +2725,8 @@ some obvious cases. Examples:
|
|||
(aset [3 4] 0 8)
|
||||
(aset "abc" 1 ?d)
|
||||
|
||||
Such code may have unpredictable behavior because the constants are
|
||||
part of the program, not data structures generated afresh during
|
||||
Such code may have unpredictable behavior because the constants are part
|
||||
of the program, not of the data structures generated afresh during
|
||||
execution, and the compiler does not expect them to change.
|
||||
|
||||
To avoid the warning, operate on an object created by the program
|
||||
|
@ -2806,6 +2773,112 @@ The warning name is 'docstrings-control-chars'.
|
|||
*** The warning about wide docstrings can now be disabled separately.
|
||||
Its warning name is 'docstrings-wide'.
|
||||
|
||||
+++
|
||||
** 'fset', 'defalias' and 'defvaralias' now signal an error for cyclic aliases.
|
||||
Previously, 'fset', 'defalias' and 'defvaralias' could be made to
|
||||
build circular function and variable indirection chains as in
|
||||
|
||||
(defalias 'able 'baker)
|
||||
(defalias 'baker 'able)
|
||||
|
||||
but trying to use them would sometimes make Emacs hang. Now, an attempt
|
||||
to create such a loop results in an error.
|
||||
|
||||
Since circular alias chains now cannot occur, 'function-alias-p',
|
||||
'indirect-function' and 'indirect-variable' will never signal an error.
|
||||
Their 'noerror' arguments have no effect and are therefore obsolete.
|
||||
|
||||
** Touch Screen support
|
||||
|
||||
+++
|
||||
*** 'x-popup-menu' now understands touch screen events.
|
||||
When a 'touchscreen-begin' or 'touchscreen-end' event is passed as the
|
||||
POSITION argument, it will behave as if that event was a mouse event.
|
||||
|
||||
+++
|
||||
*** New functions for handling touch screen events.
|
||||
The new functions 'touch-screen-track-tap' and 'touch-screen-track-drag'
|
||||
handle tracking common touch screen gestures from within a command.
|
||||
|
||||
+++
|
||||
*** New parameter to 'touchscreen-end' events.
|
||||
CANCEL non-nil establishes that the touch sequence has been intercepted
|
||||
by programs such as window managers and should be ignored with Emacs.
|
||||
|
||||
---
|
||||
** New variable 'inhibit-auto-fill' to temporarily prevent auto-fill.
|
||||
|
||||
+++
|
||||
** New variable 'secondary-tool-bar-map'.
|
||||
If non-nil, this variable contains a keymap of menu items that are
|
||||
displayed along tool bar items defined by 'tool-bar-map'. These items
|
||||
are displayed below the tool bar if the value of 'tool-bar-position' is
|
||||
'top', and above it if the value is 'bottom'. This is used by
|
||||
'modifier-bar-mode'.
|
||||
|
||||
---
|
||||
** New variable 'completion-lazy-hilit'.
|
||||
Lisp programs that present completion candidates may bind this
|
||||
variable non-nil around calls to functions such as
|
||||
'completion-all-completions'. This tells the underlying completion
|
||||
styles to skip eager fontification of completion candidates, which
|
||||
improves performance. Such a Lisp program can then use the
|
||||
'completion-lazy-hilit' function to fontify candidates just in time.
|
||||
|
||||
+++
|
||||
** New primitive 'buffer-last-name'.
|
||||
It returns the name of a buffer before the last time it was renamed or
|
||||
killed.
|
||||
|
||||
+++
|
||||
** New primitive 'marker-last-position'.
|
||||
It returns the last position of a marker in its buffer even if that
|
||||
buffer has been killed. ('marker-position' would return nil in that
|
||||
case.)
|
||||
|
||||
** Functions and variables to transpose sexps
|
||||
|
||||
---
|
||||
*** New helper variable 'transpose-sexps-function'.
|
||||
Lisp programs can now set this variable to customize the behavior of the
|
||||
'transpose-sexps' command.
|
||||
|
||||
---
|
||||
*** New function 'transpose-sexps-default-function'.
|
||||
The previous implementation of 'transpose-sexps' was moved into its own
|
||||
function, to be used in 'transpose-sexps-function'.
|
||||
|
||||
---
|
||||
*** New function 'treesit-transpose-sexps'.
|
||||
Tree-sitter now unconditionally sets 'transpose-sexps-function' for all
|
||||
tree-sitter enabled modes to this function.
|
||||
|
||||
** Functions and variables to move by program statements
|
||||
|
||||
+++
|
||||
*** New variable 'forward-sentence-function'.
|
||||
Major modes can now set this variable to customize the behavior of the
|
||||
'forward-sentence' command.
|
||||
|
||||
---
|
||||
*** New function 'forward-sentence-default-function'.
|
||||
The previous implementation of 'forward-sentence' is moved into its
|
||||
own function, to be bound by 'forward-sentence-function'.
|
||||
|
||||
+++
|
||||
*** New function 'treesit-forward-sentence'.
|
||||
All tree-sitter enabled modes that define 'sentence' in
|
||||
'treesit-thing-settings' now set 'forward-sentence-function' to call
|
||||
'treesit-forward-sentence'.
|
||||
|
||||
** Functions and variables to move by program sexps
|
||||
|
||||
+++
|
||||
*** New function 'treesit-forward-sexp'.
|
||||
Tree-sitter conditionally sets 'forward-sexp-function' for major modes
|
||||
that have defined 'sexp' in 'treesit-thing-settings' to enable
|
||||
sexp-related motion commands.
|
||||
|
||||
---
|
||||
** New user option 'native-comp-async-warnings-errors-kind'.
|
||||
It allows control of what kinds of warnings and errors from asynchronous
|
||||
|
@ -2839,34 +2912,12 @@ The declaration '(important-return-value t)' sets the
|
|||
'important-return-value' property which indicates that the function
|
||||
return value should probably not be thrown away implicitly.
|
||||
|
||||
** Bytecode is now always loaded eagerly.
|
||||
Bytecode compiled with older Emacs versions for lazy loading using
|
||||
'byte-compile-dynamic' is now loaded all at once.
|
||||
As a consequence, 'fetch-bytecode' has no use, does nothing, and is
|
||||
now obsolete. The variable 'byte-compile-dynamic' has no effect any
|
||||
more; compilation will always yield bytecode for eager loading.
|
||||
|
||||
+++
|
||||
** New functions 'file-user-uid' and 'file-group-gid'.
|
||||
These functions are like 'user-uid' and 'group-gid', respectively, but
|
||||
are aware of file name handlers, so they will return the remote UID or
|
||||
GID for remote files (or -1 if the connection has no associated user).
|
||||
|
||||
+++
|
||||
** 'fset', 'defalias' and 'defvaralias' now signal an error for cyclic aliases.
|
||||
Previously, 'fset', 'defalias' and 'defvaralias' could be made to
|
||||
build circular function and variable indirection chains as in
|
||||
|
||||
(defalias 'able 'baker)
|
||||
(defalias 'baker 'able)
|
||||
|
||||
but trying to use them would sometimes make Emacs hang. Now, an attempt
|
||||
to create such a loop results in an error.
|
||||
|
||||
Since circular alias chains now cannot occur, 'function-alias-p',
|
||||
'indirect-function' and 'indirect-variable' will never signal an error.
|
||||
Their 'noerror' arguments have no effect and are therefore obsolete.
|
||||
|
||||
+++
|
||||
** 'treesit-font-lock-rules' now accepts additional global keywords.
|
||||
When supplied with ':default-language LANGUAGE', rules after it will
|
||||
|
|
Loading…
Add table
Reference in a new issue