aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Teirlinck2004-07-18 13:48:06 +0000
committerLuc Teirlinck2004-07-18 13:48:06 +0000
commit769d9ed66ff18b336f8dfcdaef443ee56a078658 (patch)
tree8cb7ff8ec887745f393a82fa659dc3b04a0eed78
parentcdfa3eccb179fe579a5e38949d0a2ad3d2757524 (diff)
downloademacs-769d9ed66ff18b336f8dfcdaef443ee56a078658.tar.gz
emacs-769d9ed66ff18b336f8dfcdaef443ee56a078658.zip
(dired-do-kill-lines): Expand docstring.
Delete irrelevant code.
-rw-r--r--lisp/dired-aux.el36
1 files changed, 16 insertions, 20 deletions
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index bf7c9c00d18..9b401b7e41c 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -627,9 +627,14 @@ the list of file names explicitly with the FILE-LIST argument."
627(defun dired-do-kill-lines (&optional arg fmt) 627(defun dired-do-kill-lines (&optional arg fmt)
628 "Kill all marked lines (not the files). 628 "Kill all marked lines (not the files).
629With a prefix argument, kill that many lines starting with the current line. 629With a prefix argument, kill that many lines starting with the current line.
630\(A negative argument kills lines before the current line.) 630\(A negative argument kills backward.)
631To kill an entire subdirectory, go to its directory header line 631If you use this command with a prefix argument to kill the line
632and use this command with a prefix argument (the value does not matter)." 632for a file that is a directory, which you have inserted in the
633Dired buffer as a subdirectory, then it deletes that subdirectory
634from the buffer as well.
635To kill an entire subdirectory \(without killing its line in the
636parent directory), go to its directory header line and use this
637command with a prefix argument (the value does not matter)."
633 ;; Returns count of killed lines. FMT="" suppresses message. 638 ;; Returns count of killed lines. FMT="" suppresses message.
634 (interactive "P") 639 (interactive "P")
635 (if arg 640 (if arg
@@ -638,23 +643,14 @@ and use this command with a prefix argument (the value does not matter)."
638 (dired-kill-line arg)) 643 (dired-kill-line arg))
639 (save-excursion 644 (save-excursion
640 (goto-char (point-min)) 645 (goto-char (point-min))
641 (let (buffer-read-only (count 0)) 646 (let (buffer-read-only
642 (if (not arg) ; kill marked lines 647 (count 0)
643 (let ((regexp (dired-marker-regexp))) 648 (regexp (dired-marker-regexp)))
644 (while (and (not (eobp)) 649 (while (and (not (eobp))
645 (re-search-forward regexp nil t)) 650 (re-search-forward regexp nil t))
646 (setq count (1+ count)) 651 (setq count (1+ count))
647 (delete-region (progn (beginning-of-line) (point)) 652 (delete-region (progn (beginning-of-line) (point))
648 (progn (forward-line 1) (point))))) 653 (progn (forward-line 1) (point))))
649 ;; else kill unmarked lines
650 (while (not (eobp))
651 (if (or (dired-between-files)
652 (not (looking-at "^ ")))
653 (forward-line 1)
654 (setq count (1+ count))
655 (delete-region (point) (save-excursion
656 (forward-line 1)
657 (point))))))
658 (or (equal "" fmt) 654 (or (equal "" fmt)
659 (message (or fmt "Killed %d line%s.") count (dired-plural-s count))) 655 (message (or fmt "Killed %d line%s.") count (dired-plural-s count)))
660 count)))) 656 count))))