# HG changeset patch # User Chong Yidong # Date 1236645800 0 # Node ID d9ecdef72984808fde4b73a2aef3085c8d32d2ea # Parent 37cbfaa1822fdd143a6da2eb3df8c5baec280aac (Compiling Macros): Omit misleading sentence, which implied that macros can only be used in the same file they are defined. (Backquote): Remove obsolete information about Emacs 19. diff -r 37cbfaa1822f -r d9ecdef72984 doc/lispref/macros.texi --- a/doc/lispref/macros.texi Tue Mar 10 00:43:07 2009 +0000 +++ b/doc/lispref/macros.texi Tue Mar 10 00:43:20 2009 +0000 @@ -178,16 +178,13 @@ already be defined in Lisp when the calls to them are compiled. The compiler has a special feature to help you do this: if a file being compiled contains a @code{defmacro} form, the macro is defined -temporarily for the rest of the compilation of that file. To make this -feature work, you must put the @code{defmacro} in the same file where it -is used, and before its first use. +temporarily for the rest of the compilation of that file. - Byte-compiling a file executes any @code{require} calls at top-level -in the file. This is in case the file needs the required packages for -proper compilation. One way to ensure that necessary macro definitions -are available during compilation is to require the files that define -them (@pxref{Named Features}). To avoid loading the macro definition files -when someone @emph{runs} the compiled program, write + Byte-compiling a file also executes any @code{require} calls at +top-level in the file, so you can ensure that necessary macro +definitions are available during compilation by requiring the files +that define them (@pxref{Named Features}). To avoid loading the macro +definition files when someone @emph{runs} the compiled program, write @code{eval-when-compile} around the @code{require} calls (@pxref{Eval During Compile}). @@ -356,17 +353,6 @@ @end group @end example -In old Emacs versions, before version 19.29, @samp{`} used a different -syntax which required an extra level of parentheses around the entire -backquote construct. Likewise, each @samp{,} or @samp{,@@} substitution -required an extra level of parentheses surrounding both the @samp{,} or -@samp{,@@} and the following expression. The old syntax required -whitespace between the @samp{`}, @samp{,} or @samp{,@@} and the -following expression. - -This syntax is still accepted, for compatibility with old Emacs -versions, but support for it will be removed in the future. - @node Problems with Macros @section Common Problems Using Macros