(pp-to-string): Don't use emacs-lisp-mode.
[bpt/emacs.git] / lisp / emacs-lisp / cl.el
index 41f0baa..3d0a3c4 100644 (file)
@@ -22,7 +22,7 @@
 ;; along with GNU Emacs; see the file COPYING.  If not, write to
 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 
-;; Commentary:
+;;; Commentary:
 
 ;; These are extensions to Emacs Lisp that provide a degree of
 ;; Common Lisp compatibility, beyond what is already built-in
 ;; package which should always be present.
 
 
-;; Future notes:
+;;; Future notes:
 
 ;; Once Emacs 19 becomes standard, many things in this package which are
 ;; messy for reasons of compatibility can be greatly simplified.  For now,
 ;; I prefer to maintain one unified version.
 
 
-;; Change Log:
+;;; Change Log:
 
 ;; Version 2.02 (30 Jul 93):
 ;;  * Added "cl-compat.el" file, extra compatibility with old package.
@@ -92,7 +92,7 @@
 ;;  * First public release of this package.
 
 
-;; Code:
+;;; Code:
 
 (defvar cl-emacs-type (cond ((or (and (fboundp 'epoch::version)
                                      (symbol-value 'epoch::version))
@@ -254,6 +254,13 @@ Keywords supported:  :test :test-not :key"
                             (defalias 'macroexpand 'cl-macroexpand)))
 
 (defun cl-macroexpand (cl-macro &optional cl-env)
+  "Return result of expanding macros at top level of FORM.
+If FORM is not a macro call, it is returned unchanged.
+Otherwise, the macro is expanded and the expansion is considered
+in place of FORM.  When a non-macro-call results, it is returned.
+
+The second optional arg ENVIRONMENT species an environment of macro
+definitions to shadow the loaded ones for use in file byte-compilation."
   (let ((cl-macro-environment cl-env))
     (while (progn (setq cl-macro (funcall cl-old-macroexpand cl-macro cl-env))
                  (and (symbolp cl-macro)