From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Manuel Giraud via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#66697: 30.0.50; [PATCH] desktop-save-mode with expiring remote buffers Date: Mon, 23 Oct 2023 14:56:33 +0200 Message-ID: <87lebth4zi.fsf@ledu-giraud.fr> References: <875y2xelsk.fsf@ledu-giraud.fr> <83o7gpo9bm.fsf@gnu.org> <87pm15h605.fsf@ledu-giraud.fr> <83jzrdo68n.fsf@gnu.org> Reply-To: Manuel Giraud Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10803"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 66697@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Oct 23 14:58:01 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1quuVM-0002WR-0h for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 23 Oct 2023 14:58:00 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1quuUx-0002s2-5Q; Mon, 23 Oct 2023 08:57:35 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1quuUv-0002rI-IK for bug-gnu-emacs@gnu.org; Mon, 23 Oct 2023 08:57:33 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1quuUv-00069R-Ak for bug-gnu-emacs@gnu.org; Mon, 23 Oct 2023 08:57:33 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1quuVN-0008H9-VF for bug-gnu-emacs@gnu.org; Mon, 23 Oct 2023 08:58:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Manuel Giraud Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Oct 2023 12:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66697 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 66697-submit@debbugs.gnu.org id=B66697.169806582731730 (code B ref 66697); Mon, 23 Oct 2023 12:58:01 +0000 Original-Received: (at 66697) by debbugs.gnu.org; 23 Oct 2023 12:57:07 +0000 Original-Received: from localhost ([127.0.0.1]:49447 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1quuUU-0008FY-SJ for submit@debbugs.gnu.org; Mon, 23 Oct 2023 08:57:07 -0400 Original-Received: from ledu-giraud.fr ([51.159.28.247]:17208) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1quuUS-0008FN-4N for 66697@debbugs.gnu.org; Mon, 23 Oct 2023 08:57:05 -0400 DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=3JmM8mGd xwTfLLcvbgTG1IcsBpGT0wQsbVbKUCg3ChI=; h=date:references:in-reply-to: subject:cc:to:from; d=ledu-giraud.fr; b=Kvl6vfxP5fvDvFbPrJOwSOJibDMFnE bl5bAhNvaVlyrAg4HM1xs90tPwRU96rANhcgvOnSD82sXHoO4ZPggVCQ== DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=3JmM8mGdxwTfLLcv bgTG1IcsBpGT0wQsbVbKUCg3ChI=; h=date:references:in-reply-to:subject: cc:to:from; d=ledu-giraud.fr; b=WBGUuJrzJQJg7x9QUElXHpVjHFbJp21ACp375Q yVzBd3EYIMx1vSrPOHTVxZfLCxFPdgZQVqZh699V+rS5LhYgJn4xqTOnW/ei7GuP5WIOsj 4q+xUhhFiukKogOhP6e44LJSqIyaIEP9d4TgZtrGgW7F5DfbZrWKGGuWUTO6TfJUF8hQ9g 13vwCSt9z4XKOL0ZK6XyM7ku13b2v+DC2FagML4cIRJNKAIO+5jvBOqAsHNrFdb99gtrVL lIfH3mPPwy3DIVcZzQnCM7WM2XUClo8T5tHlUxyPgd8QX4gELsvoBVygQG2MepXiU5aVcM H5dgQsClqid9RBLYodTWp3Dg== Original-Received: from computer ( [10.1.1.1]) by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id 689e39c4 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Mon, 23 Oct 2023 14:56:33 +0200 (CEST) In-Reply-To: <83jzrdo68n.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 23 Oct 2023 15:47:36 +0300") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:273016 Archived-At: Eli Zaretskii 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-fo= ld-search t) (vec (tramp-get-connection-property proc "password-vector" (pr= ocess-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"))) (ho= st (tramp-file-name-host-port vec)) (pw-prompt (or prompt (save-current-buf= fer (set-buffer (process-buffer proc)) (tramp-check-for-regexp proc tramp-p= assword-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-lo= cal-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-proper= ty vec "first-password-request") (progn (setq auth-info ...) (setq tramp-pa= ssword-save-function ...) (setq auth-passwd ...)))) (error nil)) (if tramp-= dont-suspend-timers (progn (progn (setq auth-passwd (password-read pw-promp= t key)) (setq tramp-password-save-function #'...)) auth-passwd) (let ((stim= ers (with-timeout-suspend)) timer-list timer-idle-list) (unwind-protect (pr= ogn (progn ... ...) auth-passwd) (with-timeout-unsuspend stimers))))) (if (= tramp-string-empty-or-nil-p auth-passwd) (progn (setq tramp-password-save-f= unction nil))) (tramp-set-connection-property vec "first-password-request" = nil))) tramp-read-passwd(#) tramp-action-password(# (tramp-file-name "d= oas" #("root" 0 4 (tramp-default t)) nil #("bb" 0 2 (tramp-default t)) nil = "~/" nil)) tramp-process-one-action(# (tramp-file-name= "doas" #("root" 0 4 (tramp-default t)) nil #("bb" 0 2 (tramp-default t)) n= il "~/" nil) ((tramp-login-prompt-regexp tramp-action-login) (tramp-passwor= d-prompt-regexp tramp-action-password) (tramp-otp-password-prompt-regexp tr= amp-action-otp-password) (tramp-wrong-passwd-regexp tramp-action-permission= -denied) (shell-prompt-pattern tramp-action-succeed) (tramp-shell-prompt-pa= ttern tramp-action-succeed) (tramp-yesno-prompt-regexp tramp-action-yesno) = (tramp-yn-prompt-regexp tramp-action-yn) (tramp-terminal-prompt-regexp tram= p-action-terminal) (tramp-antispoof-regexp tramp-action-confirm-message) (t= ramp-security-key-confirm-regexp tramp-action-show-and-confirm-message) (tr= amp-process-alive-regexp tramp-action-process-alive))) tramp-process-actions(# (tramp-file-name "d= oas" #("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 tra= mp-action-otp-password) (tramp-wrong-passwd-regexp tramp-action-permission-= denied) (shell-prompt-pattern tramp-action-succeed) (tramp-shell-prompt-pat= tern 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) (tr= amp-security-key-confirm-regexp tramp-action-show-and-confirm-message) (tra= mp-process-alive-regexp tramp-action-process-alive)) 10) tramp-maybe-open-connection((tramp-file-name "doas" #("root" 0 4 (tramp-d= efault 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 "doa= s" #("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-na= me "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-defa= ult 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 (tr= amp-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 (tram= p-default t)) "/home/manuel/.emacs.d/") dired-desktop-buffer-misc-data("/home/manuel/.emacs.d/") desktop-buffer-info(#>) mapcar(desktop-buffer-info (# # # # #> # # # #> # #> # = # # #> #> # #> # # # # # # # # # # # # # # # # # # #> # # # # # #> # #> # # # # ...)) 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--- --=20 Manuel Giraud