help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error with tramp-archive-autoload-file-name-handler


From: Michael Heerdegen
Subject: Re: Error with tramp-archive-autoload-file-name-handler
Date: Tue, 29 Mar 2022 02:17:48 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Michael Albinus <michael.albinus@gmx.de> writes:

> Same here, I cannot reproduce it with Emacs 27, Emacs 28, Emacs 29. Btw,
> I believe a more realistic check would be
>
> $ emacs -Q -f tramp-register-archive-file-name-handler --eval 
> '(file-directory-p "/home/albinus/tmp/out.tar.xz/")'\
>            -f tramp-register-archive-file-name-handler --eval 
> '(file-directory-p "/home/albinus/tmp/out.tar.xz/")'

Dunno if it's more realistic, but:

> It is tramp-register-archive-file-name-handler which might be invoked
> several times, and which causes the problem. Could *you* (Michael)
> reproduce the problem with this recipe?

no, not with that recipe.  Mine worked, but not that one.

Sorry, can we please stop suggesting shell scripts to reproduce the
issue?  I can't read them.

Here is a recipe for emacs -Q:

M-:

(dotimes (_ 2)
  (add-to-list 'file-name-handler-alist
               (cons (tramp-archive-autoload-file-name-regexp)
                     #'tramp-archive-autoload-file-name-handler))
  (file-directory-p
   "/home/micha/software/emacs/test/lisp/net/tramp-archive-resources/foo.iso/"))

RET

gives me:

Debugger entered--Lisp error: (error "Invalid handler in 
‘file-name-handler-alist’")
  file-directory-p("/home/micha/software/emacs/test/lisp/net/tramp-arc...")
  (let ((_ --dotimes-counter--)) (add-to-list 'file-name-handler-alist (cons 
(concat "\\`" "\\(" ".+" "\\." (regexp-opt tramp-archive-suffixes) "\\(?:" 
"\\." (regexp-opt tramp-archive-compression-suffixes) "\\)*" "\\)" "\\(" "/" 
".*" "\\)" "\\'") #'tramp-archive-autoload-file-name-handler)) 
(file-directory-p "/home/micha/software/emacs/test/lisp/net/tramp-arc..."))
  (while (< --dotimes-counter-- --dotimes-limit--) (let ((_ 
--dotimes-counter--)) (add-to-list 'file-name-handler-alist (cons (concat "\\`" 
"\\(" ".+" "\\." (regexp-opt tramp-archive-suffixes) "\\(?:" "\\." (regexp-opt 
tramp-archive-compression-suffixes) "\\)*" "\\)" "\\(" "/" ".*" "\\)" "\\'") 
#'tramp-archive-autoload-file-name-handler)) (file-directory-p 
"/home/micha/software/emacs/test/lisp/net/tramp-arc...")) (setq 
--dotimes-counter-- (1+ --dotimes-counter--)))
  (let ((--dotimes-limit-- 2) (--dotimes-counter-- 0)) (while (< 
--dotimes-counter-- --dotimes-limit--) (let ((_ --dotimes-counter--)) 
(add-to-list 'file-name-handler-alist (cons (concat "\\`" "\\(" ".+" "\\." 
(regexp-opt tramp-archive-suffixes) "\\(?:" "\\." (regexp-opt 
tramp-archive-compression-suffixes) "\\)*" "\\)" "\\(" "/" ".*" "\\)" "\\'") 
#'tramp-archive-autoload-file-name-handler)) (file-directory-p 
"/home/micha/software/emacs/test/lisp/net/tramp-arc...")) (setq 
--dotimes-counter-- (1+ --dotimes-counter--))))
  eval((let ((--dotimes-limit-- 2) (--dotimes-counter-- 0)) (while (< 
--dotimes-counter-- --dotimes-limit--) (let ((_ --dotimes-counter--)) 
(add-to-list 'file-name-handler-alist (cons (concat "\\`" "\\(" ".+" "\\." 
(regexp-opt tramp-archive-suffixes) "\\(?:" "\\." (regexp-opt 
tramp-archive-compression-suffixes) "\\)*" "\\)" "\\(" "/" ".*" "\\)" "\\'") 
#'tramp-archive-autoload-file-name-handler)) (file-directory-p 
"/home/micha/software/emacs/test/lisp/net/tramp-arc...")) (setq 
--dotimes-counter-- (1+ --dotimes-counter--)))) t)
  eval-expression((dotimes (_ 2) (add-to-list 'file-name-handler-alist (cons 
(tramp-archive-autoload-file-name-regexp) 
#'tramp-archive-autoload-file-name-handler)) (file-directory-p 
"/home/micha/software/emacs/test/lisp/net/tramp-arc...")) nil nil 127)
  funcall-interactively(eval-expression (dotimes (_ 2) (add-to-list 
'file-name-handler-alist (cons (tramp-archive-autoload-file-name-regexp) 
#'tramp-archive-autoload-file-name-handler)) (file-directory-p 
"/home/micha/software/emacs/test/lisp/net/tramp-arc...")) nil nil 127)
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)

Is that acceptable?

> Anyway, I've pushed the appended patch to the repositories. It should fix
> this problem, hopefully.

Hmm - that actually fixes the real-life issue I see - but not the above
recipe.


Michael.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]