:type '(repeat directory)
:group 'info)
-(defcustom Info-auto-generate-directory 'if-missing
+(defcustom Info-auto-generate-directory 'if-outdated
"*When to auto generate an info directory listing.
Possible values are:
nil or `never' never auto-generate a directory listing,
Info-current-subfile nil
Info-current-file-completions nil
Info-index-alternatives nil
- buffer-file-name nil)
+ buffer-file-name nil
+ buffer-file-truename nil)
(erase-buffer)
(if (string= "dir" (file-name-nondirectory filename))
(Info-insert-dir)
(setq lbuffers (cdr lbuffers)))
(message "Composing main Info directory...done"))
(setq Info-dir-contents (buffer-string)))
- (setq default-directory Info-dir-contents-directory)
- (setq buffer-file-name (caar Info-dir-file-attributes)))
+ (setq default-directory (file-name-as-directory Info-dir-contents-directory))
+ (setq buffer-file-name (caar Info-dir-file-attributes)
+ buffer-file-truename (file-truename buffer-file-name)))
(defmacro Info-directory-files (dir-file &optional all full nosort files-only)
"Return a list of Info files living in the same directory as DIR-FILE.
(null (Info-directory-files file 'all)))
(if (not (find-buffer-visiting file))
(if (not (file-exists-p file))
- (if (or (eq Info-auto-generate-directory 'always)
- (eq Info-auto-generate-directory 'if-missing))
+ (if (or (memq Info-auto-generate-directory
+ '(always if-missing if-outdated)))
(Info-build-dir-anew (file-name-directory file)))
(if (or (eq Info-auto-generate-directory 'always)
(and (eq Info-auto-generate-directory 'if-outdated)
(throw 'foo t)))))
(or (equal Info-current-subfile lastfilename)
(let ((buffer-read-only nil))
- (setq buffer-file-name nil)
+ (setq buffer-file-name nil
+ buffer-file-truename nil)
(widen)
(erase-buffer)
(Info-insert-file-contents (Info-suffixed-file
(format (cdr (car suff)) file)
(concat (cdr (car suff)) " < " file))))
(message "%s..." command)
- (call-process shell-file-name nil t nil "-c" command)
+ (call-process shell-file-name nil t nil shell-command-switch command)
(message "")
(when visit
- (setq buffer-file-name file)
+ (setq buffer-file-name file
+ buffer-file-truename (file-truename buffer-file-name))
(set-buffer-modified-p nil)
(clear-visited-file-modtime)))
(insert-file-contents file visit))))
(interactive "sIndex topic: ")
(let ((pattern (format "\n\\* \\([^\n:]*%s[^\n:]*\\):[ \t]*%s"
(regexp-quote topic)
- "\\(.*\\)\\.[ t]*\\([0-9]*\\)$"))
+ "\\(.*\\)\\.[ \t]*\\([0-9]*\\)$"))
node)
(message "Searching index for `%s'..." topic)
(Info-goto-node "Top")
(if fn
(format " (default %s)" fn)
""))
- obarray 'fboundp t))
+ obarray 'fboundp t
+ nil nil (and fn (symbol-name fn))))
(list (if (equal val "")
fn (intern val)))))
(save-window-excursion
\(FILENAME NODENAME BUFFERPOS\)."
(let ((where '())
(cmd-desc (concat "^\\* " (regexp-quote (symbol-name command))
- ":\\s *\\(.*\\)\\.$")))
+ ":\\s *\\(.*\\)\\.")))
(save-excursion
(Info-find-node "XEmacs" "Command Index")
;; Take the index node off the Info history.