summaryrefslogtreecommitdiff
path: root/lisp/ibuf-ext.el
diff options
context:
space:
mode:
authorTino Calancha <tino.calancha@gmail.com>2016-07-08 01:34:35 +0900
committerTino Calancha <tino.calancha@gmail.com>2016-07-08 01:34:35 +0900
commit44517b21abc4c243cdc7df264c629d592d9fb4cf (patch)
tree85212e1836c7cd715b639db2ae6c4963f8fb8e1f /lisp/ibuf-ext.el
parent9d70e4da7402e5a89db6a1b175b917cd3fb37e36 (diff)
downloademacs-44517b21abc4c243cdc7df264c629d592d9fb4cf.tar.gz
Ibuffer: Mark locked buffers
* lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun. (ibuffer-mark-by-locked): New command. (ibuffer-mode-map): Bind it to '% L'; update menus. (ibuffer-mode): Update mode doc. ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
Diffstat (limited to 'lisp/ibuf-ext.el')
-rw-r--r--lisp/ibuf-ext.el18
1 files changed, 18 insertions, 0 deletions
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index 72fa8628a1f..2444dac5805 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -1484,6 +1484,24 @@ You can then feed the file name(s) to other commands with \\[yank]."
#'(lambda (buf)
(string-match regexp (buffer-name buf)))))
+(defun ibuffer-locked-buffer-p (&optional buf)
+ "Return non-nil if BUF is locked.
+When BUF nil, default to the buffer at current line."
+ (let ((_buffer (or buf (ibuffer-current-buffer)))
+ char)
+ (when _buffer
+ (with-current-buffer _buffer
+ (and (boundp 'emacs-lock-mode) emacs-lock-mode)))))
+
+;;;###autoload
+(defun ibuffer-mark-by-locked ()
+ "Mark all locked buffers."
+ (interactive)
+ (when (featurep 'emacs-lock)
+ (ibuffer-mark-on-buffer
+ (lambda (buf)
+ (ibuffer-locked-buffer-p buf)))))
+
;;;###autoload
(defun ibuffer-mark-by-mode-regexp (regexp)
"Mark all buffers whose major mode matches REGEXP."