Mercurial > emacs
changeset 2622:15cb6ba42da3
(find-file-noselect): On VMS, maybe set buffer-file-name
to the truename. Depends on find-file-not-true-dirname-list
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 02 May 1993 12:46:26 +0000 |
parents | 40bed0333cd3 |
children | b951532eca82 |
files | lisp/files.el |
diffstat | 1 files changed, 17 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/files.el Sat May 01 21:53:52 1993 +0000 +++ b/lisp/files.el Sun May 02 12:46:26 1993 +0000 @@ -484,6 +484,13 @@ (concat "~" (substring filename (match-end 0))))) filename)) +(defvar find-file-not-true-dirname-list nil + "*List of logical names for which visiting shouldn't save the true dirname. +On VMS, when you visit a file using a logical name that searches a path, +you may or may not want the visited file name to record the specific +directory where the file was found. If you *do not* want that, add the logical +name to this list as a string.") + (defun find-file-noselect (filename &optional nowarn) "Read file FILENAME into a buffer and return the buffer. If a buffer exists visiting FILENAME, return that one, but @@ -577,7 +584,16 @@ (setq hooks (cdr hooks)))))) ;; Find the file's truename, and maybe use that as visited name. (setq buffer-file-truename (abbreviate-file-name truename)) - (setq buffer-file-number number) + (setq buffer-file-number number) + ;; On VMS, we may want to remember which directory in a search list + ;; the file was found in. + (and (eq system-type 'vax-vms) + (let (logical) + (if (string-match ":" (file-name-directory filename)) + (setq logical (substring (file-name-directory filename) + 0 (match-beginning 0)))) + (not (member logical find-file-not-true-dirname-list))) + (setq buffer-file-name buffer-file-truename)) (if find-file-visit-truename (setq buffer-file-name (setq filename buffer-file-truename))) ;; Set buffer's default directory to that of the file.