Commit Graph

174652 Commits

Author SHA1 Message Date
xenodium
c36ff7d8e4 Adds NSSpeechRecognitionUsageDescription to Info.plist.in
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
2024-08-31 13:36:05 +03:00
Eli Zaretskii
e5b6c39f5d ; Fix comments in supercite
* lisp/mail/supercite.el (sc-make-citation): Remove stale comment
about gin-mode.  (Bug#72798)
2024-08-31 12:37:23 +03:00
Eli Zaretskii
5cb2185966 Improve 'C-h o' in NEWS files
* lisp/textmodes/emacs-news-mode.el (emacs-news--mode-common):
Modify syntax-table of NEWS modes to consider ' as string-quoting
character.  Suggested by Visuwesh <visuweshm@gmail.com>.
(Bug#72757)
2024-08-31 12:12:00 +03:00
David Ponce
dffdbc1f1f Use 'with-work-macro' in 'string-pixel-width'
Tweak the implementation of 'string-pixel-width' to run
faster and use less memory.  Also cater for the case where
this function is called in parallel (bug#72689).
* lisp/emacs-lisp/subr-x.el (string-pixel-width): Use
`with-work-macro'.  Prefer `remove-text-properties' to
`propertize' to avoid creating a new string on each call.
2024-08-31 11:23:23 +03:00
David Ponce
b930a698f2 New macro `with-work-buffer'.
* lisp/emacs-lisp/subr-x.el (work-buffer--list)
(work-buffer-limit): New variables.
(work-buffer--get, work-buffer--release): New function.
(with-work-buffer): New macro.  (Bug#72689)

* etc/NEWS: Announce 'with-work-buffer'.
2024-08-31 11:21:42 +03:00
Eli Zaretskii
b25da8729d ; * etc/NEWS: Minor rewording of last change. 2024-08-31 10:05:01 +03:00
Sean Whitton
ad18b145a5 ; * etc/NEWS: Grammar fixes. 2024-08-30 11:50:19 +01:00
Jim Porter
91851fbbf5 Add manual tests for the 'min-width' display property
* test/manual/redisplay-testsuite.el (test-redisplay-5): Add some
newlines.
(test-redisplay-6): New function...
(test-redisplay): ... call it (bug#72721).
2024-08-29 21:55:16 -07:00
Michael Albinus
00f9927693 ; Fix typos
* doc/lispref/control.texi (cond* Macro):
* etc/NEWS: Fix typos.
2024-08-29 15:52:16 +02:00
Eli Zaretskii
38650b630b Document 'cond*'
* doc/lispref/control.texi (cond* Macro): New subsection.
Text written by Richard Stallman <rms@gnu.org>.
* etc/NEWS: Document 'cond*'.
2024-08-29 12:02:08 +03:00
Jim Porter
b6f4ffcc10 Support "/dev/null" as a target when creating Eshell handles
Previously, you could only use this when setting the handle afterwards.

* lisp/eshell/esh-io.el (eshell-set-output-handle): Don't catch
'eshell-null-device' here...
(eshell-get-target): ... catch it here.

* test/lisp/eshell/eshell-tests.el
(eshell-test/eshell-command/output-dev-null): New test (bug#72857).
2024-08-28 19:14:30 -07:00
Jim Porter
e269cf63a6 Fix redirecting Eshell output to symbols in some places
* lisp/eshell/esh-io.el (eshell-output-object-to-target): Don't require
TARGET to be bound.

* lisp/eshell/em-script.el (eshell-execute-file):
* lisp/eshell/eshell.el (eshell-command): Quote the output/error
targets.

* test/lisp/eshell/em-script-tests.el (eshell-execute-file-output): New
variable.
(em-script-test/execute-file/output-symbol): New test.

* test/lisp/eshell/eshell-tests.el (eshell-command-output): New
variable.
(eshell-test/eshell-command/output-symbol): New test (bug#72857).
2024-08-28 18:53:03 -07:00
Jim Porter
5c68545a93 Use 'eshell-with-handles' in a few more places
* lisp/eshell/em-alias.el (eshell-write-aliases-list):
* lisp/eshell/em-script.el (eshell-batch-file):
* lisp/eshell/esh-cmd.el (eshell-command-to-value):
* lisp/eshell/eshell.el (eshell-command): Use 'eshell-with-handles'.

* test/lisp/eshell/esh-io-tests.el (eshell-test-file-string): Move to...
* test/lisp/eshell/eshell-tests-helpers.el (eshell-test-file-string):
... here.

* test/lisp/eshell/eshell-tests.el
(eshell-test/eshell-command/output-file):
* test/lisp/eshell/em-script-tests.el
(em-script-test/execute-file/output-file): New tests.
2024-08-28 18:48:28 -07:00
Po Lu
9cd88bd62a ; Document copyright pitfalls
* admin/notes/years: Document that nt/*.rc.in,
etc/images/gud/README, and configure.ac, need manual
intervention.
2024-08-29 08:54:41 +08:00
Po Lu
413489fe80 Merge from savannah/emacs-30
e6c72aec9d ; Fix typos
9ffa38d392 Eglot: fix completion highlighting (bug#72824)
d6880bc24d ; * admin/make-tarball.txt: Document gotcha.
afee71273b Discuss commit log messages on feature branches
77302ccb6a * admin/authors.el (authors-fixed-entries): Update docstr...
3a4839d142 More consistent treesit-forward-sexp around comments (bug...
3129315587 Improve php-ts-mode font lock and support latest grammar ...
b8c05d73a1 Fix tree-sitter local parser overlay cleanup routine
aa6ed7f67e Fix copyright years by hand (Bug#72809)
2024-08-29 08:53:52 +08:00
Stefan Kangas
e6c72aec9d ; Fix typos 2024-08-29 00:17:10 +02:00
Jim Porter
e97ab1c413 Use 'eshell-with-handles' when executing an Eshell file
This makes sure we close the handles as we should, which is important
for writing the output to an actual file (bug#72857).

* lisp/eshell/em-script.el (esh-cmd): Require this, just to be explicit.
(eshell-execute-file): Use 'eshell-with-handles'.
2024-08-28 13:59:04 -07:00
Stefan Monnier
10802fb00f (message-hide-headers): Don't bind inhibit-modification-hooks
This binding dates back at least to 2004 (where we bound
`after-change-functions` instead).  Maybe it had a real impact in the past,
but nowadays I can't see any effect other than maybe a negligible
performance improvement at the cost at breaking some uses of
`before-after-change-functions`.

* lisp/gnus/message.el (message-hide-headers):
Don't bind `inhibit-modification-hooks`.
2024-08-28 15:33:05 -04:00
Mattias Engdegård
1ae861ad7e Send useless output in flymake-tests to /dev/null (bug#70716)
* test/lisp/progmodes/flymake-resources/Makefile (check-syntax):
Avoid producing a useless file named `-.o` in the source tree.
2024-08-28 19:47:40 +02:00
Dmitry Gutov
9ffa38d392 Eglot: fix completion highlighting (bug#72824)
* lisp/progmodes/eglot.el (eglot-completion-at-point):
Make sure to refer to 'completion-ignore-case' in the
'all-completions' method.
2024-08-28 02:20:33 +03:00
Michael Albinus
bfaa3e029f Hide tramp-mode
* doc/misc/tramp.texi (Frequently Asked Questions): Remove tramp-mode.

* lisp/net/tramp.el (tramp-mode): Make it a defvar.  People shouldn't
customize it manually.
2024-08-27 16:47:54 +02:00
Eli Zaretskii
6827335538 ; Merge changes to files modified on the release branch
* ChangeLog.4:
* etc/AUTHORS: merge changes mistakenly skipped by gitmerge.el
Reported by Stefan Kangas <stefankangas@gmail.com>.
2024-08-27 15:52:13 +03:00
Eli Zaretskii
d6880bc24d ; * admin/make-tarball.txt: Document gotcha. 2024-08-27 15:50:14 +03:00
Sean Whitton
afee71273b Discuss commit log messages on feature branches
* admin/notes/git-workflow (Long-lived feature branches): New
section, discussing commit log messages on feature branches.
2024-08-27 12:22:01 +08:00
Sean Whitton
77302ccb6a * admin/authors.el (authors-fixed-entries): Update docstring. 2024-08-27 12:13:59 +08:00
Yuan Fu
3a4839d142 More consistent treesit-forward-sexp around comments (bug#72525)
* lisp/treesit.el (treesit-forward-sexp): Check if point is strictly
inside a comment or string, only then use the default forward-sexp
function; otherwise use tree-sitter's forward-sexp routine.
2024-08-26 19:45:33 -07:00
Michael Albinus
7e17a1fff4 Add convenience to Tramp
* doc/misc/tramp.texi (Inline methods): Add tramp-docker-program,
tramp-podman-program, tramp-kubernetes-program,
tramp-toolbox-program, tramp-distrobox-program,
tramp-flatpak-program, tramp-apptainer-program, and
tramp-nspawn-program.
(Remote shell setup): Rearrange indices.
(Ssh setup): Say "user option" when needed.
(Keeping files encrypted): Add tramp-crypt-encfs-program.
(Frequently Asked Questions): Rearrange indices.  Remove duplicate
text.  Add tramp-mode.

* lisp/net/tramp.el (tramp-active-command-completion-p): New defun.

* lisp/net/tramp-cmds.el (tramp-cleanup-connection)
(tramp-cleanup-all-connections, tramp-cleanup-some-buffers)
(tramp-cleanup-all-buffers, tramp-rename-files):
* lisp/net/tramp-message.el (tramp-setup-debug-buffer):
Declare `completion'.

* lisp/net/tramp-integration.el (tramp-info-link): New widget.
(tramp-widget-info-link-action): New defun.

* lisp/net/tramp.el (tramp, tramp-mode, tramp-backup-directory-alist)
(tramp-auto-save-directory, tramp-encoding-shell)
(tramp-encoding-command-switch)
(tramp-encoding-command-interactive, tramp-default-method)
(tramp-default-method-alist, tramp-default-user)
(tramp-default-user-alist, tramp-default-host)
(tramp-default-host-alist, tramp-default-proxies-alist)
(tramp-save-ad-hoc-proxies, tramp-show-ad-hoc-proxies)
(tramp-restricted-shell-hosts-alist, tramp-local-host-regexp)
(tramp-shell-prompt-pattern, tramp-password-prompt-regexp)
(tramp-otp-password-prompt-regexp, tramp-wrong-passwd-regexp)
(tramp-terminal-type, tramp-syntax)
(tramp-ignored-file-name-regexp, tramp-chunksize)
(tramp-process-connection-type, tramp-remote-path)
(tramp-remote-process-environment)
(tramp-completion-multi-hop-methods)
(tramp-completion-use-auth-sources, tramp-use-file-attributes)
(tramp-inhibit-errors-if-setting-file-attributes-fail)
(tramp-allow-unsafe-temporary-files):
* lisp/net/tramp-adb.el (tramp-adb-program)
(tramp-adb-connect-if-not-connected):
* lisp/net/tramp-cache.el (tramp-connection-properties)
(tramp-persistency-file-name, tramp-completion-use-cache):
* lisp/net/tramp-cmds.el (tramp-cleanup-some-buffers-hook)
(tramp-default-rename-alist, tramp-confirm-rename-file-names)
(tramp-file-name-with-method):
* lisp/net/tramp-container.el (tramp-docker-program)
(tramp-podman-program, tramp-kubernetes-program)
(tramp-kubernetes-context, tramp-kubernetes-namespace)
(tramp-toolbox-program, tramp-distrobox-program)
(tramp-flatpak-program, tramp-apptainer-program)
(tramp-nspawn-program):
* lisp/net/tramp-crypt.el (tramp-crypt-encfs-program)
(tramp-crypt-encfsctl-program, tramp-crypt-encfs-option)
(tramp-crypt-save-encfs-config-remote):
* lisp/net/tramp-fuse.el (tramp-fuse-unmount-on-cleanup):
* lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
* lisp/net/tramp-message.el (tramp-verbose, tramp-debug-to-file)
(tramp-debug-command-messages):
* lisp/net/tramp-rclone.el (tramp-rclone-program):
* lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
(tramp-copy-size-limit, tramp-histfile-override)
(tramp-use-connection-share)
(tramp-use-scp-direct-remote-copying, tramp-sh-extra-args):
* lisp/net/tramp-sshfs.el (tramp-sshfs-program): Add `:link' key.

* lisp/net/tramp.el (tramp-enable-method): Move function ...
* lisp/net/tramp-cmds.el (tramp-enable-method): ... here.
2024-08-26 18:48:53 +02:00
Stefan Monnier
d331149933 (pp): Indent lines right when starting in col > 0
This refines the fix for bug#72561: commit 0a50019308 fixes
the bug by changing `ert--pp-with-indentation-and-newline`,
but it turns out that `pp` was inconsistent (it sometimes
indented the subsequent lines correctly and sometimes not,
depending on the current-buffer's major mode).
So the fix really should be in `pp`, which is what this patch does.

* lisp/emacs-lisp/pp.el (pp): Appropriately indent subsequent lines
if the first line is not inserted in column 0 (tho only when
printing into a buffer since otherwise it's somewhere between
ill-defined and impossible to implement).
* lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline):
Remove the indentation code after `pp` which was just working
around the bug in `pp`.  Also remove the redundant addition of
`\n` since `pp` always does it nowadays.
* test/lisp/help-mode-tests.el (help-mode-tests-xref-on-pp):
Fix thinko.
2024-08-26 11:49:37 -04:00
Vincenzo Pupillo
3129315587 Improve php-ts-mode font lock and support latest grammar (bug#72796)
* lisp/progmodes/php-ts-mode.el:
(php-ts-mode--language-source-alist): Update the parser version.
(php-ts-mode--parent-html-heuristic): Fix commentary.
(php-ts-mode--keywords): Add "exit" keyword.
(php-ts-mode--predefined-constant): Added math constant.
(php-ts-mode--font-lock-settings): New and improved rules.
2024-08-26 00:48:35 -07:00
Yuan Fu
b8c05d73a1 Fix tree-sitter local parser overlay cleanup routine
Sorry for sneaking in a sizable commit so late.  But I just found out
about this bug and it has to be fixed.  Before this change, we weren't
properly cleaning up overlays that store local parsers.  And in the case
of doxygen local parser in C files, the doxygen local parser overlay
sometimes bleeds out of comments and into other code, and interferes
with font-lock and indentation.

This commit adds a cleanup function that'll cleanup any overlays that
aren't being used.  I tested with doxygen in C files and everything
works smoothly now, including tricky tests like removing the ending "*/"
of a doxygen comment and adding it back.

The idea is simple, at the end of each call to (treesit-update-ranges
BEG END), we remove any overlay within BEG and END that wasn't touched
by the range setting code.

* lisp/treesit.el (treesit--cleanup-local-range-overlays): New function.
(treesit--update-ranges-local): Remove code for cleaning up zero-length
overlays since we have the cleanup function now.
(treesit-update-ranges): Wrap the function body inside a let form, which
defines modified-tick; and add a call to
treesit--cleanup-local-range-overlays at the very end.
2024-08-25 18:15:06 -07:00
Stefan Kangas
aa6ed7f67e Fix copyright years by hand (Bug#72809)
These are dates that admin/update-copyright did not update.
2024-08-26 02:50:24 +02:00
Yuan Fu
da6e4a8625 ; * test/src/treesit-tests.el (treesit-indirect-buffer): Untag. 2024-08-25 14:49:23 -07:00
Eli Zaretskii
d4bd5a3cba Merge from origin/emacs-30
9b299dd79c Revert a recent change that caused redisplay slowdown
4eaab54896 ; * doc/lispref/display.texi (Low-Level Font): Fix wordin...
0a50019308 Indent ERT failure explanations rigidly
713069dd7a [Eglot] Stricter "expand common" behavior
096730510c eglot-tests.el: New tests for existing completion behavior
969498c25d Remove dangerous HTML edit from admin.el

# Conflicts:
#	etc/EGLOT-NEWS
2024-08-25 14:54:03 -04:00
Eli Zaretskii
22c228bba3 ; Merge from origin/emacs-30
The following commit was skipped:

52829bcee6 ; Fix bad references to other manuals
2024-08-25 14:53:04 -04:00
Eli Zaretskii
99f2354696 Merge from origin/emacs-30
8c251a4c41 ; Mention in PROBLEMS issues with long popup menus
0a626a64c7 * etc/emacs_lldb.py (Lisp_Object): PVEC_COMPILED -> PVEC_...
2024-08-25 14:53:04 -04:00
Eli Zaretskii
9b299dd79c Revert a recent change that caused redisplay slowdown
* src/xfaces.c (recompute_basic_faces): Revert the change which
caused recalculation of all the faces, as it made cursor motion
too slow.  Reported by Juri Linkov <juri@linkov.net> (bug#72692).
2024-08-25 21:43:59 +03:00
Eli Zaretskii
4eaab54896 ; * doc/lispref/display.texi (Low-Level Font): Fix wording (bug#72771). 2024-08-25 20:47:51 +03:00
Jim Porter
55aad592e1 Improve computation of indent depth in SHR and 'visual-wrap-prefix-mode'
Now, we get the average-width of the current font using
'string-pixel-width' and a specified space display spec, which doesn't
require the buffer to be displayed in a window (bug#72771).

* lisp/net/shr.el (shr-indent):
* lisp/visual-wrap.el (visual-wrap--content-prefix): Fix getting the
font when the buffer isn't displayed in a window.
(visual-wrap-fill-context-prefix): Fix indentation.
2024-08-25 10:05:37 -07:00
F. Jason Park
0a50019308 Indent ERT failure explanations rigidly
This also affects the listing of `should' forms produced by hitting
the L key on a test button in an ERT buffer.

* lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline):
Indent the pretty-printed result to match the caller's current column
as a reference indentation.
* test/lisp/emacs-lisp/ert-tests.el
(ert--pp-with-indentation-and-newline): New test.  (Bug#72561)
2024-08-25 09:01:02 -07:00
Dmitry Gutov
713069dd7a [Eglot] Stricter "expand common" behavior
* lisp/progmodes/eglot.el (eglot--dumb-tryc): Check that the
expanded string matches every completion strictly (bug#72705).
And in the fallback case, check whether the table matches the
original prefix at all.  Return nil otherwise.

* test/lisp/progmodes/eglot-tests.el
(eglot-test-stop-completion-on-nonprefix)
(eglot-test-try-completion-nomatch): Corresponding tests.

* etc/EGLOT-NEWS: New entry.
2024-08-25 18:23:51 +03:00
Dmitry Gutov
096730510c eglot-tests.el: New tests for existing completion behavior
* test/lisp/progmodes/eglot-tests.el
(eglot-test-common-prefix-completion)
(eglot-test-try-completion-inside-symbol)
(eglot-test-rust-completion-exit-function): New tests.
(eglot--wait-for-rust-analyzer): New function.
2024-08-25 18:05:28 +03:00
Eli Zaretskii
969498c25d Remove dangerous HTML edit from admin.el
* admin/admin.el (manual-html-fix-index-2): Avoid lax matches with
"<ul>" which could mistakenly edit unrelated parts of HTML.
(Bug#72761)
2024-08-25 15:46:05 +03:00
Mattias Engdegård
3a8222e700 Faster region-beginning and region-end for rectangle selections
* lisp/rect.el (rectangle--region-beginning, rectangle--region-end):
Make these run in O(1), not linear, time and space.
2024-08-25 13:47:40 +02:00
Eli Zaretskii
52829bcee6 ; Fix bad references to other manuals
* doc/misc/bovine.texi (top, Optional Lambda Expression)
(Starting Rules, Bovine Grammar Rules, How Lexical Tokens Match):
* doc/misc/eudc.texi (Overview, Creating BBDB Records)
(Inline Query Expansion):
* doc/misc/dbus.texi (Top):
* doc/misc/efaq.texi (Top):
* doc/misc/wisent.texi (Wisent Semantic, Wisent Lex): Fix
cross-references to other manuals.  Remove redundant pointers from
Top node.  (Bug#72761)

(cherry picked from commit 7319f5e078)
2024-08-25 13:59:22 +03:00
Eli Zaretskii
7319f5e078 ; Fix bad references to other manuals
* doc/misc/bovine.texi (top, Optional Lambda Expression)
(Starting Rules, Bovine Grammar Rules, How Lexical Tokens Match):
* doc/misc/eudc.texi (Overview, Creating BBDB Records)
(Inline Query Expansion):
* doc/misc/dbus.texi (Top):
* doc/misc/efaq.texi (Top):
* doc/misc/wisent.texi (Wisent Semantic, Wisent Lex): Fix
cross-references to other manuals.  Remove redundant pointers from
Top node.
2024-08-25 13:55:35 +03:00
Michael Albinus
1f4da7fe3e ; Still fighting with emba.gnu.org config
* test/infra/gitlab-ci.yml (variables): Remove GIT_DEPTH.
(.job-template): Set cache:policy to pull-push, as before.  Check
behavior of docker export.
(.build-template): Remove needs and cache.
(.test-template): Remove cache.  Adapt artifacts:paths.
2024-08-25 12:18:01 +02:00
Eli Zaretskii
71505b723c Fix handling of 'min-width' display property
* src/xdisp.c (get_display_property, display_min_width): Rename
BUFPOS to CHARPOS, to avoid confusion (it is not necessarily a
buffer position).  Suggested by Jim Porter <jporterbugs@gmail.com>.
(get_display_property): Call 'Fget_char_property' to support
'min-width' properties of overlays as well.
(display_min_width): Handle the buffer and string cases more
accurately, without relying only on the values of positions.
(handle_display_prop, handle_single_display_spec): Pass correct
position to 'display_min_width', when iterating over a string.
(handle_display_prop): When OBJECT is a window, pass it to
display_min_width.
(set_iterator_to_next): Call 'display_min_width' when at end of a
display or overlay string.  (Bug#72721)

* etc/NEWS: Announce the support for overlays.
2024-08-25 10:24:35 +03:00
Eli Zaretskii
8c251a4c41 ; Mention in PROBLEMS issues with long popup menus
* etc/PROBLEMS: Problems with very long popup menus on Lucid
builds.  (Bug#72791)
2024-08-25 09:04:21 +03:00
Eli Zaretskii
8a94cee3b5 ; * src/treesit.c (Ftreesit_parse_string): Fix comment and punctuation. 2024-08-25 08:48:23 +03:00
Yuan Fu
f322905f6a Fix Ftreesit_parser_create
* src/treesit.c (Ftreesit_parser_create): We recently changed something
such that base buffer and indirect buffer appears to use separate
parser-lists.  Therefore, creating a parser in one of the buffer
shouldn't reuse the parser in another buffer.
2024-08-24 15:25:48 -07:00