| 
					
				 | 
			
			
				@@ -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 <anthony.lander@gmail.com> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;      John Wiegley <johnw@gnu.org> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18,6 +18,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; Author: Mike McLean <mike.mclean@pobox.com> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; Add support for Microsoft Outlook for Mac as Org mode links 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; Version: 1.3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; Author: Alan Schmitt <alan.schmitt@polytechnique.org> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;; 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. 
			 |