emacs-orgmode
[Top][All Lists]
Advanced

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

[O] small patch to org-mac-link (grab selected messages in Mail.app)


From: Alan Schmitt
Subject: [O] small patch to org-mac-link (grab selected messages in Mail.app)
Date: Wed, 04 Jun 2014 12:15:55 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (darwin)

Hello,

Please find attached a small patch to org-mac-link.el for the functions
creating links to messages in Mail.app.

The problem was that calling the org-mac-message-insert-selected would
always add a spurious first link with empty url and an escaped quote as
text. It would also leave another escaped quote at the end of the text
of the real link.

The patch makes sure that no extra empty line is created during the
AppleScript call, and removes the escaped quotes around the whole value
returned from AppleScript. I have left the code that removes additional
quotes around individual links if they are there, but I don't think it's
needed (I don't see how they could occur there).

Best,

Alan

>From 17dfd1cbee7355016c04f8ae09e102813651db86 Mon Sep 17 00:00:00 2001
From: Alan Schmitt <address@hidden>
Date: Wed, 4 Jun 2014 11:47:09 +0200
Subject: [PATCH] org-mac-link.el: Tweak AppleScript to grab Mail.app messages

* contrib/lisp/org-mac-link.el (org-as-get-selected-mail): Make sure
no extra new line is present in the string returned from the
AppleScript.

* contrib/lisp/org-mac-link.el (org-mac-message-get-links): Get rid of
the enclosing quotes before splitting the string.
---
 contrib/lisp/org-mac-link.el | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/contrib/lisp/org-mac-link.el b/contrib/lisp/org-mac-link.el
index d1687e0..99f141f 100644
--- a/contrib/lisp/org-mac-link.el
+++ b/contrib/lisp/org-mac-link.el
@@ -727,7 +727,10 @@ This will use the command `open' with the message URL."
        "repeat with theMessage in theSelection\n"
        "set theID to message id of theMessage\n"
        "set theSubject to subject of theMessage\n"
-       "set theLink to \"message://\" & theID & \"::split::\" & theSubject & 
\"\n\"\n"
+       "set theLink to \"message://\" & theID & \"::split::\" & theSubject\n"
+       "if (theLinkList is not equal to {}) then\n"
+       "set theLink to \"\n\" & theLink\n"
+       "end if\n"
        "copy theLink to end of theLinkList\n"
        "end repeat\n"
        "return theLinkList as string\n"
@@ -801,7 +804,7 @@ The Org-syntax text will be pushed to the kill ring, and 
also returned."
          (link-list
           (mapcar
            (lambda (x) (if (string-match "\\`\"\\(.*\\)\"\\'" x) (setq x 
(match-string 1 x))) x)
-           (split-string as-link-list "[\r\n]+")))
+           (split-string (substring as-link-list 1 -1) "[\r\n]+")))
          split-link URL description orglink orglink-insert rtn orglink-list)
     (while link-list
       (setq split-link (split-string (pop link-list) "::split::"))
-- 
1.8.5.3


reply via email to

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