]> git.eshelyaron.com Git - emacs.git/commitdiff
(dired-flag-backup-files): Under MS-DOS, search for
authorKarl Heuer <kwzh@gnu.org>
Wed, 13 Dec 1995 19:42:33 +0000 (19:42 +0000)
committerKarl Heuer <kwzh@gnu.org>
Wed, 13 Dec 1995 19:42:33 +0000 (19:42 +0000)
possible backup files by checking for filenames which end with a
`k' (the backup extension is `.bak').

lisp/dired.el

index 8d6b4058e342d74b58547ddcd54f806db98c5e02..5782e0ab0128f3d3023cf0cc5eb61072a689b8e4 100644 (file)
@@ -2012,21 +2012,20 @@ A prefix argument says to unflag those files instead."
   "Flag all backup files (names ending with `~') for deletion.
 With prefix argument, unflag these files."
   (interactive "P")
-  (let ((dired-marker-char (if unflag-p ?\040 dired-del-marker)))
+  (let ((dired-marker-char (if unflag-p ?\  dired-del-marker))
+       (last-c (if (eq system-type 'ms-dos) ?k ?~)))
     (dired-mark-if
-     ;; It is less than general to check for ~ here,
+     ;; Don't call backup-file-name-p unless the last character looks like
+     ;; it might be the end of a backup file name.  This isn't very general,
      ;; but it's the only way this runs fast enough.
      (and (save-excursion (end-of-line)
-                         (or
-                          (eq (preceding-char) ?~)
-                          ;; Handle executables in case of -F option.
-                          ;; We need not worry about the other kinds
-                          ;; of markings that -F makes, since they won't
-                          ;; appear on real backup files.
-                          (if (eq (preceding-char) ?*)
-                              (progn
-                                (forward-char -1)
-                                (eq (preceding-char) ?~)))))
+                         ;; Handle executables in case of -F option.
+                         ;; We need not worry about the other kinds
+                         ;; of markings that -F makes, since they won't
+                         ;; appear on real backup files.
+                         (if (eq (preceding-char) ?*)
+                             (forward-char -1))
+                         (eq (preceding-char) last-c))
          (not (looking-at dired-re-dir))
          (let ((fn (dired-get-filename t t)))
            (if fn (backup-file-name-p fn))))