changeset 111831:20deab1bda86

gnus-util.el (gnus-macroexpand-all): Use eval-and-compile.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sun, 05 Dec 2010 23:29:50 +0000
parents 79219ca01c7b
children 7e8cf0f45075
files lisp/gnus/ChangeLog lisp/gnus/gnus-util.el
diffstat 2 files changed, 21 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Sun Dec 05 22:17:34 2010 +0000
+++ b/lisp/gnus/ChangeLog	Sun Dec 05 23:29:50 2010 +0000
@@ -1,3 +1,7 @@
+2010-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* gnus-util.el (gnus-macroexpand-all): Use eval-and-compile.
+
 2010-12-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
 	* gnus-sum.el (gnus-summary-respool-article): The completion function
--- a/lisp/gnus/gnus-util.el	Sun Dec 05 22:17:34 2010 +0000
+++ b/lisp/gnus/gnus-util.el	Sun Dec 05 23:29:50 2010 +0000
@@ -2037,25 +2037,26 @@
     (save-match-data
       (string-match regexp string start))))
 
-(if (fboundp 'macroexpand-all)
-    (defalias 'gnus-macroexpand-all 'macroexpand-all)
-  (defun gnus-macroexpand-all (form &optional environment)
-    "Return result of expanding macros at all levels in FORM.
+(eval-and-compile
+  (if (fboundp 'macroexpand-all)
+      (defalias 'gnus-macroexpand-all 'macroexpand-all)
+    (defun gnus-macroexpand-all (form &optional environment)
+      "Return result of expanding macros at all levels in FORM.
 If no macros are expanded, FORM is returned unchanged.
 The second optional arg ENVIRONMENT specifies an environment of macro
 definitions to shadow the loaded ones for use in file byte-compilation."
-    (if (consp form)
-	(let ((idx 1)
-	      (len (length (setq form (copy-sequence form))))
-	      expanded)
-	  (while (< idx len)
-	    (setcar (nthcdr idx form) (gnus-macroexpand-all (nth idx form)
-							    environment))
-	    (setq idx (1+ idx)))
-	  (if (eq (setq expanded (macroexpand form environment)) form)
-	      form
-	    (gnus-macroexpand-all expanded environment)))
-      form)))
+      (if (consp form)
+	  (let ((idx 1)
+		(len (length (setq form (copy-sequence form))))
+		expanded)
+	    (while (< idx len)
+	      (setcar (nthcdr idx form) (gnus-macroexpand-all (nth idx form)
+							      environment))
+	      (setq idx (1+ idx)))
+	    (if (eq (setq expanded (macroexpand form environment)) form)
+		form
+	      (gnus-macroexpand-all expanded environment)))
+	form))))
 
 (provide 'gnus-util)