1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
Commit graph

1315 commits

Author SHA1 Message Date
Michael Albinus
2ac8d7e64a Improve Tramp's user and host name completion
* lisp/net/tramp.el (tramp-completion-handle-file-exists-p):
Improve user name completion.
(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.
2023-02-18 18:27:56 +01:00
Michael Albinus
82133dea0d Tramp cleanup
* lisp/net/tramp.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-sh.el: Use `string-join'.

* test/lisp/net/tramp-tests.el: Use `string-join'.
2023-02-14 18:51:44 +01:00
Michael Albinus
a3edacd3f5 Add new user option password-colon-equivalents
* lisp/international/mule-conf.el (password-colon-equivalents):
New defcustom.

* lisp/comint.el (comint-password-prompt-regexp):
* lisp/eshell/esh-mode.el (eshell-password-prompt-regexp): Use it.

* lisp/net/tramp-compat.el (tramp-compat-password-colon-equivalents):
New variable.

* lisp/net/tramp.el (tramp-password-prompt-regexp): Use it.
2023-02-13 15:51:48 +01:00
Michael Albinus
e0b60120a1 Support Tramp multi-hop completion
* lisp/net/tramp.el (tramp-completion-handle-expand-file-name)
(tramp-completion-handle-file-exists-p)
(tramp-completion-handle-file-name-directory): Support multi-hop
completion.

* test/lisp/net/tramp-tests.el
(tramp-test26-interactive-file-name-completion): Fix test.
2023-02-12 20:22:10 +01:00
Michael Albinus
838415525b Support Tramp user name completion
* lisp/net/tramp.el (tramp-build-completion-file-name-regexp)
(tramp-completion-handle-expand-file-name)
(tramp-completion-handle-file-name-directory): Support user name
completion.

* test/lisp/net/tramp-tests.el
(tramp-test26-interactive-file-name-completion): Fix test.
2023-02-11 18:11:56 +01:00
Michael Albinus
ea29622e92 Fix Tramp file name completion
* lisp/net/tramp.el (tramp-completion-handle-expand-file-name):
Reimplement.  It must also work for the non-Tramp case.

* test/lisp/net/tramp-tests.el
(tramp-test26-interactive-file-name-completion): Fix test.
2023-02-10 17:48:44 +01:00
Michael Albinus
22f0159c5a Fix last Tramp commit
* lisp/net/tramp.el (tramp-completion-file-name-handler): Run only
when `minibuffer-completing-file-name' is non-nil.

* test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion):
Fix test.
2023-02-07 19:28:15 +01:00
Michael Albinus
907fd1f7ff Improve Tramp file name completion
This fixes Bug#51386, Bug#52758, Bug#53513, Bug#54042 and Bug#60505.

* doc/misc/tramp.texi (File name completion): Remove completion
styles restrictions.

* lisp/minibuffer.el (completion-styles): Fix docstring.

* 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.

* test/lisp/net/tramp-tests.el
(tramp-test26-interactive-file-name-completion): New test.
2023-02-06 18:13:22 +01:00
Michael Albinus
3f069bd796 Fix password prompt in Tramp
* lisp/net/tramp.el (tramp-password-prompt-regexp):
Allow alternative trailing colons.  (Bug#61168)
2023-01-30 11:55:23 +01:00
Michael Albinus
99e40959f4 Fix password prompt in Tramp (do not merge)
* lisp/net/tramp.el (tramp-password-prompt-regexp):
Allow alternative trailing colons.  (Bug#61168)
2023-01-30 11:43:04 +01:00
Michael Albinus
e2b37f901d Fix host name completion for Tramp "podman" method
* 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.el (tramp-set-completion-function): Check, that
cdr of FUNCTION-LIST entries is a string.
2023-01-29 10:33:43 +01:00
Michael Albinus
0820a81ec7 Tramp cleanup from recent test campaign
* lisp/net/tramp.el (tramp-barf-if-file-missing): Fix docstring.
(tramp-handle-file-directory-p): Don't suppress errors.
(tramp-handle-shell-command):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
Make insertion of a stderr file more robust.

* lisp/net/tramp-archive.el (tramp-archive-handle-directory-files):
Use `tramp-barf-if-file-missing'.

* lisp/net/tramp-sudoedit.el
(tramp-sudoedit-handle-file-name-all-completions): Protect against
errors from `file-directory-p'.

* 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.

* test/lisp/net/tramp-tests.el (tramp-test48-auto-load)
(tramp-test48-delay-load): Unify regexps.
2023-01-28 10:26:44 +01:00
Stefan Kangas
cd42244fca Merge from origin/emacs-29
128a999bfe Make project-current not error out inside non-existent dirs
194bc97879 Improve documentation of 'shell-command-dont-erase-buffer'
00629c0396 Fix errors in fontification of JavaScript import-statemen...
fd145499bb Fix fontification TypeScript of import-statements (bug#61...
752c526585 ; Fix typos
2023-01-28 06:30:25 +01:00
Stefan Kangas
752c526585 ; Fix typos 2023-01-27 11:33:35 +01:00
Stefan Kangas
12e419ad11 Merge from origin/emacs-29
f8c95d1a76 Fix xt-mouse on terminals that report UTF-8 encoded coord...
4bf7cb71ed Fix go-ts-mode indentation and set indent offset to 8 (Bu...
ff9498624f ; * src/insdel.c (insert_from_buffer): Fix assertions.
41f497c8be Fix doc strings of window-splitting commands
cdf74254ff Fix indentation for c-ts-mode (bug#61026)
4bd06ce2a9 Fix call to treesit_record_change in insdel.c
00675aa724 Add support for building tree-sitter modules with MinGW
af28191b04 * lisp/net/tramp.el (tramp-wrong-passwd-regexp): Fix regexp.
42e02480c2 * doc/emacs/text.texi (Outline Minor Mode): New node spli...
37c1c92466 ; * etc/NEWS: Minor reordering.
cfb180329b ruby-ts-mode: Don't reindent when "class" or "def" is und...
abb3becb9f treesit-install-language-grammar: Provide default repo url
c6613403e5 Fix Dired face for directory symlinks
37454de0c8 Pacify --without-x unused function warning
9a21cb1075 ; * etc/NEWS: Fix typos.
f30a4f51fe Announce outline.el keymaps
8198803f66 ; Don't mention in the Gnus manual user options that were...
8a1498c01f Fix fontification of function-valued variables (bug#61053)
cfe26f3189 Add new java indent rules
987e53f3e2 ; * doc/misc/erc.texi: Improve Local Modules section.
3846e79c93 ; Fix filename mismatches in prop lines of ERC tests
ecf500b5e3 Handle relative file names in vc-resynch-window and vc-re...
695e9f71c3 Use named keymaps for outline buttons
e31a562396 * lisp/vc/vc-bzr.el (vc-bzr--pushpull): Return buffer's p...
deee3a9262 ; Fix last change in etc/NEWS
bc78285e68 ; * etc/NEWS: Fix typos.
c15c0f7f01 CC Mode: Change the default value of objc-font-lock-extra...
7f438ff543 Don't try to make a pipe process for remote processes in ...
cb9628373a * lisp/startup.el (command-line): Fix warning message.  (...
e6c5f32e77 * lisp/find-dired.el (find-dired): Fix bug where M-p skip...

# Conflicts:
#	etc/NEWS
2023-01-27 11:30:38 +01:00
Michael Albinus
af28191b04 * lisp/net/tramp.el (tramp-wrong-passwd-regexp): Fix regexp. 2023-01-25 20:14:12 +01:00
Michael Albinus
85e3304332 Factor out some Tramp code
* lisp/net/tramp-compat.el (tramp-file-name-handler): Don't declare.

* lisp/net/tramp.el (tramp-skeleton-file-truename)
(tramp-skeleton-handle-make-symbolic-link): New defmacros.
(tramp-handle-file-truename):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
(tramp-sh-handle-file-truename):
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename)
(tramp-sudoedit-handle-make-symbolic-link): Use them.

* lisp/net/tramp.el (tramp-call-process, tramp-call-process-region):
Let-bind `temporary-file-directory'.

* test/lisp/net/tramp-tests.el (tramp-action-yesno):
Suppress run in tests.
(tramp-test21-file-links, tramp-test29-start-file-process)
(tramp-test30-make-process, tramp-test42-utf8): Adapt tests.
2023-01-23 11:02:56 +01:00
Stefan Kangas
080595682f Merge from origin/emacs-29
b875c9bf67 Fix file-regular-p in Tramp
63fa225d44 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
9f5d6c541e ; * doc/emacs/custom.texi (Init Rebinding): Fix wording i...
a91b435d0d ; Reword user documentation on binding keys in Lisp
0400de6a7d Fix typo in c-ts-mode (bug#60932)
2023-01-23 01:34:43 +01:00
Michael Albinus
b875c9bf67 Fix file-regular-p in Tramp
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test18-file-attributes)
(tramp-archive-test21-file-links):
* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes)
(tramp-test21-file-links): Adapt tests.

* lisp/net/tramp.el (tramp-handle-file-regular-p): Fix symlink
case.  (Bug#60943)
2023-01-21 12:04:50 +01:00
Jim Porter
0bb8a011d5 Add 'file-user-uid' to get the connection-local effective UID
In particular, this lets Eshell show a "#" root prompt sigil when the
user has sudo'ed via "cd /sudo::" (bug#60722).

* lisp/simple.el (file-user-uid): New function.

* lisp/net/tramp.el (tramp-file-name-for-operation): Add
'file-user-uid'.
(tramp-handle-file-user-uid): New function.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
Add 'file-user-uid'.

* lisp/net/tramp-archive.el (tramp-archive-handle-file-user-uid): New
function...
(tramp-archive-file-name-handler-alist): ... use it.

* lisp/eshell/em-prompt.el (eshell-prompt-function): Use
'file-user-uid'.

* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add '$UID'.

* test/lisp/eshell/esh-var-tests.el (esh-var-test/uid-var): New test.

* doc/lispref/os.texi (User Identification): Document 'file-user-uid'.

* doc/lispref/files.texi (Magic File Names): Mention 'file-user-uid'.

* doc/misc/eshell.texi (Variables): Document '$UID'.  Add a missing
index entry for '$INSIDE_EMACS'.

* etc/NEWS: Announce 'file-user-uid'.
2023-01-16 17:11:02 -08:00
Michael Albinus
ead86da14b Upgrade to length* functions in Tramp
* lisp/net/tramp-compat.el (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.el (tramp-string-empty-or-nil-p): New defsubst.
(tramp-find-host, tramp-buffer-name, tramp-make-tramp-file-name)
(tramp-completion-make-tramp-file-name, tramp-debug-buffer-name)
(tramp-completion-handle-file-name-all-completions)
(tramp-handle-directory-file-name)
(tramp-handle-expand-file-name)
(tramp-handle-file-name-as-directory)
(tramp-handle-file-name-completion)
(tramp-direct-async-process-p, tramp-call-process)
(tramp-read-passwd):
* lisp/net/tramp-adb.el (tramp-adb-get-device)
(tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection):
* lisp/net/tramp-archive.el (tramp-archive-handle-directory-file-name):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
(tramp-gvfs-monitor-process-filter)
(tramp-gvfs-handle-get-home-directory)
(tramp-gvfs-handler-askpassword)
(tramp-gvfs-maybe-open-connection, tramp-get-media-devices):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-directory-p)
(tramp-sh-handle-insert-directory)
(tramp-sh-handle-expand-file-name, tramp-sh-handle-make-process)
(tramp-sh-gio-monitor-process-filter, tramp-set-remote-path)
(tramp-open-connection-setup-interactive-shell)
(tramp-maybe-open-connection, tramp-make-copy-program-file-name):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-expand-file-name, tramp-smb-handle-file-acl)
(tramp-smb-handle-insert-directory)
(tramp-smb-handle-set-file-acl)
(tramp-smb-handle-get-home-directory)
(tramp-smb-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name)
(tramp-sudoedit-handle-file-name-all-completions): Use the new
functions.

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test43-file-system-info):
* test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion)
(tramp-test31-memory-info, tramp-test35-remote-path)
(tramp-test43-file-system-info): Use new compat functions.
2023-01-15 17:50:17 +01:00
Michael Albinus
ec105a45c9 Add remote-file-name-inhibit-delete-by-moving-to-trash
* doc/emacs/files.texi (Misc File Ops):
* doc/lispref/files.texi (Changing Files):
* doc/misc/tramp.texi (Frequently Asked Questions):
* etc/NEWS: Explain remote-file-name-inhibit-delete-by-moving-to-trash.

* lisp/files.el (remote-file-name-inhibit-delete-by-moving-to-trash):
New defcustom.  (Bug#60460)

* lisp/net/ange-ftp.el (ange-ftp-delete-file):
* lisp/net/tramp.el (tramp-skeleton-delete-directory):
Handle `remote-file-name-inhibit-delete-by-moving-to-trash'.
(tramp-skeleton-delete-file): New defmacro.

* lisp/net/tramp-adb.el (tramp-adb-handle-delete-file):
* lisp/net/tramp-fuse.el (tramp-fuse-handle-delete-file):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-delete-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-delete-file):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-delete-file): Use it.

* lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-directory)
(tramp-crypt-handle-delete-file): Rearrange.

* lisp/net/tramp-fuse.el (tramp-fuse-handle-delete-directory):
Use `tramp-skeleton-delete-directory'.

* test/lisp/net/tramp-tests.el
(remote-file-name-inhibit-delete-by-moving-to-trash): Declare.
(tramp-test07-file-exists-p, tramp-test14-delete-directory)
(tramp-test48-unload): Extend tests.
2023-01-08 19:24:17 +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
Michael Albinus
15fc7b3cde Remove obsolete Tramp items
* etc/NEWS: Obsolete user option
'tramp-completion-reread-directory-timeout' has been removed.  Fix typos.

* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
Ignore `make-directory-internal'.

* lisp/net/tramp-sh.el (tramp-get-remote-trash): Remove.

* lisp/net/tramp-smb.el (tramp-smb-handle-make-directory-internal):
Remove.

* lisp/net/tramp.el (tramp-default-user): Fix docstring.
(tramp-completion-reread-directory-timeout): Remove.
2023-01-05 13:23:04 +01:00
Stefan Kangas
e1b2446b2e Merge from origin/emacs-29
92f753dc19 ; * etc/NEWS: Fix wording in last change.
cef875f6c5 ; * etc/NEWS: Instructions for builds without tree-sitter...
8d530ca654 ; Fix documentation of y-or-n-p/yes-or-no-p
c18878ee0a Fix bug in Tramp multi-hop
7eed8e050a * lisp/files.el (find-sibling-rules): Fix docstring.
6b5831c696 Tree-sitter doc fixes (bug#60524)
651927ac39 ; Fix function reference in comment in c-ts-mode.el (bug#...
c786afcbb9 Fontify C++ function definitions in c-ts-mode (bug#60529)

# Conflicts:
#	etc/NEWS
2023-01-05 06:30:20 +01:00
Michael Albinus
c18878ee0a Fix bug in Tramp multi-hop
* lisp/net/tramp.el (tramp-compute-multi-hops): Make check for
host name more robust.  (Bug#60499)
2023-01-04 18:12:02 +01:00
Eli Zaretskii
3c55fbd4ad Merge from origin/emacs-29
cae528457c ; Add 2023 to copyright years.
b394359261 Improve documentation of 'isearch-open-overlay-temporary'
ab3210e709 Document 'use-package' in the 2 main manuals

# Conflicts:
#	etc/refcards/ru-refcard.tex
#	lib/explicit_bzero.c
#	m4/explicit_bzero.m4
2023-01-01 05:47:47 -05:00
Eli Zaretskii
cae528457c ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
Mattias Engdegård
c34230f12a ; remove incorrect quoting of condition names 2022-12-30 11:24:31 +01:00
Michael Albinus
d3f1682ae9 Handle make-directory return values in file name handlers
* lisp/net/ange-ftp.el (ange-ftp-make-directory): Handle return
values.

* lisp/net/tramp.el (tramp-skeleton-make-directory): New defmacro.
Handle also return values.
* lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
* lisp/net/tramp-crypt.el (tramp-crypt-handle-make-directory):
* lisp/net/tramp-fuse.el (tramp-fuse-handle-make-directory):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-directory):
* lisp/net/tramp-smb.el (tramp-smb-handle-make-directory):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-directory):
Use it.

* test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
Handle return values.
2022-12-22 19:39:59 +01:00
Michael Albinus
c1e015ae32 Fix recent change in tramp-smb.el
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
Ignore `make-directory-internal'.
(tramp-smb-handle-make-directory): Move implementation from
`tramp-smb-handle-make-directory-internal' here.

* lisp/net/tramp.el (tramp-file-name-for-operation):
Rearrange `make-directory-internal'.
2022-12-18 20:17:06 +01:00
Stefan Kangas
70ecdebc92 ; Fix typos (don't abbreviate "with" or "without") 2022-12-01 16:36:09 +01:00
Michael Albinus
1cbf2655db Extend memory-info for remote systems
* doc/lispref/files.texi (Magic File Names): Add memory-info.

* doc/lispref/internals.texi (Garbage Collection): memory-info can
also retrieve values from remote systems.

* etc/NEWS: Document changes in memory-info.  Fix typos.

* lisp/files.el (warn-maybe-out-of-memory): Ensure local memory info.

* lisp/net/tramp.el (tramp-handle-memory-info): New defun.
(tramp-file-name-for-operation)
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist)
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
Add 'memory-info'.

* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-exec-path):
Let-bind `process-file-side-effects'.

* src/alloc.c (Fmemory_info): Support remote systems.
(Qmemory_info): Declare.

* test/lisp/net/tramp-tests.el (tramp-test31-memory-info): New test.
2022-11-27 16:57:03 +01:00
Michael Albinus
61e96789dd Activate direct asynchronous processes for Tramp container methods
* doc/misc/tramp.texi (Remote processes): Mention also
tramp-container.el.

* lisp/emacs-lisp/ert-x.el (ert-remote-temporary-file-directory):
Add `tramp-direct-async' to "mock" method.

* lisp/net/tramp-container.el
(tramp-methods) <docker, podman, kubernetes>: Add `tramp-direct-async'.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-handle-make-process): Handle `tramp-direct-async'.

* test/lisp/net/tramp-tests.el (tramp-methods) <mock>:
Add `tramp-direct-async'.
2022-11-21 14:49:54 +01:00
Michael Albinus
5d6e919a90 Fix calling file name handler for `load'.
* lisp/net/ange-ftp.el (ange-ftp-load): Add MUST-SUFFIX argument.

* lisp/net/tramp.el (tramp-handle-load): Adapt MUST_SUFFIX test.

* src/lread.c (Fload): Call handler with must_suffix.

* test/lisp/net/tramp-tests.el (tramp-test27-load): Extend test.
2022-11-04 15:39:58 +01:00
Michael Albinus
b7a76f288c Fix tramp-handle-file-newer-than-file-p
* lisp/net/tramp.el (tramp-handle-file-newer-than-file-p): Don't use
fractions of seconds.  (Bug#58842)
2022-10-31 16:48:15 +01:00
Michael Albinus
fe816fc679 Handle context changes in Tramp kubernetes method
* doc/misc/tramp.texi (Inline methods): Remove note about cache reset.
(File name completion): Add tramp-completion-use-cache.

* etc/NEWS: Add 'tramp-completion-use-cache'.

* lisp/net/tramp-cache.el (tramp-completion-use-cache): New defcustom.
(tramp-parse-connection-properties): Use it.

* lisp/net/tramp-container.el (tramp-docker--completion-function)
(tramp-kubernetes--completion-function): Ensure the processes run
locally.
(tramp-kubernetes--current-context-data): New defun.
(tramp-methods) <kubernetes>: Add `tramp-config-check'.

* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Handle `tramp-login-args'.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.
2022-10-25 16:34:42 +02:00
Michael Albinus
40d2ed9bab * lisp/net/tramp.el (tramp-file-name-equal-p): Fix docstring. 2022-10-18 19:39:34 +02:00
Michael Albinus
5df95ba039 Fix Tramp completion on MS Windows
* lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp):
Revert previous change, it's too complicate.
(tramp-build-completion-file-name-regexp):
Use `tramp-prefix-format' instead of `tramp-prefix-regexp'.  (Bug#558133)
2022-10-10 21:46:24 +02:00
Stefan Kangas
ab047d74dc Decrease use of the word "Emacsen" in Tramp docs
* lisp/net/tramp-archive.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-uu.el:
* lisp/net/tramp.el: Don't say "Emacsen" when a different wording
would be clearer.
2022-10-02 15:18:04 +02:00
Stefan Kangas
fee9deff53 Revert "Decrease use of the word "Emacsen" in docs"
This reverts commit 55f46cc77c.

Ref. https://lists.gnu.org/r/emacs-devel/2022-10/msg00016.html
2022-10-01 22:34:47 +02:00
Michael Albinus
be85d2d920 Tramp cleanup
* doc/misc/tramp.texi (Password handling): Fix typos.

* lisp/net/tramp-docker.el (tramp-default-remote-shell):
* lisp/net/tramp-sshfs.el (tramp-default-remote-shell): Declare.

* lisp/net/tramp.el (tramp-methods): Fix docstring.
(tramp-get-remote-tmpdir): Revert previous patch, it isn't needed
anymore.
2022-10-01 21:56:41 +02:00
Stefan Kangas
55f46cc77c Decrease use of the word "Emacsen" in docs
"Emacsen" is either a less clear way of saying "old versions of
Emacs", or an implicit reference to XEmacs.  We recommend against
using it in the FAQ.  So use the more clear wording instead.

* doc/misc/gnus.texi (Oort Gnus):
* doc/misc/widget.texi (Basic Types, toggle):
* lisp/cedet/semantic/bovine/c.el (semantic-c-skip-conditional-section):
* lisp/cedet/semantic/wisent/comp.el (wisent-compile-grammar):
* lisp/desktop.el (desktop-save):
* lisp/erc/erc-compat.el:
* lisp/erc/erc-log.el:
* lisp/gnus/gnus-util.el (gnus-replace-in-string):
* lisp/mail/footnote.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-uu.el:
* lisp/net/tramp.el:
(with-tramp-locked-connection):
* lisp/org/ol-eww.el:
* lisp/org/org-compat.el:
(org-define-error):
* lisp/shadowfile.el:
* lisp/winner.el: Don't use the word "Emacsen".
2022-10-01 17:16:03 +02:00
Stefan Kangas
abe83f76de Merge from origin/emacs-28
be3eac3929 ; * etc/NEWS: Fix typos.
99a8c53247 Fix connection property incompatibility in Tramp

# Conflicts:
#	etc/NEWS
2022-10-01 17:14:47 +02:00
Michael Albinus
99a8c53247 Fix connection property incompatibility in Tramp
* lisp/net/tramp.el (tramp-get-remote-tmpdir): Remove obsolete
connection property "tmpdir".  (Bug#57800)
2022-09-30 21:53:52 +02:00
Michael Albinus
814fd3057f ; Minor Tramp cleanups
* lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp):
Handle the `simplified' syntax better.
(tramp-handle-file-name-case-insensitive-p): Do not unquote candidate.
2022-09-20 18:35:57 +02:00
Michael Albinus
e2c3ce2402 Sync with Tramp 2.5.3.2. Don't merge with master
* doc/misc/tramp.texi (Android shell setup): Rework.
(Frequently Asked Questions): Improve recommendations for speeding up.

* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.5.4-pre".

* lisp/net/tramp-adb.el (tramp-methods): Use "%d".
(tramp-adb-handle-directory-files-and-attributes): Fix "." and
".." in listing.
(tramp-adb-handle-file-attributes)
(tramp-adb-handle-directory-files-and-attributes)
(tramp-adb-handle-file-name-all-completions): Pipe "ls" output
through "cat", in order to avoid quoting special characters.
(tramp-adb-maybe-open-connection): Compute args from `tramp-login-args'.

* lisp/net/tramp-compat.el (tramp-compat-replace-regexp-in-region):
New defalias.

* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
Adapt check for proper remote command.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-handle-make-process): Check for adb device if indicated.
(tramp-get-remote-tmpdir): Cache result in temporary connection
property.

* test/lisp/net/tramp-tests.el  (tramp-test17-insert-directory)
(tramp-test22-file-times, tramp--test-utf8): Adapt tests.
(tramp--test-shell-file-name): Do not depend on `tramp--test-adb-p'.
(tramp-test46-unload): Ignore autoload functions in
`tramp-file-name' structure tests, since `tramp-file-name-handler'
is also autoloaded in Emacs 29.
2022-09-17 17:50:38 +02:00
Michael Albinus
2053e350f3 Enable `dont-follow' for inotify file notifications
* doc/lispref/os.texi (File Notifications): Symlinks aren't followed.

* lisp/filenotify.el (file-notify--add-watch-inotify):
Add `dont-follow' flag.

* lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
Suppress errors when reading process output.

* test/lisp/filenotify-tests.el (file-notify-test11-symlinks)
(file-notify-test11-symlinks-remote): New tests.
2022-09-16 17:23:59 +02:00
Michael Albinus
cba83d9893 Disable Tramp cache for relative file names
* lisp/net/tramp.el (tramp-file-name-unify):
Return `tramp-cache-undefined' if LOCALNAME is a relative file name.

* lisp/net/tramp-cache.el (tramp-get-file-property)
(tramp-set-file-property, tramp-file-property-p)
(tramp-flush-file-property, tramp-flush-file-upper-properties)
(tramp-flush-file-properties): Handle KEY being
`tramp-cache-undefined'.
(tramp-flush-file-function): Revert last change.
2022-09-11 14:53:14 +02:00
Michael Albinus
b2956a3f09 Ensure, that Tramp cache works over absolute file names
* lisp/net/tramp.el (tramp-skeleton-directory-files)
(tramp-skeleton-directory-files-and-attributes)
(tramp-skeleton-set-file-modes-times-uid-gid)
(tramp-handle-add-name-to-file, tramp-handle-file-exists-p)
(tramp-handle-file-readable-p, tramp-handle-file-writable-p):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-executable-p)
(tramp-adb-handle-file-exists-p)
(tramp-adb-handle-file-readable-p)
(tramp-adb-handle-file-writable-p)
* lisp/net/tramp-gvfs.el (tramp-gvfs-info, tramp-gvfs-handle-delete-file)
(tramp-gvfs-get-directory-attributes)
(tramp-gvfs-get-root-attributes)
(tramp-gvfs-handle-file-executable-p):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
(tramp-sh-handle-file-exists-p)
(tramp-sh-handle-set-visited-file-modtime)
(tramp-sh-handle-file-selinux-context)
(tramp-sh-handle-set-file-selinux-context)
(tramp-sh-handle-file-acl, tramp-sh-handle-file-executable-p)
(tramp-sh-handle-file-readable-p)
(tramp-sh-handle-file-directory-p)
(tramp-sh-handle-file-writable-p)
(tramp-sh-handle-file-ownership-preserved-p)
(tramp-sh-handle-add-name-to-file)
(tramp-sh-handle-copy-directory, tramp-sh-handle-delete-file)
(tramp-sh-handle-dired-compress-file):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-add-name-to-file)
(tramp-sudoedit-handle-delete-file)
(tramp-sudoedit-handle-file-acl)
(tramp-sudoedit-handle-file-executable-p)
(tramp-sudoedit-handle-file-exists-p)
(tramp-sudoedit-handle-file-readable-p)
(tramp-sudoedit-handle-file-selinux-context)
(tramp-sudoedit-handle-file-writable-p)
(tramp-sudoedit-handle-make-symbolic-link)
(tramp-sudoedit-handle-set-file-selinux-context):
Use `expand-file-name'.  (Bug#57572)

* lisp/net/tramp-cache.el (tramp-flush-file-function):
Expand `buffer-file-name'.  (Bug#57676)

* lisp/net/tramp.el (tramp-file-name-unify): Extend error message.

* lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-symbolic-link):
Do not check remoteness of TARGET anymore.
2022-09-10 13:10:47 +02:00