changeset 94978:af4982c7c0f6

(ibuffer-aif, ibuffer-awhen, ibuffer-save-marks) (define-ibuffer-column, define-ibuffer-sorter) (define-ibuffer-op, define-ibuffer-filter): Add declarations containing indentation specs, replacing equivalent top-level forms that set `lisp-indent-function' properties. (define-ibuffer-op): Use `derived-mode-p'. (define-ibuffer-filter): Remove redundant `concat' call.
author John Paul Wallington <jpw@pobox.com>
date Thu, 15 May 2008 00:09:09 +0000
parents 905940be40d9
children d5934ba74299
files lisp/ibuf-macs.el
diffstat 1 files changed, 73 insertions(+), 73 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ibuf-macs.el	Thu May 15 00:05:40 2008 +0000
+++ b/lisp/ibuf-macs.el	Thu May 15 00:09:09 2008 +0000
@@ -36,6 +36,7 @@
 If TEST returns non-nil, bind `it' to the value, and evaluate
 TRUE-BODY.  Otherwise, evaluate forms in FALSE-BODY as if in `progn'.
 Compare with `if'."
+  (declare (indent 2))
   (let ((sym (make-symbol "ibuffer-aif-sym")))
     `(let ((,sym ,test))
        (if ,sym
@@ -43,18 +44,18 @@
 	     ,true-body)
 	 (progn
 	   ,@false-body)))))
-;; (put 'ibuffer-aif 'lisp-indent-function 2)
 
 (defmacro ibuffer-awhen (test &rest body)
   "Evaluate BODY if TEST returns non-nil.
 During evaluation of body, bind `it' to the value returned by TEST."
+  (declare (indent 1))
   `(ibuffer-aif ,test
        (progn ,@body)
      nil))
-;; (put 'ibuffer-awhen 'lisp-indent-function 1)
 
 (defmacro ibuffer-save-marks (&rest body)
   "Save the marked status of the buffers and execute BODY; restore marks."
+  (declare (indent 0))
   (let ((bufsym (make-symbol "bufsym")))
     `(let ((,bufsym (current-buffer))
 	   (ibuffer-save-marks-tmp-mark-list (ibuffer-current-state-list)))
@@ -70,10 +71,9 @@
 					  e))
 			  ibuffer-save-marks-tmp-mark-list)))
 	   (ibuffer-redisplay t))))))
-;; (put 'ibuffer-save-marks 'lisp-indent-function 0)
 
 ;;;###autoload
-(defmacro* define-ibuffer-column (symbol (&key name inline props summarizer 
+(defmacro* define-ibuffer-column (symbol (&key name inline props summarizer
 					       header-mouse-map) &rest body)
   "Define a column SYMBOL for use with `ibuffer-formats'.
 
@@ -98,14 +98,15 @@
 `ibuffer-recompile-formats'.
 
 \(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)"
+  (declare (indent defun))
   (let* ((sym (intern (concat "ibuffer-make-column-"
 			      (symbol-name symbol))))
 	 (bod-1 `(with-current-buffer buffer
 		   ,@body))
 	 (bod (if props
-		 `(propertize
-		   ,bod-1
-		   ,@props)
+		  `(propertize
+		    ,bod-1
+		    ,@props)
 		bod-1)))
     `(progn
        ,(if inline
@@ -126,7 +127,6 @@
 	    ;; summary.
 	    `(put (quote ,sym) 'ibuffer-column-summary nil))
        :autoload-end)))
-;; (put 'define-ibuffer-column 'lisp-indent-function 'defun)
 
 ;;;###autoload
 (defmacro* define-ibuffer-sorter (name documentation
@@ -143,6 +143,7 @@
 value if and only if `a' is \"less than\" `b'.
 
 \(fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)"
+  (declare (indent 1))
   `(progn
      (defun ,(intern (concat "ibuffer-do-sort-by-" (symbol-name name))) ()
        ,(or documentation "No :documentation specified for this sorting method.")
@@ -157,7 +158,6 @@
 		     ,@body))
 	   ibuffer-sorting-functions-alist)
      :autoload-end))
-;; (put 'define-ibuffer-sorter 'lisp-indent-function 1)
 
 ;;;###autoload
 (defmacro* define-ibuffer-op (op args
@@ -202,66 +202,66 @@
 macro for exactly what it does.
 
 \(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING COMPLEX) &rest BODY)"
+  (declare (indent 2))
   `(progn
-    (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))
-     ,(if (not (null interactive))
-	  `(interactive ,interactive)
-	'(interactive))
-     (assert (eq major-mode 'ibuffer-mode))
-     (setq ibuffer-did-modification nil)
-     (let ((marked-names  (,(case mark
-			      (:deletion
-			       'ibuffer-deletion-marked-buffer-names)
-			      (t
-			       'ibuffer-marked-buffer-names)))))
-       (when (null marked-names)
-	 (setq marked-names (list (buffer-name (ibuffer-current-buffer))))
-	 (ibuffer-set-mark ,(case mark
-			      (:deletion
-			       'ibuffer-deletion-char)
-			      (t
-			       'ibuffer-marked-char))))
-       ,(let* ((finish (append
-			'(progn)
-			(if (eq modifier-p t)
-			    '((setq ibuffer-did-modification t))
-			  ())
-			`((ibuffer-redisplay t)
-			  (message ,(concat "Operation finished; " opstring " %s buffers") count))))
-	       (inner-body (if complex
-			       `(progn ,@body)
-			     `(progn
-				(with-current-buffer buf
-				  (save-excursion
-				    ,@body))
-				t)))
-	       (body `(let ((count
-			     (,(case mark
-				 (:deletion
-				  'ibuffer-map-deletion-lines)
-				 (t
-				  'ibuffer-map-marked-lines))
-			      #'(lambda (buf mark)
-				  ,(if (eq modifier-p :maybe)
-				       `(let ((ibuffer-tmp-previous-buffer-modification
-					       (buffer-modified-p buf)))
-					  (prog1 ,inner-body
-					    (when (not (eq ibuffer-tmp-previous-buffer-modification
-							   (buffer-modified-p buf)))
-					      (setq ibuffer-did-modification t))))
-				     inner-body)))))
-			,finish)))
-	  (if dangerous
-	      `(when (ibuffer-confirm-operation-on ,active-opstring marked-names)
-		 ,body)
-	    body))))
-    :autoload-end))
-;; (put 'define-ibuffer-op 'lisp-indent-function 2)
+     (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))
+       ,(if (not (null interactive))
+	    `(interactive ,interactive)
+	  '(interactive))
+       (assert (derived-mode-p 'ibuffer-mode))
+       (setq ibuffer-did-modification nil)
+       (let ((marked-names  (,(case mark
+				(:deletion
+				 'ibuffer-deletion-marked-buffer-names)
+				(t
+				 'ibuffer-marked-buffer-names)))))
+	 (when (null marked-names)
+	   (setq marked-names (list (buffer-name (ibuffer-current-buffer))))
+	   (ibuffer-set-mark ,(case mark
+				(:deletion
+				 'ibuffer-deletion-char)
+				(t
+				 'ibuffer-marked-char))))
+	 ,(let* ((finish (append
+			  '(progn)
+			  (if (eq modifier-p t)
+			      '((setq ibuffer-did-modification t))
+			    ())
+			  `((ibuffer-redisplay t)
+			    (message ,(concat "Operation finished; " opstring " %s buffers") count))))
+		 (inner-body (if complex
+				 `(progn ,@body)
+			       `(progn
+				  (with-current-buffer buf
+				    (save-excursion
+				      ,@body))
+				  t)))
+		 (body `(let ((count
+			       (,(case mark
+				   (:deletion
+				    'ibuffer-map-deletion-lines)
+				   (t
+				    'ibuffer-map-marked-lines))
+				#'(lambda (buf mark)
+				    ,(if (eq modifier-p :maybe)
+					 `(let ((ibuffer-tmp-previous-buffer-modification
+						 (buffer-modified-p buf)))
+					    (prog1 ,inner-body
+					      (when (not (eq ibuffer-tmp-previous-buffer-modification
+							     (buffer-modified-p buf)))
+						(setq ibuffer-did-modification t))))
+				       inner-body)))))
+			  ,finish)))
+	    (if dangerous
+		`(when (ibuffer-confirm-operation-on ,active-opstring marked-names)
+		   ,body)
+	      body))))
+     :autoload-end))
 
 ;;;###autoload
 (defmacro* define-ibuffer-filter (name documentation
@@ -280,23 +280,23 @@
 bound to the current value of the filter.
 
 \(fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)"
+  (declare (indent 2))
   (let ((fn-name (intern (concat "ibuffer-filter-by-" (symbol-name name)))))
     `(progn
        (defun ,fn-name (qualifier)
-	 ,(concat (or documentation "This filter is not documented."))
+	 ,(or documentation "This filter is not documented.")
 	 (interactive (list ,reader))
 	 (ibuffer-push-filter (cons ',name qualifier))
 	 (message "%s"
-	  (format ,(concat (format "Filter by %s added: " description)
-			   " %s")
-		  qualifier))
+		  (format ,(concat (format "Filter by %s added: " description)
+				   " %s")
+			  qualifier))
 	 (ibuffer-update nil t))
        (push (list ',name ,description
 		   #'(lambda (buf qualifier)
 		       ,@body))
 	     ibuffer-filtering-alist)
        :autoload-end)))
-;; (put 'define-ibuffer-filter 'lisp-indent-function 2)
 
 (provide 'ibuf-macs)