]> git.eshelyaron.com Git - emacs.git/commitdiff
(Buffer-menu-delete): Handle prefix arg.
authorRichard M. Stallman <rms@gnu.org>
Sat, 24 Sep 1994 04:32:08 +0000 (04:32 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 24 Sep 1994 04:32:08 +0000 (04:32 +0000)
(Buffer-menu-delete-backwards): Handle prefix; use Buffer-menu-delete.

lisp/buff-menu.el

index cafd2c2e80482904e096ce68a412b24b3d54bfcd..f766c0da8fb53d0ed0cd00e50ca90371cd696305 100644 (file)
@@ -213,24 +213,35 @@ Optional ARG means move up."
   (Buffer-menu-unmark)
   (forward-line -1))
 
-(defun Buffer-menu-delete ()
-  "Mark buffer on this line to be deleted by \\<Buffer-menu-mode-map>\\[Buffer-menu-execute] command."
-  (interactive)
+(defun Buffer-menu-delete (&optional arg)
+  "Mark buffer on this line to be deleted by \\<Buffer-menu-mode-map>\\[Buffer-menu-execute] command.
+Prefix arg is how many buffers to delete.
+Negative arg means delete backwards."
+  (interactive "p")
   (beginning-of-line)
   (if (looking-at " [-M]")             ;header lines
       (ding)
     (let ((buffer-read-only nil))
-      (delete-char 1)
-      (insert ?D)
-      (forward-line 1))))
-
-(defun Buffer-menu-delete-backwards ()
+      (if (or (null arg) (= arg 0))
+         (setq arg 1))
+      (while (> arg 0)
+       (delete-char 1)
+       (insert ?D)
+       (forward-line 1)
+       (setq arg (1- arg)))
+      (while (< arg 0)
+       (delete-char 1)
+       (insert ?D)
+       (forward-line -1)
+       (setq arg (1+ arg))))))
+
+(defun Buffer-menu-delete-backwards (&optional arg)
   "Mark buffer on this line to be deleted by \\<Buffer-menu-mode-map>\\[Buffer-menu-execute] command
-and then move up one line"
-  (interactive)
-  (Buffer-menu-delete)
-  (forward-line -2)
-  (if (looking-at " [-M]") (forward-line 1)))
+and then move up one line.  Prefix arg means move that many lines."
+  (interactive "p")
+  (Buffer-menu-delete (- (or arg 1)))
+  (while (looking-at " [-M]")
+    (forward-line 1)))
 
 (defun Buffer-menu-save ()
   "Mark buffer on this line to be saved by \\<Buffer-menu-mode-map>\\[Buffer-menu-execute] command."