# HG changeset patch # User Jan Dj¸«£rv # Date 1099382273 0 # Node ID 5a547995da89b82a4b202fbfce70ea5adb318c5a # Parent c7e565aa7305fea34ce523d9ec6658e735e15c21 * files.el (find-file-existing): New function. * menu-bar.el (menu-bar-files-menu): Make "Open File..." call find-file-existing. Add "New File..." that calls find-file. * dired.el (dired-read-dir-and-switches): Call read-driectory-name instead of read-file-name. diff -r c7e565aa7305 -r 5a547995da89 lisp/ChangeLog --- a/lisp/ChangeLog Tue Nov 02 07:56:08 2004 +0000 +++ b/lisp/ChangeLog Tue Nov 02 07:57:53 2004 +0000 @@ -1,3 +1,18 @@ +2004-11-02 Jan Dj,Ad(Brv + + * files.el (find-file-existing): New function. + + * menu-bar.el (menu-bar-files-menu): Make "Open File..." call + find-file-existing. Add "New File..." that calls find-file. + + * diropen.pbm diropen.xpm: New files. + + * toolbar/tool-bar.el (tool-bar-setup): Tool bar item dired uses + icon diropen. New tool bar item find-file-existing uses icon open. + + * dired.el (dired-read-dir-and-switches): Call read-driectory-name + instead of read-file-name. + 2004-11-02 Ulf Jasper * calendar/icalendar.el (icalendar-version): Increase to 0.08. diff -r c7e565aa7305 -r 5a547995da89 lisp/dired.el --- a/lisp/dired.el Tue Nov 02 07:56:08 2004 +0000 +++ b/lisp/dired.el Tue Nov 02 07:57:53 2004 +0000 @@ -546,7 +546,7 @@ (if current-prefix-arg (read-string "Dired listing switches: " dired-listing-switches)) - (read-file-name (format "Dired %s(directory): " str) + (read-directory-name (format "Dired %s(directory): " str) nil default-directory nil)))) ;;;###autoload (define-key ctl-x-map "d" 'dired) diff -r c7e565aa7305 -r 5a547995da89 lisp/files.el --- a/lisp/files.el Tue Nov 02 07:56:08 2004 +0000 +++ b/lisp/files.el Tue Nov 02 07:57:53 2004 +0000 @@ -977,6 +977,14 @@ (mapcar 'switch-to-buffer (cdr value))) (switch-to-buffer-other-frame value)))) +(defun find-file-existing (filename &optional wildcards) + "Edit the existing file FILENAME. +Like \\[find-file] but only allow files that exists." + (interactive (find-file-read-args "Find existing file: " t)) + (unless (file-exists-p filename) (error "%s does not exist" filename)) + (find-file filename wildcards) + (current-buffer)) + (defun find-file-read-only (filename &optional wildcards) "Edit file FILENAME but don't allow changes. Like \\[find-file] but marks buffer as read-only. diff -r c7e565aa7305 -r 5a547995da89 lisp/menu-bar.el --- a/lisp/menu-bar.el Tue Nov 02 07:56:08 2004 +0000 +++ b/lisp/menu-bar.el Tue Nov 02 07:57:53 2004 +0000 @@ -186,10 +186,15 @@ '(menu-item "Open Directory..." dired :help "Read a directory, operate on its files")) (define-key menu-bar-files-menu [open-file] - '(menu-item "Open File..." find-file + '(menu-item "Open File..." find-file-existing :enable (not (window-minibuffer-p (frame-selected-window menu-updating-frame))) - :help "Read a file into an Emacs buffer")) + :help "Read an existing file into an Emacs buffer")) +(define-key menu-bar-files-menu [new-file] + '(menu-item "New File..." find-file + :enable (not (window-minibuffer-p + (frame-selected-window menu-updating-frame))) + :help "Read or create a file and edit it")) ;; The "Edit" menu items