* lisp/simple.el (kill-region-dwim): Move the default nil
to the top of choices.
(kill-region): Set the FORCE argument of 'mark' to non-nil
if kill-region-dwim is non-nil. That allows everyone to use
non-nil kill-region-dwim even if mark-even-if-inactive is nil.
Don't check 'last-command' if kill-region-dwim is non-nil.
That allows everyone to type C-w twice in a row to delete
two previous words.
In addition to providing a new `xref' backend, the patch also improves
the general handling of expl3 syntax. Expl3 is the next-generation
LaTeX specification, and has for some time been available by default in
the LaTeX kernel. The new syntax co-exists in many files with the
standard LaTeX2e syntax, so we try at least minimally to separate the
way modes handle the two specifications, both to reduce
visually-disturbing interference between them and also to improve the
`xref' backend. (Bug#53749)
* lib-src/etags.c (TeX_commands): Improve parsing of commands in TeX
buffers.
(TEX_defenv): Expand list of commands to tag by default in TeX buffers.
(TeX_help):
* doc/emacs/maintaining.texi (Tag Syntax): Document new tagged commands.
(Identifier Search): Add note about semantic-symref-filepattern-alist,
auto-mode-alist, and xref-find-references.
* lisp/textmodes/tex-mode.el (tex-font-lock-suscript): Test for
underscore in expl3 files and regions, disable subscript face there.
(tex-common-initialization): Set up xref backend for in-tree TeX modes.
Detect expl3 files, and in others set up a list of expl3 regions.
(tex-expl-buffer-parse): New function called in previous.
(tex-expl-buffer-p): New variable to hold the result of previous.
(tex-expl-region-set): New function added to
'syntax-propertize-extend-region-functions' hook.
(tex-expl-region-list): New variable to hold the result of previous.
(tex--xref-backend): New function to identify the xref backend.
(tex--thing-at-point, tex-thingatpt--beginning-of-symbol)
(tex-thingatpt--end-of-symbol, tex--bounds-of-symbol-at-point):
New functions to return 'thing-at-point' for xref backend.
(tex-thingatpt-exclude-chars): New variable to do the same.
(xref-backend-identifier-at-point): New TeX backend method to provide
symbols for processing by xref.
(xref-backend-identifier-completion-table)
(xref-backend-identifier-completion-ignore-case)
(xref-backend-definitions, xref-backend-apropos): Placeholders to
call the standard 'etags' xref backend methods.
(xref-backend-references): Wrapper to call the default xref backend
method, finding as many relevant files as possible and using a bespoke
syntax-propertize-function when required.
(tex--collect-file-extensions, tex-xref-syntax-function): Helper
functions for previous.
(tex-find-references-syntax-table, tex--buffers-list)
(tex--xref-syntax-fun, tex--old-syntax-function): New variables for
the same.
* lisp/progmodes/compile.el (compilation--update-markers):
Factor out function...
(compilation-next-error-function): ...from here. Adjust
to use the above.
* lisp/progmodes/grep.el (grep-edit--prepare-buffer)
(grep-edit-mode-map, grep-edit-mode-hook, grep-edit-mode)
(grep-change-to-grep-edit-mode, grep-edit-save-changes): Add
new 'grep-edit-mode' to make the grep results editable like
in 'occur-edit-mode' by using the 'occur' framework.
(grep-mode-map): Bind 'e' to the new command
'grep-change-to-grep-edit-mode'.
* doc/emacs/building.texi (Grep Searching): Update Info
manual to include the above command.
* etc/NEWS: Announce the change. (Bug#70820)
* lisp/international/characters.el: Assign 'digit' category to all
the characters whose Unicode 'general-category' is Nd.
* admin/unidata/blocks.awk: Add code to assign 'symbol' category
to all characters belonging to the 'symbol' script.
* etc/NEWS: Announce the above changes
* lisp/vc/ediff-util.el (ediff-diff-to-diff): With universal
prefix, copy all differences.
* doc/misc/ediff.texi (Quick Help Commands): Document the new feature.
* etc/NEWS: Announce the new feature.
(Bug#72866)
* lisp/gnus/gnus-icalendar.el
(gnus-icalendar-event--build-reply-event-body): Add optional COMMENT
argument to be inserted into the reply.
(gnus-icalendar-event-reply-from-buffer): Add COMMENT argument to be
passed through to gnus-icalendar-event--build-reply-event-body
(gnus-icalendar-reply-accept, gnus-icalendar-reply-tentative,
gnus-icalendar-reply-decline): If interactively called with a prefix
argument ask user for a COMMENT to add to the reply.
* test/lisp/gnus/gnus-icalendar-tests.el
(gnus-icalendar-accept-with-comment,
gnus-icalendar-decline-without-changing-comment): New tests.
ee3e3a6311 ; Update version number of exec/configure.ac
c5925b6ba5 Fix heex-ts-mode indentation following previews elixir-mo...
c3383be5f0 ; * admin/make-tarball.txt: Improve last change.
8ddb54117f ; * admin/make-tarball.txt: Remove now unnecessary config...
7e194d33f9 * lisp/ldefs-boot.el: Update.
9019536ea6 Fix use of Uniscribe font driver in MinGW build
5c55c860db Avoid crashes in redisplay in batch-mode testing
ba2190e1ae ; * etc/NEWS: Fix indentation.
818c0cc9a5 eglot-test-rust-completion-exit-function: Fix failure in ...
f47297782b ; * doc/lispref/searching.texi (Rx Notation): Simplify rx...
03e5698167 Clarify the semantics of 'string-pixel-width'
9f0603207b ; * src/treesit.c: Minor cleanups of recent changes.
e0d3f74395 * src/treesit.c (treesit_debug_print_parser_list): Fix fo...
bed38ded73 ; * src/treesit.c (treesit_debug_print_parser_list): Fix ...
18c6487dbd ; * src/treesit.c: Add a prototype so there's no warning ...
bf23382f1f Read more on each call to treesit's buffer reader
3435464452 Fix the range handling in treesit.c
3fcec09f75 Add debugging function for treesit.c
0fd259d166 Fix elixir-ts-mode's range query
2329b36b1f ; project-files-relative-names: Update docstring (bug#72701)
e55e2e1c6b Make json-serialize always return a unibyte string (bug#7...
89c99891b2 ; * doc/lispref/os.texi (Suspending Emacs): Fix last change.
4f044d0d3d ; Improve documentation of 'suspend-emacs'
The JSON format is defined as a byte sequence and will always be used as
such, so returning a multibyte string makes little sense.
* src/json.c (json_out_to_string): Remove.
(Fjson_serialize): Return unibyte string.
* test/src/json-tests.el (json-serialize/roundtrip)
(json-serialize/roundtrip-scalars, json-serialize/string):
Update tests.
* doc/lispref/text.texi (Parsing JSON): Document.
* etc/NEWS: Announce.
b420e149b1 Fix a typo in ediff-init.el
e1304e9b1b Fix 'chart-space-usage' on MS-Windows
04c44405bf Fix alignment and documentation of vtable.el
4d6fadb8d2 ; * lisp/which-key.el: Fix ':package-version' (bug#73072).
54071b9cef ; Improve doc strings of 'tab-bar-mode' and 'tab-line-mode'
87a8b12a0c Fix test failure in erc-networks-tests
dad0935cfc ; * doc/emacs/building.texi (Lisp Libraries): Update (bug...
e4dc6711b0 Fix :hook in 'use-package'
c1cd036d27 ; * doc/lispref/modes.texi (Mode Line Data): Fox wording.
ae2463796f ; Caveats about using :eval in 'mode-line-format'
4047072c7d Update FSF's address
24f12bdd77 Support the new option in ruby-ts-mode too
6c15b7710d Add new option ruby-bracketed-args-indent
7799ef4335 Fix Rmail base64 and qp decoding of MIME payloads
0def396fa8 Update to Org 9.7.11
8c044bd972 ; Fix recent changes in documentation
e0d8879bcd * test/lisp/emacs-lisp/tabulated-list-tests.el: Add missi...
4ff4b78f92 ; Small doc fixes
da980ad838 ; Reword some "allows Xing"
2ca7d5649c ; More accurate text about how `equal` compares various o...
# Conflicts:
# etc/NEWS
Add project-find-file-in-root (bug#73044)
Several users have asked me for a command which is just
find-file, but starting from the project root. In large
projects, where project-files is expensive, this will have
substantially better performance than project-find-file.
Also, it allows opening files which aren't included in
project-files without paying the further cost of running
project--files-in-directory (which is what happens when passing
INCLUDE-ALL=t to project-find-file).
Also, it may help with user confusion about why
project-find-file doesn't behave like find-file (which I've
encountered a few times).
This command is equivalent to C-x p o C-x C-f, but it's nice to
be able to bind it to a specific key.
Overall, this is easy enough to provide, so let's just do that.
* lisp/progmodes/project.el (project-find-file-in-root): Add.
* etc/NEWS: Mention it.
* etc/NEWS: Describe it here.
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--parent-call-or-bol):
Support the option ruby-bracketed-args-indent here too (bug#60321).
* test/lisp/progmodes/ruby-ts-mode-tests.el: Include
ruby-bracketed-args-indent.rb as test examples.
* test/lisp/progmodes/ruby-mode-resources/ruby-bracketed-args-indent.rb:
Extend examples for better regression testing.
* doc/emacs/dired.texi (Operating on Files): Add indexed function
'dired-do-open' to the text.
* doc/emacs/mini.texi (Completion Options): Add indexed functions
'previous-line-completion' and 'next-line-completion' to the text.
* doc/lispref/minibuf.texi (Completion Variables): Remove self-reference.
* doc/lispref/positions.texi (List Motion): Add indexed function
'treesit-forward-sexp' to the text. Add @vindex for
'forward-sexp-function'.
* etc/NEWS: Group tab-bar and tab-line items separately.
Move two Buffer-menu items to separate outline.
* doc/emacs/anti.texi (Antinews):
* etc/NEWS:
* etc/NEWS.29:
* lisp/tab-bar.el (tab-bar-select-restore-windows):
* lisp/vc/vc-git.el (vc-git-print-log-follow): Reword to avoid
"allows Xing". This is reported to be better for non-native
readers. Based on suggestions of Eli Zaretskii <eliz@gnu.org>.
The file etc/symbol-releases.eld now contains explicit version
information for selected symbols that our NEWS* scraper doesn't
resolve correctly.
* etc/NEWS.unknown: Remove this file, replaced with...
* etc/symbol-releases.eld: ...this new file.
* lisp/help-fns.el (help-fns--first-release-override)
(help-fns--mention-first-function-release)
(help-fns--mention-first-variable-release): New.
(help-fns--mention-first-release): Try the override information first
before scraping the NEWS* files.
4b60267d83 Make Python skeletons available in 'python-ts-mode' as well
62dcbfb776 Merge branch 'emacs-30' of git.savannah.gnu.org:/srv/git/...
1baa62b2ac ; * etc/NEWS: Fix typos.
dfcfaa0ef5 More accurate documentation of 'equal' in ELisp Reference
baaf97ce1a ; Fix some ungrammatical uses of "allows to"
# Conflicts:
# etc/NEWS
Without this, we cannot launch processes that use macOS's
speech recognition APIs.
With NSSpeechRecognitionUsageDescription in place, macOS displays the
dialog asking the user to grant permission and allows the speech APIs
to be used from the process.
* nextstep/templates/Info.plist.in: Add
NSSpeechRecognitionUsageDescription key. (Bug#72827)
* etc/NEWS: Announce the change.
Copyright-paperwork-exempt: yes