1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00
Commit Graph

174647 Commits

Author SHA1 Message Date
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
Yuan Fu
ac98ff18f4
Fix tree-sitter test for indirect parser list
* test/src/treesit-tests.el (treesit-indirect-buffer): Now the base
buffer shouldn't contain indirect buffer's parsers.
2024-08-24 15:15:27 -07:00
Yuan Fu
4339e70a94
Make sure treesit-parse-string gc its temp buffer (bug#71012)
* doc/lispref/parsing.texi (Using Parser): Add notice.
* lisp/treesit.el (treesit-parse-string): Remove function.
* src/treesit.c (make_treesit_parser): Init the new filed.
(treesit_delete_parser): Collect the temp buffer.
(Ftreesit_parse_string): New function.
* src/treesit.h (Lisp_TS_Parser): New field.
2024-08-24 15:15:23 -07:00
Björn Bidar
32afdcca88 Forward user to auth-source inside url-basic-auth
* lisp/url/url-auth.el (url-basic-auth): Forward the user if
provided by the url or found by 'auth-source' when searching
for secrets.  Supplying 'auth-source' with the user when
matching secrets allows for more accurate retrieval and fixes
instances where the user enters an url that already contains
the user such as "user@host.de".  (Bug#72526)
2024-08-24 15:49:42 +03:00
Mattias Engdegård
0a626a64c7 * etc/emacs_lldb.py (Lisp_Object): PVEC_COMPILED -> PVEC_CLOSURE 2024-08-24 14:41:41 +02:00
Michael Albinus
f41614ad54 ; * etc/NEWS: Fix typos. 2024-08-24 12:49:48 +02:00