emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] [RFC] [patch] open/delete attachment with inherited directory


From: Aaron Ecay
Subject: [O] [RFC] [patch] open/delete attachment with inherited directory
Date: Mon, 16 Dec 2013 00:02:07 -0500
User-agent: Notmuch/0.16+154~g96c0ce2 (http://notmuchmail.org) Emacs/24.3.50.1 (x86_64-unknown-linux-gnu)

Hello,

I have some org files where each headline corresponds to an entry in a
bibliography.  The headlines each have attached to them a pdf file of
the corresponding document.  The attachment directory is set as a
file-level property and inherited by the children (this is so that I can
access the files easily also outside of org).

In the current implementation of org-attach-{open,delete-one}, I am
prompted to choose among all files in the attachment directory (i.e. all
the pdfs of entries in the bibliography), not just the (usually single)
file attached to the headline at point.  I think the latter behavior
makes more sense.  The attached (heh) patch implements this change.  Are
there any comments?

Thanks,
>From 4681055651950bdd66090745dcd2cc9f2b90a0f2 Mon Sep 17 00:00:00 2001
From: Aaron Ecay <address@hidden>
Date: Sun, 15 Dec 2013 23:52:02 -0500
Subject: [PATCH] org-attach: only offer to delete/open attachments of the
 current headline
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* lisp/org-attach.el (org-attach-open): Only get the files pertaining
to the present headline

This change is useful in cases where the attachment directory is
inherited – in such cases, the we don’t want to see all the files in
the directory, but rather only those associated to the present
headline.
---
 lisp/org-attach.el | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lisp/org-attach.el b/lisp/org-attach.el
index 58ec2d1..6ec5da8 100644
--- a/lisp/org-attach.el
+++ b/lisp/org-attach.el
@@ -374,7 +374,8 @@ The attachment is created as an Emacs buffer."
   "Delete a single attachment."
   (interactive)
   (let* ((attach-dir (org-attach-dir t))
-        (files (org-attach-file-list attach-dir))
+        (files (org-entry-get-multivalued-property
+                nil org-attach-file-list-property))
         (file (or file
                   (org-icompleting-read
                    "Delete attachment: "
@@ -449,7 +450,8 @@ and in the system-specific variants of this variable.
 If IN-EMACS is non-nil, force opening in Emacs."
   (interactive "P")
   (let* ((attach-dir (org-attach-dir t))
-        (files (org-attach-file-list attach-dir))
+        (files (org-entry-get-multivalued-property
+                nil org-attach-file-list-property))
         (file (if (= (length files) 1)
                   (car files)
                 (org-icompleting-read "Open attachment: "
-- 
1.8.5.1

-- 
Aaron Ecay

reply via email to

[Prev in Thread] Current Thread [Next in Thread]