mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-06 03:40:56 -08:00
Merge from savannah/emacs-30
c4ec905c9aCorrect ommissions in rmc.elbf862fc277* lisp/hi-lock.el: More fixes related to revert-buffer.6cc8ffae9aUpdate to Org 9.7.5-9-ga091cac477443ab8; Fix typo in lua-ts-mode.el6e5e4d6193; Add 'eglot-ensure' option to 'lua-ts-mode-hook'58a2f36a8b; * etc/NEWS: Copy edit.df53ef176aMerge branch 'emacs-30' of git.savannah.gnu.org:/srv/git/...039e6ffd86Write Antinews for Emacs 30 ELisp Referencebf8c9f702b(eval-last-sexp): Fix bug#717746d94090cad* lisp/hi-lock.el: More fixes for revert-buffer (bug#57534)280c91782a* lisp/hi-lock.el (hi-lock-revert-buffer-rehighlight): Im...339310d020* lisp/tab-bar.el (tab-bar-select-restore-windows): Impro...c1e7569a92Write Antinews for Emacs 30 user manual233f683da8; * lisp/erc/erc-backend.el (erc-server-reconnect-timeout... # Conflicts: # etc/NEWS
This commit is contained in:
commit
48f9dde133
25 changed files with 245 additions and 299 deletions
|
|
@ -4,155 +4,133 @@
|
||||||
@c See file emacs.texi for copying conditions.
|
@c See file emacs.texi for copying conditions.
|
||||||
|
|
||||||
@node Antinews
|
@node Antinews
|
||||||
@appendix Emacs 28 Antinews
|
@appendix Emacs 29 Antinews
|
||||||
@c Update the emacs.texi Antinews menu entry with the above version number.
|
@c Update the emacs.texi Antinews menu entry with the above version number.
|
||||||
|
|
||||||
For those users who live backwards in time, here is information
|
For those users who live backwards in time, here is information
|
||||||
about downgrading to Emacs version 28.2. We hope you will enjoy the
|
about downgrading to Emacs version 29.4. We hope you will enjoy the
|
||||||
greater simplicity that results from the absence of many @w{Emacs
|
greater simplicity that results from the absence of many @w{Emacs
|
||||||
@value{EMACSVER}} features.
|
@value{EMACSVER}} features.
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
Like its newer releases, Emacs 28 can still be built with support of
|
Emacs can no longer be built for Android mobile devices. We have
|
||||||
|
removed the Android support because it was deemed unnecessary, what with
|
||||||
|
the screens of the mobile devices becoming smaller and smaller as you
|
||||||
|
move back in time. We expect Android users to enjoy the much simpler
|
||||||
|
text editors available on their devices. As a nice bonus, removing
|
||||||
|
Android support allowed us to get rid of gobs of related files, thus
|
||||||
|
making the release tarballs much leaner.
|
||||||
|
|
||||||
|
@item
|
||||||
|
We have deleted much of the enhanced support for touchscreen devices,
|
||||||
|
for the same reason we dropped Android: there will be no need for that
|
||||||
|
as you move back in time.
|
||||||
|
|
||||||
|
@item
|
||||||
|
We also dropped support for sophisticated input methods that include
|
||||||
|
text conversions, again because those are mostly needed on mobile and
|
||||||
|
hand-held devices, which we gradually remove from Emacs in each past
|
||||||
|
version.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Like its newer releases, Emacs 29 can still be built with support of
|
||||||
native compilation of Lisp programs. However, in preparation for
|
native compilation of Lisp programs. However, in preparation for
|
||||||
removal of this feature in some previous version, we've deleted the
|
removal of this feature in some previous version, we've made the native
|
||||||
capability of ahead-of-time native compilation of all the Lisp files
|
compiler support off by default; you will now have to request it
|
||||||
that come with Emacs. This makes the Emacs build process much faster.
|
explicitly at configure time. This makes the default Emacs build
|
||||||
|
process much faster.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Emacs can no longer be built with the tree-sitter library, so you no
|
JSON interfaces are slowly move into oblivion as past years come closer,
|
||||||
longer will need to look for and install the grammar libraries for
|
so we have removed our internal implementation of JSON; you will now
|
||||||
the languages in which you want to program. Similarly, all the modes
|
need to build Emacs with the libjansson library, if you need JSON.
|
||||||
that are based on the tree-sitter library were deleted, leaving you
|
Eventually, we plan on removing JSON support from Emacs altogether; this
|
||||||
with just one major mode for every supported programming language: no
|
move will make the removal much simpler.
|
||||||
more need to decide whether to turn the tree-sitter supported modes on
|
|
||||||
and try using their parser-based fontification, indentation, and other
|
|
||||||
features. For some languages and file types, this means no major mode
|
|
||||||
at all, leaving you with the venerable Fundamental mode as the
|
|
||||||
natural, high-performance choice. For example, Go, Rust, and CMake
|
|
||||||
files no longer have any major modes for editing their files ---
|
|
||||||
another milestone towards a simpler, leaner Emacs.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Built-in support for accessing SQLite databases was removed. You can
|
Tree-sitter based modes are now completely independent of their
|
||||||
now again edit SQLite files as simple binary files, which Emacs is
|
non-Tree-Sitter counterparts. We decided that keeping the settings
|
||||||
quite capable to support, as it always did.
|
separate and independent goes a long way toward simplicity, which is one
|
||||||
|
of our main motivation for removing stuff from Emacs.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
As a gesture to users of the Haiku operating system, we've dropped the
|
Various Help commands no longer turn on Outline minor mode. With less
|
||||||
code which allowed Emacs to be built on that OS@. We expect Haiku
|
material to display in the *Help* buffers, due to removing of excess
|
||||||
users to enjoy the much simpler editors they have for editing their
|
documentation from Emacs, we think using outlining is an unnecessary
|
||||||
files.
|
complication, as scrolling through plain text is so much simpler.
|
||||||
|
|
||||||
|
For the same reasons, Emacs no longer shows Unicode names of characters
|
||||||
|
in *Help* buffers shown by @code{describe-bindings}.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Support for XInput2 input events on X is gone. We think the
|
To make Emacs configuration simpler and easier to control, the tool bar
|
||||||
traditional X input events are more than enough, certainly so as you
|
can now be displayed only in its natural and logical position: on the
|
||||||
move back in time, where XInput2 will eventually be removed from X as
|
top of the frame; no more of that @code{tool-bar-position} nonsense with
|
||||||
well, once the maintainers of the X Windows system realize the utter
|
tool bars on the bottom. For the same reasons @code{modifier-bar-mode}
|
||||||
futility of supporting fancy input mechanisms.
|
is now gone.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The ``pure GTK'' (a.k.a.@: @acronym{PGTK}) configuration of Emacs is
|
The command @code{recover-file} no longer allows to display the diffs
|
||||||
no longer supported. This is in anticipation of the complete removal
|
between a file and its auto-save file. You either want to recover a
|
||||||
of the GTK toolkit support from Emacs, and in accordance with our
|
file or you don't; confusing users with a third alternative when they
|
||||||
expectation that GTK will cease to exist as you move back in time. We
|
are anxious already by the possibility of losing precious edits is
|
||||||
plan on removing support for all the other toolkits as well, leaving
|
considered a bad idea, certainly so as we move further towards smaller,
|
||||||
only the pure X build with our own widgets as the single supported GUI
|
simpler Emacs.
|
||||||
configuration on X.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The @option{--init-directory} command-line option was removed, as
|
Several languages and input methods, which will fall in disuse as you
|
||||||
initializing Emacs with init files of another user is a preposterous
|
move back in time, were removed. This includes Urdu, Pashto, and Sindhi
|
||||||
idea anyway.
|
languages, and the input method for the Colemak keyboard layout. Many
|
||||||
|
@kbd{C-x 8} key sequences, including those which insert various
|
||||||
|
quotation characters and guillemets, were deleted for the same reason.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
In line with simplifying and eventually removing the
|
The support for @code{lzip}-compressed Info manuals was removed from the
|
||||||
native-compilation option, we've deleted the
|
Info mode. We anticipate that @command{lzip} will disappear from the
|
||||||
@option{--with-native-compilation=aot} configure-time option. This
|
face of the Earth in the near past, and are preparing Emacs for that in
|
||||||
greatly simplifies how native compilation works and makes your
|
advance.
|
||||||
configure-time decision regarding native compilation in Emacs
|
|
||||||
clear-cut: either Emacs compiles non-preloaded Lisp packages to native
|
|
||||||
code only before using it, or it never uses native compilation at all;
|
|
||||||
no more half measures and special exceptions. For similar reasons,
|
|
||||||
@code{native-compile-prune-cache} and
|
|
||||||
@code{startup-redirect-eln-cache} features are no longer part of
|
|
||||||
Emacs.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
We've deleted the special code and features which allowed Emacs to
|
Support for LLDB in Grand Unified Debugger mode was dropped. We decided
|
||||||
present decent performance and responsiveness when editing files with
|
that given LLDB's diminishing popularity, its support is just code
|
||||||
very long lines. Such files become more and more rare as time goes
|
bloat.
|
||||||
back, and so having all this tricky code in Emacs for their benefit
|
|
||||||
was deemed an unnecessary complication.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Emacs dropped support for Eglot and the LSP servers. We decided that
|
Several fancy Project and VC commands were deleted, as part of our
|
||||||
the built-in ways of analyzing source code are more than enough as you
|
consistent effort of making Emacs simpler to use.
|
||||||
move back in time.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Commands to scale and rotate images are once again bound to single
|
The user option @code{shell-command-guess-functions} and the context
|
||||||
keys like @kbd{+}, @kbd{-}, and @kbd{r}, which makes them much easier
|
menu @samp{Open With} in Dired are gone. We trust Emacs users to always
|
||||||
to type. As for the risk of typing these by mistake, we don't believe
|
know themselves which shell command is the appropriate one for a given
|
||||||
Emacs users make typing mistakes, especially as they move back in
|
file, so no guessing by Dired is needed, or welcome. The
|
||||||
time and become younger and younger.
|
@code{dired-do-open} command was deleted for the same reasons.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
To simplify typing popular commands, we've rebound the @w{@kbd{C-x 8 . .}}
|
We went back to the original lean-and-mean interface for specifying
|
||||||
back to @w{@kbd{C-x 8 .}} and @w{@kbd{C-x 8 = =}} back to @w{@kbd{C-x 8 =}}.
|
registers for register-related commands. The fancy preview and the
|
||||||
There's no need for fancier, longer key sequences, as moving back in
|
options to go with it were deemed gratuitous and were removed.
|
||||||
time means we will have fewer and fewer commands to bind to them in
|
|
||||||
the first place.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
If you inadvertently kill the @file{*scratch*} buffer, Emacs will
|
Eshell is now much smaller and easier to use, due to dropping quite a
|
||||||
recreate it in Fundamental mode, not in Lisp Interaction mode. You
|
few of the new commands and fancy new options.
|
||||||
get to turn on the mode you like yourself. Our long-term plans for
|
|
||||||
past Emacs releases is to remove the recreation of @file{*scratch*}
|
|
||||||
altogether, and this is the first step in that direction.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Support for @code{rlogin} and @code{rsh} protocols are back, since we
|
The command @code{customize-dirlocals} was removed. Editing the
|
||||||
expect them to become more and more important and popular as you move
|
@file{.dir-locals.el} files as plain text is so much simpler, and quite
|
||||||
back in time.
|
enough.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
In preparation for eventual removal of Unicode support from Emacs,
|
We have removed several packages that we consider unnecessary for the
|
||||||
we've downgraded our Unicode support to version 14.0.
|
past of Emacs. This includes EditorConfig support, @samp{which-key},
|
||||||
|
PEG, and Window-Tool-Bar.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
You can no longer change the size of the font globally. Since Emacs
|
The @code{etags-regen-mode} was deleted. Regeneration of @file{TAGS}
|
||||||
will at some past date remove all support for variable-size fonts,
|
tables manually is all Emacs users will need in the past.
|
||||||
having such commands is a luxury we are better without.
|
|
||||||
|
|
||||||
@item
|
|
||||||
On our permanent quest for simplifying Emacs, we've removed the
|
|
||||||
commands @code{duplicate-line} and @code{duplicate-dwim}; the old-time
|
|
||||||
friends @kbd{M-w} and @kbd{C-y} (typed one or more times) should
|
|
||||||
suffice. The command @code{rename-visited-file} is gone for the same
|
|
||||||
reason.
|
|
||||||
|
|
||||||
@item
|
|
||||||
We've deleted many commands related to Emoji, which were bound in the
|
|
||||||
@kbd{C-x 8 e} prefix keymap. We decided that the ability to type
|
|
||||||
Emoji sequences using @kbd{C-x 8 @key{RET}} is enough, and actually
|
|
||||||
serves our users better by requiring them to know the codepoints of
|
|
||||||
the sequences they want to type.
|
|
||||||
|
|
||||||
@item
|
|
||||||
We dropped support for many scripts and input methods, especially old
|
|
||||||
scripts that no one uses anyway. For similar reasons, Greek and
|
|
||||||
Ukrainian translations of the Emacs tutorial are not available
|
|
||||||
anymore.
|
|
||||||
|
|
||||||
@item
|
|
||||||
@file{package.el} can no longer fetch source code of packages from
|
|
||||||
their VCS repositories. We think command-line tools like Git should
|
|
||||||
be enough to allow you to clone their repositories. So we deleted
|
|
||||||
the @code{package-vc-install} command and other similar commands.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
To keep up with decreasing computer memory capacity and disk space, many
|
To keep up with decreasing computer memory capacity and disk space, many
|
||||||
other functions and files have been eliminated in Emacs 28.2.
|
other functions and files have been eliminated in Emacs 29.4.
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
|
||||||
|
|
@ -220,7 +220,7 @@ Appendices
|
||||||
* GNU Free Documentation License:: The license for this documentation.
|
* GNU Free Documentation License:: The license for this documentation.
|
||||||
* Emacs Invocation:: Hairy startup options.
|
* Emacs Invocation:: Hairy startup options.
|
||||||
* X Resources:: X resources for customizing Emacs.
|
* X Resources:: X resources for customizing Emacs.
|
||||||
* Antinews:: Information about Emacs version 28.
|
* Antinews:: Information about Emacs version 29.
|
||||||
* Mac OS / GNUstep:: Using Emacs under macOS and GNUstep.
|
* Mac OS / GNUstep:: Using Emacs under macOS and GNUstep.
|
||||||
* Haiku:: Using Emacs on Haiku.
|
* Haiku:: Using Emacs on Haiku.
|
||||||
* Android:: Using Emacs on Android.
|
* Android:: Using Emacs on Android.
|
||||||
|
|
|
||||||
|
|
@ -6,178 +6,113 @@
|
||||||
@c This node must have no pointers.
|
@c This node must have no pointers.
|
||||||
|
|
||||||
@node Antinews
|
@node Antinews
|
||||||
@appendix Emacs 28 Antinews
|
@appendix Emacs 29 Antinews
|
||||||
@c Update the elisp.texi Antinews menu entry with the above version number.
|
@c Update the elisp.texi Antinews menu entry with the above version number.
|
||||||
|
|
||||||
For those users who live backwards in time, here is information about
|
For those users who live backwards in time, here is information about
|
||||||
downgrading to Emacs version 28.2. We hope you will enjoy the greater
|
downgrading to Emacs version 29.4. We hope you will enjoy the greater
|
||||||
simplicity that results from the absence of many @w{Emacs
|
simplicity that results from the absence of many @w{Emacs
|
||||||
@value{EMACSVER}} features.
|
@value{EMACSVER}} features.
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
The implementation of overlays is back to its simple, time-proven
|
Mouse wheel events once again follow the platform and window-system
|
||||||
storage in a pair of linear linked lists centered around some buffer
|
conventions: sometimes they are @code{wheel-up/down} and sometimes
|
||||||
position. No more fancy interval trees and suchlikes. Lisp programs
|
@code{mouse-4/5/6/7}. Lisp programs which use these should once again
|
||||||
that use overlays once again need to recenter overlays around the
|
be aware of the conventions in effect and behave accordingly.
|
||||||
buffer position of interest, and display-related features should again
|
|
||||||
make sure they don't use too many overlays in a buffer, lest redisplay
|
|
||||||
will be too slow.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Several functions stopped the annoying conversion of quotes and key
|
The command @code{describe-function} no longer distracts you by showing
|
||||||
sequences by no longer calling @code{substitute-command-keys}. One
|
unnecessary details like the type of the function's object. Emacs
|
||||||
prominent example is @code{format-prompt} and all its many callers.
|
hackers always know whether a function is a primitive, a native-compiled
|
||||||
This makes the strings they produce much more predictable, returning
|
Lisp function, or any other kind. Stating the obvious simply wastes the
|
||||||
to you, the Lisp programmer, control on which punctuation characters
|
precious screen estate; as you move into the past, and the typical
|
||||||
will appear in the text presented to the users. For similar reasons,
|
dimensions of the screen become smaller, that waste is less and less
|
||||||
the @code{substitute-quotes} function was deleted.
|
justified. So we made the waste smaller.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The venerable @code{buffer-modified-p} function again reliably returns
|
The support for styled underline in face attribute was dropped. The
|
||||||
either @code{nil} or @code{t}, not any other confusing values.
|
simple underline should be enough; anything else is just code bloat and
|
||||||
|
creeping featurism. Colorful underlines on TTY frames are no longer
|
||||||
|
supported for the same reason.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The support for @samp{medium} weight of fonts was dropped. Emacs now
|
IELM stopped recording its input history. You will no longer be annoyed
|
||||||
considers @samp{medium} and @samp{regular} weights to be the same. We
|
by inputs from your past sessions; each session starts with a clean
|
||||||
believe this will simplify your font setup, since there's no longer a
|
slate. What can be simpler and easier to remember?
|
||||||
need to worry about fonts that support @samp{regular} weight, but not
|
|
||||||
the @samp{medium} one, or vice versa: either one will do!
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
To reduce the amount of code in Emacs related to unimportant features,
|
You can no longer disable JavaScript in xwidget Webkit sessions. Since
|
||||||
we've removed the function @code{compiled-function-p}. Lisp programs
|
xwidgets are going away in one of the previous Emacs versions, we
|
||||||
are expected to test explicitly for the relevant types of function
|
decided to make this one step in that direction and get rid of this
|
||||||
objects: built-in, byte-compiled, and natively-compiled. For the same
|
complication.
|
||||||
reasons we deleted the functions @code{pos-bol}, @code{pos-eol},
|
|
||||||
@code{file-attribute-file-identifier}, and quite a few others. We
|
|
||||||
don't expect anyone to miss those fancy functions.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The timeout used by @code{x-show-tip} can no longer be specified by
|
The @code{minibuffer-regexp-mode} was removed. Regular expressions are
|
||||||
Lisp programs; it is hard-coded in the function. This will lead to a
|
just strings, so no fancy mode should be needed for editing them.
|
||||||
simpler, easier maintained code, and no one should want to control the
|
|
||||||
timeout after which the tip pops down.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The macro @code{setopt} was deleted; use @code{customize-variable}
|
We removed the Compat package. Forward compatibility for ELPA packages
|
||||||
instead, or invoke the @code{:set} function from Lisp.
|
becomes less and less important as you move back through time, and soon
|
||||||
|
enough ELPA will disappear entirely. We decided it was prudent to start
|
||||||
|
preparing for that now.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
We removed the @code{lisp-directory} variable, as the value can be
|
We are back to interpreting @code{\x} without any following hex digits
|
||||||
easily deduced from other similar variables, like
|
as character code zero (@acronym{NUL}), as it always was in Emacs. The
|
||||||
@code{installation-directory} and @code{source-directory}, each one
|
savings in typing due to this alone are enough to justify this
|
||||||
when it's relevant.
|
simplification.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
To simplify code and reduce complexity, we deleted the functions
|
To keep Emacs clean and elegant, we've removed the ability to show
|
||||||
@code{get-display-property} and @code{add-display-text-property}; use
|
tooltips for fringe bitmaps. What important information cam be shown on
|
||||||
the generic @code{get-text-property} and @code{put-text-property}
|
the fringes, and why would it require tooltips to explain its purpose?
|
||||||
instead.
|
We decided it isn't justified to keep this in past versions of Emacs.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Support for pinch input events and for modern drag-and-drop
|
Fancy sorting-related facilities, like the @code{value<} function and
|
||||||
functionality on X was dropped. As you move back in time, these
|
keyword arguments for @code{sort}, were deleted as too complex. The
|
||||||
facilities will become less and less important, and will soon enough
|
basic @code{sort} function should all that's needed in the years to go.
|
||||||
disappear, so there's no reason to keep them in Emacs.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
To keep Emacs clean and elegant, we've removed the @file{textsec.el}
|
Features related to the inheritance graph of major modes were deemed
|
||||||
library, with its facilities for checking whether some text is
|
unnecessary and thus were dropped. This includes
|
||||||
``suspicious''. We consider our users smart enough to detect
|
@code{provided-mode-derived-p}, @code{derived-mode-add-parents}, and
|
||||||
maliciously modified text by just looking at it or by moving the
|
others. We decided that untangling the mode inheritance relationships
|
||||||
cursor across it, and the whole idea that someone would wish to
|
by hand facilitates more clear code and makes the intent evident.
|
||||||
deliberately deceive Emacs users ridiculous and unworthy of
|
|
||||||
complicating our elegant text-processing and display capabilities.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
The functions @code{keymap-set}, @code{keymap-global-set},
|
We removed unnecessary functionality for handling touch screen events,
|
||||||
@code{keymap-local-set}, @code{keymap-substitute},
|
as touch screens gradually disappear from view as you move back in time.
|
||||||
@code{keymap-lookup}, and some others were deleted. We have found the
|
There's no need to keep obsolete these new inventions in the past.
|
||||||
traditional @code{define-key}, @code{global-set-key},
|
|
||||||
@code{local-set-key}, @code{substitute-key-definition}, and
|
|
||||||
@code{key-binding} more than enough, and their minor inconsistencies
|
|
||||||
in the syntax of keys they accept a source of endless fun in Emacs
|
|
||||||
Lisp programming. Why make Emacs programming a dull place? For the
|
|
||||||
same reasons we deleted @code{key-valid-p}, since we consider the
|
|
||||||
permissive nature of @code{kbd} more in the spirit of Emacs Lisp.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Yanking of anything but plain text from other applications becomes
|
Various new functions and variables for moving and transposing sexps and
|
||||||
more and more an unnecessary feature as you move back in time, so we
|
for moving by program statements were dropped as unnecessary. The
|
||||||
dropped support for pasting media like HTML and images via the
|
original commands that move by balanced expressions are more than
|
||||||
clipboard. If you @i{really} need to yank those into an Emacs buffer,
|
enough.
|
||||||
you can go via a disk file.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
We removed unnecessary functions @code{string-pixel-width} and
|
We deleted some fancy @code{declare} forms for functions, such as
|
||||||
@code{string-glyph-split}, as we consider it inappropriate for Lisp
|
@code{ftype}. Emacs Lisp is not a string-typed language, which makes
|
||||||
programs to do display layout calculations, where these functions come
|
these declarations anathema. The types @code{closure} and
|
||||||
in handy. Display is for the display engine, written in C, and should
|
@code{interpreted-function} are gone for the same reason: no need to
|
||||||
stay there!
|
distinguish types of Lisp functions.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Various new Xwidget functions, such as
|
The byte compiler stopped issuing warnings about practices some purists
|
||||||
@code{xwidget-perform-lispy-event}, @code{xwidget-webkit-load-html},
|
consider questionable. This includes warnings about missing
|
||||||
and @code{xwidget-webkit-back-forward-list}, were deleted as part of
|
@code{lexical-binding} cookies, empty bodies of special forms and
|
||||||
our continuing effort to gradually delete the entire Xwidget
|
macros, comparison with literals, @code{condition-case} without
|
||||||
functionality in some previous release of Emacs.
|
handlers, mutation of constants, and some others. As time moves into
|
||||||
|
the past, the typical Emacs hacker knows best what's correct code and
|
||||||
|
what isn't, and thus these warnings become useless annoyances. Good
|
||||||
|
riddance!
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Setting the @code{:stderr} property of a process in a
|
The @code{obarray} type is gone. Obarrays are back to their original
|
||||||
@code{make-process} call once again forces the process's connection to
|
representation as vectors. Each removed Lisp data type makes Emacs
|
||||||
use pipes, not ptys, for all the standard streams --- a considerable
|
simpler and easier to use, so this is a welcome deletion.
|
||||||
simplification of this complex interface.
|
|
||||||
|
|
||||||
@item
|
|
||||||
To keep the amount of Lisp functions from growing out of control, we
|
|
||||||
deleted @code{string-equal-ignore-case}. Use @code{compare-strings}
|
|
||||||
instead.
|
|
||||||
|
|
||||||
Several features that complicated the byte compiler have been removed:
|
|
||||||
|
|
||||||
@itemize @minus
|
|
||||||
@item
|
|
||||||
The warnings about quoting mistakes in documentation strings. You are
|
|
||||||
expected to find such mistakes yourself, by eyeballing the resulting
|
|
||||||
@file{*Help*} buffer display.
|
|
||||||
|
|
||||||
@item
|
|
||||||
The warnings about malformed @code{defcustom} types, like
|
|
||||||
double-quoting symbols in @code{choice} lists.
|
|
||||||
@end itemize
|
|
||||||
|
|
||||||
@item
|
|
||||||
The macro @code{with-buffer-unmodified-if-unchanged} was deleted.
|
|
||||||
Lisp programs that need to leave the buffer unmodified in these cases
|
|
||||||
can always compare the text before and after the modifications.
|
|
||||||
|
|
||||||
@item
|
|
||||||
The functions @code{string-edit} and @code{read-string-from-buffer}
|
|
||||||
were removed, as we consider the fun of programming them anew every
|
|
||||||
time an important part of the education of each Emacs Lisp developer.
|
|
||||||
|
|
||||||
@item
|
|
||||||
We deleted the function @code{readablep} and the related variable
|
|
||||||
@code{print-unreadable-function}, since no one is supposed to want to
|
|
||||||
print unreadable Lisp objects.
|
|
||||||
|
|
||||||
@item
|
|
||||||
The facility for storing multisession variables was deleted as an
|
|
||||||
unnecessary complication. With it are gone @code{multisession-value},
|
|
||||||
@code{define-multisession-variable}, and
|
|
||||||
@code{list-multisession-values}.
|
|
||||||
|
|
||||||
@item
|
|
||||||
The support for the @code{cursor-face} text property was dropped. We
|
|
||||||
consider the rest of the faces adequate for supporting this
|
|
||||||
functionality.
|
|
||||||
|
|
||||||
@item
|
|
||||||
The function @code{tooltip-show} dropped support for optional face
|
|
||||||
arguments @code{text-face} and @code{default-face} that allow fancy
|
|
||||||
control of the face of the tip text and top frame colors. We decided
|
|
||||||
that tooltips should all look the same, to prevent user confusion.
|
|
||||||
|
|
||||||
@item
|
@item
|
||||||
As part of the ongoing quest for simplicity, many other functions and
|
As part of the ongoing quest for simplicity, many other functions and
|
||||||
|
|
|
||||||
|
|
@ -236,7 +236,7 @@ To view this manual in other formats, click
|
||||||
|
|
||||||
Appendices
|
Appendices
|
||||||
|
|
||||||
* Antinews:: Info for users downgrading to Emacs 28.
|
* Antinews:: Info for users downgrading to Emacs 29.
|
||||||
* GNU Free Documentation License:: The license for this documentation.
|
* GNU Free Documentation License:: The license for this documentation.
|
||||||
* GPL:: Conditions for copying and changing GNU Emacs.
|
* GPL:: Conditions for copying and changing GNU Emacs.
|
||||||
* Tips:: Advice and coding conventions for Emacs Lisp.
|
* Tips:: Advice and coding conventions for Emacs Lisp.
|
||||||
|
|
|
||||||
|
|
@ -23163,7 +23163,7 @@ specify a date December 1, 2005, the call might look like
|
||||||
=(diary-date 12 1 2005)= or =(diary-date 1 12 2005)= or =(diary-date
|
=(diary-date 12 1 2005)= or =(diary-date 1 12 2005)= or =(diary-date
|
||||||
2005 12 1)=, depending on the settings. This has been the source of
|
2005 12 1)=, depending on the settings. This has been the source of
|
||||||
much confusion. Org mode users can resort to special versions of
|
much confusion. Org mode users can resort to special versions of
|
||||||
these functions, namely ~org-date~, ~org-anniversary~, ~org-cyclic, and
|
these functions, namely ~org-date~, ~org-anniversary~, ~org-cyclic~, and
|
||||||
~org-block~. These work just like the corresponding ~diary-~
|
~org-block~. These work just like the corresponding ~diary-~
|
||||||
functions, but with stable ISO order of arguments (year, month, day)
|
functions, but with stable ISO order of arguments (year, month, day)
|
||||||
wherever applicable, independent of the value of
|
wherever applicable, independent of the value of
|
||||||
|
|
|
||||||
19
etc/NEWS.30
19
etc/NEWS.30
|
|
@ -130,17 +130,16 @@ to your init:
|
||||||
The round-trip through the Lisp function
|
The round-trip through the Lisp function
|
||||||
'internal-default-process-filter' is skipped when the process filter is
|
'internal-default-process-filter' is skipped when the process filter is
|
||||||
the default one. It's reimplemented in native code, reducing GC churn.
|
the default one. It's reimplemented in native code, reducing GC churn.
|
||||||
|
To undo this change, set 'fast-read-process-output' to nil.
|
||||||
To undo the change, set 'fast-read-process-output' to nil.
|
|
||||||
|
|
||||||
|
|
||||||
* Changes in Emacs 30.1
|
* Changes in Emacs 30.1
|
||||||
|
|
||||||
** 'describe-function' now shows the type of the function object.
|
** 'describe-function' now shows the type of the function object.
|
||||||
The text used to say things like "car is is a built-in function"
|
The text used to say things like "car is is a built-in function" whereas
|
||||||
whereas it now says "car is a primitive-function" where "primitive-function"
|
it now says "car is a primitive-function" where "primitive-function" is
|
||||||
is the symbol returned by 'cl-type-of' and you can click on it to get
|
the symbol returned by 'cl-type-of'. You can click on those words to
|
||||||
information about that type.
|
get information about that type.
|
||||||
|
|
||||||
** 'advice-remove' is now an interactive command.
|
** 'advice-remove' is now an interactive command.
|
||||||
When called interactively, 'advice-remove' now prompts for an advised
|
When called interactively, 'advice-remove' now prompts for an advised
|
||||||
|
|
@ -1863,7 +1862,7 @@ and keys.
|
||||||
This command pops up a buffer to edit the settings in ".dir-locals.el".
|
This command pops up a buffer to edit the settings in ".dir-locals.el".
|
||||||
|
|
||||||
---
|
---
|
||||||
** New command 'customize-toggle-option'.
|
*** New command 'customize-toggle-option'.
|
||||||
This command can toggle boolean options for the duration of a session.
|
This command can toggle boolean options for the duration of a session.
|
||||||
|
|
||||||
** Calc
|
** Calc
|
||||||
|
|
@ -1992,10 +1991,10 @@ The following new XML schemas are now supported:
|
||||||
- Nuget package specification file
|
- Nuget package specification file
|
||||||
- Nuget packages config file
|
- Nuget packages config file
|
||||||
|
|
||||||
** color.el now supports the Oklab color representation.
|
*** color.el now supports the Oklab color representation.
|
||||||
|
|
||||||
---
|
---
|
||||||
** 'M-x ping' can now give "ping" additional flags.
|
*** 'M-x ping' can now give "ping" additional flags.
|
||||||
Typing 'C-u M-x ping' prompts first for the host, and then for the flags
|
Typing 'C-u M-x ping' prompts first for the host, and then for the flags
|
||||||
to give to "ping".
|
to give to "ping".
|
||||||
|
|
||||||
|
|
@ -3033,7 +3032,7 @@ functionalities to operate correctly.
|
||||||
** MS-Windows
|
** MS-Windows
|
||||||
|
|
||||||
+++
|
+++
|
||||||
*** You can now opt out of following the system's Dark mode.
|
*** You can now opt out of following MS-Windows' Dark mode.
|
||||||
By default, Emacs on MS-Windows follows the system's Dark mode for its
|
By default, Emacs on MS-Windows follows the system's Dark mode for its
|
||||||
title bars' and scroll bars' appearance. If the new user option
|
title bars' and scroll bars' appearance. If the new user option
|
||||||
'w32-follow-system-dark-mode' is customized to the nil value, Emacs
|
'w32-follow-system-dark-mode' is customized to the nil value, Emacs
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,9 @@ Please send Org bug reports to mailto:emacs-orgmode@gnu.org.
|
||||||
# Here, we list the *most important* changes and changes that _likely_
|
# Here, we list the *most important* changes and changes that _likely_
|
||||||
# require user action for most Org mode users.
|
# require user action for most Org mode users.
|
||||||
# Sorted from most important to least important.
|
# Sorted from most important to least important.
|
||||||
|
*** Arbitrary shell commands may no longer run when turning on Org mode
|
||||||
|
|
||||||
|
This is for security reasons, to avoid running malicious commands.
|
||||||
|
|
||||||
*** =python-mode.el (MELPA)= support in =ob-python.el= is removed
|
*** =python-mode.el (MELPA)= support in =ob-python.el= is removed
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
% Reference Card for Org Mode
|
% Reference Card for Org Mode
|
||||||
\def\orgversionnumber{9.7.4}
|
\def\orgversionnumber{9.7.5}
|
||||||
\def\versionyear{2024} % latest update
|
\def\versionyear{2024} % latest update
|
||||||
\input emacsver.tex
|
\input emacsver.tex
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -179,6 +179,9 @@ Usage example:
|
||||||
(read-multiple-choice--short-answers
|
(read-multiple-choice--short-answers
|
||||||
prompt choices help-string show-help)))
|
prompt choices help-string show-help)))
|
||||||
|
|
||||||
|
(declare-function touch-screen-scroll "touch-screen.el")
|
||||||
|
(declare-function touch-screen-pinch "touch-screen.el")
|
||||||
|
|
||||||
(defun read-multiple-choice--short-answers (prompt choices help-string show-help)
|
(defun read-multiple-choice--short-answers (prompt choices help-string show-help)
|
||||||
(let* ((dialog-p (use-dialog-box-p))
|
(let* ((dialog-p (use-dialog-box-p))
|
||||||
(prompt-choices
|
(prompt-choices
|
||||||
|
|
@ -225,7 +228,11 @@ Usage example:
|
||||||
(when (setq command
|
(when (setq command
|
||||||
(let ((current-key-remap-sequence
|
(let ((current-key-remap-sequence
|
||||||
(vector tchar)))
|
(vector tchar)))
|
||||||
(touch-screen-translate-touch nil)))
|
;; Provide an empty prompt to `t-s-t-t' so
|
||||||
|
;; that it may not repeatedly display
|
||||||
|
;; and/or disable the on-screen keyboard,
|
||||||
|
;; or move point.
|
||||||
|
(touch-screen-translate-touch "")))
|
||||||
(setq command (if (> (length command) 0)
|
(setq command (if (> (length command) 0)
|
||||||
(aref command 0)
|
(aref command 0)
|
||||||
nil))
|
nil))
|
||||||
|
|
@ -240,9 +247,9 @@ Usage example:
|
||||||
;; Respond to scroll and pinch events as if RMC were
|
;; Respond to scroll and pinch events as if RMC were
|
||||||
;; not in progress.
|
;; not in progress.
|
||||||
((eq (car-safe command) 'touchscreen-scroll)
|
((eq (car-safe command) 'touchscreen-scroll)
|
||||||
(funcall #'touch-screen-scroll command))
|
(touch-screen-scroll command))
|
||||||
((eq (car-safe command) 'touchscreen-pinch)
|
((eq (car-safe command) 'touchscreen-pinch)
|
||||||
(funcall #'touch-screen-pinch command))
|
(touch-screen-pinch command))
|
||||||
;; Prevent other touchscreen-generated events from
|
;; Prevent other touchscreen-generated events from
|
||||||
;; reaching the default conditional.
|
;; reaching the default conditional.
|
||||||
((memq (or (and (symbolp command) command)
|
((memq (or (and (symbolp command) command)
|
||||||
|
|
|
||||||
|
|
@ -425,7 +425,7 @@ If this value is too low, servers may reject your initial nick
|
||||||
request upon reconnecting because they haven't yet noticed that
|
request upon reconnecting because they haven't yet noticed that
|
||||||
your previous connection is dead. If this happens, try setting
|
your previous connection is dead. If this happens, try setting
|
||||||
this value to 120 or greater and/or exploring the option
|
this value to 120 or greater and/or exploring the option
|
||||||
`erc-regain-services-alist', which may provide a more proactive
|
`erc-services-regain-alist', which may provide a more proactive
|
||||||
means of handling this situation on some servers."
|
means of handling this situation on some servers."
|
||||||
:type 'number)
|
:type 'number)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -769,6 +769,7 @@ SPACES-REGEXP is a regexp to substitute spaces in font-lock search."
|
||||||
;; Hashcons the regexp, so it can be passed to remove-overlays later.
|
;; Hashcons the regexp, so it can be passed to remove-overlays later.
|
||||||
(setq regexp (hi-lock--hashcons regexp))
|
(setq regexp (hi-lock--hashcons regexp))
|
||||||
(setq subexp (or subexp 0))
|
(setq subexp (or subexp 0))
|
||||||
|
(when lighter (setq lighter (propertize lighter 'regexp regexp)))
|
||||||
(let ((pattern (list (lambda (limit)
|
(let ((pattern (list (lambda (limit)
|
||||||
(let ((case-fold-search case-fold)
|
(let ((case-fold-search case-fold)
|
||||||
(search-spaces-regexp spaces-regexp))
|
(search-spaces-regexp spaces-regexp))
|
||||||
|
|
@ -879,15 +880,18 @@ Apply the previous patterns after reverting the buffer."
|
||||||
(let ((hi-lock-file-patterns-policy policy))
|
(let ((hi-lock-file-patterns-policy policy))
|
||||||
(hi-lock-mode 1))
|
(hi-lock-mode 1))
|
||||||
(setq rehighlight t))
|
(setq rehighlight t))
|
||||||
;; When hi-lock overlays were relocated to the top
|
;; When using hi-lock overlays, then need to update them
|
||||||
(when (seq-some (lambda (o) (overlay-get o 'hi-lock-overlay))
|
(unless (and font-lock-mode (font-lock-specified-p major-mode)
|
||||||
(overlays-in (point-min) (point-min)))
|
(not hi-lock-use-overlays))
|
||||||
(hi-lock-unface-buffer t)
|
(hi-lock-unface-buffer t)
|
||||||
(setq rehighlight t))
|
(setq rehighlight t))
|
||||||
(when rehighlight
|
(when rehighlight
|
||||||
|
(setq hi-lock--unused-faces hi-lock-face-defaults)
|
||||||
(dolist (pattern (reverse patterns))
|
(dolist (pattern (reverse patterns))
|
||||||
(let ((face (hi-lock-keyword->face (cdr pattern))))
|
(let ((face (hi-lock-keyword->face (cdr pattern))))
|
||||||
(highlight-regexp (car pattern) face)
|
(highlight-regexp (or (get-text-property 0 'regexp (car pattern))
|
||||||
|
(car pattern))
|
||||||
|
face)
|
||||||
(setq hi-lock--unused-faces
|
(setq hi-lock--unused-faces
|
||||||
(remove (face-name face) hi-lock--unused-faces)))))))))
|
(remove (face-name face) hi-lock--unused-faces)))))))))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -484,7 +484,7 @@ Returns a placeholder string for insertion, to later be replaced
|
||||||
by `org-babel-comint-async-filter'."
|
by `org-babel-comint-async-filter'."
|
||||||
(org-babel-comint-async-register
|
(org-babel-comint-async-register
|
||||||
session (current-buffer)
|
session (current-buffer)
|
||||||
"^\\(?:[>.+] \\)*\\[1\\] \"ob_comint_async_R_\\(.+?\\)_\\(.+\\)\"$"
|
"^\\(?:[>.+] \\)*\\[1\\] \"ob_comint_async_R_\\(start\\|end\\|file\\)_\\(.+\\)\"$"
|
||||||
'org-babel-chomp
|
'org-babel-chomp
|
||||||
'ob-session-async-R-value-callback)
|
'ob-session-async-R-value-callback)
|
||||||
(cl-case result-type
|
(cl-case result-type
|
||||||
|
|
|
||||||
|
|
@ -2959,9 +2959,9 @@ used as a string to be appended to #+begin_example line."
|
||||||
(goto-char body-start)
|
(goto-char body-start)
|
||||||
(insert body))))
|
(insert body))))
|
||||||
|
|
||||||
(defun org-babel-merge-params (&rest plists)
|
(defun org-babel-merge-params (&rest alists)
|
||||||
"Combine all parameter association lists in PLISTS.
|
"Combine all parameter association lists in ALISTS.
|
||||||
Later elements of PLISTS override the values of previous elements.
|
Later elements of ALISTS override the values of previous elements.
|
||||||
This takes into account some special considerations for certain
|
This takes into account some special considerations for certain
|
||||||
parameters when merging lists."
|
parameters when merging lists."
|
||||||
(let* ((results-exclusive-groups
|
(let* ((results-exclusive-groups
|
||||||
|
|
@ -2990,8 +2990,8 @@ parameters when merging lists."
|
||||||
;; Some keywords accept multiple values. We need to treat
|
;; Some keywords accept multiple values. We need to treat
|
||||||
;; them specially.
|
;; them specially.
|
||||||
vars results exports)
|
vars results exports)
|
||||||
(dolist (plist plists)
|
(dolist (alist alists)
|
||||||
(dolist (pair plist)
|
(dolist (pair alist)
|
||||||
(pcase pair
|
(pcase pair
|
||||||
(`(:var . ,value)
|
(`(:var . ,value)
|
||||||
(let ((name (cond
|
(let ((name (cond
|
||||||
|
|
|
||||||
|
|
@ -537,7 +537,7 @@ Returns a placeholder string for insertion, to later be replaced
|
||||||
by `org-babel-comint-async-filter'."
|
by `org-babel-comint-async-filter'."
|
||||||
(org-babel-comint-async-register
|
(org-babel-comint-async-register
|
||||||
session (current-buffer)
|
session (current-buffer)
|
||||||
"ob_comint_async_python_\\(.+\\)_\\(.+\\)"
|
"ob_comint_async_python_\\(start\\|end\\|file\\)_\\(.+\\)"
|
||||||
'org-babel-chomp 'org-babel-python-async-value-callback)
|
'org-babel-chomp 'org-babel-python-async-value-callback)
|
||||||
(pcase result-type
|
(pcase result-type
|
||||||
(`output
|
(`output
|
||||||
|
|
|
||||||
|
|
@ -92,10 +92,10 @@ variables."
|
||||||
name))
|
name))
|
||||||
(funcall (if (fboundp 'defvar-1) #'defvar-1 #'set) ;Emacs-29
|
(funcall (if (fboundp 'defvar-1) #'defvar-1 #'set) ;Emacs-29
|
||||||
(intern (concat "org-babel-default-header-args:" name))
|
(intern (concat "org-babel-default-header-args:" name))
|
||||||
nil)
|
org-babel-default-header-args:shell)
|
||||||
(funcall (if (fboundp 'defvar-1) #'defvar-1 #'set) ;Emacs-29
|
(funcall (if (fboundp 'defvar-1) #'defvar-1 #'set) ;Emacs-29
|
||||||
(intern (concat "org-babel-header-args:" name))
|
(intern (concat "org-babel-header-args:" name))
|
||||||
nil)))
|
org-babel-header-args:shell)))
|
||||||
|
|
||||||
(defcustom org-babel-shell-names
|
(defcustom org-babel-shell-names
|
||||||
'("sh" "bash" "zsh" "fish" "csh" "ash" "dash" "ksh" "mksh" "posh")
|
'("sh" "bash" "zsh" "fish" "csh" "ash" "dash" "ksh" "mksh" "posh")
|
||||||
|
|
@ -338,7 +338,7 @@ return the value of the last statement in BODY."
|
||||||
(org-babel-comint-async-register
|
(org-babel-comint-async-register
|
||||||
session
|
session
|
||||||
(current-buffer)
|
(current-buffer)
|
||||||
"ob_comint_async_shell_\\(.+\\)_\\(.+\\)"
|
"ob_comint_async_shell_\\(start\\|end\\|file\\)_\\(.+\\)"
|
||||||
'ob-shell-async-chunk-callback
|
'ob-shell-async-chunk-callback
|
||||||
nil)
|
nil)
|
||||||
(org-babel-comint-async-delete-dangling-and-eval
|
(org-babel-comint-async-delete-dangling-and-eval
|
||||||
|
|
|
||||||
|
|
@ -1662,7 +1662,7 @@ definition."
|
||||||
;; Insert affiliated keywords before the table.
|
;; Insert affiliated keywords before the table.
|
||||||
(when content-lines
|
(when content-lines
|
||||||
(while (string-match-p "\\`[ \t]*#\\+" (car content-lines))
|
(while (string-match-p "\\`[ \t]*#\\+" (car content-lines))
|
||||||
(insert (pop content-lines) "\n")))
|
(insert (string-trim-left (pop content-lines)) "\n")))
|
||||||
(save-excursion
|
(save-excursion
|
||||||
;; Insert table at point.
|
;; Insert table at point.
|
||||||
(insert
|
(insert
|
||||||
|
|
@ -1675,7 +1675,7 @@ definition."
|
||||||
(let ((case-fold-search t))
|
(let ((case-fold-search t))
|
||||||
(dolist (line content-lines)
|
(dolist (line content-lines)
|
||||||
(when (string-match-p "\\`[ \t]*#\\+TBLFM:" line)
|
(when (string-match-p "\\`[ \t]*#\\+TBLFM:" line)
|
||||||
(insert "\n" line)
|
(insert "\n" (string-trim-left line))
|
||||||
(unless recalc (setq recalc t))))))
|
(unless recalc (setq recalc t))))))
|
||||||
(when recalc (org-table-recalculate 'all t))
|
(when recalc (org-table-recalculate 'all t))
|
||||||
(org-table-align)
|
(org-table-align)
|
||||||
|
|
|
||||||
|
|
@ -270,7 +270,7 @@ Return value is the containing property name, as a keyword, or nil."
|
||||||
"Dynamically computed value.
|
"Dynamically computed value.
|
||||||
|
|
||||||
The value can be obtained by calling FUNCTION with containing syntax
|
The value can be obtained by calling FUNCTION with containing syntax
|
||||||
node as first argument and ARGS list as remainting arguments.
|
node as first argument and ARGS list as remaining arguments.
|
||||||
|
|
||||||
If the function throws `:org-element-deferred-retry' signal, assume
|
If the function throws `:org-element-deferred-retry' signal, assume
|
||||||
that the syntax node has been modified by side effect and retry
|
that the syntax node has been modified by side effect and retry
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@
|
||||||
;; to current setup.
|
;; to current setup.
|
||||||
|
|
||||||
(defconst org-element-archive-tag "ARCHIVE"
|
(defconst org-element-archive-tag "ARCHIVE"
|
||||||
"Tag marking a substree as archived.")
|
"Tag marking a subtree as archived.")
|
||||||
|
|
||||||
(defconst org-element-citation-key-re
|
(defconst org-element-citation-key-re
|
||||||
(rx "@" (group (one-or-more (any word "-.:?!`'/*@+|(){}<>&_^$#%~"))))
|
(rx "@" (group (one-or-more (any word "-.:?!`'/*@+|(){}<>&_^$#%~"))))
|
||||||
|
|
@ -181,8 +181,7 @@ Drawer's name is located in match group 1.")
|
||||||
(rx line-start (0+ (any ?\s ?\t))
|
(rx line-start (0+ (any ?\s ?\t))
|
||||||
":" (1+ (any ?- ?_ word)) ":"
|
":" (1+ (any ?- ?_ word)) ":"
|
||||||
(0+ (any ?\s ?\t)) line-end)
|
(0+ (any ?\s ?\t)) line-end)
|
||||||
"Regexp matching opening or closing line of a drawer.
|
"Regexp matching opening or closing line of a drawer.")
|
||||||
Drawer's name is located in match group 1.")
|
|
||||||
|
|
||||||
(defconst org-element-dynamic-block-open-re
|
(defconst org-element-dynamic-block-open-re
|
||||||
(rx line-start (0+ (any ?\s ?\t))
|
(rx line-start (0+ (any ?\s ?\t))
|
||||||
|
|
@ -4679,7 +4678,7 @@ element it has to parse."
|
||||||
;;
|
;;
|
||||||
;; In general, the checks below should be as efficient as
|
;; In general, the checks below should be as efficient as
|
||||||
;; possible, especially early in the `cond' form. (The
|
;; possible, especially early in the `cond' form. (The
|
||||||
;; early checks will contribute to al subsequent parsers as
|
;; early checks will contribute to all subsequent parsers as
|
||||||
;; well).
|
;; well).
|
||||||
(cond
|
(cond
|
||||||
;; Item.
|
;; Item.
|
||||||
|
|
@ -5956,7 +5955,7 @@ better to remove the commands advised in such a way from this list.")
|
||||||
|
|
||||||
(defmacro org-element--cache-log-message (format-string &rest args)
|
(defmacro org-element--cache-log-message (format-string &rest args)
|
||||||
"Add a new log message for org-element-cache.
|
"Add a new log message for org-element-cache.
|
||||||
FORMAT-STRING and ARGS are the same arguments as in `foramt'."
|
FORMAT-STRING and ARGS are the same arguments as in `format'."
|
||||||
`(when (or org-element--cache-diagnostics
|
`(when (or org-element--cache-diagnostics
|
||||||
(eq org-element--cache-self-verify 'backtrace))
|
(eq org-element--cache-self-verify 'backtrace))
|
||||||
(let* ((format-string (concat (format "org-element-cache diagnostics(%s): "
|
(let* ((format-string (concat (format "org-element-cache diagnostics(%s): "
|
||||||
|
|
@ -6226,7 +6225,7 @@ the cache."
|
||||||
;; children starting at the same pos.
|
;; children starting at the same pos.
|
||||||
(not (org-element-type-p hashed '(section org-data table))))
|
(not (org-element-type-p hashed '(section org-data table))))
|
||||||
hashed
|
hashed
|
||||||
;; No appriate HASHED. Search the cache.
|
;; No appropriate HASHED. Search the cache.
|
||||||
(while node
|
(while node
|
||||||
(let* ((element (avl-tree--node-data node))
|
(let* ((element (avl-tree--node-data node))
|
||||||
(begin (org-element-begin element)))
|
(begin (org-element-begin element)))
|
||||||
|
|
@ -8323,7 +8322,7 @@ the cache."
|
||||||
limit-count))
|
limit-count))
|
||||||
(cache-walk-abort))
|
(cache-walk-abort))
|
||||||
;; Make sure that we have a cached
|
;; Make sure that we have a cached
|
||||||
;; element at the new STAR.
|
;; element at the new START.
|
||||||
(when start (element-match-at-point)))
|
(when start (element-match-at-point)))
|
||||||
;; Check if the buffer or cache has been modified.
|
;; Check if the buffer or cache has been modified.
|
||||||
(unless (org-with-base-buffer nil
|
(unless (org-with-base-buffer nil
|
||||||
|
|
|
||||||
|
|
@ -666,7 +666,14 @@ When INNER is non-nil, do not try to match as list of containers."
|
||||||
(fboundp 'file-attribute-inode-number))
|
(fboundp 'file-attribute-inode-number))
|
||||||
(file-attribute-inode-number
|
(file-attribute-inode-number
|
||||||
(file-attributes file))))
|
(file-attributes file))))
|
||||||
(setq hash (secure-hash 'md5 associated))
|
(setq hash
|
||||||
|
;; `secure-hash' may trigger interactive dialog when it
|
||||||
|
;; cannot determine the coding system automatically.
|
||||||
|
;; Force coding system that works reliably for any text
|
||||||
|
;; to avoid it. The has will be consistent anyway, as
|
||||||
|
;; long as we use the same coding system.
|
||||||
|
(let ((coding-system-for-write 'emacs-internal))
|
||||||
|
(secure-hash 'md5 associated)))
|
||||||
(puthash associated
|
(puthash associated
|
||||||
(list (buffer-modified-tick associated)
|
(list (buffer-modified-tick associated)
|
||||||
file inode hash)
|
file inode hash)
|
||||||
|
|
|
||||||
|
|
@ -666,12 +666,12 @@ this function appends the default value from
|
||||||
#'completing-read))
|
#'completing-read))
|
||||||
(extra (if org-refile-use-outline-path "/" ""))
|
(extra (if org-refile-use-outline-path "/" ""))
|
||||||
(cbnex (concat (buffer-name) extra))
|
(cbnex (concat (buffer-name) extra))
|
||||||
(filename (and cfn (expand-file-name cfn)))
|
(filename (and cfn (file-truename cfn)))
|
||||||
(tbl (mapcar
|
(tbl (mapcar
|
||||||
(lambda (x)
|
(lambda (x)
|
||||||
(if (and (not (member org-refile-use-outline-path
|
(if (and (not (member org-refile-use-outline-path
|
||||||
'(file full-file-path title)))
|
'(file full-file-path title)))
|
||||||
(not (equal filename (nth 1 x))))
|
(not (equal filename (file-truename (nth 1 x)))))
|
||||||
(cons (concat (car x) extra " ("
|
(cons (concat (car x) extra " ("
|
||||||
(file-name-nondirectory (nth 1 x)) ")")
|
(file-name-nondirectory (nth 1 x)) ")")
|
||||||
(cdr x))
|
(cdr x))
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@
|
||||||
(defun org-release ()
|
(defun org-release ()
|
||||||
"The release version of Org.
|
"The release version of Org.
|
||||||
Inserted by installing Org mode or when a release is made."
|
Inserted by installing Org mode or when a release is made."
|
||||||
(let ((org-release "9.7.4"))
|
(let ((org-release "9.7.5"))
|
||||||
org-release))
|
org-release))
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun org-git-version ()
|
(defun org-git-version ()
|
||||||
"The Git version of Org mode.
|
"The Git version of Org mode.
|
||||||
Inserted by installing Org or when a release is made."
|
Inserted by installing Org or when a release is made."
|
||||||
(let ((org-git-version "release_9.7.4-7-g165319"))
|
(let ((org-git-version "release_9.7.5-9-ga091ca"))
|
||||||
org-git-version))
|
org-git-version))
|
||||||
|
|
||||||
(provide 'org-version)
|
(provide 'org-version)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
;; URL: https://orgmode.org
|
;; URL: https://orgmode.org
|
||||||
;; Package-Requires: ((emacs "26.1"))
|
;; Package-Requires: ((emacs "26.1"))
|
||||||
|
|
||||||
;; Version: 9.7.4
|
;; Version: 9.7.5
|
||||||
|
|
||||||
;; This file is part of GNU Emacs.
|
;; This file is part of GNU Emacs.
|
||||||
;;
|
;;
|
||||||
|
|
@ -4541,6 +4541,7 @@ directory."
|
||||||
;; Fake Org mode: `org-element-at-point'
|
;; Fake Org mode: `org-element-at-point'
|
||||||
;; doesn't need full set-up.
|
;; doesn't need full set-up.
|
||||||
(let ((major-mode 'org-mode))
|
(let ((major-mode 'org-mode))
|
||||||
|
(setq-local tab-width 8)
|
||||||
(setq alist
|
(setq alist
|
||||||
(org--collect-keywords-1
|
(org--collect-keywords-1
|
||||||
keywords unique directory
|
keywords unique directory
|
||||||
|
|
|
||||||
|
|
@ -1633,7 +1633,10 @@ integer value is also printed as a character of that codepoint.
|
||||||
If `eval-expression-debug-on-error' is non-nil, which is the default,
|
If `eval-expression-debug-on-error' is non-nil, which is the default,
|
||||||
this command arranges for all errors to enter the debugger."
|
this command arranges for all errors to enter the debugger."
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(values--store-value
|
(funcall
|
||||||
|
;; Not sure why commit 4428c27c1ae7d stored into `values' only when
|
||||||
|
;; `eval-expression-debug-on-error' was nil, but let's preserve that.
|
||||||
|
(if eval-expression-debug-on-error #'identity #'values--store-value)
|
||||||
(handler-bind ((error (if eval-expression-debug-on-error
|
(handler-bind ((error (if eval-expression-debug-on-error
|
||||||
#'eval-expression--debug #'ignore)))
|
#'eval-expression--debug #'ignore)))
|
||||||
(elisp--eval-last-sexp eval-last-sexp-arg-internal))))
|
(elisp--eval-last-sexp eval-last-sexp-arg-internal))))
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,8 @@
|
||||||
(defcustom lua-ts-mode-hook nil
|
(defcustom lua-ts-mode-hook nil
|
||||||
"Hook run after entering `lua-ts-mode'."
|
"Hook run after entering `lua-ts-mode'."
|
||||||
:type 'hook
|
:type 'hook
|
||||||
:options '(flymake-mode
|
:options '(eglot-ensure
|
||||||
|
flymake-mode
|
||||||
hs-minor-mode
|
hs-minor-mode
|
||||||
outline-minor-mode)
|
outline-minor-mode)
|
||||||
:version "30.1")
|
:version "30.1")
|
||||||
|
|
@ -116,7 +117,7 @@
|
||||||
(defcustom lua-ts-indent-continuation-lines t
|
(defcustom lua-ts-indent-continuation-lines t
|
||||||
"Controls how multi-line if/else statements are aligned.
|
"Controls how multi-line if/else statements are aligned.
|
||||||
|
|
||||||
If t, then continuation lines are indented by `lua-ts-indent-offset':
|
If non-nil, then continuation lines are indented by `lua-ts-indent-offset':
|
||||||
|
|
||||||
if a
|
if a
|
||||||
and b then
|
and b then
|
||||||
|
|
|
||||||
|
|
@ -1455,11 +1455,20 @@ and the newly selected tab."
|
||||||
(defcustom tab-bar-select-restore-windows #'tab-bar-select-restore-windows
|
(defcustom tab-bar-select-restore-windows #'tab-bar-select-restore-windows
|
||||||
"Function called when selecting a tab to handle windows whose buffer was killed.
|
"Function called when selecting a tab to handle windows whose buffer was killed.
|
||||||
When a tab-bar tab displays a window whose buffer was killed since
|
When a tab-bar tab displays a window whose buffer was killed since
|
||||||
this tab was last selected, this function determines what to do with
|
this tab was last selected, this variable determines what to do with
|
||||||
that window. By default, either a random buffer is displayed instead of
|
that window.
|
||||||
the killed buffer, or the window gets deleted. However, with the help
|
|
||||||
of `window-restore-killed-buffer-windows' it's possible to handle such
|
If this variable is nil, there is no special handling;
|
||||||
situations better by displaying an information about the killed buffer."
|
`set-window-configuration' will decide what to do with the window,
|
||||||
|
then either a random buffer is displayed instead of the killed buffer,
|
||||||
|
or the window gets deleted.
|
||||||
|
|
||||||
|
If this variable is a function, display another buffer in that window,
|
||||||
|
and pass that buffer to the function. See the variable
|
||||||
|
`window-restore-killed-buffer-windows' for the calling convention.
|
||||||
|
|
||||||
|
By default, `tab-bar-select-restore-windows' displays a placeholder buffer
|
||||||
|
in the same window to give information about the killed buffer."
|
||||||
:type '(choice (const :tag "No special handling" nil)
|
:type '(choice (const :tag "No special handling" nil)
|
||||||
(const :tag "Show placeholder buffers"
|
(const :tag "Show placeholder buffers"
|
||||||
tab-bar-select-restore-windows)
|
tab-bar-select-restore-windows)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue