+2003-06-04 Richard M. Stallman <rms@gnu.org>
+
+ * dired.el (dired-get-filename): Err for . and .. in usual case.
+ (dired-get-file-for-visit): Specify no-error to dired-get-filename,
+ and check for real errors here.
+ (dired-unmark-all-files): Specify no-error to dired-get-filename.
+
+ * buff-menu.el (list-buffers-noselect): Use window-inside-edges
+ to compute the number of offset spaces.
+ (list-buffers-noselect): Use Buffer-menu-buffer+size to
+ indent the dashes properly. Put some in fixed-pitch.
+
2003-06-04 Lars Hansen <larsh@math.ku.dk>
* desktop.el (desktop-create-buffer): Undo last change.
(defun dired-get-file-for-visit ()
"Get the current line's file name, with an error if file does not exist."
(interactive)
- (let ((file-name (file-name-sans-versions (dired-get-filename) t)))
+ ;; We pass t for second arg so that we don't get error for `.' and `..'.
+ (let ((raw (dired-get-filename nil t))
+ file-name)
+ (if (null raw)
+ (error "No file on this line"))
+ (setq file-name (file-name-sans-versions raw t))
(if (file-exists-p file-name)
file-name
(if (file-symlink-p file-name)
(cond
((null file)
nil)
+ ((and (not no-error-if-not-filep)
+ (save-excursion
+ (beginning-of-line)
+ (looking-at dired-re-dir)))
+ (error "Cannot operate on `.' or `..'"))
((eq localp 'verbatim)
file)
((and (eq localp 'no-dir) already-absolute)
(re-search-forward dired-re-mark nil t)
(search-forward string nil t))
(if (or (not arg)
- (dired-query 'query "Unmark file `%s'? "
- (dired-get-filename t)))
+ (let ((file (dired-get-filename t t)))
+ (and file
+ (dired-query 'query "Unmark file `%s'? "
+ file))))
(progn (subst-char-in-region (1- (point)) (point)
(preceding-char) ?\ )
(setq count (1+ count)))))