# HG changeset patch # User Colin Walters # Date 1022014744 0 # Node ID 5bc8bee6a22810407dc65e4c7109daabbe41ea0e # Parent e552d3f59fb07a5e1f43ae31c2716d161dfb4edf (define-ibuffer-column): Add third argument `ibuffer-buf'. diff -r e552d3f59fb0 -r 5bc8bee6a228 lisp/ibuf-macs.el --- a/lisp/ibuf-macs.el Tue May 21 20:58:06 2002 +0000 +++ b/lisp/ibuf-macs.el Tue May 21 20:59:04 2002 +0000 @@ -78,8 +78,8 @@ "Define a column SYMBOL for use with `ibuffer-formats'. BODY will be called with `buffer' bound to the buffer object, and -`mark' bound to the current mark on the buffer. The current buffer -will be `buffer'. +`mark' bound to the current mark on the buffer. The original ibuffer +buffer will be bound to `ibuffer-buf'. If NAME is given, it will be used as a title for the column. Otherwise, the title will default to a capitalized version of the @@ -105,7 +105,7 @@ `(progn ,(if inline `(push '(,sym ,bod) ibuffer-inline-columns) - `(defun ,sym (buffer mark) + `(defun ,sym (buffer mark ibuffer-buf) ,bod)) (put (quote ,sym) 'ibuffer-column-name ,(if (stringp name) @@ -160,7 +160,9 @@ (active-opstring "Operate on") complex) &rest body) - "Generate a function named `ibuffer-do-OP', which operates on a buffer. + "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. @@ -188,7 +190,9 @@ COMPLEX means this function is special; see the source code of this macro for exactly what it does." `(progn - (defun ,(intern (concat "ibuffer-do-" (symbol-name op))) ,args + (defun ,(intern (concat (if (string-match "^ibuffer-do" (symbol-name op)) + "" "ibuffer-do-") (symbol-name op))) + ,args ,(if (stringp documentation) documentation (format "%s marked buffers." active-opstring))