# HG changeset patch # User Chong Yidong # Date 1133670719 0 # Node ID 7bd56e8182b2cd7b4b850cef55f0c19a88a8afd5 # Parent ba871f6905f7c919db7a124c49f21442e23c6bbb * info.el (Info-fontify-node): Match external links using non-directory part of filename. diff -r ba871f6905f7 -r 7bd56e8182b2 lisp/ChangeLog --- 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 + + * info.el (Info-fontify-node): Match external links using + non-directory part of filename. + 2005-12-04 Juri Linkov * font-core.el (global-font-lock-mode): Use define-global-minor-mode diff -r ba871f6905f7 -r 7bd56e8182b2 lisp/info.el --- 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)))