From 46bfc73bed2e2b6b3cdfff43f82c6705fb89355c Mon Sep 17 00:00:00 2001 From: Jan Djärv Date: Tue, 2 Nov 2004 07:57:53 +0000 Subject: * 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. --- lisp/ChangeLog | 15 +++++++++++++++ lisp/dired.el | 2 +- lisp/files.el | 8 ++++++++ lisp/menu-bar.el | 9 +++++++-- 4 files changed, 31 insertions(+), 3 deletions(-) (limited to 'lisp') diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7b9b92ee6c..853daf41a2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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 --git a/lisp/dired.el b/lisp/dired.el index 96b2905337..c0fc33729c 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -546,7 +546,7 @@ Optional third argument FILTER, if non-nil, is a function to select (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 --git a/lisp/files.el b/lisp/files.el index f10281a0d1..888f9dc81e 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -977,6 +977,14 @@ expand wildcards (if any) and visit multiple files." (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 --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 22840896c1..2c1d37c80e 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -186,10 +186,15 @@ A large number or nil slows down menu responsiveness." '(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 -- cgit v1.2.3