Michael Albinus [Sun, 13 Aug 2023 14:48:00 +0000 (16:48 +0200)]
Handle last-coding-system-used in Tramp for all backends
* lisp/net/tramp.el (tramp-skeleton-write-region):
Handle `last-coding-system-used'.
(tramp-handle-write-region):
* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region):
Set `coding-system-used'. (Bug#65022)
* lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
Move `last-coding-system-used' handling to
`tramp-skeleton-write-region'.
Devon Sean McCullough [Sat, 12 Aug 2023 14:18:47 +0000 (10:18 -0400)]
Add 2 Welsh characters to iso-transl.el
* lisp/international/iso-transl.el (iso-transl-char-map): Add two
Welsh characters. (Bug#65248)
Andrea Corallo [Sat, 12 Aug 2023 16:42:33 +0000 (18:42 +0200)]
* Fix `batch-byte+native-compile' target directory.
* lisp/emacs-lisp/comp.el (batch-native-compile): Don't shadow
`native-compile-target-directory' unless necessary.
Eli Zaretskii [Sat, 12 Aug 2023 12:06:48 +0000 (15:06 +0300)]
Avoid crashes in 'display_count_lines' when current buffer was killed
* src/xdisp.c (Fformat_mode_line):
* src/fns.c (Fline_number_at_pos): Don't allow to count lines in a
dead buffer. (Bug#65060)
Daniel Martín [Sat, 12 Aug 2023 08:32:45 +0000 (10:32 +0200)]
; * doc/emacs/mini.texi (Completion Commands): Fix a typo (bug#65242).
J M [Thu, 10 Aug 2023 22:23:20 +0000 (23:23 +0100)]
Update csharp tree-sitter support due to upstream changes
A change in tree-sitter-c-sharp grammar for csharp (commit
18a531), has removed the keyword void_keyword and advised
we should use predefined_type.
* lisp/progmodes/csharp-mode.el (csharp-ts-mode--font-lock-settings):
Support both old and new style of keywords in tree-sitter-c-sharp
grammar. (Bug#65113)
Matthew Tromp [Thu, 10 Aug 2023 14:41:24 +0000 (10:41 -0400)]
Substitute command keys in 'ielm-header' at use time
Before, command keys were substituted into the ielm-header when
ielm.el was loaded, which resulted in the substitutions depending on
the user's current buffer instead of the ielm buffer.
For example, if the user was in an info-mode buffer, the key would
appear as 'H' instead of 'C-h m'.
Now, the command key is substituted after the ielm buffer has been
created.
* lisp/ielm.el (ielm-header): Remove substitute-command-keys.
(inferior-emacs-lisp-mode): Add substitute-command-keys. (Bug#65213)
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sat, 12 Aug 2023 07:04:55 +0000 (10:04 +0300)]
; * etc/PROBLEMS: Add entry about XIM problems (bug#65205).
Eli Zaretskii [Sat, 12 Aug 2023 06:38:28 +0000 (09:38 +0300)]
Fix rare crashes in redisplay due to problems with fontsets
* src/xdisp.c (get_next_display_element): If we have no usable
face to display a character/composition, treat that as glyphless.
(produce_glyphless_glyph): If neither it->face nor its ASCII face
are usable, fall back to the frame's default font. (Bug#65198)
Eli Zaretskii [Sat, 12 Aug 2023 06:27:23 +0000 (09:27 +0300)]
Fix a typo in 'leuven-dark-theme.el'
* etc/themes/leuven-dark-theme.el (leuven-dark): Fix a typo.
Reported by John Poole <saxcos@posteo.es>. (Bug#65239)
Gregory Heytings [Fri, 11 Aug 2023 14:22:17 +0000 (14:22 +0000)]
; * admin/git-bisect-start: Update failing commits
Gregory Heytings [Thu, 10 Aug 2023 17:34:40 +0000 (17:34 +0000)]
; * admin/git-bisect-start: Update failing commits
Robert Pluim [Thu, 10 Aug 2023 10:42:30 +0000 (12:42 +0200)]
; * etc/PROBLEMS: Fix typo.
Michael Albinus [Thu, 10 Aug 2023 10:17:59 +0000 (12:17 +0200)]
Adapt Tramp test
* test/lisp/net/tramp-tests.el (tramp-test41-special-characters):
Skip for macOS.
dannyfreeman [Mon, 7 Aug 2023 19:55:27 +0000 (15:55 -0400)]
Properly expand the JSX indentation rules in 'js-ts-mode'
* lisp/progmodes/js.el (js--treesit-indent-rules): Fix
'js-ts-mode' indent bug in JSX expressions. Before this
change, treesit indent mechanisms were trying to call this
compatibility function like a matching or anchor rule.
This resulted in an error when running `indent-for-tab-command`
while the cursor was in a JSX expression:
treesit--simple-indent-eval: Wrong number of
arguments: ((cl-struct-js--pitem-tags ido-cur-list t) nil "Indent rules
helper, to handle different releases of tree-sitter-javascript."
(Bug#65134)
Andrea Corallo [Thu, 10 Aug 2023 08:39:14 +0000 (10:39 +0200)]
* Add `emacs-lisp-native-compile' to easy-menu.
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu): Add menu
item for emacs-lisp-native-compile.
Andrea Corallo [Thu, 10 Aug 2023 08:34:01 +0000 (10:34 +0200)]
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu): Simplify condition.
Andrea Corallo [Thu, 10 Aug 2023 08:18:43 +0000 (10:18 +0200)]
* Introduce `emacs-lisp-native-compile'.
* lisp/progmodes/elisp-mode.el (emacs-lisp-native-compile): New command.
(emacs-lisp-native-compile-and-load): Make use of.
Eli Zaretskii [Thu, 10 Aug 2023 07:50:35 +0000 (10:50 +0300)]
Fix the -x switch in non-X builds
* src/emacs.c (main): Move the handling of the -x switch out of
the HAVE_X_WINDOWS condition, and simplify the rest of the code by
avoiding code duplication in HAVE_X_WINDOWS and !HAVE_X_WINDOWS
cases. (Bug#65048)
Po Lu [Thu, 10 Aug 2023 07:31:03 +0000 (15:31 +0800)]
Document that `set-mouse-color' does not work everywhere
* etc/PROBLEMS (Miscellaneous Problems): Mention where
`set-mouse-color' does not work.
Eli Zaretskii [Thu, 10 Aug 2023 06:08:59 +0000 (09:08 +0300)]
; * doc/emacs/dired.texi (Misc Dired Features): Fix last change.
Eli Zaretskii [Thu, 10 Aug 2023 06:06:05 +0000 (09:06 +0300)]
Fix the effects and documentation of 'dired-free-space'
* lisp/dired.el (dired-free-space): Fix doc string and Custom tags.
(dired--insert-disk-space): When 'dired-free-space' is 'separate',
return the position of the beginning of the disk-space line, to be
compatible with pre-Emacs 29 behavior under
'dired-hide-details-mode'. (Bug#65186)
* doc/emacs/dired.texi (Misc Dired Features): Fix wording in
documentation of 'dired-free-space'.
Stefan Kangas [Thu, 10 Aug 2023 05:21:22 +0000 (07:21 +0200)]
; Fix typo
Stefan Kangas [Wed, 9 Aug 2023 14:48:54 +0000 (16:48 +0200)]
Fix cross-reference to eldoc in eglot manual
* doc/misc/eglot.texi (Eglot Features): Fix cross-reference to eldoc
node in the Emacs manual.
Eli Zaretskii [Wed, 9 Aug 2023 14:35:24 +0000 (17:35 +0300)]
Add native-compilation to Emacs Lisp mode menu
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu): Add menu
item for emacs-lisp-native-compile-and-load.
Andrea Corallo [Wed, 9 Aug 2023 13:13:48 +0000 (15:13 +0200)]
Fix emacs-lisp-native-compile-and-load eln target directory (bug#64226)
* lisp/emacs-lisp/comp.el (comp-spill-lap-function): Don't use
`byte+native-compile' to select output directory but always axpect
it explicit through `native-compile-target-directory'.
(batch-byte+native-compile): Set `native-compile-target-directory'.
* test/src/comp-tests.el (comp-tests-bootstrap): Set
`native-compile-target-directory'.
Eli Zaretskii [Wed, 9 Aug 2023 11:25:59 +0000 (07:25 -0400)]
; Re-enable the /dev/urandom test
* test/src/fileio-tests.el (fileio-tests--non-regular-insert):
Remove :unstable, but comment out the single failing test.
Mattias Engdegård [Wed, 9 Aug 2023 08:23:28 +0000 (10:23 +0200)]
Disable failing test (bug#65156)
* test/src/fileio-tests.el (fileio-tests--non-regular-insert):
Mark as :unstable, since /dev/urandom is seekable.
Do not merge to master.
Po Lu [Wed, 9 Aug 2023 02:49:44 +0000 (10:49 +0800)]
Better fix for bug#65156
* src/fileio.c (Finsert_file_contents): Correct seek-ability
test, since lseek returns -1 upon failure. (Bug#65156)
Eli Zaretskii [Tue, 8 Aug 2023 19:18:46 +0000 (22:18 +0300)]
Fix insert-file-contents with pipes and /dev/stdin
* src/fileio.c (Finsert_file_contents): Restore logic of
non-regular but seekable files. (Bug#65156)
Eli Zaretskii [Tue, 8 Aug 2023 12:22:14 +0000 (15:22 +0300)]
; * etc/PROBLEMS: Fix wording.
Stefan Kangas [Tue, 8 Aug 2023 02:46:03 +0000 (04:46 +0200)]
; * etc/NEWS.28: Add deletion of levents.el.
Po Lu [Tue, 8 Aug 2023 01:01:59 +0000 (09:01 +0800)]
Fix bug#65042
* src/pgtkterm.c (fill_background_by_face): Respect the frame's
background alpha property.
Eli Zaretskii [Mon, 7 Aug 2023 13:20:17 +0000 (16:20 +0300)]
* configure.ac (HAVE_TREE_SITTER): Set NEED_DYNLIB=yes (bug#65123).
Michael Albinus [Sun, 6 Aug 2023 19:25:40 +0000 (21:25 +0200)]
* etc/NEWS: Mention tramp-show-ad-hoc-proxies.
Michael Albinus [Sun, 6 Aug 2023 14:24:19 +0000 (16:24 +0200)]
* test/lisp/net/tramp-tests.el (tramp-test42-utf8): Skip for macOS.
Michael Albinus [Sun, 6 Aug 2023 13:46:58 +0000 (15:46 +0200)]
; Fix last change
Michael Albinus [Sun, 6 Aug 2023 12:30:57 +0000 (14:30 +0200)]
* test/lisp/net/tramp-tests.el (tramp-test10-write-region): Extend test.
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.