emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] [PATCH] Consistently use `org-mac-paste-applescript-links' in or


From: Alan Schmitt
Subject: Re: [O] [PATCH] Consistently use `org-mac-paste-applescript-links' in org-mac-links
Date: Wed, 09 Sep 2015 10:33:14 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin)

On 2015-09-08 17:50, Nicolas Goaziou <address@hidden> writes:

> Hello,
>
> Alan Schmitt <address@hidden> writes:
>
>> I do not know how to write the changelog when the same change happens
>> over many different functions. Please tell me if I need to change the
>> commit message.
>
> [...]
>
>>
>> * contrib/lisp/org-mac-link.el (org-mac-firefox-get-frontmost-url):
>> Replace the handling of AppleScript results code with
>> `org-mac-paste-applescript-links'.
>> (org-mac-vimperator-get-frontmost-url): Replace the handling of
>> AppleScript results code with `org-mac-paste-applescript-links'.
>> (org-mac-chrome-get-frontmost-url): Replace the handling of AppleScript
>> results code with `org-mac-paste-applescript-links'.
>> (org-mac-skim-get-page): Replace the handling of AppleScript results
>> code with `org-mac-paste-applescript-links'.
>> (org-mac-outlook-message-get-links): Replace the handling of AppleScript
>> results code with `org-mac-paste-applescript-links'.
>> (org-mac-devonthink-get-links): Replace the handling of AppleScript
>> results code with `org-mac-paste-applescript-links'.
>
> IMO, it should be
>
> * contrib/lisp/org-mac-link.el (org-mac-firefox-get-frontmost-url)
> (org-mac-vimperator-get-frontmost-url)
> (org-mac-chrome-get-frontmost-url)
> ...
> (org-mac-devonthink-get-links): Replace the handling of AppleScript
> results code with `org-mac-paste-applescript-links'.

Here is a patch with fixed message. I can push it myself if you want.

Best,

Alan

From 83201ef720c0cc67acf01cc15c2929beaaa5c7f0 Mon Sep 17 00:00:00 2001
From: Alan Schmitt <address@hidden>
Date: Tue, 8 Sep 2015 10:03:56 +0200
Subject: [PATCH] org-mac-link.el: Factorize code

* contrib/lisp/org-mac-link.el (org-mac-firefox-get-frontmost-url)
(org-mac-vimperator-get-frontmost-url)
(org-mac-chrome-get-frontmost-url)
(org-mac-skim-get-page)
(org-mac-outlook-message-get-links)
(org-mac-devonthink-get-links): Replace the handling of AppleScript
results code with `org-mac-paste-applescript-links'.

This fixes some bugs where links would have a dangling quote at the end.
---
 contrib/lisp/org-mac-link.el | 93 ++++++++------------------------------------
 1 file changed, 16 insertions(+), 77 deletions(-)

diff --git a/contrib/lisp/org-mac-link.el b/contrib/lisp/org-mac-link.el
index c991dfa..5e0f891 100644
--- a/contrib/lisp/org-mac-link.el
+++ b/contrib/lisp/org-mac-link.el
@@ -1,6 +1,6 @@
 ;;; org-mac-link.el --- Insert org-mode links to items selected in various Mac 
apps
 ;;
-;; Copyright (c) 2010-2014 Free Software Foundation, Inc.
+;; Copyright (c) 2010-2015 Free Software Foundation, Inc.
 ;;
 ;; Author: Anthony Lander <address@hidden>
 ;;      John Wiegley <address@hidden>
@@ -18,6 +18,10 @@
 ;; Author: Mike McLean <address@hidden>
 ;; Add support for Microsoft Outlook for Mac as Org mode links
 ;;
+;; Version: 1.3
+;; Author: Alan Schmitt <address@hidden>
+;; Consistently use `org-mac-paste-applescript-links'
+;; 
 ;; This file is not part of GNU Emacs.
 ;;
 ;; This program is free software; you can redistribute it and/or modify
@@ -299,15 +303,7 @@ The links are of the form <link>::split::<name>."
 (defun org-mac-firefox-get-frontmost-url ()
   (interactive)
   (message "Applescript: Getting Firefox url...")
-  (let* ((url-and-title (org-as-mac-firefox-get-frontmost-url))
-         (split-link (split-string url-and-title "::split::"))
-         (URL (car split-link))
-         (description (cadr split-link))
-         (org-link))
-    (when (not (string= URL ""))
-      (setq org-link (org-make-link-string URL description)))
-    (kill-new org-link)
-    org-link))
+  (org-mac-paste-applescript-links (org-as-mac-firefox-get-frontmost-url)))
 
 (defun org-mac-firefox-insert-frontmost-url ()
   (interactive)
@@ -345,15 +341,7 @@ The links are of the form <link>::split::<name>."
 (defun org-mac-vimperator-get-frontmost-url ()
   (interactive)
   (message "Applescript: Getting Vimperator url...")
-  (let* ((url-and-title (org-as-mac-vimperator-get-frontmost-url))
-         (split-link (split-string url-and-title "::split::"))
-         (URL (car split-link))
-         (description (cadr split-link))
-         (org-link))
-    (when (not (string= URL ""))
-      (setq org-link (org-make-link-string URL description)))
-    (kill-new org-link)
-    org-link))
+  (org-mac-paste-applescript-links (org-as-mac-vimperator-get-frontmost-url)))
 
 (defun org-mac-vimperator-insert-frontmost-url ()
   (interactive)
@@ -383,15 +371,7 @@ The links are of the form <link>::split::<name>."
 (defun org-mac-chrome-get-frontmost-url ()
   (interactive)
   (message "Applescript: Getting Chrome url...")
-  (let* ((url-and-title (org-as-mac-chrome-get-frontmost-url))
-         (split-link (split-string url-and-title "::split::"))
-         (URL (car split-link))
-         (description (cadr split-link))
-         (org-link))
-    (when (not (string= URL ""))
-      (setq org-link (org-make-link-string URL description)))
-    (kill-new org-link)
-    org-link))
+  (org-mac-paste-applescript-links (org-as-mac-chrome-get-frontmost-url)))
 
 (defun org-mac-chrome-insert-frontmost-url ()
   (interactive)
@@ -557,15 +537,7 @@ The links are of the form <link>::split::<name>."
 (defun org-mac-skim-get-page ()
   (interactive)
   (message "Applescript: Getting Skim page link...")
-  (let* ((link-and-descr (as-get-skim-page-link))
-         (split-link (split-string link-and-descr "::split::"))
-         (link (car split-link))
-         (description (cadr split-link))
-         (org-link))
-    (when (not (string= link ""))
-      (setq org-link (org-make-link-string link description)))
-    (kill-new org-link)
-    org-link))
+  (org-mac-paste-applescript-links (as-get-skim-page-link)))
 
 (defun org-mac-skim-insert-page ()
   (interactive)
@@ -640,27 +612,12 @@ The Org-syntax text will be pushed to the kill ring, and 
also returned."
   (interactive "sLink to (s)elected or (f)lagged messages: ")
   (setq select-or-flag (or select-or-flag "s"))
   (message "Org Mac Outlook: searching mailboxes...")
-  (let* ((as-link-list
-          (if (string= select-or-flag "s")
-              (org-as-get-selected-outlook-mail)
-           (if (string= select-or-flag "f")
-               (org-sh-get-flagged-outlook-mail)
-             (error "Please select \"s\" or \"f\""))))
-         (link-list
-          (mapcar
-           (lambda (x) (if (string-match "\\`\"\\(.*\\)\"\\'" x) (setq x 
(match-string 1 x))) x)
-           (split-string as-link-list "[\r\n]+")))
-         split-link URL description orglink orglink-insert rtn orglink-list)
-    (while link-list
-      (setq split-link (split-string (pop link-list) "::split::"))
-      (setq URL (car split-link))
-      (setq description (cadr split-link))
-      (when (not (string= URL ""))
-        (setq orglink (org-make-link-string URL description))
-        (push orglink orglink-list)))
-    (setq rtn (mapconcat 'identity orglink-list "\n"))
-    (kill-new rtn)
-    rtn))
+  (org-mac-paste-applescript-links
+   (if (string= select-or-flag "s")
+       (org-as-get-selected-outlook-mail)
+      (if (string= select-or-flag "f")
+         (org-sh-get-flagged-outlook-mail)
+       (error "Please select \"s\" or \"f\"")))))
 
 (defun org-mac-outlook-message-insert-selected ()
   "Insert a link to the messages currently selected in Microsoft Outlook.app.
@@ -734,25 +691,7 @@ selected items in DEVONthink Pro Office.app and make links 
out of
 it/them. This function will push the Org-syntax text to the kill
 ring, and also return it."
   (message "Org Mac DEVONthink: looking for selected items...")
-  (let* ((as-link-list (org-as-get-selected-devonthink-item))
-         (link-list (if as-link-list
-                        (mapcar
-                         (lambda (x) (if (string-match "\\`\"\\(.*\\)\"\\'" x)
-                                        (setq x (match-string 1 x)))
-                          x)
-                         (split-string as-link-list "[\r\n]+"))
-                      nil))
-         orglink-list)
-    (while link-list
-      (let* ((current-item (pop link-list)))
-        (message "current item: %s" current-item)
-        (when (and current-item (not (string= current-item "")))
-          (let* ((split-link (split-string current-item "::split::"))
-                 (orglink (org-make-link-string
-                          (url-encode-url (car split-link))
-                          (cadr split-link))))
-            (push orglink orglink-list)))))
-    (kill-new (mapconcat 'identity orglink-list "\n"))))
+  (org-mac-paste-applescript-links (org-as-get-selected-devonthink-item)))
 
 (defun org-mac-devonthink-item-insert-selected ()
   "Insert a link to the item(s) currently selected in DEVONthink Pro Office.
-- 
2.5.1


-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7
Last week athmospheric CO₂ average (Updated September 6, 2015, Mauna Loa Obs.):
377.86 ppm

Attachment: signature.asc
Description: PGP signature


reply via email to

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