]> git.eshelyaron.com Git - emacs.git/commitdiff
(dired-get-filename): Err for . and .. in usual case.
authorRichard M. Stallman <rms@gnu.org>
Wed, 4 Jun 2003 09:02:55 +0000 (09:02 +0000)
committerRichard M. Stallman <rms@gnu.org>
Wed, 4 Jun 2003 09:02:55 +0000 (09:02 +0000)
(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.

lisp/ChangeLog
lisp/dired.el

index b2c79eb4e6ed366646b1d0f22dc5cb41c5fe889c..6695307260b67d9326b8a258062e5d46a84c8a23 100644 (file)
@@ -1,3 +1,15 @@
+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.
index 5397bad8b7c7aea3d2e35a2682677ee8a46440b0..02841adcb1353ab2e8969fc7cc71ce93cdad6a7f 100644 (file)
@@ -1350,7 +1350,12 @@ Creates a buffer if necessary."
 (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)
@@ -1482,6 +1487,11 @@ Optional arg NO-ERROR-IF-NOT-FILEP means return nil if no filename on
     (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)
@@ -2658,8 +2668,10 @@ Type SPC or `y' to unmark one file, DEL or `n' to skip to next,
                 (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)))))