Mercurial > emacs
diff lisp/dired-aux.el @ 89956:b9eee0a7bef5
Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-25
Merge from emacs--cvs-trunk--0
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-459
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-463
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-464
Update from CVS: lisp/progmodes/make-mode.el: Fix comments.
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-465
Update from CVS
author | Miles Bader <miles@gnu.org> |
---|---|
date | Fri, 23 Jul 2004 04:30:44 +0000 |
parents | 4c90ffeb71c5 6e35421b930d |
children | f2ebccfa87d4 |
line wrap: on
line diff
--- a/lisp/dired-aux.el Sat Jul 17 05:09:07 2004 +0000 +++ b/lisp/dired-aux.el Fri Jul 23 04:30:44 2004 +0000 @@ -163,8 +163,8 @@ (unless (let ((list list2)) (while (and list (not (let* ((file2 (car list)) - (fa1 (caddr file1)) - (fa2 (caddr file2)) + (fa1 (car (cddr file1))) + (fa2 (car (cddr file2))) (size1 (nth 7 fa1)) (size2 (nth 7 fa2)) (mtime1 (float-time (nth 5 fa1))) @@ -627,9 +627,14 @@ (defun dired-do-kill-lines (&optional arg fmt) "Kill all marked lines (not the files). With a prefix argument, kill that many lines starting with the current line. -\(A negative argument kills lines before the current line.) -To kill an entire subdirectory, go to its directory header line -and use this command with a prefix argument (the value does not matter)." +\(A negative argument kills backward.) +If you use this command with a prefix argument to kill the line +for a file that is a directory, which you have inserted in the +Dired buffer as a subdirectory, then it deletes that subdirectory +from the buffer as well. +To kill an entire subdirectory \(without killing its line in the +parent directory), go to its directory header line and use this +command with a prefix argument (the value does not matter)." ;; Returns count of killed lines. FMT="" suppresses message. (interactive "P") (if arg @@ -638,23 +643,14 @@ (dired-kill-line arg)) (save-excursion (goto-char (point-min)) - (let (buffer-read-only (count 0)) - (if (not arg) ; kill marked lines - (let ((regexp (dired-marker-regexp))) - (while (and (not (eobp)) - (re-search-forward regexp nil t)) - (setq count (1+ count)) - (delete-region (progn (beginning-of-line) (point)) - (progn (forward-line 1) (point))))) - ;; else kill unmarked lines - (while (not (eobp)) - (if (or (dired-between-files) - (not (looking-at "^ "))) - (forward-line 1) - (setq count (1+ count)) - (delete-region (point) (save-excursion - (forward-line 1) - (point)))))) + (let (buffer-read-only + (count 0) + (regexp (dired-marker-regexp))) + (while (and (not (eobp)) + (re-search-forward regexp nil t)) + (setq count (1+ count)) + (delete-region (progn (beginning-of-line) (point)) + (progn (forward-line 1) (point)))) (or (equal "" fmt) (message (or fmt "Killed %d line%s.") count (dired-plural-s count))) count))))