Re: [PATCH] org-attach-attach: fix symlinks
sorry I've been MIA -- I have been swamped at work and stopped following the list! Thank you for this, but more generally for the huge amount of work you put in to improving org for everyone. The last year or so has seen such huge improvements for me -- I am immensely grateful to everyone. On Mon, Jul 4, 2022 at 9:01 AM Ihor Radchenko wrote: > Ihor Radchenko writes: > > > Attaching an alternative patch. It makes use of make-symbolic-link > > arguments. > > Applied onto main via 13a3dbcc9. > > Best, > Ihor >
Re: [PATCH] org-attach-attach: fix symlinks
Ihor Radchenko writes: > Attaching an alternative patch. It makes use of make-symbolic-link > arguments. Applied onto main via 13a3dbcc9. Best, Ihor
Re: [PATCH] org-attach-attach: fix symlinks
Matt Price writes: > I'm having trouble with org-attach-attach if my current buffer is visiting > a filepath starting with "~/". This trivial patch fixes the problem for me > by running (expand-file-name) on the file before attaching. I always use > the 'lns method, so I don't know whether it might be better to > expand-file-name before running any of the methods. > > Alternatively, it might actually be better to use a *relative* file path > where possible (e.g. to ensure that project directories are fully > portable), but I'm not sure how best to do that. I do not like explicit expansion of the FILE path. It may break relative vs. absolute path handling. Attaching an alternative patch. It makes use of make-symbolic-link arguments. Best, Ihor >From ff9ccae51ce1b02fc5d95cbc60de7a44c42f28a1 Mon Sep 17 00:00:00 2001 Message-Id: From: Ihor Radchenko Date: Sat, 30 Apr 2022 11:27:30 +0800 Subject: [PATCH] org-attach-attach: Avoid linking to path starting with ~ * lisp/org-attach.el (org-attach-attach): Auto-expand ~ in the file patch when using symlink (`lns') attach method. Fixes https://orgmode.org/list/can_dec_lytkgsn_kiftee9gulm7fper5frqfant3n_2c3cw...@mail.gmail.com --- lisp/org-attach.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/org-attach.el b/lisp/org-attach.el index 5ee2b84b2..760592507 100644 --- a/lisp/org-attach.el +++ b/lisp/org-attach.el @@ -524,7 +524,8 @@ (defun org-attach-attach (file &optional visit-dir method) ((eq method 'mv) (rename-file file attach-file)) ((eq method 'cp) (copy-file file attach-file)) ((eq method 'ln) (add-name-to-file file attach-file)) - ((eq method 'lns) (make-symbolic-link file attach-file)) + ;; We pass integer third argument to auto-expand "~" in FILE. + ((eq method 'lns) (make-symbolic-link file attach-file 1)) ((eq method 'url) (url-copy-file file attach-file))) (run-hook-with-args 'org-attach-after-change-hook attach-dir) (org-attach-tag) -- 2.35.1
[PATCH] org-attach-attach: fix symlinks
I'm having trouble with org-attach-attach if my current buffer is visiting a filepath starting with "~/". This trivial patch fixes the problem for me by running (expand-file-name) on the file before attaching. I always use the 'lns method, so I don't know whether it might be better to expand-file-name before running any of the methods. Alternatively, it might actually be better to use a *relative* file path where possible (e.g. to ensure that project directories are fully portable), but I'm not sure how best to do that. This should be a tinychange, but also I have signed FSF paperwork. From f618fb512e62ccb2e700242a7678dacbc2b025e2 Mon Sep 17 00:00:00 2001 From: Matt Price Date: Mon, 15 Nov 2021 08:14:37 -0500 Subject: [PATCH] org-attach-attach: expand file names before linking when using symbolic links for attachments, ensure links are fully expanded to avoid filesystem errors. --- lisp/org-attach.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/org-attach.el b/lisp/org-attach.el index 75db69c9c..abdce3e7a 100644 --- a/lisp/org-attach.el +++ b/lisp/org-attach.el @@ -523,7 +523,7 @@ METHOD may be `cp', `mv', `ln', `lns' or `url' default taken from ((eq method 'mv) (rename-file file attach-file)) ((eq method 'cp) (copy-file file attach-file)) ((eq method 'ln) (add-name-to-file file attach-file)) - ((eq method 'lns) (make-symbolic-link file attach-file)) + ((eq method 'lns) (make-symbolic-link (expand-file-name file) attach-file)) ((eq method 'url) (url-copy-file file attach-file))) (run-hook-with-args 'org-attach-after-change-hook attach-dir) (org-attach-tag) -- 2.33.1