Eli Zaretskii [Sun, 6 Aug 2023 07:02:11 +0000 (10:02 +0300)]
; Improve help-echo in package.el
* lisp/emacs-lisp/package.el (package-menu-mode-menu): Improve
help-echo descriptions. (Bug#65094)
Arash Esbati [Sat, 5 Aug 2023 15:39:32 +0000 (17:39 +0200)]
; Filter packages available for upgrade via menu bar
* lisp/emacs-lisp/package.el (package-menu-mode-menu): Add entry
to filter packages available for upgrade via menu bar. (bug#65094)
Eli Zaretskii [Sun, 6 Aug 2023 06:33:44 +0000 (09:33 +0300)]
Fix reverting Rmail buffers
This bug happened because rmail.el relied on 'revert-buffer' to
return non-nil when it succeeds to revert, but a recent change
in 'revert-buffer' broke that promise in Emacs 29.1.
* lisp/files.el (revert-buffer--default, revert-buffer): Doc fix.
(revert-buffer): Return whatever 'revert-buffer-function' returns.
(Bug#65071)
Jim Porter [Fri, 4 Aug 2023 20:01:35 +0000 (13:01 -0700)]
Fix handling of 'byte-compile-ignore-files' when nil
Before this fix, when 'byte-compile-ignore-files' was nil,
'byte-recompile-directory' would ignore every file (bug#64985).
* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Handle case
when 'byte-compile-ignore-files' is nil.
Michael Albinus [Sat, 5 Aug 2023 16:07:58 +0000 (18:07 +0200)]
Sync with Tramp 2.6.2-pre
* doc/misc/tramp.texi (Overview): Use "scp" in example.
(Obtaining @value{tramp}): Prefer https: to git: URIs on Savannah.
(Ssh setup): Extend for MS Windows and ssh. Explain
tramp-use-ssh-controlmaster-options value `suppress'.
(File name completion): Remove completion styles restrictions.
(Ad-hoc multi-hops): Describe tramp-show-ad-hoc-proxies.
(Remote processes): Add reference to "Using ssh connection sharing".
* doc/misc/trampver.texi:
* lisp/net/trampver.el (tramp-version): Set to "2.6.2-pre".
* lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions):
* lisp/net/tramp-archive.el
(tramp-archive-handle-file-name-all-completions):
* lisp/net/tramp-crypt.el (tramp-crypt-handle-file-name-all-completions):
* lisp/net/tramp-fuse.el (tramp-fuse-handle-file-name-all-completions):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
* lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
* lisp/net/tramp-sudoedit.el
(tramp-sudoedit-handle-file-name-all-completions): Return nil when
DIRECTORY is missing. (Bug#61890)
* lisp/net/tramp.el (tramp-accept-process-output): Don't use TIMEOUT
anymore, default it to 0. When the connection uses a shared
socket possibly, accept also the output from other processes over
the same connection. (Bug#61350)
(tramp-handle-file-notify-rm-watch, tramp-action-process-alive)
(tramp-action-out-of-band, tramp-process-one-action)
(tramp-interrupt-process):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
* lisp/net/tramp-smb.el (tramp-smb-action-get-acl)
(tramp-smb-action-set-acl, tramp-smb-wait-for-output):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-action-sudo): Adapt callees.
* lisp/net/tramp.el (tramp-get-process, tramp-message)
(tramp-handle-make-process, tramp-handle-file-notify-valid-p)
(tramp-process-actions, tramp-accept-process-output)
(tramp-process-sentinel, tramp-read-passwd)
(tramp-interrupt-process, tramp-signal-process):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
* lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch)
(tramp-gvfs-monitor-process-filter)
(tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-file-notify-add-watch)
(tramp-sh-gio-monitor-process-filter)
(tramp-sh-inotifywait-process-filter)
(tramp-barf-if-no-shell-prompt, tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
(tramp-smb-maybe-open-connection):
* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection)
(tramp-sudoedit-send-command): Prefix internal process properties
with "tramp-".
* lisp/net/tramp.el (tramp-skeleton-file-exists-p): New defmacro,
which also handles host name completion.
(tramp-handle-file-exists-p):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-exists-p):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-exists-p):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-exists-p): Use it.
* lisp/net/tramp.el (tramp-wrong-passwd-regexp):
* lisp/net/tramp-adb.el (tramp-adb-prompt):
* lisp/net/tramp-sh.el (tramp-sh-inotifywait-process-filter):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Unify regexps.
* lisp/net/tramp.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el: Fix error messages.
* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
Protect `delete-process'.
* lisp/net/tramp.el (tramp-prefix-format, tramp-prefix-regexp)
(tramp-method-regexp, tramp-postfix-method-format)
(tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
(tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
(tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
(tramp-postfix-host-regexp, tramp-remote-file-name-spec-regexp)
(tramp-file-name-structure, tramp-file-name-regexp)
(tramp-completion-method-regexp)
(tramp-completion-file-name-regexp):
* lisp/net/tramp-compat.el (tramp-syntax):
* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-vector):
Rearrange declarations.
* lisp/net/tramp-compat.el (ansi-color): Require.
(ls-lisp): Don't require. (Bug#64124)
(tramp-compat-replace-regexp-in-region): Move up.
(tramp-compat-length<, tramp-compat-length>)
(tramp-compat-length=): New defaliases.
(tramp-compat-file-name-unquote, tramp-compat-take)
(tramp-compat-ntake): Use them.
* lisp/net/tramp-container.el (tramp-container--completion-function):
Rename from `tramp-docker--completion-function'. Add argument
PROGRAM. Use it for "docker" and "podman" host name completion.
* lisp/net/tramp-crypt.el (tramp-crypt-handle-file-exists-p):
New defun.
(tramp-crypt-file-name-handler-alist): Add it.
* lisp/net/tramp-fuse.el (tramp-fuse-handle-file-exists-p): New defun.
(tramp-fuse-mount-timeout): Move up.
(tramp-fuse-mount-point): Use `tramp-fuse-mount-timeout'.
(tramp-fuse-unmount): Flush "mount-point" file property.
(tramp-fuse-mount-point, tramp-fuse-mounted-p): Support existing
mount points.
(tramp-fuse-mounted-p): The mount-spec could contain an optional
trailing slash. (Bug#64278)
* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
* lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
Improve stability for WebDAV.
(tramp-rclone-handle-file-system-info): Check return code of
command.
* lisp/net/tramp-gvfs.el (while-no-input-ignore-events):
Add `dbus-event' for older Emacs versions.
(tramp-gvfs-parse-device-names): Ignore errors.
* lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp)
(tramp-device-escape-sequence-regexp): Delete.
(tramp-sh-handle-insert-directory, tramp-barf-if-no-shell-prompt)
(tramp-wait-for-output): Use `ansi-color-control-seq-regexp'.
(tramp-use-ssh-controlmaster-options): Allow new value `suppress'.
(tramp-ssh-option-exists-p): New defun.
(tramp-ssh-controlmaster-options): Implement `suppress' actions.
Should never return nil, but empty string.
(tramp-perl-file-name-all-completions): Don't print status message.
(tramp-sh-handle-file-name-all-completions): Return nil when check
fails. (Bug#61890)
(tramp-run-test): Add VEC argument.
(tramp-sh-handle-file-executable-p)
(tramp-sh-handle-file-readable-p)
(tramp-sh-handle-file-directory-p)
(tramp-sh-handle-file-writable-p): Adapt callees.
(tramp-sh-handle-insert-directory):
(tramp-sh-handle-insert-directory): Test whether -N is understood
by ls since that option is used along with --dired. Remove -N
when we remove --dired. (Bug#63142)
(tramp-sh-handle-insert-directory, tramp-barf-if-no-shell-prompt)
(tramp-wait-for-output): Use `ansi-color-control-seq-regexp'.
(tramp-sh-handle-expand-file-name): `null-device' could be nil.
Reported by Richard Copley <rcopley@gmail.com>.
(tramp-sh-handle-make-process): Improve handling of
connection-type `pipe'. (Bug#61341)
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
Flush TARGET file properties.
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file): Flush proper
file properties.
(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl):
Remove superfluous `unwind-protect'.
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
Use `tramp-fuse-handle-file-exists-p'.
(tramp-sshfs-handle-insert-file-contents): Move result out of
unwindform.
* lisp/net/tramp.el (tramp-string-empty-or-nil-p): New defsubst.
Use it everywhere when appropriate.
* lisp/net/tramp.el (tramp-methods) <->: Add.
(tramp-completion-file-name-handler-alist):
Add `expand-file-name', `file-exists-p', `file-name-directory' and
`file-name-nondirectory'.
(tramp-dissect-file-name): Do not extra check for
`tramp-default-method-marker'.
(tramp-completion-handle-expand-file-name)
(tramp-completion-handle-file-exists-p)
(tramp-completion-handle-file-name-directory)
(tramp-completion-handle-file-name-nondirectory): New defuns.
(tramp-completion-handle-file-name-all-completions): Remove duplicates.
(tramp-show-ad-hoc-proxies): New defcustom.
(tramp-make-tramp-file-name): Use it.
(tramp-make-tramp-hop-name): Don't add hop twice.
(tramp-shell-prompt-pattern): Remove escape characters.
(tramp-process-one-action, tramp-convert-file-attributes):
Use `ansi-color-control-seq-regexp'. (Bug#63539)
(tramp-wrong-passwd-regexp): Add "Authentication failed" string
(from doas).
(tramp-terminal-type): Fix docstring.
(tramp-process-one-action): Delete ANSI control escape sequences
in buffer. (Bug#63539)
(tramp-build-completion-file-name-regexp): Support user name
completion.
(tramp-make-tramp-file-name): Keep hop while in file
(tramp-set-completion-function): Check, that cdr of FUNCTION-LIST
entries is a string.
(tramp-completion-file-name-handler): Run only when
`minibuffer-completing-file-name' is non-nil.
(tramp-skeleton-write-region): Fix scoping. (Bug#65022)
(tramp-handle-memory-info): Work on newly created objects, or use
non-destructive operations.
(tramp-accept-process-output): Use `with-local-quit'.
(tramp-call-process, tramp-call-process-region):
Let-bind `temporary-file-directory'.
* test/lisp/net/tramp-archive-tests.el (tramp-archive--test-emacs28-p):
New defun.
(tramp-archive-test16-directory-files): Don't mutate.
(tramp-archive-test47-auto-load): Adapt test.
* test/lisp/net/tramp-tests.el (tramp-display-escape-sequence-regexp):
Dont't declare.
(tramp-action-yesno): Suppress run in tests.
(tramp-test02-file-name-dissect):
(tramp-test02-file-name-dissect-simplified)
(tramp-test02-file-name-dissect-separate): Adapt tests.
(tramp-test21-file-links):
(tramp-test21-file-links, tramp-test26-file-name-completion)
(tramp-test28-process-file, tramp-test29-start-file-process)
(tramp-test30-make-process, tramp-test33-environment-variables)
(tramp-test38-find-backup-file-name, tramp-test47-auto-load)
(tramp-test39-detect-external-change, tramp-test42-utf8)
(tramp-test47-auto-load, tramp-test47-delay-load)
(tramp-test48-unload): Adapt tests.
(tramp-test26-file-name-completion-with-perl):
(tramp-test26-file-name-completion-with-ls)
(tramp-test26-interactive-file-name-completion): New tests.
(tramp-test44-asynchronous-requests): Mark as :unstable.
Eli Zaretskii [Sat, 5 Aug 2023 09:13:47 +0000 (12:13 +0300)]
Fix documentation of saveplace facilities for Dired
* lisp/saveplace.el (save-place-dired-hook, save-place-alist):
* lisp/dired.el (dired-initial-position-hook)
(dired-initial-position): Doc fixes. (Bug#65055)
Eli Zaretskii [Sat, 5 Aug 2023 07:31:20 +0000 (10:31 +0300)]
; * lisp/tab-bar.el: Autoload cl--set-substring, as that is needed for loadup.
Eshel Yaron [Sat, 5 Aug 2023 06:45:56 +0000 (09:45 +0300)]
; * lisp/bindings.el (mode-line-modes): Fix typo (bug#65065).
Jim Porter [Fri, 4 Aug 2023 16:31:59 +0000 (09:31 -0700)]
Fix loaddef generation with ";;;foo-autoload" cookies in external packages
This caused an issue where package-specific autoload cookies weren't
being correctly recognized, so they got dumped into the package's main
"<pkg>-autoloads.el" file, instead of "<pkg>-loaddefs.el" as they
should (bug#65023).
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--parse-file):
Save match data when checking syntax.
Stefan Kangas [Fri, 4 Aug 2023 10:25:15 +0000 (12:25 +0200)]
Delete comment saying that project.el is experimental
* lisp/progmodes/project.el (Commentary): Delete comment saying that
the API is "still experimental". It is to be considered stable
starting with the version released with Emacs 29.
Ref: https://lists.gnu.org/r/emacs-devel/2023-07/msg00415.html
Eli Zaretskii [Fri, 4 Aug 2023 06:41:30 +0000 (09:41 +0300)]
Fix byte-compiled files that use 'bind-key' from use-package
* lisp/use-package/bind-key.el (bind-key): Ensure 'bind-key' is
loaded at run time. Patch by John Wiegley <johnw@gnu.org>.
(Bug#64901)
Eli Zaretskii [Fri, 4 Aug 2023 06:34:55 +0000 (09:34 +0300)]
Fix "Paste from Kill Menu" in non X toolkit builds
* src/keymap.c (possibly_translate_key_sequence): Don't signal an
error if 'key-valid-p' returns nil. Suggested by Stefan Monnier
<monnier@iro.umontreal.ca>. (Bug#64927)
john muhl [Sun, 30 Jul 2023 18:43:10 +0000 (13:43 -0500)]
Handle tabs in the SQL shown in the column listing
* lisp/sqlite-mode.el (sqlite-mode-list-columns): Handle tabs.
(Bug#64964)
Eli Zaretskii [Thu, 3 Aug 2023 08:31:41 +0000 (11:31 +0300)]
Add new keyword to 'typescript-ts-mode'
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--keywords): Add "satisfies", a new operator in
Typescript 4.9. (Bug#64924)
Eli Zaretskii [Thu, 3 Aug 2023 08:26:32 +0000 (11:26 +0300)]
; Add commentary to 'describe-function's completion
* lisp/help-fns.el
(help-fns--describe-function-or-command-prompt): Add a comment
(bug#64902).
Stefan Kangas [Tue, 1 Aug 2023 17:28:53 +0000 (19:28 +0200)]
Fix link to info node in prin1 docstring
* src/print.c (Fprin1): Fix linking to info node in docstring.
(cherry picked from commit
4b73edb8d1da74fd1bda8894e982d9768fd1f18c)
Eli Zaretskii [Thu, 3 Aug 2023 05:31:17 +0000 (08:31 +0300)]
Clarify the meaning of the argument of ':align-to' space spec
* doc/lispref/display.texi (Specified Space): Clarify the meaning
and measurement of HPOS in ':align-to' space specs. (Bug#65015)
Jim Porter [Wed, 2 Aug 2023 18:05:37 +0000 (11:05 -0700)]
; * doc/misc/eshell.texi (Argument Modifiers): Fix typo in example.
Jim Porter [Tue, 1 Aug 2023 06:10:03 +0000 (23:10 -0700)]
Fix handling of ".elpaignore" file when compiling packages
* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Treat
'byte-compile-ignore-files' as a list of regexps per its docstring
(bug#64985).
Amritpal Singh [Fri, 2 Jun 2023 05:21:21 +0000 (10:51 +0530)]
Support files compressed by 'pigz'
* src/decompress.c (md5_gz_stream): Check 'stream.avail_in' as
well. (Bug#63832)
Copyright-paperwork-exempt: yes
(cherry picked from commit
46b6d175054e8f6bf7cb45e112048c0cf02bfee9)
Eli Zaretskii [Mon, 31 Jul 2023 18:50:45 +0000 (21:50 +0300)]
Fix 'string-pixel-width' under 'line-prefix'
* lisp/emacs-lisp/subr-x.el (string-pixel-width): Disable
'line-prefix' and 'wrap-prefix' to avoid their effect on the
calculated string width. (Bug#64971)
Michael Albinus [Mon, 31 Jul 2023 15:49:21 +0000 (17:49 +0200)]
Fix find-dired-with-command for remote directories
* lisp/find-dired.el (find-dired-with-command):
Use `start-file-process-shell-command'. (Bug#64897)
Michael Albinus [Mon, 31 Jul 2023 15:48:36 +0000 (17:48 +0200)]
; * etc/HISTORY: Fix Emacs 28.3 entry.
Mattias Engdegård [Mon, 31 Jul 2023 14:14:07 +0000 (16:14 +0200)]
; Fix backport of help-fns--analyze-function bug fix
* lisp/help-fns.el (help-fns--analyze-function):
Add back the NOERROR argument to function-alias-p, needed because
Emacs 29 doesn't prevent the creation of circular function aliases.
This fixes a failure in help-fns-tests.
Eli Zaretskii [Mon, 31 Jul 2023 11:42:27 +0000 (14:42 +0300)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Eshel Yaron [Sun, 30 Jul 2023 08:22:26 +0000 (11:22 +0300)]
; * lisp/textmodes/paragraphs.el: Remove leftover comment.
* lisp/textmodes/paragraphs.el: Remove a comment referring to code
that was removed in
cf605d5. (Bug#64947)
Kyle Meyer [Sun, 30 Jul 2023 20:52:11 +0000 (16:52 -0400)]
Update to Org 9.6.7-5-gd1d0c3
Eli Zaretskii [Sun, 30 Jul 2023 19:09:05 +0000 (22:09 +0300)]
; * src/character.c (Fstring_width): Fix last change.
Eli Zaretskii [Sun, 30 Jul 2023 17:10:54 +0000 (20:10 +0300)]
; * src/character.c (Fstring_width, Fchar_width): Doc fixes.
Eli Zaretskii [Sun, 30 Jul 2023 16:19:32 +0000 (12:19 -0400)]
Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29
Mattias Engdegård [Sun, 30 Jul 2023 13:30:38 +0000 (15:30 +0200)]
Fix rx wrong-code bug: ranges starting with ^
(rx (in (?^ . ?a))) was incorrectly translated to "[^-a]".
Change it so that we get "[_-a^]" instead.
* lisp/emacs-lisp/rx.el (rx--generate-alt): Split ranges starting with
`^` occurring first in a non-negated character alternative.
* test/lisp/emacs-lisp/rx-tests.el (rx-any): Add and adapt tests.
(cherry picked from commit
5f5d668ac7917d61e9366fe0c3efd7b542671c3d)
Basil L. Contovounesios [Tue, 13 Jun 2023 12:53:31 +0000 (13:53 +0100)]
Backport: Fix some tree-sitter :match regexps
This was originally installed on 2023-06-17 in the emacs-29 release
branch and later reverted. This backport follows the Emacs 29.1
release (bug#64019).
The shy groups were caught by modified versions of the GNU ELPA
packages xr and relint:
- https://github.com/mattiase/xr/pull/6
- https://github.com/mattiase/relint/pull/14
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query): Quote special
character in regexp.
* lisp/progmodes/java-ts-mode.el (java-ts-mode--font-lock-settings):
* lisp/progmodes/js.el (js--plain-method-re):
(js--treesit-font-lock-settings):
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Replace character
alternative [\\d], which matches '\' or 'd', with the most likely
intention [0-9]. Fix shy groups mistyped as optional colons.
Remove unneeded numbered :match group in rust-ts-mode.
(cherry picked from commit
cd8d3f3379ec7179fac4bb8e9c40658be15a64f6)
Eli Zaretskii [Sun, 30 Jul 2023 15:08:27 +0000 (18:08 +0300)]
; * admin/make-tarball.txt: Update based on latest experiences.
Eli Zaretskii [Sun, 30 Jul 2023 15:05:00 +0000 (11:05 -0400)]
; Fix admin/upload-manuals script
* admin/upload-manuals (html_mono): Chdir to the right directory
before committing.
(html_node): Avoid computing $stale in newly-created or empty
directories.
Po Lu [Sun, 30 Jul 2023 13:18:54 +0000 (21:18 +0800)]
Fix bug#64923
* src/xfns.c (Fx_create_frame): Prevent cairo surface from being
left without a desired size. (bug#64923)
Ulrich Müller [Fri, 28 Jul 2023 10:21:42 +0000 (12:21 +0200)]
Avoid spurious whitespace in the modeline of emacsclient frames
* lisp/bindings.el (mode-line-client): Compute 'help-echotext
property in advance. (Bug#58183)
(cherry picked from commit
8c3338f6ba354218aee12c223d778be4180f892b)
Mattias Engdegård [Thu, 27 Jul 2023 14:13:54 +0000 (16:13 +0200)]
Fix function help for advised aliases (bug#64797)
* lisp/help-fns.el (help-fns--analyze-function):
For aliases, use the base function name if at the end of the chain.
This fixes a regression introduced in
d30fde6b0cc.
Reported by Michael Heerdegen.
(cherry picked from commit
024bd1f09099ae186442001a75e578638070e296)
Eli Zaretskii [Thu, 27 Jul 2023 12:34:38 +0000 (15:34 +0300)]
Avoid crashes due to invalid 'mode-line-format'
* src/xdisp.c (display_mode_element, redisplay_window_error):
Don't take XCAR of what can be Qnil. (Bug#64893)
(cherry picked from commit
7ea3f39deec3d54914077455e70605a14eb7d200)
Eli Zaretskii [Thu, 27 Jul 2023 06:51:39 +0000 (09:51 +0300)]
; Better documentation of HOME on MS-Windows
* doc/emacs/custom.texi (Find Init): Add footnote about HOME on
MS-Windows. (Bug#64871)
(cherry picked from commit
d59630e591cd49780e6554d1025c1879bb89680b)
Eli Zaretskii [Thu, 27 Jul 2023 06:37:03 +0000 (09:37 +0300)]
; Clarify documentation of 'server-after-make-frame-hook'
* doc/lispref/frames.texi (Creating Frames):
* lisp/server.el (server-after-make-frame-hook): Clarify
documentation of 'server-after-make-frame-hook'. (Bug#64873)
(cherry picked from commit
e650a14f64b9ebea69615c19ca4466c14af35857)
Eli Zaretskii [Tue, 25 Jul 2023 17:38:01 +0000 (20:38 +0300)]
Avoid crashes under 'which-key-mode'
* src/keyboard.c (Fthis_single_command_keys): Don't allow calls to
Fvector with negative first argument. (Bug#64857)
(cherry picked from commit
65834b8f8d53402517da7fe2446f5bac0aa30c39)
Eli Zaretskii [Tue, 25 Jul 2023 13:49:18 +0000 (16:49 +0300)]
; Minor documentation fixes
* src/character.c (Fstring_width): Doc fix.
* doc/emacs/trouble.texi (Understanding Bug Reporting): Fix typo
(bug#64854).
(cherry picked from commit
f6e4e77d23d0be79be83ef41c3ea9acd5c983af2)
Eli Zaretskii [Sun, 30 Jul 2023 07:08:27 +0000 (10:08 +0300)]
Bump Emacs version
* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp:
* etc/NEWS: Bump Emacs version to 29.1.50.
Eli Zaretskii [Sun, 30 Jul 2023 06:11:49 +0000 (02:11 -0400)]
; Last-minute changes befor releasing 29.1
* ChangeLog.4:
* etc/HISTORY: Update.
Vincenzo Pupillo [Sat, 29 Jul 2023 19:10:57 +0000 (21:10 +0200)]
Update CMake support due to upstream changes (bug#64922)
A recent change in tree-sitter-cmake grammar support for CMake (commit
fe9b5e0), now put arguments are wrapped in a new argument_list node.
To support the old and new version of the grammar, a new function was
added on which string syntax highlighting now depends.
* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-compatibility-
fe9b5e0): Indent helper
function to handle different tree-sitter-cmake version.
* lisp/progmodes/cmake-ts-mode.el
(cmake-ts-mode--font-lock-settings): Use the new function to handle
the new argument_list node.
Theodor Thornhill [Mon, 24 Jul 2023 18:18:09 +0000 (20:18 +0200)]
Remove nullptr named node from c++-ts-mode (bug#64818)
The nullptr node was changed from a named node to an unnamed node
upstream[0], which caused font locking to break. As this is a small
enough regression, no compat code is required.
* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Remove
node no longer in use.
[0]:
https://github.com/tree-sitter/tree-sitter-c/commit/
c75868f8b508ae32a0c8490da91bb31b2b96430e
Theodor Thornhill [Mon, 24 Jul 2023 14:17:34 +0000 (16:17 +0200)]
Make compat check also check typescript
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts-mode--font-lock-compatibility-
bb1f97b):
Add argument so that we run the 'treesit-query-capture' when the
language is 'typescript', not only 'tsx'.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Use supplied argument.
Eli Zaretskii [Sun, 23 Jul 2023 13:36:30 +0000 (16:36 +0300)]
; * etc/HISTORY: Fix the 28.3 entry.
Eli Zaretskii [Sun, 23 Jul 2023 08:18:31 +0000 (04:18 -0400)]
; * lisp/ldefs-boot.el: Regenerated for Emacs 29.1.
Eli Zaretskii [Sun, 23 Jul 2023 07:54:44 +0000 (03:54 -0400)]
Update HISTORY and ChangeLog.4
* etc/HISTORY:
* ChangeLog.4: Update for the Emacs 29.1 release.
Eli Zaretskii [Sun, 23 Jul 2023 07:40:46 +0000 (03:40 -0400)]
Bump Emacs version
* README:
* configure.ac:
* nt/README.W32:
* msdos/sed2v2.inp: Bump Emacs version to 29.1.
Eli Zaretskii [Sun, 23 Jul 2023 07:36:32 +0000 (03:36 -0400)]
Update AUTHORS and ChangeLog.4
* ChangeLog.4:
* etc/AUTHORS: Update for Emacs 29.1 release.
Eli Zaretskii [Sun, 23 Jul 2023 07:16:35 +0000 (03:16 -0400)]
; * etc/NEWS: Prepare for Emacs 29.1 release.
Do not merge to master.
Eli Zaretskii [Sun, 23 Jul 2023 05:16:14 +0000 (08:16 +0300)]
; * lisp/progmodes/typescript-ts-mode.el (treesit-query-capture): Declare.
Vincenzo Pupillo [Sat, 22 Jul 2023 11:38:48 +0000 (13:38 +0200)]
Update JSX support due to upstream changes (bug#64647)
A recent change in tree-sitter-javascript grammar support for
JSX (commit
bb1f97b), changed two things:
1. renamed nested_identifier to member_expression
2. removed jsx_fragment, jsx_text is used instead
* lisp/progmodes/js.el (js-jsx--treesit-indent-compatibility-
bb1f97b):
Indent helper function to handle different tree-sitter-javascript
version.
* lisp/progmodes/js.el (js--treesit-indent-rules): Use the new
function to handle both jsx_fragment and jsx_text.
* lisp/progmodes/js.el (js-jsx--treesit-font-lock-compatibility-
bb1f97b):
Font lock helper function for handle different tree-sitter-javascript
version.
* lisp/progmodes/js.el (js--treesit-font-lock-settings): Use the new
function to handle both nested_identifier and member_expression.
Vincenzo Pupillo [Sat, 22 Jul 2023 11:37:54 +0000 (13:37 +0200)]
Update TSX support due to upstream changes (bug#64647)
A recent change in tree-sitter-typescript grammar support for
TSX (commit
b893426), changed two things:
1. renamed nested_identifier to member_expression
2. removed jsx_fragment, jsx_text is used instead
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts-mode--indent-compatibility-
b893426): Indent helper function
to handle different tree-sitter-typescript version.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): use the new function to handle
both jsx_fragment and jsx_text.
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts-mode--font-lock-compatibility-
bb1f97b): Font lock helper
function for handle different tree-sitter-typescript version.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings): Use the new function to
handle both nested_identifier and member_expression.
Eli Zaretskii [Sat, 22 Jul 2023 12:45:40 +0000 (15:45 +0300)]
; Fix customization form of 'bookmark-watch-bookmark-file'
* lisp/bookmark.el (bookmark-watch-bookmark-file): Fix the doc
string and the customization type. (Bug#64790)
Eli Zaretskii [Sat, 22 Jul 2023 08:02:04 +0000 (11:02 +0300)]
; Improve documentation of automatic addition to minibuffer history
* doc/lispref/minibuf.texi (Minibuffer History)
(Minibuffer Commands, Text from Minibuffer)
(Minibuffer Completion): Document the behavior of 'M-n' and
"future history" when the value(s) in DEFAULT is/are exhausted.
(Bug#64656)
Eli Zaretskii [Sat, 22 Jul 2023 06:34:15 +0000 (09:34 +0300)]
; Improve documentation of 'last-command-event'
* doc/lispref/text.texi (Commands for Insertion):
* doc/lispref/commands.texi (Command Loop Info):
* src/cmds.c (syms_of_cmds) <post-self-insert-hook>: Improve the
documentation of 'last-command-event' and 'post-self-insert-hook'.
Eli Zaretskii [Sat, 22 Jul 2023 05:36:08 +0000 (08:36 +0300)]
; * lisp/subr.el (ignore, always): Doc fixes. (Bug#64776)
Philipp Stephani [Fri, 21 Jul 2023 16:22:34 +0000 (18:22 +0200)]
Unbreak build with CHECK_STRUCTS.
The hash for the Lisp_Overlay structure has changed due to the (comment-only)
commit
7ac947f34c745c61f8acc1fe2452a2c720d57a0d.
* src/pdumper.c (dump_overlay): Update struct hash.
Mattias Engdegård [Fri, 21 Jul 2023 12:49:35 +0000 (14:49 +0200)]
Revert "Improve commentary in nsfns.m"
This reverts commit
3af27a4b815906c2ee38cbaf3a765289b3df061a,
because it missed the point completely.
Please talk to the original author next time.
Eli Zaretskii [Thu, 20 Jul 2023 16:09:42 +0000 (19:09 +0300)]
Fix NetBSD build --with-sound
* src/sound.c (alsa_write): Use ESTRPIPE only if defined.
(Bug#64698)
Mauro Aranda [Sat, 15 Jul 2023 20:05:23 +0000 (17:05 -0300)]
Fix typo in pre-filter for underline property
* lisp/cus-face.el (custom-face-attributes): Fix typo (Bug#64347)
Eli Zaretskii [Thu, 20 Jul 2023 10:23:01 +0000 (13:23 +0300)]
; * src/xdisp.c: Fix wording in commentary.
Po Lu [Thu, 20 Jul 2023 08:01:34 +0000 (16:01 +0800)]
Improve commentary in nsfns.m
* src/nsfns.m (lispString): Avoid C++ comment and make the
commentary actually relevant to the reason `make_string' is
used.
Po Lu [Thu, 20 Jul 2023 07:55:07 +0000 (15:55 +0800)]
Fix typos and ommissions in cus-edit.el
* lisp/cus-edit.el (custom-display): Add missing display types.
Eli Zaretskii [Wed, 19 Jul 2023 16:28:48 +0000 (19:28 +0300)]
; * src/xdisp.c: Fix typos in the commentary.
Eli Zaretskii [Wed, 19 Jul 2023 14:54:53 +0000 (17:54 +0300)]
; * src/xdisp.c: Improve commentary. (Bug#64596)
Eli Zaretskii [Wed, 19 Jul 2023 12:05:52 +0000 (15:05 +0300)]
; * admin/notes/bugtracker: Fix punctuation.
Arash Esbati [Tue, 18 Jul 2023 21:07:01 +0000 (23:07 +0200)]
; * admin/notes/bugtracker: Use 'e.g.' throughout the document.
Mattias Engdegård [Tue, 18 Jul 2023 13:42:55 +0000 (15:42 +0200)]
Convert NUL-containing NSString objects to Lisp strings correctly
This cures the inability to paste text containing NUL from other
applications on macOS, introduced by mistake in
7e3c2b553f
(bug#64697).
* src/nsfns.m ([NSString lispString]): Use make_string instead of
build_string which relies on NUL-termination.
Eli Zaretskii [Tue, 18 Jul 2023 13:17:15 +0000 (16:17 +0300)]
; * doc/lispref/keymaps.texi (Modifying Menus): Add cross-references.
Eli Zaretskii [Tue, 18 Jul 2023 12:57:01 +0000 (15:57 +0300)]
; * doc/lispref/keymaps.texi (Extended Menu Items): Add @pxref.
Eli Zaretskii [Tue, 18 Jul 2023 11:58:09 +0000 (14:58 +0300)]
; * src/xdisp.c: Minor improvements of the commentary.
Philip Kaludercic [Mon, 17 Jul 2023 20:02:38 +0000 (22:02 +0200)]
; Improve accuracy of out-out-order message insertion
* lisp/net/rcirc.el (rcirc-print): Do not ignore the return value of
'next-single-property-change'.
Spencer Baugh [Sun, 9 Jul 2023 16:59:50 +0000 (12:59 -0400)]
; Improve robustness of package-report-bug
* lisp/emacs-lisp/package.el (package-report-bug): Do not assume that
every entry in 'custom-current-group-alist' has a non-nil entry for a
filename.
It is possible for a group to not be associated with any file, e.g. when
a 'defgroup' form is evaluated using 'eval-expression'. (bug#64543)
Eli Zaretskii [Sat, 15 Jul 2023 19:08:52 +0000 (22:08 +0300)]
; * lisp/simple.el (kill-new): Fix a typo. (Bug#64423)
Eli Zaretskii [Sat, 15 Jul 2023 10:04:41 +0000 (13:04 +0300)]
; * src/lisp.h: Improve commentary for XIL, XLI, XLP (bug#64645).
Spencer Baugh [Sat, 8 Jul 2023 16:36:22 +0000 (12:36 -0400)]
Ignore quit while getting interprogram paste in kill-new
On X, if the current selection owner is not responding to selection
requests, the user may want to take ownership of the selection. The
obvious way to do this is to kill some text (which a user might also
be doing just as part of normal editing at the time the selection
owner becomes nonresponsive). However, if
save-interprogram-paste-before-kill is non-nil, then killing text will
hang until the user quits, and this quit will abort the entire
kill-new, preventing the user from taking ownership of the selection.
Now instead if the user quits while we are attempting to retrieve the
selection from hanging owner, we will proceed to take ownership of the
selection as normal, resolving the problem.
(One example of a selction owner that might not be responding to
selection requests is another instance of Emacs itself; while Emacs is
blocked in call-process or Lisp execution, it currently does not
respond to selection requests.)
* lisp/simple.el (kill-new): Ignore quit while getting interprogram
paste (bug#64423)
Wang Diancheng [Fri, 14 Jul 2023 03:06:32 +0000 (11:06 +0800)]
* lisp/progmodes/gdb-mi.el: Fix interactive invocation of 'gud-go'.
Bug#64590.
Copyright-paperwork-exempt: yes
Valtteri Vuorikoski [Thu, 13 Jul 2023 09:35:51 +0000 (12:35 +0300)]
Fix NetBSD build with and without ncurses
* configure.ac (netbsd): Don't set TERMINFO=no unless the termcap
library is either -ltermcap or -lcurses. This prevents aborts
because on recent versions of NetBSD libtermcap is actually a
symlink to libterminfo. (Bug#64577)
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sat, 15 Jul 2023 07:21:07 +0000 (10:21 +0300)]
; * lisp/paren.el (show-paren-function): Fix last change (bug#64547).
Eli Zaretskii [Fri, 14 Jul 2023 17:33:29 +0000 (20:33 +0300)]
; Fix last change.
YugaEgo [Fri, 14 Jul 2023 15:49:36 +0000 (18:49 +0300)]
Improve documentation of 'enable-local-variables' in Emacs manual
* doc/emacs/custom.texi (Safe File Variables): Document ':all'.
(Bug#64621)
Mauro Aranda [Fri, 14 Jul 2023 10:41:58 +0000 (07:41 -0300)]
; Fix copy-paste in Widget Manual (Bug#64610)
Eli Zaretskii [Fri, 14 Jul 2023 05:32:57 +0000 (08:32 +0300)]
; * doc/misc/eshell.texi (Aliases): Remove stray "@end table".
YugaEgo [Thu, 13 Jul 2023 19:50:27 +0000 (22:50 +0300)]
; * lisp/progmodes/sql.el (sql-interactive-mode): Remove FIXME (bug#64602).
Jim Porter [Thu, 13 Jul 2023 16:10:57 +0000 (09:10 -0700)]
; * doc/misc/eshell.texi (Variables): Add missing index for $INSIDE_EMACS
Do not merge to master. On master, this was fixed by
0bb8a011d57.
Michael Albinus [Tue, 11 Jul 2023 10:18:31 +0000 (12:18 +0200)]
; * doc/misc/eshell.texi (Invocation): Whitespace cleanup.
Do not merge to master. This is a backport of
04710bd01b2.
Jim Porter [Sun, 9 Jul 2023 19:04:01 +0000 (12:04 -0700)]
Add documentation about remote access in Eshell
Do not merge to master. This is a backport of
438921161ac.
* doc/misc/eshell.texi
(Invocation): Mention the '*' prefix.
(Remote Access): New section...
(Commands): ... link to it.
Jim Porter [Sat, 8 Jul 2023 19:13:22 +0000 (12:13 -0700)]
; * doc/misc/eshell.texi: Fix last change.
Do not merge to master. This is a backport of
8c5fef4eb30.
Jim Porter [Sat, 8 Jul 2023 01:19:08 +0000 (18:19 -0700)]
; * doc/misc/eshell.texi: Fix typos and clean up unclear wording.
Do not merge to master. This is a backport of
118582efb30.
Jim Porter [Sat, 8 Jul 2023 00:30:26 +0000 (17:30 -0700)]
Document some missing Eshell commands
Do not merge to master. This is a backport of
f7a899d7ca0.
* doc/misc/eshell.texi (Built-ins): Document 'eshell-debug'.
(Extra built-in commands): Document 'count', 'ff', and 'gf'.
Jim Porter [Sat, 13 May 2023 03:03:48 +0000 (20:03 -0700)]
Document optional Eshell modules
Do not merge to master. This is a backport of
77f13edab0f.
* doc/misc/eshell.texi (Built-ins): Move disabled-by-default commands
to...
(Tramp extensions, Extra built-in commands): ...here
(Optional modules, Key rebinding, Smart scrolling): Add documentation.
(Bug and ideas): Documentation is no longer incomplete!
Jim Porter [Sat, 13 May 2023 03:11:01 +0000 (20:11 -0700)]
Correct the Eshell documentation about how to write new modules
* doc/misc/eshell.texi (Writing a module): Fix the documentation.
'eshell-defgroup' doesn't exist anymore.
Do not merge to master. This is a backport of
77f13edab0f.
Jim Porter [Mon, 30 Jan 2023 03:59:56 +0000 (19:59 -0800)]
Restructure Eshell extension modules documentation
This adds a section for documenting all the optional modules.
Do not merge to master. This is a backport of
f2981a1681d.
* doc/misc/eshell.texi (Extension modules): Move explanation about
writing modules to...
(Writing a module): ... here.
(Module testing): Remove. Testing an Eshell module doesn't require
any special documentation.
(Key binding, Smart scrolling, Electric forward slash): Move under...
(Optional modules): ... here.
(Directory handling, Terminal emulation): Remove. These modules are
enabled by default, and so are documented above.
(Tramp extensions, Extra built-in commands): New sections.
Jim Porter [Mon, 30 Jan 2023 02:29:02 +0000 (18:29 -0800)]
; * doc/misc/eshell.texi (Bugs and ideas): Remove implemented feature.
Do not merge to master. This is a backport of
194de36ca9f.
Eli Zaretskii [Thu, 13 Jul 2023 08:33:54 +0000 (11:33 +0300)]
; * src/lisp.h (struct Lisp_Overlay): Update commentary (bug#64580).
Jens Schmidt [Tue, 11 Jul 2023 19:57:31 +0000 (21:57 +0200)]
Replace duplicate text from epa.texi by a reference
* doc/misc/auth.texi (GnuPG and EasyPG Assistant Configuration):
Replace duplicate text from epa.texi by a reference to
that. (Bug#64154)