comparison lisp/files.el @ 87475:d5c5e7e3d557

(cd-absolute): Fix omission bug: Make `list-buffers-directory' buffer-local.
author Thien-Thi Nguyen <ttn@gnuvola.org>
date Sat, 29 Dec 2007 12:58:06 +0000
parents cdd30283527d
children 107ccd98fa12 c938ab6810a4
comparison
equal deleted inserted replaced
87474:dc4354c7a6c7 87475:d5c5e7e3d557
633 (setq dir (abbreviate-file-name (expand-file-name dir))) 633 (setq dir (abbreviate-file-name (expand-file-name dir)))
634 (if (not (file-directory-p dir)) 634 (if (not (file-directory-p dir))
635 (if (file-exists-p dir) 635 (if (file-exists-p dir)
636 (error "%s is not a directory" dir) 636 (error "%s is not a directory" dir)
637 (error "%s: no such directory" dir)) 637 (error "%s: no such directory" dir))
638 (if (file-executable-p dir) 638 (unless (file-executable-p dir)
639 (setq default-directory dir 639 (error "Cannot cd to %s: Permission denied" dir))
640 list-buffers-directory dir) 640 (setq default-directory dir)
641 (error "Cannot cd to %s: Permission denied" dir)))) 641 (set (make-local-variable 'list-buffers-directory) dir)))
642 642
643 (defun cd (dir) 643 (defun cd (dir)
644 "Make DIR become the current buffer's default directory. 644 "Make DIR become the current buffer's default directory.
645 If your environment includes a `CDPATH' variable, try each one of 645 If your environment includes a `CDPATH' variable, try each one of
646 that list of directories (separated by occurrences of 646 that list of directories (separated by occurrences of