Stefan Kangas
69210eb84e
Use 'help-key' function in more places
...
* lisp/dired-aux.el (dired-query):
* lisp/emacs-lisp/helper.el (Helper-help-map):
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Use 'help-key'.
* lisp/net/tramp-cmds.el (tramp-rename-files):
* lisp/which-key.el (which-key--next-page-hint): Prefer 'help-key'
when available.
* lisp/help.el (help-key): Simplify.
* etc/symbol-releases.eld: Add 'help-key'.
2025-03-18 00:16:29 +01:00
Michael Albinus
b8104dadbf
Tramp: Handle symlinks to non-existing targets better
...
* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
Don't use the truename.
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Refactor. Handle
symlinks. (Bug#76678)
* lisp/net/tramp-smb.el (tramp-smb-errors): Add string.
(tramp-smb-handle-copy-file, tramp-smb-handle-rename-file):
Refactor.
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
Don't use the truename. Handle symlinks.
* lisp/net/tramp.el (tramp-barf-if-file-missing): Accept also symlinks.
(tramp-skeleton-file-exists-p): Handle non-existing symlink targets.
(tramp-skeleton-set-file-modes-times-uid-gid): Fix typo.
* test/lisp/net/tramp-tests.el (vc-handled-backends):
Suppress only if noninteractive.
(tramp-test11-copy-file, tramp-test12-rename-file)
(tramp-test18-file-attributes, tramp-test21-file-links)
(tramp--test-check-files): Adapt tests.
2025-03-16 14:17:38 +01:00
Michael Albinus
52e49a5616
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
2025-03-15 12:52:37 +01:00
Michael Albinus
4b8b7bb5cf
; Minor Tramp changes
...
* doc/misc/tramp.texi (Top): Add Key Index to menu.
(Key Index): New node.
* lisp/net/tramp-cmds.el (tramp-dired-buffer-command-completion-p):
New defun.
(tramp-dired-find-file-with-sudo): Add property
`completion-predicate'.
2025-03-15 12:43:35 +01:00
Sean Whitton
a57e9f45db
; Touch up tramp-*-with-sudo documentation, add FIXMEs
...
* doc/emacs/dired.texi (Dired Visiting):
* doc/emacs/files.texi (Reverting):
* doc/misc/tramp.texi (Ad-hoc multi-hops):
* etc/NEWS:
* lisp/net/tramp-cmds.el (tramp-revert-buffer-with-sudo)
(tramp-dired-find-file-with-sudo): Touch up documentation of
these features. Add FIXMEs about renaming the two commands.
2025-03-15 19:32:35 +08:00
Michael Albinus
24ffcbb3da
Improve tramp-*-with-sudo commands
...
* doc/emacs/dired.texi (Dired Visiting):
Add tramp-dired-find-file-with-sudo.
* doc/emacs/files.texi (Reverting):
Add tramp-revert-buffer-with-sudo.
* doc/misc/tramp.texi (Ad-hoc multi-hops): Extend wrt
`tramp-*-with-sudo' commands.
* etc/NEWS: Add tramp-dired-find-file-with-sudo.
Fix typos.
* lisp/bindings.el (ctl-x-x-map):
* lisp/dired.el (dired-mode-map): Add "@" binding. (Bug#76974)
* lisp/net/tramp-cmds.el (dired-get-file-for-visit): Declare.
(with-tramp-file-name-with-method): New macro.
(tramp-revert-buffer-with-sudo): Autoload. Preserve position.
Use `with-tramp-file-name-with-method'.
(tramp-dired-find-file-with-sudo): New command.
2025-03-14 16:31:51 +01:00
Michael Albinus
c8985a6d9f
; Fix last change
...
* lisp/net/tramp-cmds.el (tramp-list-remote-buffers)
(tramp-list-remote-buffer-connections): Fix docstring.
(tramp-cleanup-bufferless-connections): Use `string-join'.
2025-02-25 12:40:33 +01:00
shipmints
bea00a0799
Add tramp-cleanup-bufferless-connections (bug#76417)
...
* doc/misc/tramp.texi (Cleanup remote connections): Add
'tramp-cleanup-bufferless-connections'.
* etc/NEWS: Announce 'tramp-cleanup-bufferless-connections'.
* lisp/net/tramp-cmds.el:
(tramp-list-remote-buffer-connections): New function.
(tramp-cleanup-bufferless-connections): New command.
(tramp-list-remote-buffers): Account for 'buffer-file-name'.
2025-02-25 11:34:49 +01:00
Michael Albinus
40a8d0ebf0
Fix Tramp error handling process buffer
...
* lisp/net/tramp-cache.el (tramp-list-connections):
* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Use connection
property " connected" for a check of active connections.
* lisp/net/tramp.el (tramp-get-buffer): Set connection property
" connected".
2025-01-19 11:30:10 +01:00
Paul Eggert
4da38c6321
Update copyright year to 2025
...
Run "TZ=UTC0 admin/update-copyright".
2025-01-01 07:39:17 +00:00
Michael Albinus
9ddec89e42
Better handling of "%" in Tramp user or host names
...
* lisp/net/tramp.el (tramp-format-spec): New defun.
(tramp-dissect-file-name, tramp-compute-multi-hops)
(tramp-expand-args):
* lisp/net/tramp-cmds.el (tramp-default-rename-file): Use it.
2024-12-06 11:56:05 +01:00
Michael Albinus
22900b5990
Tramp: Rework handling of temporary connection properties
...
* doc/misc/tramp.texi (Ad-hoc multi-hops): Precise use of parallel
multi-hops.
* lisp/net/tramp-cache.el:
* lisp/net/tramp.el:
* lisp/net/tramp-adb.el:
* lisp/net/tramp-androidsu.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: Rename connection properties "process-name",
"process-buffer" and "first-password-request" to " process-name",
" process-buffer" and " first-password-request, repectively".
* lisp/net/tramp-cache.el (tramp-dump-connection-properties):
Don't dump properties starting with a space.
2024-11-13 16:23:27 +01:00
Michael Albinus
6cde51f1bb
Tramp: Support different proxies for the same destination
...
* doc/misc/tramp.texi (Ad-hoc multi-hops): New subsection "Using
different proxies for the same destination".
* etc/NEWS: Tramp supports different proxies for the same
destination host name in parallel.
Fix typos.
* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Fix docstring.
* lisp/net/tramp.el (tramp-make-tramp-file-name): Don't call
`tramp-add-hops' during file name completion.
(tramp-handle-file-name-as-directory)
(tramp-handle-file-name-directory): Use `tramp-cache-undefined'
for an empty `tramp-default-proxies-alist'.
(tramp-add-hops): Extend. Remove existing entries with same
target and different proxy, if needed. (Bug#74219)
2024-11-09 10:29:42 +01:00
Michael Albinus
1bf1753d79
Tramp: Use when-let*', if-let*' and `and-let*' consequently
...
* lisp/net/tramp-adb.el:
* lisp/net/tramp-androidsu.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-compat.el:
* lisp/net/tramp-container.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-ftp.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-message.el:
* lisp/net/tramp-rclone.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sshfs.el:
* lisp/net/tramp-sudoedit.el:
* lisp/net/tramp.el:
* test/lisp/net/tramp-tests.el:
Use `when-let*', `if-let*' and `and-let*' consequently. (Bug#73441)
2024-10-30 10:39:02 +01: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
Michael Albinus
1b806a200e
Remove further compat code from Tramp
...
* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
Use `process-file-return-signal-string'.
* lisp/net/tramp-cache.el (tramp-dump-connection-properties):
Use "lisp-data" for persistency file.
* lisp/net/tramp-cmds.el (tramp-cleanup-this-connection)
(tramp-rename-these-files, tramp-recompile-elpa):
Declare `completion'.
* lisp/net/tramp-container.el (tramp-kubernetes--container)
(tramp-kubernetes--pod, tramp-kubernetes--namespace): Make more
robust.
* lisp/net/tramp-crypt.el (tramp-crypt-remove-directory):
Declare `completion'.
* lisp/net/tramp-gvfs.el (file-notyify-callback): Declare.
* lisp/net/tramp-sh.el (process-file-return-signal-string)
(vc-handled-backends): Don't declare.
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
Use `copy-directory-create-symlink'.
* lisp/net/tramp.el (tramp-skeleton-write-region): Use `lock-file' and
`unlock-file'..
(tramp-handle-make-lock-file-name): Use `remote-file-name-inhibit-locks'.
(tramp-handle-unlock-file): Use `remote-file-name-inhibit-locks'
and `userlock--handle-unlock-error'.
(tramp-handle-shell-command): Use `shell-command-buffer-name-async'
and `shell-command-buffer-name'.
(tramp-read-passwd): Remove workaround.
2024-08-04 13:23:43 +02:00
Michael Albinus
29d4ba5625
Improve Tramp startup time
...
* lisp/net/tramp-cmds.el (tramp-repository-branch)
(tramp-repository-version):
* lisp/net/tramp-message.el (tramp-repository-branch)
(tramp-repository-version): Declare.
* lisp/net/trampver.el (tramp-repository-branch)
(tramp-repository-version): Remove ;;;###tramp-autoload cookie.
2024-07-27 10:25:52 +02:00
Michael Albinus
c4e8112f98
Remove Emacs 27 compatibility from Tramp
...
* doc/misc/tramp.texi (Frequently Asked Questions):
Adapt supported Emacs versions.
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.8.0-pre".
* lisp/net/tramp-compat.el (tramp-compat-file-modes)
(tramp-compat-set-file-modes, tramp-compat-set-file-times)
(tramp-compat-directory-files)
(tramp-compat-directory-files-and-attributes)
(tramp-compat-directory-empty-p, tramp-compat-null-device)
(tramp-compat-string-replace, tramp-compat-string-search)
(tramp-compat-make-lock-file-name)
(tramp-compat-file-name-concat)
(tramp-compat-replace-regexp-in-region, tramp-compat-length<)
(tramp-compat-length>, tramp-compat-length=)
(tramp-compat-always): Remove.
* lisp/net/tramp-adb.el:
* lisp/net/tramp-androidsu.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-compat.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-message.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sshfs.el:
* lisp/net/tramp-sudoedit.el:
* lisp/net/tramp.el: Use original objects instead of their
`tramp-compat-' counterparts when possible.
2024-07-24 15:25:55 +02:00
Stefan Kangas
e43e9d0998
Checkdoc fixes in net/*.el
...
* lisp/net/ange-ftp.el:
* lisp/net/dictionary.el (dictionary-tool-bar-map):
* lisp/net/eudc.el (eudc-translate-query)
(eudc-translate-attribute-list)
(eudc-format-inline-expansion-result, eudc-bookmark-server):
* lisp/net/eww.el (eww-check-text-conversion):
* lisp/net/rcirc.el (rcirc-server-name):
* lisp/net/tramp-adb.el (tramp-adb-handle-get-remote-uid):
* lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p):
* lisp/net/tramp-crypt.el (tramp-crypt-command-completion-p):
* lisp/net/tramp-message.el (tramp-debug-buffer-command-completion-p):
* lisp/net/tramp-sh.el (tramp-use-connection-share):
* lisp/net/tramp.el (tramp-command-completion-p): Checkdoc fixes.
2024-07-08 14:10:46 +02:00
Michael Albinus
1728de5a77
Backport: Tramp: Fix bug#71709, and other minor changes
...
* lisp/net/tramp-message.el (tramp-backtrace): Print also in batch mode.
* lisp/net/tramp.el (tramp-skeleton-file-exists-p): Check for
property only.
(tramp-skeleton-make-process): Don't set `default-directory'.
(tramp-handle-make-process): Set it. (Bug#71709)
(cherry picked from commit 8456cb9b69 )
2024-06-23 13:59:57 +02:00
Michael Albinus
b43c31d2f5
New Tramp method "run0"
...
* doc/misc/tramp.texi (Quick Start Guide, Inline methods)
(Password handling, Predefined connection information)
(Ad-hoc multi-hops): Add "run0".
(Remote processes): Mention tramp-use-connection-share.
* etc/NEWS: New Tramp method "run0".
* lisp/net/tramp.el (tramp-completion-dissect-file-name):
* lisp/net/tramp-cmds.el (tramp-list-remote-buffers):
* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
Use `tramp-compat-keep-seq'.
* lisp/net/tramp-cmds.el (tramp-file-name-with-method): Add "run0".
* lisp/net/tramp-sh.el (tramp-enable-run0-method): New defun.
(tramp-sh-handle-expand-file-name): Add "run0".
(tramp-maybe-open-connection): Simplify setting timeout.
2024-05-11 10:03:45 +02:00
Michael Albinus
04363f9924
Tramp code cleanup
...
* lisp/net/tramp-compat.el (tramp-compat-seq-keep): New defalias.
* lisp/net/tramp.el (tramp-enable-method):
* lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
* lisp/net/tramp-cache.el (tramp-list-connections):
* lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
* lisp/net/tramp-container.el (tramp-container--completion-function)
(tramp-toolbox--completion-function)
(tramp-flatpak--completion-function)
(tramp-apptainer--completion-function):
* lisp/net/tramp-rclone.el (tramp-rclone-parse-device-names): Use it.
2024-05-09 10:38:37 +02:00
Tim Landscheidt
6d1c1fca0a
; Simplify (with-current-buffer (get-buffer ...) ...)
...
There's no need to call 'get-buffer', since 'with-current-buffer'
does that internally.
* lisp/calendar/todo-mode.el (todo-merge-category):
* lisp/comint.el (comint-dynamic-list-completions):
* lisp/emacs-lisp/checkdoc.el (checkdoc-error):
* lisp/emacs-lisp/debug.el (debug, debugger-record-expression):
* lisp/emacs-lisp/eieio-opt.el (eieio-browse):
* lisp/emacs-lisp/re-builder.el (reb-restart-font-lock):
* lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
* lisp/eshell/em-unix.el (eshell-poor-mans-grep):
* lisp/gnus/gnus-group.el (gnus-add-mark):
* lisp/net/eww.el (eww-next-bookmark, eww-previous-bookmark):
* lisp/net/sieve.el (sieve-upload):
* lisp/net/tramp-cmds.el (tramp-cleanup-some-buffers):
* lisp/obsolete/quickurl.el (quickurl-list-populate-buffer):
* lisp/org/ob-calc.el: (org-babel-execute:calc):
* lisp/org/org-agenda.el (org-agenda-use-sticky-p):
* lisp/pcomplete.el (pcomplete-show-completions):
* lisp/progmodes/bug-reference.el
(bug-reference--try-setup-gnus-article):
* lisp/progmodes/idlw-help.el
(idlwave-highlight-linked-completions):
* lisp/progmodes/verilog-mode.el (verilog-preprocess):
* lisp/replace.el (occur-1):
* lisp/term.el (term-dynamic-list-completions):
* lisp/time.el (world-clock-update):
* lisp/url/url-cache.el (url-store-in-cache):
* lisp/vc/vc-cvs.el (vc-cvs-merge, vc-cvs-merge-news):
* lisp/vc/vc-rcs.el (vc-rcs-system-release):
* lisp/vc/vc-svn.el (vc-svn-merge, vc-svn-merge-news):
* test/lisp/calendar/icalendar-tests.el
(icalendar-tests--get-error-string-for-export):
* test/lisp/erc/erc-dcc-tests.el
(pcomplete/erc-mode/DCC--get-1flag)
(pcomplete/erc-mode/DCC--get-2flags)
(pcomplete/erc-mode/DCC--get-2flags-reverse):
* test/lisp/erc/erc-networks-tests.el
(erc-networks--rename-server-buffer--existing--noreuse):
* test/lisp/erc/erc-scenarios-services-misc.el
(erc-scenarios-services-misc--reconnect-retry-nick):
* test/lisp/erc/erc-tests.el (erc--refresh-prompt):
Replace (with-current-buffer (get-buffer ...) ...) with
(with-current-buffer ...).
2024-03-14 12:40:26 +02:00
Po Lu
ecf08f0621
Merge from savannah/emacs-29
...
dc4e6b1329 ; Update copyright years in more files
64b3777631 ; Run set-copyright from admin.el
8e1c56ae46 ; Add 2024 to copyright years
# Conflicts:
# doc/misc/modus-themes.org
# doc/misc/texinfo.tex
# etc/NEWS
# etc/refcards/ru-refcard.tex
# etc/themes/modus-operandi-theme.el
# etc/themes/modus-themes.el
# etc/themes/modus-vivendi-theme.el
# lib/alloca.in.h
# lib/binary-io.h
# lib/c-ctype.h
# lib/c-strcasecmp.c
# lib/c-strncasecmp.c
# lib/careadlinkat.c
# lib/cloexec.c
# lib/close-stream.c
# lib/diffseq.h
# lib/dup2.c
# lib/filemode.h
# lib/fpending.c
# lib/fpending.h
# lib/fsusage.c
# lib/getgroups.c
# lib/getloadavg.c
# lib/gettext.h
# lib/gettime.c
# lib/gettimeofday.c
# lib/group-member.c
# lib/malloc.c
# lib/md5-stream.c
# lib/md5.c
# lib/md5.h
# lib/memmem.c
# lib/memrchr.c
# lib/nanosleep.c
# lib/save-cwd.h
# lib/sha1.c
# lib/sig2str.c
# lib/stdlib.in.h
# lib/strtoimax.c
# lib/strtol.c
# lib/strtoll.c
# lib/time_r.c
# lib/xalloc-oversized.h
# lisp/auth-source-pass.el
# lisp/emacs-lisp/lisp-mnt.el
# lisp/emacs-lisp/timer.el
# lisp/info-look.el
# lisp/jit-lock.el
# lisp/loadhist.el
# lisp/mail/rmail.el
# lisp/net/ntlm.el
# lisp/net/webjump.el
# lisp/progmodes/asm-mode.el
# lisp/progmodes/project.el
# lisp/progmodes/sh-script.el
# lisp/textmodes/flyspell.el
# lisp/textmodes/reftex-toc.el
# lisp/textmodes/reftex.el
# lisp/textmodes/tex-mode.el
# lisp/url/url-gw.el
# m4/alloca.m4
# m4/clock_time.m4
# m4/d-type.m4
# m4/dirent_h.m4
# m4/dup2.m4
# m4/euidaccess.m4
# m4/fchmodat.m4
# m4/filemode.m4
# m4/fsusage.m4
# m4/getgroups.m4
# m4/getloadavg.m4
# m4/getrandom.m4
# m4/gettime.m4
# m4/gettimeofday.m4
# m4/gnulib-common.m4
# m4/group-member.m4
# m4/inttypes.m4
# m4/malloc.m4
# m4/manywarnings.m4
# m4/mempcpy.m4
# m4/memrchr.m4
# m4/mkostemp.m4
# m4/mktime.m4
# m4/nproc.m4
# m4/nstrftime.m4
# m4/pathmax.m4
# m4/pipe2.m4
# m4/pselect.m4
# m4/pthread_sigmask.m4
# m4/readlink.m4
# m4/realloc.m4
# m4/sig2str.m4
# m4/ssize_t.m4
# m4/stat-time.m4
# m4/stddef_h.m4
# m4/stdint.m4
# m4/stdio_h.m4
# m4/stdlib_h.m4
# m4/stpcpy.m4
# m4/strnlen.m4
# m4/strtoimax.m4
# m4/strtoll.m4
# m4/time_h.m4
# m4/timegm.m4
# m4/timer_time.m4
# m4/timespec.m4
# m4/unistd_h.m4
# m4/warnings.m4
# nt/configure.bat
# nt/preprep.c
# test/lisp/register-tests.el
2024-01-02 10:28:14 +08:00
Po Lu
8e1c56ae46
; Add 2024 to copyright years
2024-01-02 09:47:10 +08:00
Michael Albinus
8181563f8c
Fix tramp-revert-buffer-with-sudo
...
* lisp/net/tramp-cmds.el (tramp-revert-buffer-with-sudo):
Use `buffer-file-name' instead of `buffer-name'. (Bug#66571)
2023-10-17 11:41:12 +02:00
Michael Albinus
6e93e76083
New command tramp-revert-buffer-with-sudo
...
* doc/misc/tramp.texi (Ad-hoc multi-hops):
Document tramp-file-name-with-method and tramp-revert-buffer-with-sudo.
* etc/NEWS: New command tramp-revert-buffer-with-sudo.
* lisp/net/tramp-cmds.el (dired-advertise, dired-unadvertise): Declare.
(tramp-dired-buffer-p, tramp-remote-process-p): Rename.
(tramp-file-name-with-method): New defcustom.
(tramp-file-name-with-sudo, tramp-revert-buffer-with-sudo): New defuns.
2023-09-11 13:51:58 +02:00
Michael Albinus
5bdffc2ddb
Tramp cleanup
...
* lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory):
Adapt docstring.
2023-08-23 11:01:58 +02:00
Michael Albinus
2695af297e
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.
2023-08-05 18:07:58 +02:00
Michael Albinus
d83ceba705
Add more `tramp-suppress-trace' properties in Tramp
...
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
Use `tramp-archive-handle-file-symlink-p'.
(tramp-archive-handle-file-symlink-p): New defun.
* lisp/net/tramp-cache.el (tramp-loaddefs): Don't require.
(tramp-get-hash-table, tramp-cache-print)
(tramp-dump-connection-properties): Declare `tramp-suppress-trace'
property.
* lisp/net/tramp-cmds.el (tramp-cleanup-dired-buffer-p)
(tramp-delete-tainted-remote-process-buffer-function):
Declare `tramp-suppress-trace' property.
* lisp/net/tramp-compat.el (tramp-loaddefs): Require.
(tramp-error): Declare.
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler): Fix typo.
* lisp/net/tramp-integration.el (tramp-rfn-eshadow-setup-minibuffer)
(tramp-rfn-eshadow-update-overlay-regexp)
(tramp-rfn-eshadow-update-overlay): Declare `tramp-suppress-trace'
property.
* lisp/net/tramp-message.el (tramp-compat): Require (instead of
tramp-loaddefs.el).
(tramp-compat-string-replace, tramp-compat-temporary-file-directory):
Don't declare.
(tramp-byte-run--set-suppress-trace): Move to tramp.el.
(tramp-debug-outline-level)
(tramp-debug-buffer-command-completion-p, tramp-message)
(tramp-debug-button-action, tramp-debug-link-messages)
(tramp-debug-message-buttonize): Declare `tramp-suppress-trace' property.
* lisp/net/tramp.el (tramp-byte-run--set-suppress-trace):
New defun, moved from tramp-message.el.
(tramp-file-name-unify, tramp-file-name-equal-p)
(tramp-tramp-file-p, tramp-find-method, tramp-find-user)
(tramp-find-host, tramp-dissect-file-name)
(tramp-ensure-dissected-file-name, tramp-buffer-name)
(tramp-delete-temp-file-function, tramp-time-diff):
Declare `tramp-suppress-trace' property.
2023-08-01 20:24:44 +02:00
Michael Albinus
14ab840c9f
Reorganize Tramp's messages
...
* doc/misc/tramp.texi (Traces and Profiles): Use proper buffer
names. Add tramp-debug-command-messages.
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler):
Set `tramp-debug-message-fnh-function'.
* lisp/net/tramp.el (tramp-file-name-handler):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (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):
Wrap code `with-tramp-debug-message'.
* lisp/net/tramp-message.el: New file.
* lisp/net/tramp.el (tramp-message): Require.
(tramp-verbose, tramp-debug-to-file, tramp-debug-buffer-name)
(tramp-debug-outline-regexp, tramp-debug-font-lock-keywords)
(tramp-debug-outline-level)
(tramp-debug-buffer-command-completion-p)
(tramp-setup-debug-buffer, tramp-get-debug-buffer)
(tramp-get-debug-file-name, tramp-trace-buffer-name)
(tramp-trace-functions, tramp-debug-message, tramp-message)
(tramp-backtrace, tramp-error, tramp-error-show-message-timeout)
(tramp-error-with-buffer, tramp-user-error)
(tramp-with-demoted-errors): Move to tramp-message.el.
(tramp-current-connection, tramp-file-name-user-domain)
(tramp-file-name-host-port): Add ;;;###tramp-autoload cookie.
(tramp-inhibit-progress-reporter): Move down.
(tramp-post-process-creation): Write debug message only when there
is a command.
* lisp/net/trampver.el (tramp-repository-branch)
(tramp-repository-version): Add ;;;###tramp-autoload cookie.
* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Don't bind `trace-buffer'.
2023-07-29 13:11:01 +02:00
Michael Albinus
022f50ebe6
New command 'tramp-cleanup-some-buffers'
...
* doc/misc/tramp.texi (Cleanup remote connections):
Document tramp-cleanup-some-buffers and
tramp-cleanup-some-buffers-hook.
* etc/NEWS: New command 'tramp-cleanup-some-buffers'.
* lisp/net/tramp.el (tramp-handle-make-process):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
Use `tramp-taint-remote-process-buffer'.
* lisp/net/tramp.el (tramp-post-process-creation): New defun.
(tramp-handle-make-process):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-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-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-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): Use it.
* lisp/net/tramp-cmds.el (tramp-tainted-remote-process-buffers):
New defvar.
(tramp-cleanup-dired-buffer-p)
(tramp-delete-tainted-remote-process-buffer-function)
(kill-buffer-hook, tramp-cleanup-remote-process-p)
(tramp-cleanup-some-buffers): New defuns.
(tramp-cleanup-some-buffers-hook): New defcustom. Add
`buffer-file-name', `tramp-cleanup-dired-buffer-p' and
`tramp-cleanup-remote-process-p' to the hook.
(kill-buffer-hook):
Add `tramp-delete-tainted-remote-process-buffer-function'.
(tramp-cleanup-all-buffers): Rework.
* lisp/net/tramp-compat.el (tramp-compat-always): New defalias.
* test/lisp/net/tramp-tests.el (tramp--test-always): Delete.
(tramp-test10-write-region, tramp-test21-file-links)
(tramp--test-deftest-direct-async-process)
(tramp-test37-make-auto-save-file-name)
(tramp-test38-find-backup-file-name)
(tramp-test39-make-lock-file-name)
(tramp-test39-detect-external-change): Use `tramp-compat-always'.
2023-04-26 18:06:39 +02:00
Michael Albinus
0bd2bbc0c2
Fix Tramp error messages
...
* 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.
2023-03-27 15:46:44 +02:00
Michael Albinus
4234e204ec
Prefix Tramp internal process properties with "tramp-".
...
* 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-".
2023-03-18 12:54:51 +01:00
Michael Albinus
4d37504c43
Improve Tramp robustness
...
* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
Protect `delete-process'.
* test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
(tramp-test30-make-process): Don't test disabled process filter.
2023-01-15 18:49:37 +01:00
Michael Albinus
6602ec3abc
Remove Emacs 26 compatibility from Tramp
...
* doc/misc/tramp.texi (Remote processes): Don't mention Emacs version.
(Frequently Asked Questions): Adapt supported Emacs versions.
* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.7.0-pre".
* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
(tramp-compat-file-name-quote, tramp-compat-file-name-unquote)
(tramp-compat-tramp-syntax, tramp-compat-exec-path)
(tramp-compat-time-equal-p, tramp-compat-flatten-tree)
(tramp-compat-progress-reporter-update)
(tramp-compat-ignore-error, tramp-compat-rx--transform-item)
(tramp-compat-rx--transform, tramp-compat-rx): Remove.
* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-rclone.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sshfs.el:
* lisp/net/tramp-sudoedit.el:
* lisp/net/tramp.el:
* lisp/net/trampver.el: Replace the removed `tramp-compat-*' items
by their real definition. Don't use `tramp-compat-funcall' when
not needed. Remove `with-no-warnings' and `ignore-errors' where
appropriate.
* lisp/net/tramp.el (tramp-file-name-for-operation): Rearrange list.
(tramp-handle-file-newer-than-file-p): Simplify.
(tramp-get-process-attributes): Don't check for existence of
`connection-local-criteria-for-default-directory'.
(tramp-handle-shell-command): Don't check for existence of
`shell-command-save-pos-or-erase', `async-shell-command-width' and
`shell-command-set-point-after-cmd'.
(tramp-handle-start-file-process): Call `make-process' directly.
(tramp-defined-time): New defsubst.
(tramp-get-local-gid): Don't check for existence of `group-name'.
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
Use `tramp-defined-time'.
(tramp-adb-get-signal-strings): Don't bind `shell-file-name' and
`shell-command-switch'.
* lisp/net/tramp-archive.el (top, tramp-archive-file-name-handler):
Don't bind `max-specpdl-size' any longer.
(tramp-archive-autoload-file-name-regexp): Remove Emacs 26
specific code.
(top): Don't call `tramp-register-archive-autoload-file-name-handler'.
* lisp/net/tramp-gvfs.el (top): Don't bind `max-specpdl-size' any longer.
(tramp-gvfs-handle-set-file-times): Use `tramp-defined-time'.
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
Use `tramp-defined-time'.
* test/lisp/net/tramp-archive-tests.el (tramp-archive--test-emacs27-p):
Remove.
(all):
* test/lisp/net/tramp-tests.el (all): Don't skip for Emacs 26.
Replace the removed `tramp-compat-*' items by their real
definition. Don't use `tramp-compat-funcall' when not needed.
Remove `with-no-warnings' and `ignore-errors' where appropriate.
(with-connection-local-variables)
(shell-command-dont-erase-buffer): Don't declare.
(tramp-test10-write-region): Don't check for `make-empty-file'.
(tramp-test32-shell-command): Simplify.
(tramp-test34-explicit-shell-file-name): Don't protect
`explicit-shell-file-name' any longer.
(tramp--test-emacs27-p): Remove.
2023-01-06 13:34:33 +01:00
Eli Zaretskii
cae528457c
; Add 2023 to copyright years.
2023-01-01 05:31:12 -05:00
Michael Albinus
405466b79c
Use a version for the Tramp cache
...
* lisp/net/tramp-cache.el (tramp-cache-version): New defconst.
(top): Check the cache version, and flush the cache in case of
mismatch. Suggested by Paul Pogonyshev <pogonyshev@gmail.com>.
* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections):
Re-initialize the cache version.
2022-10-01 17:17:39 +02:00
Michael Albinus
08cc6c4d9e
Make use of rx in Tramp backward compatoble
...
* lisp/net/tramp-compat.el (tramp-compat-rx--runtime-params): New defvar.
(tramp-compat-rx--transform-items)
(tramp-compat-rx--transform-item, tramp-compat-rx--transform):
New defuns. Suggested by Mattias Engdegård <mattiase@acm.org>.
(tramp-compat-rx): New defalias or defmacro.
(tramp-compat-string-replace, tramp-compat-string-search):
Use regexp-quote.
* lisp/net/tramp.el:
* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sudoedit.el: Use `tramp-compat-rx' where indicated.
* test/lisp/net/tramp-archive-tests.el:
* test/lisp/net/tramp-tests.el: Use `tramp-compat-rx' where indicated.
2022-09-09 17:10:28 +02:00
Michael Albinus
f1635c8efb
Fix rx forms in Tramp
...
* lisp/net/tramp.el (tramp-restricted-shell-hosts-alist)
(tramp-local-host-regexp, tramp-echoed-echo-mark-regexp)
(tramp-login-prompt-regexp, tramp-terminal-prompt-regexp)
(tramp-antispoof-regexp)
(tramp-build-completion-file-name-regexp)
(tramp-debug-outline-regexp)
(tramp-use-absolute-autoload-file-names)
(tramp-lock-file-info-regexp, tramp-shell-quote-argument):
* lisp/net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls)
* lisp/net/tramp-cache.el (tramp-flush-file-function):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name):
* lisp/net/tramp-integration.el (tramp-rfn-eshadow-update-overlay-regexp)
(info-lookup-maybe-add-help):
* lisp/net/tramp-sh.el (tramp-default-user-alist, tramp-sunos-unames)
(tramp-scp-direct-remote-copying, tramp-get-remote-locale):
* lisp/net/tramp-smb.el (tramp-smb-prompt, tramp-smb-wrong-passwd-regexp)
(tramp-smb-errors, tramp-smb-get-localname)
(tramp-smb-read-file-entry): Simplify rx forms.
* lisp/net/tramp.el (tramp-handle-find-backup-file-name)
(tramp-handle-lock-file, tramp-handle-make-auto-save-file-name):
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times)
(tramp-adb-maybe-open-connection):
* lisp/net/tramp-gvfs.el
(tramp-gvfs-file-attributes-with-gvfs-ls-regexp):
* lisp/net/tramp-sh.el (tramp-open-shell, tramp-find-shell): Do not use
`eval-when-compile'.
* lisp/net/tramp-cmds.el (tramp-rename-files, tramp-rename-these-files):
Use rx.
* lisp/net/tramp-gvfs.el (tramp-gvfs-password-tcrypt): New defonst.
(tramp-gvfs-handle-file-attributes): Use `number-to-string'.
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test17-insert-directory):
* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
(tramp--test-share-p): Simplify rx forms.
2022-09-04 13:44:30 +02:00
Michael Albinus
be2e6228f8
Use `rx' in Tramp where possible
...
* lisp/net/tramp.el:
* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-compat.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-ftp.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-rclone.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sudoedit.el: Use `rx' where possible.
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
Use `eval-when-compile'.
(tramp-adb-maybe-open-connection): Use file-property for "/". Use
`eval-when-compile'.
* lisp/net/tramp-cmds.el (mm-7bit-chars): Declare.
(tramp-reporter-dump-variable): Simplify point movement.
* lisp/net/tramp-gvfs.el (tramp-dbus-function): Fix typo.
(tramp-zeroconf-parse-device-names): Use `tramp-prefix-port-format'.
* lisp/net/tramp-sh.el (tramp-open-shell, tramp-find-shell):
Use `eval-when-compile'. Improve sanity check.
* 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): Declare.
(tramp-set-syntax): Set also `tramp-completion-method-regexp'.
(tramp-volume-letter-regexp, tramp-completion-method-regexp-alist):
New defconsts.
(tramp-build-completion-method-regexp): New defun.
(tramp-completion-method-regexp): New defvar.
(tramp-completion-file-name-regexp-default)
(tramp-completion-file-name-regexp-simplified)
(tramp-completion-file-name-regexp-separate)
(tramp-completion-file-name-regexp-alist): Remove.
(tramp-build-completion-file-name-regexp): Rwrite.
(tramp-make-tramp-file-name): Use `tramp-archive-method'.
(tramp-handle-file-directory-p): Ignore errors.
(tramp-handle-find-backup-file-name, tramp-handle-lock-file)
(tramp-handle-make-auto-save-file-name): Use `eval-when-compile'.
* test/lisp/net/tramp-archive-tests.el:
* test/lisp/net/tramp-tests.el: Use `rx' where possible.
(tramp-test01-file-name-syntax): Adapt test.
2022-08-26 16:19:47 +02:00
Stefan Kangas
b7e867b841
Make point-at-eol and point-at-bol obsolete
...
* lisp/subr.el (point-at-eol, point-at-bol): Make XEmacs compat
aliases obsolete in favor of `pos-bol'/'line-beginning-position' or
'pos-eol'/'line-end-position'. Update callers.
Ref: https://lists.gnu.org/r/emacs-devel/2022-08/msg00853.html
2022-08-23 04:54:57 +02:00
Michael Albinus
21afc26d4d
Reorganize Tramp
...
* lisp/net/tramp-adb.el (tramp-adb-handle-write-region): Handle special
case that START is "".
(tramp-adb-handle-set-file-modes)
(tramp-adb-handle-set-file-times):
Use `tramp-skeleton-set-file-modes-times-uid-gid'.
(tramp-adb-handle-make-process):
Use `with-tramp-saved-connection-properties'.
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
Use `tramp-archive-handle-file-exists-p'.
(tramp-archive-handle-file-exists-p): New defun.
(tramp-archive-file-name-handler): Add ;;;###tramp-autoload cookie.
* lisp/net/tramp-cache.el (tramp-compat, tramp-loaddefs)
(time-stamp): Require.
(tramp-get-file-property, tramp-set-file-property)
(tramp-flush-file-property, tramp-flush-file-upper-properties)
(tramp-flush-file-properties): Use `tramp-file-name-unify'. Adapt
message.
(tramp-flush-directory-properties): Simplify.
(tramp-flush-file-function): Add ;;;###tramp-autoload cookie.
Don't use `with-parsed-tramp-file-name', it isn't exposed.
(with-tramp-file-property, with-tramp-connection-property)
(with-tramp-saved-connection-property): Macros moved from tramp.el.
(with-tramp-saved-file-property)
(with-tramp-saved-file-properties)
(with-tramp-saved-connection-properties): New defmacros.
* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush "/".
* lisp/net/tramp-crypt.el (tramp-crypt-handle-set-file-modes)
(tramp-crypt-handle-set-file-times)
(tramp-crypt-handle-set-file-uid-gid):
Use `tramp-skeleton-set-file-modes-times-uid-gid'.
* lisp/net/tramp-ftp.el (tramp-archive-file-name-handler):
Don't declare.
* lisp/net/tramp-gvfs.el (tramp-gvfs-info): New defun.
(tramp-gvfs-do-copy-or-rename-file)
(tramp-gvfs-handle-delete-directory)
(tramp-gvfs-handle-delete-file, tramp-gvfs-get-root-attributes)
(tramp-gvfs-handle-make-directory): Use it.
(tramp-gvfs-handle-set-file-modes)
(tramp-gvfs-handle-set-file-times)
(tramp-gvfs-handle-set-file-uid-gid):
Use `tramp-skeleton-set-file-modes-times-uid-gid'.
* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
Expand TARGET when flushing file properties.
(tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
(tramp-sh-handle-set-file-uid-gid):
Use `tramp-skeleton-set-file-modes-times-uid-gid'.
(tramp-sh-handle-file-name-all-completions): Protect, when
connection is not established yet.
(tramp-do-copy-or-rename-file-directly): Flush file properties of
NEWNAME when constructing a new remote file name.
(tramp-do-copy-or-rename-file-out-of-band, tramp-sh-handle-make-process):
Use `with-tramp-saved-connection-properties'.
(tramp-sh-handle-delete-file): Flush file properties only after
deleting, otherwise we get a false alarm.
(tramp-sh-handle-process-file): Flush "/".
(tramp-sh-handle-write-region): Handle special case that START is "".
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
(tramp-smb-handle-set-file-acl)
(tramp-smb-handle-start-file-process):
Use `with-tramp-saved-connection-properties'.
(tramp-smb-remote-acl-p): New defun.
(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl): Use it.
(tramp-smb-handle-set-file-modes):
Use `tramp-skeleton-set-file-modes-times-uid-gid'.
(tramp-smb-handle-process-file, tramp-smb-maybe-open-connection):
Flush "/".
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file): Flush "/".
(tramp-sshfs-handle-set-file-modes)
(tramp-sshfs-handle-set-file-times):
Use `tramp-skeleton-set-file-modes-times-uid-gid'.
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-modes)
(tramp-sudoedit-handle-set-file-times)
(tramp-sudoedit-handle-set-file-uid-gid):
Use `tramp-skeleton-set-file-modes-times-uid-gid'.
* lisp/net/tramp.el (tramp-archive-file-name-handler): Don't declare.
(tramp-verbose, tramp-file-name-unify, tramp-tramp-file-p)
(tramp-file-local-name, tramp-dissect-file-name)
(tramp-make-tramp-file-name, tramp-get-connection-buffer)
(tramp-get-buffer-string, tramp-debug-message)
(tramp-inhibit-progress-reporter, tramp-message):
Add ;;;###tramp-autoload cookie.
(tramp-file-name): Expose defstruct to tramp-loaddefs.el
(tramp-file-name-unify): New optional arg FILE.
(tramp-get-default-directory, tramp-get-buffer-string)
(tramp-message, tramp-backtrace, tramp-error-with-buffer)
(tramp-with-demoted-errors, tramp-barf-if-file-missing)
(tramp-skeleton-copy-directory, tramp-skeleton-delete-directory)
(tramp-skeleton-directory-files)
(tramp-skeleton-directory-files-and-attributes)
(tramp-skeleton-file-local-copy, tramp-skeleton-write-region):
Remove `tramp-suppress-trace' property, it isn't needed for
defmacros and defsubsts.
(with-tramp-file-property, with-tramp-connection-property)
(with-tramp-saved-connection-property): Move macros to tramp-cache.el.
(tramp-skeleton-directory-files-and-attributes): Fix implementation.
(tramp-skeleton-file-local-copy): Fix docstring.
(tramp-skeleton-set-file-modes-times-uid-gid): New defmacro.
(tramp-skeleton-write-region): Set "file-exists-p" cache property.
(tramp-handle-file-exists-p): Use cached value.
(tramp-process-sentinel): Flush "/".
(tramp-make-tramp-temp-file): Suppress also `tramp-smb-remote-acl-p'.
(tramp-get-connection-buffer):
* test/lisp/net/tramp-tests.el (tramp-test10-write-region)
(tramp-test20-file-modes, tramp-test22-file-times): Extend tests.
2022-08-03 17:30:09 +02:00
Michael Albinus
db4dd28c21
In Tramp, use string-empty-p' and string-equal-ignore-case' consequently
...
* lisp/net/tramp.el (tramp-find-method):
* lisp/net/tramp-cmds.el (tramp-change-syntax):
* lisp/net/tramp-sh.el (tramp-sh-get-signal-strings)
(tramp-open-connection-setup-interactive-shell): Use `string-empty-p'.
* lisp/net/tramp-compat.el (tramp-compat-string-equal-ignore-case):
New defalias.
* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted): Use it.
2022-07-27 12:51:11 +02:00
Michael Albinus
c8da2a991e
Tramp code cleanup
...
* lisp/net/tramp-cache.el (tramp-get-file-property)
(tramp-get-connection-property): Make DEFAULT optional. Adapt callees.
* lisp/net/tramp.el:
* lisp/net/tramp-adb.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-compat.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-ftp.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sshfs.el:
* lisp/net/trampver.el: Code cleanup.
* test/lisp/net/tramp-tests.el (tramp--test-sh-no-ls--dired-p)
(tramp--test-with-proper-process-name-and-buffer): Code cleanup.
2022-07-03 18:23:55 +02:00
Michael Albinus
56e81ca25b
Merge from origin/emacs-28
...
f836ed098f Some minor Tramp fixes
2022-05-21 15:20:10 +02:00
Michael Albinus
f836ed098f
Some minor Tramp fixes
...
* lisp/net/tramp-cmds.el (tramp-list-tramp-buffers)
(tramp-list-remote-buffers): Add ;;;###tramp-autoload cookie.
* lisp/net/tramp-fuse.el (tramp-fuse-remove-hidden-files): New defvar.
(tramp-fuse-remove-hidden-files): Use it.
* lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askquestion):
Keep regression tests running.
2022-05-17 09:13:34 +02:00
Eli Zaretskii
dcd76bd48d
Merge from origin/emacs-28
...
836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year.
86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year
ebe8772f65 ; Minor fixes related to copyright years
23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye...
8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t.
19dcb237b5 ; Add 2022 to copyright years.
# Conflicts:
# etc/NEWS
# etc/refcards/ru-refcard.tex
# lib/cdefs.h
# lisp/erc/erc-dcc.el
# lisp/erc/erc-imenu.el
# lisp/erc/erc-replace.el
# lisp/image-dired.el
# lisp/progmodes/xref.el
# m4/alloca.m4
# m4/byteswap.m4
# m4/errno_h.m4
# m4/getopt.m4
# m4/gnulib-common.m4
# m4/inttypes.m4
# m4/stddef_h.m4
# m4/stdint.m4
# m4/sys_socket_h.m4
2022-01-01 07:03:03 -05:00
Eli Zaretskii
19dcb237b5
; Add 2022 to copyright years.
2022-01-01 02:45:51 -05:00
Michael Albinus
e135f15aac
Tramp code cleanup
...
* lisp/net/tramp.el (tramp-get-default-directory)
(tramp-get-buffer-string): New defsubsts.
(tramp-message, tramp-error-with-buffer)
(tramp-file-name-for-operation, tramp-command-completion-p)
(tramp-action-login, tramp-action-yesno, tramp-action-yn)
(tramp-action-terminal, tramp-action-confirm-message)
(tramp-wait-for-regexp, tramp-call-process)
(tramp-call-process-region, tramp-read-passwd):
* lisp/net/tramp-cmds.el (tramp-list-remote-buffers)
(tramp-reporter-dump-variable):
* lisp/net/tramp-gvfs.el (tramp-gvfs-monitor-process-filter):
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory)
(tramp-sh-handle-process-file, tramp-sh-handle-write-region)
(tramp-sh-gio-monitor-process-filter):
* lisp/net/tramp-smb.el (tramp-smb-action-set-acl):
* lisp/net/tramp-sudoedit.el
(tramp-sudoedit-handle-file-name-all-completions):
* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case)
(tramp-test32-shell-command): Use them.
2021-12-06 19:36:15 +01:00