summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog15
-rw-r--r--lisp/dired.el2
-rw-r--r--lisp/files.el8
-rw-r--r--lisp/menu-bar.el9
4 files changed, 31 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7b9b92ee6ce..853daf41a26 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,18 @@
+2004-11-02 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
+
+ * 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 <ulf.jasper@web.de>
* calendar/icalendar.el (icalendar-version): Increase to 0.08.
diff --git a/lisp/dired.el b/lisp/dired.el
index 96b2905337e..c0fc33729c2 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 f10281a0d10..888f9dc81e9 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 22840896c17..2c1d37c80e2 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