[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffe
From: |
Manuel Giraud |
Subject: |
bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers |
Date: |
Mon, 23 Oct 2023 14:56:33 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Eli Zaretskii <eliz@gnu.org> writes:
[...]
> So you are saying that, even though these buffers are in
> desktop-files-not-to-save value, Emacs still asks for a password for
> them when desktop.el saves the desktop?
Yes.
> If so, can you set debug-on-quit non-nil and when Emacs prompts for
> the password, type C-g and post the backtrace here?
I have already (kind of) done that when trying to find out this issue:
I've placed a 'debug' call into 'tramp-read-passwd'. Here is what I
get:
--8<---------------cut here---------------start------------->8---
Debugger entered: nil
(let* ((default-directory tramp-compat-temporary-file-directory)
(case-fold-search t) (vec (tramp-get-connection-property proc "password-vector"
(process-get proc 'tramp-vector))) (key (tramp-make-tramp-file-name vec
'noloc)) (method (let* ((cl-x vec)) (progn (or (let* (...) (progn ...)) (signal
'wrong-type-argument (list ... cl-x))) (nth 1 cl-x)))) (user (or
(tramp-file-name-user-domain vec) (tramp-get-connection-property key
"login-as"))) (host (tramp-file-name-host-port vec)) (pw-prompt (or prompt
(save-current-buffer (set-buffer (process-buffer proc)) (tramp-check-for-regexp
proc tramp-password-prompt-regexp) (if (string-match-p "passphrase"
(match-string 1)) (match-string 0) (format "%s for %s " (capitalize ...)
key))))) (auth-source-creation-prompts (list (cons 'secret pw-prompt)))
(auth-sources (buffer-local-value 'auth-sources (process-buffer proc)))
auth-info auth-passwd tramp-dont-suspend-timers) (debug) (unwind-protect (or
(setq tramp-password-save-function nil) (condition-case nil (progn (and
(tramp-get-connection-property vec "first-password-request") (progn (setq
auth-info ...) (setq tramp-password-save-function ...) (setq auth-passwd
...)))) (error nil)) (if tramp-dont-suspend-timers (progn (progn (setq
auth-passwd (password-read pw-prompt key)) (setq tramp-password-save-function
#'...)) auth-passwd) (let ((stimers (with-timeout-suspend)) timer-list
timer-idle-list) (unwind-protect (progn (progn ... ...) auth-passwd)
(with-timeout-unsuspend stimers))))) (if (tramp-string-empty-or-nil-p
auth-passwd) (progn (setq tramp-password-save-function nil)))
(tramp-set-connection-property vec "first-password-request" nil)))
tramp-read-passwd(#<process *tramp/doas root@bb*>)
tramp-action-password(#<process *tramp/doas root@bb*> (tramp-file-name "doas"
#("root" 0 4 (tramp-default t)) nil #("bb" 0 2 (tramp-default t)) nil "~/" nil))
tramp-process-one-action(#<process *tramp/doas root@bb*> (tramp-file-name
"doas" #("root" 0 4 (tramp-default t)) nil #("bb" 0 2 (tramp-default t)) nil
"~/" nil) ((tramp-login-prompt-regexp tramp-action-login)
(tramp-password-prompt-regexp tramp-action-password)
(tramp-otp-password-prompt-regexp tramp-action-otp-password)
(tramp-wrong-passwd-regexp tramp-action-permission-denied)
(shell-prompt-pattern tramp-action-succeed) (tramp-shell-prompt-pattern
tramp-action-succeed) (tramp-yesno-prompt-regexp tramp-action-yesno)
(tramp-yn-prompt-regexp tramp-action-yn) (tramp-terminal-prompt-regexp
tramp-action-terminal) (tramp-antispoof-regexp tramp-action-confirm-message)
(tramp-security-key-confirm-regexp tramp-action-show-and-confirm-message)
(tramp-process-alive-regexp tramp-action-process-alive)))
tramp-process-actions(#<process *tramp/doas root@bb*> (tramp-file-name "doas"
#("root" 0 4 (tramp-default t)) nil #("bb" 0 2 (tramp-default t)) nil "~/" nil)
1 ((tramp-login-prompt-regexp tramp-action-login) (tramp-password-prompt-regexp
tramp-action-password) (tramp-otp-password-prompt-regexp
tramp-action-otp-password) (tramp-wrong-passwd-regexp
tramp-action-permission-denied) (shell-prompt-pattern tramp-action-succeed)
(tramp-shell-prompt-pattern tramp-action-succeed) (tramp-yesno-prompt-regexp
tramp-action-yesno) (tramp-yn-prompt-regexp tramp-action-yn)
(tramp-terminal-prompt-regexp tramp-action-terminal) (tramp-antispoof-regexp
tramp-action-confirm-message) (tramp-security-key-confirm-regexp
tramp-action-show-and-confirm-message) (tramp-process-alive-regexp
tramp-action-process-alive)) 10)
tramp-maybe-open-connection((tramp-file-name "doas" #("root" 0 4
(tramp-default t)) nil #("bb" 0 2 (tramp-default t)) nil "~/" nil))
tramp-send-command((tramp-file-name "doas" #("root" 0 4 (tramp-default t))
nil #("bb" 0 2 (tramp-default t)) nil "~/" nil) #("echo ~root 2>/dev/null; echo
tramp_exit_status $?" 6 10 (tramp-default t)))
tramp-send-command-and-check((tramp-file-name "doas" #("root" 0 4
(tramp-default t)) nil #("bb" 0 2 (tramp-default t)) nil "~/" nil) #("echo
~root" 6 10 (tramp-default t)))
tramp-sh-handle-get-home-directory((tramp-file-name "doas" #("root" 0 4
(tramp-default t)) nil #("bb" 0 2 (tramp-default t)) nil "~/" nil) #("root" 0 4
(tramp-default t)))
apply(tramp-sh-handle-get-home-directory ((tramp-file-name "doas" #("root" 0
4 (tramp-default t)) nil #("bb" 0 2 (tramp-default t)) nil "~/" nil) #("root" 0
4 (tramp-default t))))
tramp-sh-file-name-handler(tramp-get-home-directory (tramp-file-name "doas"
#("root" 0 4 (tramp-default t)) nil #("bb" 0 2 (tramp-default t)) nil "~/" nil)
#("root" 0 4 (tramp-default t)))
apply(tramp-sh-file-name-handler tramp-get-home-directory ((tramp-file-name
"doas" #("root" 0 4 (tramp-default t)) nil #("bb" 0 2 (tramp-default t)) nil
"~/" nil) #("root" 0 4 (tramp-default t))))
tramp-file-name-handler(tramp-get-home-directory (tramp-file-name "doas"
#("root" 0 4 (tramp-default t)) nil #("bb" 0 2 (tramp-default t)) nil "~/" nil)
#("root" 0 4 (tramp-default t)))
tramp-get-home-directory((tramp-file-name "doas" #("root" 0 4 (tramp-default
t)) nil #("bb" 0 2 (tramp-default t)) nil "~/" nil) #("root" 0 4 (tramp-default
t)))
tramp-sh-handle-expand-file-name(#("/doas:root@bb:~/" 6 10 (tramp-default t)
11 13 (tramp-default t)) nil)
apply(tramp-sh-handle-expand-file-name (#("/doas:root@bb:~/" 6 10
(tramp-default t) 11 13 (tramp-default t)) nil))
tramp-sh-file-name-handler(expand-file-name #("/doas:root@bb:~/" 6 10
(tramp-default t) 11 13 (tramp-default t)) nil)
apply(tramp-sh-file-name-handler expand-file-name (#("/doas:root@bb:~/" 6 10
(tramp-default t) 11 13 (tramp-default t)) nil))
tramp-file-name-handler(expand-file-name #("/doas:root@bb:~/" 6 10
(tramp-default t) 11 13 (tramp-default t)) nil)
expand-file-name(#("/doas:root@bb:~/" 6 10 (tramp-default t) 11 13
(tramp-default t)))
desktop-file-name(#("/doas:root@bb:~/" 6 10 (tramp-default t) 11 13
(tramp-default t)) "/home/manuel/.emacs.d/")
dired-desktop-buffer-misc-data("/home/manuel/.emacs.d/")
desktop-buffer-info(#<buffer ~</doas:root@bb:>>)
mapcar(desktop-buffer-info (#<buffer xterm.h> #<buffer tramp.el> #<buffer
*Minibuf-1*> #<buffer desktop.el> #<buffer ~</doas:root@bb:>> #<buffer
*Minibuf-2*> #<buffer init.el> #<buffer net> #<buffer
tramp-cmds.el<emacs-repo>> #<buffer tramp-sh.el> #<buffer
tramp-cmds.el<30.0.50>> #<buffer NEWS> #<buffer tramp.texi> #<buffer *info*>
#<buffer files.el<emacs-repo>> #<buffer *vc-dir*<emacs-repo>> #<buffer tmp>
#<buffer files.el<30.0.50>> #<buffer *eww*> #<buffer build-emacs.sh> #<buffer
.xsession> #<buffer emacs.c> #<buffer terminal.c> #<buffer termhooks.h>
#<buffer haikuterm.c> #<buffer xterm.c> #<buffer androidfns.c> #<buffer
pgtkfns.c> #<buffer haikufns.c> #<buffer xfns.c> #<buffer widget.c> #<buffer
gtkutil.c> #<buffer result> #<buffer lisp.h> #<buffer eval.c> #<buffer alloc.c>
#<buffer ~</home>> #<buffer config.h> #<buffer pdumper.c> #<buffer dotfiles>
#<buffer x> #<buffer bin> #<buffer *vc-dir*<sys>> #<buffer patches> #<buffer
emacs<editors>> #<buffer vc.el> #<buffer bar.txt> #<buffer bar> #<buffer
foo.txt> ...))
desktop-save("/home/manuel/.emacs.d/" nil t)
desktop-auto-save()
apply(desktop-auto-save nil)
timer-event-handler([t 0 30 0 nil desktop-auto-save nil idle 0 nil])
--8<---------------cut here---------------end--------------->8---
--
Manuel Giraud
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Manuel Giraud, 2023/10/23
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Eli Zaretskii, 2023/10/23
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Manuel Giraud, 2023/10/23
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Eli Zaretskii, 2023/10/23
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers,
Manuel Giraud <=
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Michael Albinus, 2023/10/23
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Manuel Giraud, 2023/10/23
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Michael Albinus, 2023/10/23
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Michael Albinus, 2023/10/23
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Eli Zaretskii, 2023/10/23
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Manuel Giraud, 2023/10/23
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Manuel Giraud, 2023/10/23
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Manuel Giraud, 2023/10/24
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Eli Zaretskii, 2023/10/24
- bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers, Manuel Giraud, 2023/10/24