Mercurial > emacs
changeset 3212:cd8f8468a190
(Info-insert-dir): Ignore duplicate directories.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 28 May 1993 18:35:23 +0000 |
parents | 4a1a003ded62 |
children | 1fdd5c6dc6ba |
files | lisp/info.el |
diffstat | 1 files changed, 28 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/info.el Fri May 28 17:23:47 1993 +0000 +++ b/lisp/info.el Fri May 28 18:35:23 1993 +0000 @@ -287,36 +287,39 @@ (if Info-dir-contents (insert Info-dir-contents) (let ((dirs Info-directory-list) - buffers buffer others nodes) + buffers buffer others nodes dirs-done) ;; Search the directory list for the directory file. (while dirs - ;; Try several variants of specified name. - ;; Try upcasing, appending `.info', or both. - (let* (temp - (buffer - (cond - ((progn (setq temp (expand-file-name "DIR" (car dirs))) - (file-exists-p temp)) - (find-file-noselect temp)) - ((progn (setq temp (expand-file-name "dir" (car dirs))) - (file-exists-p temp)) - (find-file-noselect temp)) - ((progn (setq temp (expand-file-name "DIR.INFO" (car dirs))) - (file-exists-p temp)) - (find-file-noselect temp)) - ((progn (setq temp (expand-file-name "dir.info" (car dirs))) - (file-exists-p temp)) - (find-file-noselect temp))))) - (if buffer (setq buffers (cons buffer buffers))) - (setq dirs (cdr dirs)))) + (or (member (file-truename (expand-file-name (car dirs))) dirs-done) + (member (directory-file-name (file-truename (expand-file-name (car dirs)))) + dirs-done) + ;; Try several variants of specified name. + ;; Try upcasing, appending `.info', or both. + (let* (temp + (buffer + (cond + ((progn (setq temp (expand-file-name "DIR" (car dirs))) + (file-exists-p temp)) + (find-file-noselect temp)) + ((progn (setq temp (expand-file-name "dir" (car dirs))) + (file-exists-p temp)) + (find-file-noselect temp)) + ((progn (setq temp (expand-file-name "DIR.INFO" (car dirs))) + (file-exists-p temp)) + (find-file-noselect temp)) + ((progn (setq temp (expand-file-name "dir.info" (car dirs))) + (file-exists-p temp)) + (find-file-noselect temp))))) + (setq dirs-done + (cons (file-truename (expand-file-name (car dirs))) + dirs-done)) + (if buffer (setq buffers (cons buffer buffers))))) + (setq dirs (cdr dirs))) ;; Distinguish the dir file that comes with Emacs from all the - ;; others. [This sounds like baloney - who knows what order - ;; Info-directory-list is in, especially after checking the - ;; INFOPATH variable, and why should Emacs's dir be special? If - ;; you understand what this comment should have said, please - ;; change it.] + ;; others. Yes, that is really what this is supposed to do. + ;; If it doesn't work, fix it. (setq buffer (car buffers) others (cdr buffers))