emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [RFC] [patch] open/delete attachment with inherited directory
@ 2013-12-16  5:02 Aaron Ecay
  2013-12-17 17:34 ` Nicolas Goaziou
  0 siblings, 1 reply; 4+ messages in thread
From: Aaron Ecay @ 2013-12-16  5:02 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 719 bytes --]

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,

[-- Attachment #2: 0001-org-attach-only-offer-to-delete-open-attachments-of-.patch --]
[-- Type: text/x-diff, Size: 1696 bytes --]

From 4681055651950bdd66090745dcd2cc9f2b90a0f2 Mon Sep 17 00:00:00 2001
From: Aaron Ecay <aaronecay@gmail.com>
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


[-- Attachment #3: Type: text/plain, Size: 15 bytes --]

-- 
Aaron Ecay

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

end of thread, other threads:[~2013-12-18 13:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-16  5:02 [RFC] [patch] open/delete attachment with inherited directory Aaron Ecay
2013-12-17 17:34 ` Nicolas Goaziou
2013-12-18  5:11   ` Aaron Ecay
2013-12-18 13:57     ` Nicolas Goaziou

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