Function: ibuffer-toggle-marks

ibuffer-toggle-marks is an interactive and byte-compiled function defined in ibuffer.el.gz.

Signature

(ibuffer-toggle-marks &optional GROUP)

Documentation

Toggle which buffers are marked.

In other words, unmarked buffers become marked, and marked buffers become unmarked. If point is on a group name, then this function operates on that group.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/ibuffer.el.gz
(defun ibuffer-toggle-marks (&optional group)
  "Toggle which buffers are marked.
In other words, unmarked buffers become marked, and marked buffers
become unmarked.
If point is on a group name, then this function operates on that
group."
  (interactive)
  (when-let ((it (get-text-property (point) 'ibuffer-filter-group-name)))
    (setq group it))
  (let ((count
	 (ibuffer-map-lines
	  (lambda (_buf mark)
	    (cond ((eq mark ibuffer-marked-char)
		   (ibuffer-set-mark-1 ?\s)
		   nil)
		  ((eq mark ?\s)
		   (ibuffer-set-mark-1 ibuffer-marked-char)
		   t)
		  (t
		   nil)))
	  nil group)))
    (message "%s buffers marked" count))
  (ibuffer-redisplay t))