Re: [PATCH] org-attach-attach: fix symlinks

2022-07-04 Thread Matt Price
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

2022-07-04 Thread Ihor Radchenko
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

2022-04-29 Thread Ihor Radchenko
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

2021-11-15 Thread Matt Price
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