Просмотр исходного кода

Improve file opening when matching links

This patch tries to remove some of the adverse effects of Jan Bkers patch
Carsten Dominik 16 лет назад
Родитель
Сommit
39c91ba24a
2 измененных файлов с 13 добавлено и 6 удалено
  1. 1 0
      lisp/ChangeLog
  2. 12 6
      lisp/org.el

+ 1 - 0
lisp/ChangeLog

@@ -4,6 +4,7 @@
 	frames.
 	frames.
 	(org-export-latex-default-packages-alist): hyperref must be loaded
 	(org-export-latex-default-packages-alist): hyperref must be loaded
 	late.
 	late.
+	(org-open-file): More care with the new matching for file links.
 
 
 2010-04-07  Carsten Dominik  <carsten.dominik@gmail.com>
 2010-04-07  Carsten Dominik  <carsten.dominik@gmail.com>
 
 

+ 12 - 6
lisp/org.el

@@ -9172,13 +9172,19 @@ If the file does not exist, an error is thrown."
 		    (and dirp (cdr (assoc 'directory apps)))
 		    (and dirp (cdr (assoc 'directory apps)))
 		    ;; if we find a match in org-file-apps, store the match
 		    ;; if we find a match in org-file-apps, store the match
 		    ;; data for later
 		    ;; data for later
-		    (let ((match (assoc-default dlink (org-apps-regexp-alist
-						       apps a-m-a-p)
-						'string-match)))
-		      (if match
+		    (let* ((re-list1 (org-apps-regexp-alist apps nil))
+			   (re-list2 
+			    (if a-m-a-p
+				(org-apps-regexp-alist apps a-m-a-p)
+			      re-list1))
+			   (private-match
+			    (assoc-default dlink re-list1 'string-match))
+			   (general-match
+			    (assoc-default dfile re-list2 'string-match)))
+		      (if private-match
 			  (progn (setq link-match-data (match-data))
 			  (progn (setq link-match-data (match-data))
-				 match)
-			nil))
+				 private-match)
+			general-match))
 		    (cdr (assoc ext apps))
 		    (cdr (assoc ext apps))
 		    (cdr (assoc t apps))))))
 		    (cdr (assoc t apps))))))
     (when (eq cmd 'system)
     (when (eq cmd 'system)