Commit a151f82c authored by Sam Steingold's avatar Sam Steingold
Browse files

New command kill-matching-buffers kills buffers whose name matches a regexp.

parent b5d0f8f6
......@@ -28,6 +28,8 @@ with a prefix argument or by typing C-u C-h C-n.
* Editing Changes in Emacs 23.1
** New command kill-matching-buffers kills buffers whose name matches a regexp.
* New Modes and Packages in Emacs 23.1
......
2007-06-03 Sam Steingold <sds@gnu.org>
* files.el (kill-buffer-ask): New function.
(kill-some-buffers): Use it.
(kill-matching-buffers): New user command.
2007-06-01 David Kastrup <dak@gnu.org>
* dired.el (dired-recursive-deletes, dired-recursive-copies):
......
......@@ -4389,6 +4389,14 @@ This command is used in the special Dired buffer created by
(message "No files can be recovered from this session now")))
(kill-buffer buffer))))
(defun kill-buffer-ask (buffer)
"Kill buffer if confirmed."
(when (yes-or-no-p
(format "Buffer %s %s. Kill? " (buffer-name buffer)
(if (buffer-modified-p buffer)
"HAS BEEN EDITED" "is unmodified")))
(kill-buffer buffer)))
(defun kill-some-buffers (&optional list)
"Kill some buffers. Asks the user whether to kill each one of them.
Non-interactively, if optional argument LIST is non-nil, it
......@@ -4403,13 +4411,20 @@ specifies the list of buffers to kill, asking for approval for each one."
; if we killed the base buffer.
(not (string-equal name ""))
(/= (aref name 0) ?\s)
(yes-or-no-p
(format "Buffer %s %s. Kill? "
name
(if (buffer-modified-p buffer)
"HAS BEEN EDITED" "is unmodified")))
(kill-buffer buffer)))
(kill-buffer-ask buffer)))
(setq list (cdr list))))
(defun kill-matching-buffers (regexp &optional internal-too)
"Kill buffers whose name matches the specified regexp.
The optional second argument indicates whether to kill internal buffers too."
(interactive "sKill buffers matching this regular expression: \nP")
(dolist (buffer (buffer-list))
(let ((name (buffer-name buffer)))
(when (and name (not (string-equal name ""))
(or internal-too (/= (aref name 0) ?\s))
(string-match regexp name))
(kill-buffer-ask buffer)))))
(defun auto-save-mode (arg)
"Toggle auto-saving of contents of current buffer.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment