| 
					
				 | 
			
			
				@@ -1,4 +1,4 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-;;; org-protocol.el --- Intercept calls from emacsclient to trigger custom actions. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+;;; org-protocol.el --- Intercept Calls from Emacsclient to Trigger Custom Actions -*- lexical-binding: t; -*- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; Copyright (C) 2008-2016 Free Software Foundation, Inc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -443,10 +443,9 @@ FNAME should be a property list.  If not, an old-style link of the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 form URL/TITLE can also be used." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (let* ((splitparts (org-protocol-parse-parameters fname nil '(:url :title))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          (uri (org-protocol-sanitize-uri (plist-get splitparts :url))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         (title (plist-get splitparts :title)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         orglink) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (if (boundp 'org-stored-links) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(setq org-stored-links (cons (list uri title) org-stored-links))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         (title (plist-get splitparts :title))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (when (boundp 'org-stored-links) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (push (list uri title) org-stored-links)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (kill-new uri) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (message "`%s' to insert new org-link, `%s' to insert `%s'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              (substitute-command-keys"\\[org-insert-link]") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -565,13 +564,12 @@ The location for a browser's bookmark should look like this: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		(let ((rewrites (plist-get (cdr prolist) :rewrites))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  (when rewrites 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    (message "Rewrites found: %S" rewrites) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    (mapc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		     (lambda (rewrite) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		       "Try to match a rewritten URL and map it to a real file." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		       ;; Compare redirects without suffix: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		       (if (string-match (car rewrite) f2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			   (throw 'result (concat wdir (cdr rewrite))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		     rewrites)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		    (dolist (rewrite rewrites) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      ;; Try to match a rewritten URL and map it to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      ;; a real file.  Compare redirects without 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      ;; suffix. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		      (when (string-match-p (car rewrite) f2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			(throw 'result (concat wdir (cdr rewrite)))))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	      ;; -- end of redirects -- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               (if (file-readable-p the-file) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -584,7 +582,7 @@ The location for a browser's bookmark should look like this: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;; Core functions: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defun org-protocol-check-filename-for-protocol (fname restoffiles client) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defun org-protocol-check-filename-for-protocol (fname restoffiles _client) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Check if `org-protocol-the-protocol' and a valid protocol are used in FNAME. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Sub-protocols are registered in `org-protocol-protocol-alist' and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 `org-protocol-protocol-alist-default'.  This is how the matching is done: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -628,9 +626,9 @@ CLIENT is ignored." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   (when (fboundp func) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     (unless greedy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       (throw 'fname 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			     (condition-case err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			     (condition-case nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				 (funcall func (org-protocol-parse-parameters result new-style)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			       ('error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			       (error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				(warn "Please update your org protocol handler to deal with new-style links.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				(funcall func result))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		    ;; Greedy protocol handlers are responsible for parsing their own filenames 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -689,7 +687,6 @@ the cdr of an element in `org-publish-project-alist', reuse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         (working-suffix (if (plist-get project-plist :base-extension) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             (concat "." (plist-get project-plist :base-extension)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           ".org")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        (worglet-buffer nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         (insert-default-directory t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         (minibuffer-allow-text-properties nil)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |