emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [BUG] Attachments not resolved correctly from symlinked Org files
@ 2024-04-28 20:22 Karthik Chikmagalur
  2024-04-30  9:09 ` Ihor Radchenko
  0 siblings, 1 reply; 4+ messages in thread
From: Karthik Chikmagalur @ 2024-04-28 20:22 UTC (permalink / raw)
  To: emacs-orgmode

Attachment paths are not resolved correctly when the Org file is
symlinked elsewhere. This may or may not be a bug, but I think it's
undesired behavior:

1. Create an Org file somewhere, say ~/Desktop/test.org.

2. In test.org, create an attachment: `C-c C-a m' as a file.  Either the
   "copy" or "move" attachment method can be used.

3. Symlink test.org from elsewhere, say

/tmp/test.org -> ~/Desktop/test.org

4. In a fresh Emacs session, open /tmp/test.org and try to open the
attachment directory (`C-c C-a f').

Two things happen:

- An empty directory is created, like
  /tmp/data/48/2697ee-913c-4eee-b1fb-636416d3fb6b

- The original attachment can't be found, since it's actually in
  ~/Desktop/data/48/2697ee-913c-4eee-b1fb-636416d3fb6b

Tested with `emacs -q' with Org 9.6.23, and with commit
1ae978f940c0f88473f2232177c63a0de7fb7a1c from two weeks ago.

Karthik


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG] Attachments not resolved correctly from symlinked Org files
  2024-04-28 20:22 [BUG] Attachments not resolved correctly from symlinked Org files Karthik Chikmagalur
@ 2024-04-30  9:09 ` Ihor Radchenko
  2024-05-01 15:18   ` Karthik Chikmagalur
  0 siblings, 1 reply; 4+ messages in thread
From: Ihor Radchenko @ 2024-04-30  9:09 UTC (permalink / raw)
  To: Karthik Chikmagalur; +Cc: emacs-orgmode

Karthik Chikmagalur <karthikchikmagalur@gmail.com> writes:

> Attachment paths are not resolved correctly when the Org file is
> symlinked elsewhere. This may or may not be a bug, but I think it's
> undesired behavior:
> ...
> 3. Symlink test.org from elsewhere, say
>
> /tmp/test.org -> ~/Desktop/test.org
> ...
> - An empty directory is created, like
>   /tmp/data/48/2697ee-913c-4eee-b1fb-636416d3fb6b
>
> - The original attachment can't be found, since it's actually in
>   ~/Desktop/data/48/2697ee-913c-4eee-b1fb-636416d3fb6b

I can see the problem.
But what would you expect to happen if there was no attachment in the
original directory? Should the attachment be created relative to the
original file? To the symlink?

-- 
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>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG] Attachments not resolved correctly from symlinked Org files
  2024-04-30  9:09 ` Ihor Radchenko
@ 2024-05-01 15:18   ` Karthik Chikmagalur
  2024-05-04  7:52     ` Ihor Radchenko
  0 siblings, 1 reply; 4+ messages in thread
From: Karthik Chikmagalur @ 2024-05-01 15:18 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: emacs-orgmode

> I can see the problem.
> But what would you expect to happen if there was no attachment in the
> original directory? Should the attachment be created relative to the
> original file? To the symlink?

I don't know.  I would expect the attachment to always be created
relative to the original file, but other users might have the opposite
expectation.

Karthik


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [BUG] Attachments not resolved correctly from symlinked Org files
  2024-05-01 15:18   ` Karthik Chikmagalur
@ 2024-05-04  7:52     ` Ihor Radchenko
  0 siblings, 0 replies; 4+ messages in thread
From: Ihor Radchenko @ 2024-05-04  7:52 UTC (permalink / raw)
  To: Karthik Chikmagalur; +Cc: emacs-orgmode

Karthik Chikmagalur <karthikchikmagalur@gmail.com> writes:

>> I can see the problem.
>> But what would you expect to happen if there was no attachment in the
>> original directory? Should the attachment be created relative to the
>> original file? To the symlink?
>
> I don't know.  I would expect the attachment to always be created
> relative to the original file, but other users might have the opposite
> expectation.

What about the approach we already use in
`org-attach-id-to-path-function-list' - check if an attachment directory
already exists, generated using any rule, and only if not, create a new?

Similarly, in `org-attach-dir', we can first check local attachment
directory and return it if it exists. Then, we check attachment
directory for the symlink source, and return it when it exists.
If none exists, create attachment locally or relative to the symlink
source, according to some customization. The default will be creating
locally, to follow the existing behavior.

-- 
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>


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-05-04  7:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-28 20:22 [BUG] Attachments not resolved correctly from symlinked Org files Karthik Chikmagalur
2024-04-30  9:09 ` Ihor Radchenko
2024-05-01 15:18   ` Karthik Chikmagalur
2024-05-04  7:52     ` Ihor Radchenko

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).