define-ibuffer-op

define-ibuffer-op is a Lisp macro in `ibuf-macs.el'.

(define-ibuffer-op OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING COMPLEX) &rest BODY)

Generate a function which operates on a buffer.
OP becomes the name of the function; if it doesn't begin with
`ibuffer-do-', then that is prepended to it.
When an operation is performed, this function will be called once for
each marked buffer, with that buffer current.

ARGS becomes the formal parameters of the function.
DOCUMENTATION becomes the docstring of the function.
INTERACTIVE becomes the interactive specification of the function.
MARK describes which type of mark (:deletion, or nil) this operation
uses. :deletion means the function operates on buffers marked for
deletion, otherwise it acts on normally marked buffers.
MODIFIER-P describes how the function modifies buffers. This is used
to set the modification flag of the Ibuffer buffer itself. Valid
values are:
nil - the function never modifiers buffers
t - the function it always modifies buffers
:maybe - attempt to discover this information by comparing the
buffer's modification flag.
DANGEROUS is a boolean which should be set if the user should be
prompted before performing this operation.
OPSTRING is a string which will be displayed to the user after the
operation is complete, in the form:
"Operation complete; OPSTRING x buffers"
ACTIVE-OPSTRING is a string which will be displayed to the user in a
confirmation message, in the form:
"Really ACTIVE-OPSTRING x buffers?"
COMPLEX means this function is special; see the source code of this
macro for exactly what it does.