Fabio Natali <m...@fabionatali.com> writes: > On 2023-11-09, 12:17 +0000, Ihor Radchenko <yanta...@posteo.net> wrote: >> May I know what >> (file-remote-p "/ssh:<remote-machine>:/home/user/test.org") >> (with appropriate <remote-machine>) returns on your side? > > Hi Ihor, > > Sure, no particular reason to obfuscate the remote address, it's > actually a LAN IP. The above function returns "/ssh:192.168.1.100:". Is > that the kind of output one should be expecting? Anything wrong about > it?
Nothing wrong. Just me missing one code branch. What about the attached patch?
>From 73e2fc687b966f3c12b87dd40c90cdc6b9f440fc Mon Sep 17 00:00:00 2001 Message-ID: <73e2fc687b966f3c12b87dd40c90cdc6b9f440fc.1699608346.git.yanta...@posteo.net> From: Ihor Radchenko <yanta...@posteo.net> Date: Wed, 8 Nov 2023 19:58:42 +0200 Subject: [PATCH v2] org-persist--normalize-associated: Avoid TRAMP connection for remote files * lisp/org-persist.el (org-persist--normalize-associated): Never try to store inode association for remote TRAMP files. Reported-by: Fabio Natali <m...@fabionatali.com> Link: https://orgmode.org/list/87jzqthdge....@fabionatali.com --- lisp/org-persist.el | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lisp/org-persist.el b/lisp/org-persist.el index 81edcf6f2..bdc6006b6 100644 --- a/lisp/org-persist.el +++ b/lisp/org-persist.el @@ -614,9 +614,14 @@ (defun org-persist--normalize-associated (associated) (unless (stringp associated) (setq associated (cadr associated))) (let* ((rtn `(:file ,associated)) - (inode (and (fboundp 'file-attribute-inode-number) - (file-attribute-inode-number - (file-attributes associated))))) + (inode (and + ;; Do not store :inode for remote files - it may + ;; be time-consuming on slow connections or even + ;; fail completely when ssh connection is closed. + (not (file-remote-p associated)) + (fboundp 'file-attribute-inode-number) + (file-attribute-inode-number + (file-attributes associated))))) (when inode (plist-put rtn :inode inode)) rtn)) ((or (pred bufferp) `(:buffer ,_)) @@ -634,6 +639,10 @@ (defun org-persist--normalize-associated (associated) (or (buffer-base-buffer associated) associated))) (setq inode (when (and file + ;; Do not store :inode for remote files - it may + ;; be time-consuming on slow connections or even + ;; fail completely when ssh connection is closed. + (not (file-remote-p associated)) (fboundp 'file-attribute-inode-number)) (file-attribute-inode-number (file-attributes file)))) -- 2.42.0
-- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>