From: Chong Yidong <cyd@stupidchicken.com> Date: Sun, 4 Dec 2005 04:31:59 +0000 (+0000) Subject: * info.el (Info-fontify-node): Match external links using X-Git-Tag: emacs-pretest-22.0.90~5516 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d8fbba2278109c5fff861858d2a4421735bc79a9;p=emacs.git * info.el (Info-fontify-node): Match external links using non-directory part of filename. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c0f6517bcb2..48adb28ca70 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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 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)))