changeset 67303:7bd56e8182b2

* info.el (Info-fontify-node): Match external links using non-directory part of filename.
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 04 Dec 2005 04:31:59 +0000
parents ba871f6905f7
children b2083405b8a7
files lisp/ChangeLog lisp/info.el
diffstat 2 files changed, 35 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sun Dec 04 04:12:56 2005 +0000
+++ b/lisp/ChangeLog	Sun Dec 04 04:31:59 2005 +0000
@@ -1,3 +1,8 @@
+2005-12-03  Chong Yidong  <cyd@stupidchicken.com>
+
+	* info.el (Info-fontify-node): Match external links using
+	non-directory part of filename.
+
 2005-12-04  Juri Linkov  <juri@jurta.org>
 
 	* font-core.el (global-font-lock-mode): Use define-global-minor-mode
--- a/lisp/info.el	Sun Dec 04 04:12:56 2005 +0000
+++ b/lisp/info.el	Sun Dec 04 04:31:59 2005 +0000
@@ -3800,17 +3800,25 @@
                                              (and (not (equal (match-string 4) ""))
                                                   (match-string 4))
                                              (match-string 2)))))
-                                 (file Info-current-file)
+				 (external-link-p
+				  (string-match "(\\([^)]+\\))\\([^)]*\\)" node))
+                                 (file (if external-link-p
+					   (file-name-nondirectory
+					    (match-string 1 node))
+					 Info-current-file))
                                  (hl Info-history-list)
                                  res)
-                            (if (string-match "(\\([^)]+\\))\\([^)]*\\)" node)
-                                (setq file (Info-find-file (match-string 1 node) t)
-                                      node (if (equal (match-string 2 node) "")
+                            (if external-link-p
+				(setq node (if (equal (match-string 2 node) "")
                                                "Top"
                                              (match-string 2 node))))
 			    (while hl
 			      (if (and (string-equal node (nth 1 (car hl)))
-				       (string-equal file (nth 0 (car hl))))
+				       (string-equal
+					file (if external-link-p
+						 (file-name-nondirectory
+						  (caar hl))
+					       (caar hl))))
 				  (setq res (car hl) hl nil)
 				(setq hl (cdr hl))))
                             res))) 'info-xref-visited 'info-xref))
@@ -3902,20 +3910,27 @@
                  ;; Display visited menu items in a different face
                  (if (and Info-fontify-visited-nodes
                           (save-match-data
-                            (let ((node (if (equal (match-string 3) "")
-                                            (match-string 1)
-                                          (match-string 3)))
-                                  (file Info-current-file)
-                                  (hl Info-history-list)
-                                  res)
-                              (if (string-match "(\\([^)]+\\))\\([^)]*\\)" node)
-                                  (setq file (Info-find-file (match-string 1 node) t)
-                                        node (if (equal (match-string 2 node) "")
+                            (let* ((node (if (equal (match-string 3) "")
+					     (match-string 1)
+					   (match-string 3)))
+				   (external-link-p
+				    (string-match "(\\([^)]+\\))\\([^)]*\\)" node))
+				   (file (if external-link-p
+					     (file-name-nondirectory
+					      (match-string 1 node))
+					   Info-current-file))
+				   (hl Info-history-list)
+				   res)
+                              (if external-link-p
+                                  (setq node (if (equal (match-string 2 node) "")
                                                  "Top"
                                                (match-string 2 node))))
 			      (while hl
 				(if (and (string-equal node (nth 1 (car hl)))
-					 (string-equal file (nth 0 (car hl))))
+					 (string-equal
+					  file (if external-link-p
+						   (file-name-nondirectory (caar hl))
+						 (caar hl))))
 				    (setq res (car hl) hl nil)
 				  (setq hl (cdr hl))))
                               res))) 'info-xref-visited 'info-xref)))