Package: emacs;
Reported by: Thierry Volpiatto <thievol <at> posteo.net>
Date: Sun, 4 Sep 2022 07:17:01 UTC
Severity: normal
Merged with 57676
Found in version 29.0.50
Fixed in version 29.1
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 57572 in the body.
You can then email your comments to 57572 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sun, 04 Sep 2022 07:17:01 GMT) Full text and rfc822 format available.Thierry Volpiatto <thievol <at> posteo.net>
:bug-gnu-emacs <at> gnu.org
.
(Sun, 04 Sep 2022 07:17:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Thierry Volpiatto <thievol <at> posteo.net> To: bug-gnu-emacs <at> gnu.org Subject: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 04 Sep 2022 07:02:59 +0000
Hello, with helm-find-files connecting to "/sudo::" I have this error: (file-error "File `' must be absolute") This because helm connect to tramp as soon the last ":" is entered. The error can be fixed with this patch modifying `tramp-file-name-unify`: diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index bb6eeaa7417..171d67b42af 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -1495,7 +1495,7 @@ same connection. Make a copy in order to avoid side effects." (and (stringp localname) ;; FIXME: This is a sanity check. When this error ;; doesn't happen for a while, it can be removed. - (or (file-name-absolute-p localname) + (or (file-name-absolute-p (expand-file-name localname)) (tramp-error vec 'file-error "File `%s' must be absolute" localname)) (tramp-compat-file-name-unquote (directory-file-name localname))) It would be great that tramp development takes in account that there is nowaday many alternatives to find-file/dired that are incremental and connect automatically as soon as user type. Most errors come from this and have to be fixed more and more frequently as soon there is changes in tramp code. Thanks. Here the backtrace: Debugger entered--Lisp error: (file-error "File `' must be absolute") signal(file-error ("File `' must be absolute")) tramp-error((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) file-error "File `%s' must be absolute" "") tramp-file-name-unify((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "") tramp-get-file-property((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "" "file-readable-p" undef) tramp-sh-handle-file-readable-p("/sudo:root <at> IPad-S340:") apply(tramp-sh-handle-file-readable-p "/sudo:root <at> IPad-S340:") tramp-sh-file-name-handler(file-readable-p "/sudo:root <at> IPad-S340:") apply(tramp-sh-file-name-handler file-readable-p "/sudo:root <at> IPad-S340:") tramp-file-name-handler(file-readable-p "/sudo:root <at> IPad-S340:") file-readable-p("/sudo:root <at> IPad-S340:") tramp-handle-file-accessible-directory-p("/sudo:root <at> IPad-S340:") apply(tramp-handle-file-accessible-directory-p "/sudo:root <at> IPad-S340:") tramp-sh-file-name-handler(file-accessible-directory-p "/sudo:root <at> IPad-S340:") apply(tramp-sh-file-name-handler file-accessible-directory-p "/sudo:root <at> IPad-S340:") tramp-file-name-handler(file-accessible-directory-p "/sudo:root <at> IPad-S340:") file-accessible-directory-p(#("/sudo:root <at> IPad-S340:" 6 10 (tramp-default t) 11 20 (tramp-default t))) (let* ((path (helm-ff-set-pattern helm-pattern)) (dir-p (file-accessible-directory-p path)) basedir invalid-basedir non-essential (tramp-verbose helm-tramp-verbose)) (setq helm--ignore-errors (file-remote-p path)) (set-text-properties 0 (length path) nil path) (if (or (string= path "@@TRAMP@@") (string= path "") (and (string-match-p ":\\'" path) (helm-ff--tramp-postfixed-p path)) (let ((it (file-name-directory path))) (if it (file-directory-p it)))) nil (setq invalid-basedir t)) (if (or (string= path "@@TRAMP@@") invalid-basedir) nil (setq helm-ff-auto-update-flag (if (or (null helm-ff--auto-update-state) helm-ff--deleting-char-backward (and dir-p (not (string-match-p "/\\'" path)))) nil (or (>= (length (helm-basename path)) 3) dir-p))) (helm-log "Pattern=%S" (setq helm-pattern (if (string-match helm-ff-tramp-method-regexp path) helm-pattern (helm-ff--transform-pattern-for-completion path)))) (setq basedir (or (let ((it (if ... ... ...))) (if it (expand-file-name it))) default-directory)) (setq helm-ff-default-directory (if (string= helm-pattern "") (expand-file-name "/") (if (or (string-match helm-ff-url-regexp path) (and helm--url-regexp (string-match helm--url-regexp path))) nil basedir)))) (if (and (string-match ":\\'" path) (file-remote-p basedir nil t)) (progn (setq helm-pattern basedir))) (cond ((string-match helm-ff-tramp-method-regexp path) (mapcar #'(lambda (method) (helm-ff-filter-candidate-one-by-one (concat "/" ":" method))) (helm-ff--get-tramp-methods))) ((string= path "@@TRAMP@@") (helm-ff--tramp-hostnames)) ((or (and (file-regular-p path) (eq last-repeatable-command 'helm-execute-persistent-action)) (string-match helm-ff-url-regexp path) invalid-basedir (and (not (file-exists-p path)) (string-match "/$" path)) (and helm--url-regexp (string-match helm--url-regexp path))) (list (helm-ff-filter-candidate-one-by-one path nil t))) ((string= path "") (helm-ff-directory-files "/")) ((and (file-directory-p path) (not (file-readable-p path))) (list (cons (format "@@@@file-error: Opening directory permission denie..." path) path))) ((and dir-p helm-ff-auto-update-flag) (helm-ff-directory-files path)) (t (append (if (or (eq require-match t) (file-exists-p path) dir-p) nil (list (helm-ff-filter-candidate-one-by-one path nil t))) (helm-ff-directory-files basedir))))) helm-find-files-get-candidates() apply(helm-find-files-get-candidates nil) helm-apply-functions-from-source(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/sudo:root <at> IPad-S340:/etc/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd11fef15931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b00715931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42b15931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42c65931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe865931>) #f(compiled-function (actions candidate) #<bytecode 0x7176ea2a1065931>) helm-find-files-action-transformer) (candidate-number-limit . 5000) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...) helm-find-files-get-candidates) helm-interpret-value(helm-find-files-get-candidates ((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/sudo:root <at> IPad-S340:/etc/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd11fef15931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b00715931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42b15931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42c65931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe865931>) #f(compiled-function (actions candidate) #<bytecode 0x7176ea2a1065931>) helm-find-files-action-transformer) (candidate-number-limit . 5000) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm-get-candidates(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/sudo:root <at> IPad-S340:/etc/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd11fef15931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b00715931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42b15931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42c65931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe865931>) #f(compiled-function (actions candidate) #<bytecode 0x7176ea2a1065931>) helm-find-files-action-transformer) (candidate-number-limit . 5000) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm-get-cached-candidates(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/sudo:root <at> IPad-S340:/etc/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd11fef15931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b00715931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42b15931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42c65931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe865931>) #f(compiled-function (actions candidate) #<bytecode 0x7176ea2a1065931>) helm-find-files-action-transformer) (candidate-number-limit . 5000) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm-compute-matches(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/sudo:root <at> IPad-S340:/etc/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd11fef15931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b00715931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42b15931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42c65931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe865931>) #f(compiled-function (actions candidate) #<bytecode 0x7176ea2a1065931>) helm-find-files-action-transformer) (candidate-number-limit . 5000) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm--collect-matches((((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/sudo:root <at> IPad-S340:/etc/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) (13 . helm-ff-RET) keymap (f12 . #f(compiled-function () ... #<bytecode 0x1dc018d1d86e80>)) (f11 . #f(compiled-function () ... #<bytecode 0x1dc018d1e85e80>)) (f10 . #f(compiled-function () ... #<bytecode 0x1dc018d1e94e80>)) (f9 . #f(compiled-function () ... #<bytecode 0x1dc018d1dfbe80>)) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit2 or (...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd11fef15931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b00715931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42b15931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe735931>) #f(compiled-function (actions candidate) #<bytecode 0x711506b42c65931>) #f(compiled-function (actions candidate) #<bytecode 0x717fd11fe865931>) #f(compiled-function (actions candidate) #<bytecode 0x7176ea2a1065931>) helm-find-files-action-transformer) (candidate-number-limit . 5000) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:Help \\[h...") (header-line . #("C-j: Hit1 Expand Candidate, Hit2..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) (group . helm-files) (migemo . t)))) helm-update() helm-check-new-input("/sudo::") helm-check-minibuffer-input() #f(compiled-function () #<bytecode 0x122c2674354551d8>)() apply(#f(compiled-function () #<bytecode 0x122c2674354551d8>) nil) timer-event-handler([t 0 0 10000 repeat #f(compiled-function () #<bytecode 0x122c2674354551d8>) nil idle 0 nil]) read-from-minibuffer(#("Find files or url: " 0 19 (face helm-minibuffer-prompt)) "/home/thierry/labo/github/helm/" (keymap (f12 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1d86e80>)) (f11 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1e85e80>)) (f10 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1e94e80>)) (f9 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1dfbe80>)) (f8 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1deae80>)) (f7 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1d29e80>)) (f6 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1d38e80>)) (f5 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1dbfe80>)) (f4 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1daee80>)) (f3 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1dcde80>)) (f2 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1ddce80>)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . helm-helm-yank-text-at-point-with-subkeys) (f1 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc018d1cc3e80>)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . #f(compiled-function () (interactive nil) #<bytecode -0x46027fa595fcd75>)) (56 . #f(compiled-function () (interactive nil) #<bytecode -0x46027fa595edd75>)) (55 . #f(compiled-function () (interactive nil) #<bytecode -0x46027fa599eed75>)) (54 . #f(compiled-function () (interactive nil) #<bytecode -0x46027fa599ffd75>)) (53 . #f(compiled-function () (interactive nil) #<bytecode -0x46027fa59900d75>)) (52 . #f(compiled-function () (interactive nil) #<bytecode -0x46027fa59911d75>)) (51 . #f(compiled-function () (interactive nil) #<bytecode -0x46027fa59972d75>)) (50 . #f(compiled-function () (interactive nil) #<bytecode -0x46027fa59963d75>)) (49 . #f(compiled-function () (interactive nil) #<bytecode -0x46027fa59944d75>)) (110 . helm-helm-run-cycle-resume-with-subkeys) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-insert-or-copy) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . #f(compiled-function () (interactive nil) #<bytecode -0x4602f65be57cd75>)) (56 . #f(compiled-function () (interactive nil) #<bytecode -0x4602f65be56dd75>)) (55 . #f(compiled-function () (interactive nil) #<bytecode -0x4602f65be66ed75>)) (54 . #f(compiled-function () (interactive nil) #<bytecode -0x4602f65be67fd75>)) (53 . #f(compiled-function () (interactive nil) #<bytecode -0x4602f65be680d75>)) (52 . #f(compiled-function () (interactive nil) #<bytecode -0x4602f65be691d75>)) (51 . #f(compiled-function () (interactive nil) #<bytecode -0x4602f65be6f2d75>)) (50 . #f(compiled-function () (interactive nil) #<bytecode -0x4602f65be6e3d75>)) (49 . #f(compiled-function () (interactive nil) #<bytecode -0x4602f65be6c4d75>)) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark-forward) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (left . helm-previous-source) (right . helm-next-source) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-scroll-down) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark-backward) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-scroll-up)) (next . helm-next-page) (prior . helm-previous-page) (C-up . helm-follow-action-backward) (C-down . helm-follow-action-forward) (16 . helm-previous-line) (14 . helm-next-line) (up . helm-previous-line) (down . helm-next-line) ...) nil nil nil t) helm-read-from-minibuffer("Find files or url: " "/home/thierry/labo/github/helm/" "^[[:multibyte:] ]*helm-files\\.el$" nil nil nil nil) helm-internal(helm-source-find-files "/home/thierry/labo/github/helm/" "Find files or url: " nil "^[[:multibyte:] ]*helm-files\\.el$" "*helm find files*" nil nil nil) apply(helm-internal (helm-source-find-files "/home/thierry/labo/github/helm/" "Find files or url: " nil "^[[:multibyte:] ]*helm-files\\.el$" "*helm find files*" nil nil nil)) helm(helm-source-find-files "/home/thierry/labo/github/helm/" "Find files or url: " nil "^[[:multibyte:] ]*helm-files\\.el$" "*helm find files*" nil nil nil) apply(helm (helm-source-find-files "/home/thierry/labo/github/helm/" "Find files or url: " nil "^[[:multibyte:] ]*helm-files\\.el$" "*helm find files*" nil nil nil)) helm(:sources helm-source-find-files :input "/home/thierry/labo/github/helm/" :case-fold-search smart :preselect "^[[:multibyte:] ]*helm-files\\.el$" :ff-transformer-show-only-basename t :default nil :prompt "Find files or url: " :buffer "*helm find files*") helm-find-files-1("/home/thierry/labo/github/helm/" "^[[:multibyte:] ]*helm-files\\.el$") helm-find-files(nil) funcall-interactively(helm-find-files nil) call-interactively(helm-find-files nil nil) command-execute(helm-find-files) In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2022-08-21 built on IPad-S340 Repository revision: 8d4789c07273f5fdc9d3c1f06e357746a012b8dd Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12013000 System Description: Linux Mint 20.3 Configured using: 'configure --bindir=/usr/local/sbin/emacs-29.0.50 --with-mailutils --with-cairo' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LANG: fr_FR.UTF-8 locale-coding-system: utf-8-unix Major mode: ƐĽ Minor modes in effect: bug-reference-prog-mode: t global-undo-tree-mode: t undo-tree-mode: t psession-mode: t psession-savehist-mode: t global-git-gutter-mode: t git-gutter-mode: t display-time-mode: t winner-mode: t helm-epa-mode: t helm-descbinds-mode: t helm-adaptive-mode: t helm-mode: t helm-minibuffer-history-mode: t helm-ff-icon-mode: t shell-dirtrack-mode: t helm-popup-tip-mode: t async-bytecomp-package-mode: t dired-async-mode: t minibuffer-depth-indicate-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow epa-mail face-remap helm-dabbrev emacsbug helm-command tv-mu4e-config mu4e-contrib mu4e-patch mu4e mu4e-org mu4e-main mu4e-view gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig mu4e-headers mu4e-compose mu4e-draft mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message flow-fill hl-line mu4e-contacts mu4e-update mu4e-folders mu4e-server mu4e-context mu4e-vars mu4e-helpers mu4e-config ido tramp-sh epa-file char-fold tramp-archive tramp-gvfs tramp-cache time-stamp zeroconf rst vc-filewise vc-rcs conf-mode ledger-config ledger-mode ledger-check ledger-texi ledger-test ledger-sort ledger-report ledger-reconcile ledger-occur ledger-fonts ledger-fontify ledger-state ledger-complete ledger-schedule ledger-init ledger-xact ledger-post ledger-exec ledger-navigate eshell esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util ledger-context ledger-commodities ledger-regex checkdoc lisp-mnt markdown-mode make-mode flymake-shellcheck flymake-proc flymake project warnings sh-script smie executable bug-reference naquadah-theme view solar cal-dst holidays holiday-loaddefs tv-utils osm yaml-mode undo-tree diff queue rainbow-mode color psession frameset log-view pcvs-util bash-completion cl-indent pcase ffap thingatpt autocrypt-message autocrypt-gnus addressbook-bookmark gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win message sendmail yank-media puny rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mailabbrev gmm-utils mailheader gnus nnheader gnus-util mail-utils range mm-util mail-prsvr autocrypt-mu4e autocrypt ietf-drums config-w3m git-gutter mule-util appt diary-lib diary-loaddefs gud wdired dired-extension org-config ob-gnuplot org-crypt net-utils time winner autotest-mode autoconf-mode woman man ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util init-helm helm-ls-git vc-git diff-mode vc vc-dispatcher helm-fd epa derived epg rfc6068 epg-config helm-epa helm-imenu imenu helm-elisp-package helm-find helm-org org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol rx org-keys oc org-compat advice org-macs org-loaddefs cal-menu calendar cal-loaddefs helm-external isl helm-descbinds helm-wikipedia all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons wfnames helm-ipython helm-elisp helm-eval edebug debug backtrace find-func python helm-bookmark helm-net xml helm-info bookmark helm-adaptive helm-mode helm-misc helm-files image-dired xdg image-mode exif filenotify tramp tramp-loaddefs trampver tramp-integration cus-edit pp icons wid-edit files-x tramp-compat shell pcomplete parse-time iso8601 time-date ls-lisp helm-buffers helm-occur helm-tags helm-locate helm-grep wgrep-helm wgrep grep compile text-property-search comint ring helm-regexp format-spec ansi-color helm-utils helm-help helm-types helm-extensions-autoloads helm-config helm-autoloads helm helm-global-bindings helm-easymenu edmacro kmacro helm-core async-bytecomp helm-source helm-multi-match helm-lib dired-async dired-aux dired dired-loaddefs async popup diminish cl-extra help-mode mb-depth server avoid cus-load use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core finder-inf package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile cconv url-vars cl-loaddefs cl-lib info w3m-load rmc iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 711433 61721) (symbols 48 43557 5) (strings 32 252605 5718) (string-bytes 1 7236951) (vectors 16 87685) (vector-slots 8 1855105 189366) (floats 8 1904 542) (intervals 56 2953 483) (buffers 992 116)) <#secure method=pgpmime mode=sign> -- Thierry
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sun, 04 Sep 2022 11:13:02 GMT) Full text and rfc822 format available.Message #8 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Lars Ingebrigtsen <larsi <at> gnus.org> To: Thierry Volpiatto <thievol <at> posteo.net> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 04 Sep 2022 13:12:03 +0200
Thierry Volpiatto <thievol <at> posteo.net> writes: > ;; FIXME: This is a sanity check. When this error > ;; doesn't happen for a while, it can be removed. > - (or (file-name-absolute-p localname) > + (or (file-name-absolute-p (expand-file-name localname)) This patch is the same as removing that sanity check, though, since expand-file-name always returns an absolute name.
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sun, 04 Sep 2022 20:27:02 GMT) Full text and rfc822 format available.Message #11 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Thierry Volpiatto <thievol <at> posteo.net> To: Lars Ingebrigtsen <larsi <at> gnus.org> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 04 Sep 2022 20:16:28 +0000
[Message part 1 (text/plain, inline)]
Lars Ingebrigtsen <larsi <at> gnus.org> writes: > Thierry Volpiatto <thievol <at> posteo.net> writes: > >> ;; FIXME: This is a sanity check. When this error >> ;; doesn't happen for a while, it can be removed. >> - (or (file-name-absolute-p localname) >> + (or (file-name-absolute-p (expand-file-name localname)) > > This patch is the same as removing that sanity check, though, since > expand-file-name always returns an absolute name. The purpose of this patch is to show where the problem is... -- Thierry
[signature.asc (application/pgp-signature, inline)]
Lars Ingebrigtsen <larsi <at> gnus.org>
to control <at> debbugs.gnu.org
.
(Thu, 08 Sep 2022 13:14:03 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sat, 10 Sep 2022 11:32:02 GMT) Full text and rfc822 format available.Message #16 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Michael Albinus <michael.albinus <at> gmx.de> To: Thierry Volpiatto <thievol <at> posteo.net> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sat, 10 Sep 2022 13:31:28 +0200
Thierry Volpiatto <thievol <at> posteo.net> writes: > Hello, Hi Thierry, (sorry for the delayed reply, but I was too busy with changing Tramp to the rx machinery) > with helm-find-files connecting to "/sudo::" I have this error: > > (file-error "File `' must be absolute") > > This because helm connect to tramp as soon the last ":" is entered. Indeed. > Debugger entered--Lisp error: (file-error "File `' must be absolute") > signal(file-error ("File `' must be absolute")) > tramp-error((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) file-error "File `%s' must be absolute" "") > tramp-file-name-unify((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "") > tramp-get-file-property((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "" "file-readable-p" undef) > tramp-sh-handle-file-readable-p("/sudo:root <at> IPad-S340:") [...] Well, the reason for the change in Tramp is, that the file name cache must work over absolute file names. Otherwise, it wouldn't be obvious, for with file the cached values of "foo.txt" belong to. This file name could be used in different directories. > The error can be fixed with this patch modifying > `tramp-file-name-unify`: > > diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el > index bb6eeaa7417..171d67b42af 100644 > --- a/lisp/net/tramp.el > +++ b/lisp/net/tramp.el > @@ -1495,7 +1495,7 @@ same connection. Make a copy in order to avoid side effects." > (and (stringp localname) > ;; FIXME: This is a sanity check. When this error > ;; doesn't happen for a while, it can be removed. > - (or (file-name-absolute-p localname) > + (or (file-name-absolute-p (expand-file-name localname)) > (tramp-error > vec 'file-error "File `%s' must be absolute" localname)) > (tramp-compat-file-name-unquote (directory-file-name localname))) No, that's not possible. When `tramp-file-name-unify' is invoked, it is not guaranted that `default-directory' points to a remote file name corresponding to the relative `localname'. The file name must be expanded in time. When applying that patch, I did my best to identify all places in Tramp, where `expand-file-name' must be used for caching purposes. All Tramp test suites passed, but obviously there are more use cases in the wild than Tramp test suite coverage. So I've added `expand-file-name' to even more places in Tramp in the hope, that it fits now for all cases. Pushed to master, could you please check? > It would be great that tramp development takes in account that there is > nowaday many alternatives to find-file/dired that are incremental and > connect automatically as soon as user type. Most errors come from this > and have to be fixed more and more frequently as soon there is changes > in tramp code. In this case, it was a Tramp error which has been fixed with side effects. I'm sorry about thgat it hit you, but error fixes must happen. There is no change in Tramp just for fun, regardless of users. And we're here in Emacs development, master branch, in order to detect such regressions early. That's why the sanity message was added to `tramp-file-name-unify'. > Thanks. Best regards, Michael.
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sat, 10 Sep 2022 15:02:01 GMT) Full text and rfc822 format available.Message #19 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Thierry Volpiatto <thievol <at> posteo.net> To: Michael Albinus <michael.albinus <at> gmx.de> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sat, 10 Sep 2022 14:53:36 +0000
[Message part 1 (text/plain, inline)]
Hello Michael and thanks for your answer. Michael Albinus <michael.albinus <at> gmx.de> writes: > Thierry Volpiatto <thievol <at> posteo.net> writes: > >> Hello, > > Hi Thierry, > > (sorry for the delayed reply, but I was too busy with changing Tramp to > the rx machinery) No problems. > So I've added `expand-file-name' to even more places in Tramp in the > hope, that it fits now for all cases. Pushed to master, could you please > check? I am using for now the emacs-28 version of tramp-file-name-unify to prevent this error (it is inlined), to reproduce the bug with helm-find-files you have to use: (setq helm-ff--file-accessible-directory-p-fn #'file-accessible-directory-p) And I still have the error, here the backtrace, the tramp log at the end of this message: Debugger entered--Lisp error: (file-error "File `' must be absolute, please report a bug!") signal(file-error ("File `' must be absolute, please report a bug!")) tramp-error((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) file-error "File `%s' must be absolute, please report a bug!" "") tramp-file-name-unify((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "") tramp-get-file-property((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "" "file-readable-p" undef) tramp-sh-handle-file-readable-p("/sudo:root <at> IPad-S340:") apply(tramp-sh-handle-file-readable-p "/sudo:root <at> IPad-S340:") tramp-sh-file-name-handler(file-readable-p "/sudo:root <at> IPad-S340:") apply(tramp-sh-file-name-handler file-readable-p "/sudo:root <at> IPad-S340:") tramp-file-name-handler(file-readable-p "/sudo:root <at> IPad-S340:") file-readable-p("/sudo:root <at> IPad-S340:") tramp-handle-file-accessible-directory-p("/sudo:root <at> IPad-S340:") apply(tramp-handle-file-accessible-directory-p "/sudo:root <at> IPad-S340:") tramp-sh-file-name-handler(file-accessible-directory-p "/sudo:root <at> IPad-S340:") apply(tramp-sh-file-name-handler file-accessible-directory-p "/sudo:root <at> IPad-S340:") tramp-file-name-handler(file-accessible-directory-p "/sudo:root <at> IPad-S340:") file-accessible-directory-p(#("/sudo:root <at> IPad-S340:" 6 10 (tramp-default t) 11 20 (tramp-default t))) helm-find-files-get-candidates() apply(helm-find-files-get-candidates nil) helm-apply-functions-from-source(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...) helm-find-files-get-candidates) helm-interpret-value(helm-find-files-get-candidates ((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm-get-candidates(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm-get-cached-candidates(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm-compute-matches(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm--collect-matches((((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) (13 . helm-ff-RET) keymap (f12 . #f(compiled-function () ... #<bytecode 0x1dc02d7c3b5e80>)) (f11 . #f(compiled-function () ... #<bytecode 0x1dc02d7c3a4e80>)) (f10 . #f(compiled-function () ... #<bytecode 0x1dc02d7c42be80>)) (f9 . #f(compiled-function () ... #<bytecode 0x1dc02d7c43ae80>)) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit2 or (...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:Help \\[h...") (header-line . #("C-j: Hit1 Expand Candidate, Hit2..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) (group . helm-files) (migemo . t)))) helm-update() helm-check-new-input("/sudo::") helm-check-minibuffer-input() #f(compiled-function () #<bytecode 0x13c64df807298d0c>)() apply(#f(compiled-function () #<bytecode 0x13c64df807298d0c>) nil) timer-event-handler([t 0 0 10000 repeat #f(compiled-function () #<bytecode 0x13c64df807298d0c>) nil idle 0 nil]) read-from-minibuffer(#("Find files or url: " 0 19 (face helm-minibuffer-prompt)) "/home/thierry/.emacs.d/emacs-config/" (keymap (f12 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c3b5e80>)) (f11 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c3a4e80>)) (f10 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c42be80>)) (f9 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c43ae80>)) (f8 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c459e80>)) (f7 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c448e80>)) (f6 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c46fe80>)) (f5 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c47ee80>)) (f4 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c4bde80>)) (f3 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c4ace80>)) (f2 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c4f3e80>)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . helm-helm-yank-text-at-point-with-subkeys) (f1 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c4e2e80>)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d33cd75>)) (56 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d32dd75>)) (55 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d2aed75>)) (54 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d2bfd75>)) (53 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d240d75>)) (52 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d251d75>)) (51 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d232d75>)) (50 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d223d75>)) (49 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d204d75>)) (110 . helm-helm-run-cycle-resume-with-subkeys) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-insert-or-copy) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53736bcd75>)) (56 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53736add75>)) (55 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b537372ed75>)) (54 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b537373fd75>)) (53 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53737c0d75>)) (52 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53737d1d75>)) (51 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53737b2d75>)) (50 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53737a3d75>)) (49 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b5373784d75>)) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark-forward) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (left . helm-previous-source) (right . helm-next-source) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-scroll-down) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark-backward) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-scroll-up)) (next . helm-next-page) (prior . helm-previous-page) (C-up . helm-follow-action-backward) (C-down . helm-follow-action-forward) (16 . helm-previous-line) (14 . helm-next-line) (up . helm-previous-line) (down . helm-next-line) ...) nil nil nil t) helm-read-from-minibuffer("Find files or url: " "/home/thierry/.emacs.d/emacs-config/" "^[[:multibyte:] ]*init\\.el$" nil nil nil nil) helm-internal(helm-source-find-files "/home/thierry/.emacs.d/emacs-config/" "Find files or url: " nil "^[[:multibyte:] ]*init\\.el$" "*helm find files*" nil nil nil) apply(helm-internal (helm-source-find-files "/home/thierry/.emacs.d/emacs-config/" "Find files or url: " nil "^[[:multibyte:] ]*init\\.el$" "*helm find files*" nil nil nil)) helm(helm-source-find-files "/home/thierry/.emacs.d/emacs-config/" "Find files or url: " nil "^[[:multibyte:] ]*init\\.el$" "*helm find files*" nil nil nil) apply(helm (helm-source-find-files "/home/thierry/.emacs.d/emacs-config/" "Find files or url: " nil "^[[:multibyte:] ]*init\\.el$" "*helm find files*" nil nil nil)) helm(:sources helm-source-find-files :input "/home/thierry/.emacs.d/emacs-config/" :case-fold-search smart :preselect "^[[:multibyte:] ]*init\\.el$" :ff-transformer-show-only-basename t :default nil :prompt "Find files or url: " :buffer "*helm find files*") helm-find-files-1("/home/thierry/.emacs.d/emacs-config/" "^[[:multibyte:] ]*init\\.el$") helm-find-files(nil) funcall-interactively(helm-find-files nil) call-interactively(helm-find-files nil nil) command-execute(helm-find-files) > And we're here in Emacs development, master branch, in order to detect > such regressions early. That's why the sanity message was added to > `tramp-file-name-unify'. Ok I understand. Here the tramp backtrace as well if that helps. ;; Emacs: 29.0.50 Tramp: 2.6.0-pre -*- mode: outline; coding: utf-8; -*- ;; Location: /usr/local/share/emacs/29.0.50/lisp/net/tramp.elc Git: master/4cf9c92e27d20da9453f9abe89d84bee5d776329 16:52:31.091698 tramp-get-file-property (10) # backtrace() tramp-error((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) file-error "File `%s' must be absolute, please report a bug!" "") tramp-file-name-unify((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "") tramp-get-file-property((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "" "file-readable-p" undef) tramp-sh-handle-file-readable-p("/sudo:root <at> IPad-S340:") apply(tramp-sh-handle-file-readable-p "/sudo:root <at> IPad-S340:") tramp-sh-file-name-handler(file-readable-p "/sudo:root <at> IPad-S340:") apply(tramp-sh-file-name-handler file-readable-p "/sudo:root <at> IPad-S340:") tramp-file-name-handler(file-readable-p "/sudo:root <at> IPad-S340:") file-readable-p("/sudo:root <at> IPad-S340:") tramp-handle-file-accessible-directory-p("/sudo:root <at> IPad-S340:") apply(tramp-handle-file-accessible-directory-p "/sudo:root <at> IPad-S340:") tramp-sh-file-name-handler(file-accessible-directory-p "/sudo:root <at> IPad-S340:") apply(tramp-sh-file-name-handler file-accessible-directory-p "/sudo:root <at> IPad-S340:") tramp-file-name-handler(file-accessible-directory-p "/sudo:root <at> IPad-S340:") file-accessible-directory-p(#("/sudo:root <at> IPad-S340:" 6 10 (tramp-default t) 11 20 (tramp-default t))) helm-find-files-get-candidates() apply(helm-find-files-get-candidates nil) helm-apply-functions-from-source(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...) helm-find-files-get-candidates) helm-interpret-value(helm-find-files-get-candidates ((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm-get-candidates(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm-get-cached-candidates(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm-compute-matches(((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:He...") (header-line . #("C-j: Hit1 Expand Candidate..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) ...)) helm--collect-matches((((name . "Find Files") (resume lambda nil (helm-ff-setup-update-hook) (setq helm-ff-default-directory "/" helm-ff-last-expanded nil)) (header-name closure (t) (name) (concat name ...)) (init closure (t) nil (setq helm-ff-auto-update-flag helm-ff-auto-update-initial-value) (setq helm-ff--auto-update-state helm-ff-auto-update-flag) (helm-set-local-variable ... ...) (require ...)) (candidates . helm-find-files-get-candidates) (update closure (t) nil (remhash helm-ff-default-directory helm-ff--list-directory-cache)) (cleanup . helm-find-files-cleanup) (keymap keymap (4 . helm-ff-persistent-delete) (9) (left . helm-find-files-up-one-level) (right . helm-execute-persistent-action) (127 . helm-helm-ff-delete-char-backward-with-subkeys) (S-f6 . helm-ff-sort-by-ext) (S-f5 . helm-ff-toggle-files-only) (S-f4 . helm-ff-toggle-dirs-only) (S-f3 . helm-ff-sort-by-size) (S-f2 . helm-ff-sort-by-newest) (S-f1 . helm-ff-sort-alpha) (18 . helm-find-files-down-last-level) (31 . helm-ff-undo) (67108922 . helm-ff-complete-tramp-methods) (12 . helm-find-files-up-one-level) (67108911 . helm-ff-run-fd) (C-backspace . helm-ff-run-toggle-auto-update) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (3 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (27 keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) (19 . helm-ff-run-grep) (24 keymap ... ... ... ... ...) (29 . helm-ff-run-toggle-basename) (13 . helm-ff-RET) keymap (f12 . #f(compiled-function () ... #<bytecode 0x1dc02d7c3b5e80>)) (f11 . #f(compiled-function () ... #<bytecode 0x1dc02d7c3a4e80>)) (f10 . #f(compiled-function () ... #<bytecode 0x1dc02d7c42be80>)) (f9 . #f(compiled-function () ... #<bytecode 0x1dc02d7c43ae80>)) ...) (action . helm-find-files-actions) (persistent-action-if . helm-find-files-persistent-action-if) (persistent-help . "Hit1 Expand Candidate, Hit2 or (...") (help-message . helm-ff-help-message) (requires-pattern . 0) (filtered-candidate-transformer helm-ff-fct helm-ff-maybe-show-thumbnails helm-ff-directories-only helm-ff-files-only helm-ff-sort-candidates helm-ff-icons-transformer) (action-transformer #f(compiled-function (actions candidate) #<bytecode 0x717fd71a559c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a154d9c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f719c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a517c8b1>) #f(compiled-function (actions candidate) #<bytecode 0x71150a1f73ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717fd71a57ec8b1>) #f(compiled-function (actions candidate) #<bytecode 0x717824e9ffec8b1>) helm-find-files-action-transformer) (candidate-number-limit . helm-ff-candidate-number-limit) (volatile . t) (match helm-mm-exact-match helm-mm-match helm-mm-3-migemo-match (lambda ... ...)) (match-on-real . t) (redisplay . identity) (nohighlight . t) (mode-line "File(s)" "\\<helm-map>\\[helm-help]:Help \\[h...") (header-line . #("C-j: Hit1 Expand Candidate, Hit2..." 0 3 ...)) (multimatch . t) (before-init-hook . helm-find-files-before-init-hook) (after-init-hook . helm-find-files-after-init-hook) (group . helm-files) (migemo . t)))) helm-update() helm-check-new-input("/sudo::") helm-check-minibuffer-input() #f(compiled-function () #<bytecode 0x13c64df807298d0c>)() apply(#f(compiled-function () #<bytecode 0x13c64df807298d0c>) nil) timer-event-handler([t 0 0 10000 repeat #f(compiled-function () #<bytecode 0x13c64df807298d0c>) nil idle 0 nil]) read-from-minibuffer(#("Find files or url: " 0 19 (face helm-minibuffer-prompt)) "/home/thierry/.emacs.d/emacs-config/" (keymap (f12 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c3b5e80>)) (f11 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c3a4e80>)) (f10 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c42be80>)) (f9 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c43ae80>)) (f8 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c459e80>)) (f7 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c448e80>)) (f6 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c46fe80>)) (f5 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c47ee80>)) (f4 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c4bde80>)) (f3 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c4ace80>)) (f2 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c4f3e80>)) (menu-bar keymap (help-menu keymap (describe keymap (describe-mode . helm-help)))) (help keymap (109 . helm-help)) (23 . helm-helm-yank-text-at-point-with-subkeys) (f1 . #f(compiled-function () (interactive nil) #<bytecode 0x1dc02d7c4e2e80>)) (8 keymap (109 . helm-help) (104 . undefined) (8 . undefined) (99 . helm-customize-group) (4 . helm-enable-or-switch-to-debug)) (20 . helm-toggle-resplit-and-swap-windows) (C-tab . undefined) (67108897 . helm-toggle-suspend-update) (3 keymap (57 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d33cd75>)) (56 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d32dd75>)) (55 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d2aed75>)) (54 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d2bfd75>)) (53 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d240d75>)) (52 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d251d75>)) (51 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d232d75>)) (50 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d223d75>)) (49 . #f(compiled-function () (interactive nil) #<bytecode -0x46027f45d204d75>)) (110 . helm-helm-run-cycle-resume-with-subkeys) (108 . helm-display-line-numbers-mode) (62 . helm-toggle-truncate-line) (21 . helm-refresh) (6 . helm-follow-mode) (9 . helm-insert-or-copy) (11 . helm-kill-selection-and-quit) (25 . helm-yank-selection) (37 . helm-exchange-minibuffer-and-header-line) (95 . helm-toggle-full-frame) (45 . helm-swap-windows)) (67108987 . helm-enlarge-window) (67108989 . helm-narrow-window) (19 . undefined) (24 keymap (57 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53736bcd75>)) (56 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53736add75>)) (55 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b537372ed75>)) (54 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b537373fd75>)) (53 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53737c0d75>)) (52 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53737d1d75>)) (51 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53737b2d75>)) (50 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b53737a3d75>)) (49 . #f(compiled-function () (interactive nil) #<bytecode -0x4602b5373784d75>)) (2 . helm-resume-list-buffers-after-quit) (98 . helm-resume-previous-session-after-quit) (6 . helm-quit-and-find-file)) (11 . helm-delete-minibuffer-contents) (67108896 . helm-toggle-visible-mark-forward) (0 . helm-toggle-visible-mark) (C-M-up . helm-scroll-other-window-down) (C-M-down . helm-scroll-other-window) (M-prior . helm-scroll-other-window-down) (M-next . helm-scroll-other-window) (12 . helm-recenter-top-bottom-other-window) (left . helm-previous-source) (right . helm-next-source) (15 . helm-next-source) (10 . helm-execute-persistent-action) (9 . helm-select-action) (13 . helm-maybe-exit-minibuffer) (7 . helm-keyboard-quit) (22 . helm-scroll-down) (27 keymap (110 . next-history-element) (112 . previous-history-element) (115 . undefined) (5 . helm-display-all-sources) (1 . helm-show-all-candidates-in-source) (85 . helm-unmark-all) (97 . helm-mark-all) (109 . helm-toggle-all-marks) (41 . helm-next-visible-mark) (40 . helm-prev-visible-mark) (91) (32 . helm-toggle-visible-mark-backward) (33554454 . helm-scroll-other-window-down) (25 . helm-scroll-other-window-down) (22 . helm-scroll-other-window) (12 . helm-reposition-window-other-window) (111 . helm-previous-source) (62 . helm-end-of-buffer) (60 . helm-beginning-of-buffer) (118 . helm-scroll-up)) (next . helm-next-page) (prior . helm-previous-page) (C-up . helm-follow-action-backward) (C-down . helm-follow-action-forward) (16 . helm-previous-line) (14 . helm-next-line) (up . helm-previous-line) (down . helm-next-line) ...) nil nil nil t) helm-read-from-minibuffer("Find files or url: " "/home/thierry/.emacs.d/emacs-config/" "^[[:multibyte:] ]*init\\.el$" nil nil nil nil) helm-internal(helm-source-find-files "/home/thierry/.emacs.d/emacs-config/" "Find files or url: " nil "^[[:multibyte:] ]*init\\.el$" "*helm find files*" nil nil nil) apply(helm-internal (helm-source-find-files "/home/thierry/.emacs.d/emacs-config/" "Find files or url: " nil "^[[:multibyte:] ]*init\\.el$" "*helm find files*" nil nil nil)) helm(helm-source-find-files "/home/thierry/.emacs.d/emacs-config/" "Find files or url: " nil "^[[:multibyte:] ]*init\\.el$" "*helm find files*" nil nil nil) apply(helm (helm-source-find-files "/home/thierry/.emacs.d/emacs-config/" "Find files or url: " nil "^[[:multibyte:] ]*init\\.el$" "*helm find files*" nil nil nil)) helm(:sources helm-source-find-files :input "/home/thierry/.emacs.d/emacs-config/" :case-fold-search smart :preselect "^[[:multibyte:] ]*init\\.el$" :ff-transformer-show-only-basename t :default nil :prompt "Find files or url: " :buffer "*helm find files*") helm-find-files-1("/home/thierry/.emacs.d/emacs-config/" "^[[:multibyte:] ]*init\\.el$") helm-find-files(nil) funcall-interactively(helm-find-files nil) call-interactively(helm-find-files nil nil) command-execute(helm-find-files) 16:52:31.095416 tramp-get-file-property (1) # File error: File `' must be absolute, please report a bug! Find Files IPad-S340 Thanks. -- Thierry
[signature.asc (application/pgp-signature, inline)]
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sat, 10 Sep 2022 15:33:02 GMT) Full text and rfc822 format available.Message #22 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Thierry Volpiatto <thievol <at> posteo.net> To: Michael Albinus <michael.albinus <at> gmx.de> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sat, 10 Sep 2022 15:20:20 +0000
[Message part 1 (text/plain, inline)]
Michael Albinus <michael.albinus <at> gmx.de> writes: >> This because helm connect to tramp as soon the last ":" is entered. > > Indeed. > >> Debugger entered--Lisp error: (file-error "File `' must be absolute") >> signal(file-error ("File `' must be absolute")) >> tramp-error((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) file-error "File `%s' must be absolute" "") >> tramp-file-name-unify((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "") >> tramp-get-file-property((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "" "file-readable-p" undef) >> tramp-sh-handle-file-readable-p("/sudo:root <at> IPad-S340:") More exactly, when helm-find-files starts with "/sudo::" and the tramp connection is not yet enabled, we have: (file-remote-p "/sudo::" 'localname) => "" and (helm-ff-set-pattern "/sudo::") => #("/sudo:root <at> IPad-S340:" 6 10 (tramp-default t) 11 20 (tramp-default t)) then this value is passed to file-accessible-directory-p and we have the error. I tried this and it seems to work without error: (file-accessible-directory-p (if (string= (file-remote-p path 'localname) "") ;; First connection (concat path "/") ;; path == "/sudo:root <at> IPad-S340:" (see above) path)) Not sure if it is safe with other methods though, didn't try. Hope that helps. Thanks. -- Thierry
[signature.asc (application/pgp-signature, inline)]
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sat, 10 Sep 2022 17:39:02 GMT) Full text and rfc822 format available.Message #25 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Michael Albinus <michael.albinus <at> gmx.de> To: Thierry Volpiatto <thievol <at> posteo.net> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sat, 10 Sep 2022 19:37:57 +0200
[Message part 1 (text/plain, inline)]
Thierry Volpiatto <thievol <at> posteo.net> writes: Hi Thierry, >> So I've added `expand-file-name' to even more places in Tramp in the >> hope, that it fits now for all cases. Pushed to master, could you please >> check? > > I am using for now the emacs-28 version of tramp-file-name-unify to > prevent this error (it is inlined), to reproduce the bug with > helm-find-files you have to use: > > (setq helm-ff--file-accessible-directory-p-fn > #'file-accessible-directory-p) The version w/o a check will work most of the cases, because the vast majority of file name cache calls use already absolute file names. But there have been wrong cache data sporadically, that's why I have changed to require absolute file names, after I could debug it to the reason (it was a long way to trap it). > And I still have the error, here the backtrace, the tramp log at the end > of this message: > > Debugger entered--Lisp error: (file-error "File `' must be absolute, please report a bug!") > signal(file-error ("File `' must be absolute, please report a bug!")) > tramp-error((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) file-error "File `%s' must be absolute, please report a bug!" "") > tramp-file-name-unify((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "") > tramp-get-file-property((tramp-file-name "sudo" "root" nil "IPad-S340" nil "" nil) "" "file-readable-p" undef) > tramp-sh-handle-file-readable-p("/sudo:root <at> IPad-S340:") Hmm. Due to my patch, `tramp-sh-handle-file-readable-p' calls definitely `expand-file-name', before it consults the cache via `tramp-get-file-property'. But wait, you are in file name completion. So I guess you have bound `non-essential' to t. In that case, `expand-file-name' expands only, if the connection is established already. That means the Tramp file name cache is useless, when the connection is not established yet, or if `non-essential' is non-nil. Could you pls check whether the appended patch works for you? > Thanks.
[Message part 2 (text/x-patch, attachment)]
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sat, 10 Sep 2022 17:46:02 GMT) Full text and rfc822 format available.Message #28 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Michael Albinus <michael.albinus <at> gmx.de> To: Thierry Volpiatto <thievol <at> posteo.net> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sat, 10 Sep 2022 19:44:58 +0200
Thierry Volpiatto <thievol <at> posteo.net> writes: Hi Thierry, > I tried this and it seems to work without error: > > (file-accessible-directory-p > (if (string= (file-remote-p path 'localname) "") > ;; First connection > (concat path "/") ;; path == "/sudo:root <at> IPad-S340:" (see above) > path)) > > Not sure if it is safe with other methods though, didn't try. No, in general "/method:host:" isn't equal to "/method:host:/". So the cache values would be kept for the wrong file. > Thanks. Best regards, Michael.
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sat, 10 Sep 2022 20:00:02 GMT) Full text and rfc822 format available.Message #31 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Thierry Volpiatto <thievol <at> posteo.net> To: Michael Albinus <michael.albinus <at> gmx.de> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sat, 10 Sep 2022 19:55:02 +0000
[Message part 1 (text/plain, inline)]
Michael Albinus <michael.albinus <at> gmx.de> writes: > Could you pls check whether the appended patch works for you? Could you send a git based patch? I don't know how to apply this one. Thanks. -- Thierry
[signature.asc (application/pgp-signature, inline)]
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sun, 11 Sep 2022 06:58:02 GMT) Full text and rfc822 format available.Message #34 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Thierry Volpiatto <thievol <at> posteo.net> To: Michael Albinus <michael.albinus <at> gmx.de> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 11 Sep 2022 06:49:10 +0000
[Message part 1 (text/plain, inline)]
Michael Albinus <michael.albinus <at> gmx.de> writes: > But wait, you are in file name completion. Yes, but not sure tramp detects a "file name completion" here as it is not a standard completion used here. > So I guess you have bound `non-essential' to t. In that case, > `expand-file-name' expands only, if the connection is established > already. I have now bound non-essential to nil _before_ calling file-accessible-directory-p and I have no error. Perhaps it is the right way to do? Note that the tramp process is not detected (nil), even if all work fine: Tramp: Opening connection nil for root <at> IPad-S340 using sudo...done -- Thierry
[signature.asc (application/pgp-signature, inline)]
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sun, 11 Sep 2022 08:19:01 GMT) Full text and rfc822 format available.Message #37 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Michael Albinus <michael.albinus <at> gmx.de> To: Thierry Volpiatto <thievol <at> posteo.net> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 11 Sep 2022 10:18:25 +0200
Thierry Volpiatto <thievol <at> posteo.net> writes: Hi Thierry, >> But wait, you are in file name completion. > > Yes, but not sure tramp detects a "file name completion" here as it is > not a standard completion used here. Tramp doesn't need to detect that you're in file name completion or whatever, there are some functions to be called depending on the file name syntax you pass as arguments, that's all. >> So I guess you have bound `non-essential' to t. In that case, >> `expand-file-name' expands only, if the connection is established >> already. > > I have now bound non-essential to nil _before_ calling > file-accessible-directory-p and I have no error. > Perhaps it is the right way to do? non-essential is a mean to tell Tramp, that it shouldn't open a connection when it isn't established yet. That's why you bind it in helm to t. Of course it will work when you don't bind it. But then, there are other problems. The patch I've shown to you yesterday solves your helm-find-files case, but the Tramp testsuite fails. I'm analyzing what's up. Best regards, Michael.
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sun, 11 Sep 2022 09:01:02 GMT) Full text and rfc822 format available.Message #40 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Thierry Volpiatto <thievol <at> posteo.net> To: Michael Albinus <michael.albinus <at> gmx.de> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 11 Sep 2022 08:50:43 +0000
[Message part 1 (text/plain, inline)]
Hello Michael, Michael Albinus <michael.albinus <at> gmx.de> writes: > Thierry Volpiatto <thievol <at> posteo.net> writes: > > Hi Thierry, > >>> But wait, you are in file name completion. >> >> Yes, but not sure tramp detects a "file name completion" here as it is >> not a standard completion used here. > > Tramp doesn't need to detect that you're in file name completion or > whatever, there are some functions to be called depending on the file > name syntax you pass as arguments, that's all. > >>> So I guess you have bound `non-essential' to t. In that case, >>> `expand-file-name' expands only, if the connection is established >>> already. >> >> I have now bound non-essential to nil _before_ calling >> file-accessible-directory-p and I have no error. >> Perhaps it is the right way to do? > > non-essential is a mean to tell Tramp, that it shouldn't open a > connection when it isn't established yet. Yes, it is what I always understood but I am now confused because the connection is trigerred by file-accessible-directory-p even with non-essential==t. > That's why you bind it in helm to t. Of course it will work when you > don't bind it. It is bound to t on top but it is nil in helm-find-files-get-candidates. > But then, there are other problems. Yes of course but only if I bind it on top, isn't it? > The patch I've shown to you yesterday solves your helm-find-files > case, but the Tramp testsuite fails. I'm analyzing what's up. Ok thanks. -- Thierry
[signature.asc (application/pgp-signature, inline)]
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sun, 11 Sep 2022 10:17:02 GMT) Full text and rfc822 format available.Message #43 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Thierry Volpiatto <thievol <at> posteo.net> To: Michael Albinus <michael.albinus <at> gmx.de> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 11 Sep 2022 10:14:52 +0000
[Message part 1 (text/plain, inline)]
Michael Albinus <michael.albinus <at> gmx.de> writes: > The patch I've shown to you yesterday solves your helm-find-files > case, Finally could apply the patch and I confirm it fixes the error. > but the Tramp testsuite fails. I'm analyzing what's up. > > Best regards, Michael. -- Thierry
[signature.asc (application/pgp-signature, inline)]
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sun, 11 Sep 2022 12:59:02 GMT) Full text and rfc822 format available.Message #46 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Michael Albinus <michael.albinus <at> gmx.de> To: Thierry Volpiatto <thievol <at> posteo.net> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 11 Sep 2022 14:58:22 +0200
Thierry Volpiatto <thievol <at> posteo.net> writes: Hi Thierry, >> The patch I've shown to you yesterday solves your helm-find-files >> case, > > Finally could apply the patch and I confirm it fixes the error. Thanks for the feedback. >> but the Tramp testsuite fails. I'm analyzing what's up. Finally, I've fixed this. I don't check any longer for `non-essential'. Instead, the Tramp cache is disabled when it is invoked with a relative file name. This seems to be more robust, and it passes both helm-find-files and the Tramp testsuite check. Pushed to master. Could you give it a try? Best regards, Michael.
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sun, 11 Sep 2022 13:09:01 GMT) Full text and rfc822 format available.Message #49 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Michael Albinus <michael.albinus <at> gmx.de> To: Thierry Volpiatto <thievol <at> posteo.net> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 11 Sep 2022 15:08:39 +0200
Thierry Volpiatto <thievol <at> posteo.net> writes: > Hello Michael, Hi Thierry, >> non-essential is a mean to tell Tramp, that it shouldn't open a >> connection when it isn't established yet. > > Yes, it is what I always understood but I am now confused because the > connection is trigerred by file-accessible-directory-p even with > non-essential==t. Well, non-essential is not checked for *all* basic functions. Its most important use is to prevent expand-file-name and file-exists-p from action. See function tramp-connectable-p, and its use in tramp.el and tramp-sh.el. Why it has triggered file-accessible-directory-p to go remote I cannot analyze w/o traces. >> That's why you bind it in helm to t. Of course it will work when you >> don't bind it. > > It is bound to t on top but it is nil in helm-find-files-get-candidates. Well, this lets Tramp connect. >> But then, there are other problems. > > Yes of course but only if I bind it on top, isn't it? Wherever you bind it. If a Tramp function is called, and non-essential is nil, Tramp is likely to go remote. If you want it, fine. Best regards, Michael.
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sun, 11 Sep 2022 14:28:01 GMT) Full text and rfc822 format available.Message #52 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Thierry Volpiatto <thievol <at> posteo.net> To: Michael Albinus <michael.albinus <at> gmx.de> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 11 Sep 2022 14:25:53 +0000
[Message part 1 (text/plain, inline)]
Michael Albinus <michael.albinus <at> gmx.de> writes: > Finally, I've fixed this. I don't check any longer for `non-essential'. > Instead, the Tramp cache is disabled when it is invoked with a relative > file name. This seems to be more robust, and it passes both > helm-find-files and the Tramp testsuite check. > > Pushed to master. Could you give it a try? It is working fine now, no error. Thanks you very much for this. -- Thierry
[signature.asc (application/pgp-signature, inline)]
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Sun, 11 Sep 2022 14:32:02 GMT) Full text and rfc822 format available.Message #55 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Thierry Volpiatto <thievol <at> posteo.net> To: Michael Albinus <michael.albinus <at> gmx.de> Cc: 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 11 Sep 2022 14:29:22 +0000
[Message part 1 (text/plain, inline)]
Michael Albinus <michael.albinus <at> gmx.de> writes: > Well, non-essential is not checked for *all* basic functions. Its most > important use is to prevent expand-file-name and file-exists-p from > action. See function tramp-connectable-p, and its use in tramp.el and > tramp-sh.el. Thanks to clarify its usage. -- Thierry
[signature.asc (application/pgp-signature, inline)]
Michael Albinus <michael.albinus <at> gmx.de>
:Thierry Volpiatto <thievol <at> posteo.net>
:Message #60 received at 57572-done <at> debbugs.gnu.org (full text, mbox):
From: Michael Albinus <michael.albinus <at> gmx.de> To: Thierry Volpiatto <thievol <at> posteo.net> Cc: 57572-done <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Sun, 11 Sep 2022 18:29:07 +0200
Version: 29.1 Thierry Volpiatto <thievol <at> posteo.net> writes: Hi Thierry, >> Finally, I've fixed this. I don't check any longer for `non-essential'. >> Instead, the Tramp cache is disabled when it is invoked with a relative >> file name. This seems to be more robust, and it passes both >> helm-find-files and the Tramp testsuite check. >> >> Pushed to master. Could you give it a try? > > It is working fine now, no error. Thanks, I'm closing the bug. > Thanks you very much for this. Best regards, Michael.
Michael Albinus <michael.albinus <at> gmx.de>
:James Ferguson <james <at> faff.org>
:bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Mon, 12 Sep 2022 04:35:01 GMT) Full text and rfc822 format available.Message #68 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Richard Stallman <rms <at> gnu.org> To: Thierry Volpiatto <thievol <at> posteo.net> Cc: michael.albinus <at> gmx.de, 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Mon, 12 Sep 2022 00:34:38 -0400
[[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] You can apply a patch by running patch < patchfile in the directory where the source files to be patched are found. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)
bug-gnu-emacs <at> gnu.org
:bug#57572
; Package emacs
.
(Mon, 12 Sep 2022 04:45:02 GMT) Full text and rfc822 format available.Message #71 received at 57572 <at> debbugs.gnu.org (full text, mbox):
From: Thierry Volpiatto <thievol <at> posteo.net> To: rms <at> gnu.org Cc: michael.albinus <at> gmx.de, 57572 <at> debbugs.gnu.org Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify Date: Mon, 12 Sep 2022 04:43:31 +0000
[Message part 1 (text/plain, inline)]
Richard Stallman <rms <at> gnu.org> writes: > You can apply a patch by running > patch < patchfile > in the directory where the source files to be patched are found. Thanks. -- Thierry
[signature.asc (application/pgp-signature, inline)]
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 10 Oct 2022 11:24:10 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.