diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2005-12-04 04:31:59 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2005-12-04 04:31:59 +0000 |
commit | d8fbba2278109c5fff861858d2a4421735bc79a9 (patch) | |
tree | 3b026707aa57ec017410f4bb16656fa04af84947 /lisp/info.el | |
parent | 4d4a3fb3978179dffee04b05df2b10d79bb0671a (diff) | |
download | emacs-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.el | 45 |
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))) |