Mercurial > emacs
changeset 76300:656132bca5c0
(Eval During Compile): Clarify putting macros in eval-when-compile.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 04 Mar 2007 17:55:23 +0000 |
parents | 08cc2843c940 |
children | fec7d780a786 |
files | lispref/compile.texi |
diffstat | 1 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lispref/compile.texi Sun Mar 04 17:53:41 2007 +0000 +++ b/lispref/compile.texi Sun Mar 04 17:55:23 2007 +0000 @@ -454,11 +454,10 @@ (require 'my-macro-package)) ;; only macros needed from this @end lisp -The same sort of thing goes for macros or @code{defalias}es defined -locally and only for use within the file. They can be defined while -compiling, but then not needed when executing. This is good for code -that's only a fallback for compatibility with other versions of Emacs. -For example. +The same sort of thing goes for macros and @code{defsubst} functions +defined locally and only for use within the file. They are needed for +compiling the file, but in most cases they are not needed for +execution of the compiled file. For example, @lisp (eval-when-compile @@ -467,6 +466,10 @@ (compatibility code)))) @end lisp +@noindent +This is often good for code that's only a fallback for compatibility +with other versions of Emacs. + @strong{Common Lisp Note:} At top level, @code{eval-when-compile} is analogous to the Common Lisp idiom @code{(eval-when (compile eval) @dots{})}. Elsewhere, the Common Lisp @samp{#.} reader macro (but not when interpreting) is closer