Mercurial > emacs
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)))