summaryrefslogtreecommitdiff
path: root/lisp/info.el
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2005-12-04 04:31:59 +0000
committerChong Yidong <cyd@stupidchicken.com>2005-12-04 04:31:59 +0000
commitd8fbba2278109c5fff861858d2a4421735bc79a9 (patch)
tree3b026707aa57ec017410f4bb16656fa04af84947 /lisp/info.el
parent4d4a3fb3978179dffee04b05df2b10d79bb0671a (diff)
downloademacs-d8fbba2278109c5fff861858d2a4421735bc79a9.tar.gz
* info.el (Info-fontify-node): Match external links using
non-directory part of filename.
Diffstat (limited to 'lisp/info.el')
-rw-r--r--lisp/info.el45
1 files changed, 30 insertions, 15 deletions
diff --git a/lisp/info.el b/lisp/info.el
index 8b6828f8a94..2853a0f94ee 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -3800,17 +3800,25 @@ the variable `Info-file-list-for-emacs'."
(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 @@ the variable `Info-file-list-for-emacs'."
;; 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)))