Mercurial > emacs
diff lispref/compile.texi @ 12098:a6eb5f12b0f3
*** empty log message ***
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 06 Jun 1995 19:21:15 +0000 |
parents | 73dc8205d259 |
children | 437eb190e7a7 |
line wrap: on
line diff
--- a/lispref/compile.texi Tue Jun 06 03:11:10 1995 +0000 +++ b/lispref/compile.texi Tue Jun 06 19:21:15 1995 +0000 @@ -24,6 +24,12 @@ by recent earlier versions of Emacs, but the reverse is not true. In particular, if you compile a program with Emacs 19.29, the compiled code does not run in earlier versions. +@iftex +@xref{Docs and Compilation}. +@end iftex +Files compiled in versions before 19.29 may not work in 19.29 if they +contain character constants with modifier bits, because the bits were +renumbered in Emacs 19.29. @xref{Compilation Errors}, for how to investigate errors occurring in byte compilation. @@ -98,10 +104,13 @@ for proper compilation. For more details, see @ref{Compiling Macros}. Normally, compiling a file does not evaluate the file's contents or -load the file. But it does execute any @code{require} calls at -top level in the file. One way to ensure that necessary macro -definitions are available during compilation is to require the file that -defines them. @xref{Features}. +load the file. But it does execute any @code{require} calls at top +level in the file. One way to ensure that necessary macro definitions +are available during compilation is to require the file that defines +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}). @defun byte-compile symbol This function byte-compiles the function definition of @var{symbol}, @@ -191,10 +200,10 @@ needs recompilation. A file needs recompilation if a @samp{.elc} file exists but is older than the @samp{.el} file. -If a @samp{.el} file exists, but there is no corresponding @samp{.elc} -file, then @var{flag} says what to do. If it is @code{nil}, the file is +When a @samp{.el} file has no corresponding @samp{.elc} file, then +@var{flag} says what to do. If it is @code{nil}, these files are ignored. If it is non-@code{nil}, the user is asked whether to compile -the file. +each such file. The returned value of this command is unpredictable. @end deffn @@ -265,7 +274,7 @@ to @code{nil}. Once this is done, you can compile files that will load into older Emacs versions. You can do this globally, or for one source file by specifying a file-local binding for the variable. Here's one -way: +way to do that: @example -*-byte-compile-dynamic-docstrings: nil;-*- @@ -372,7 +381,7 @@ @end defspec @node Byte-Code Objects -@section Byte-Code Objects +@section Byte-Code Function Objects @cindex compiled function @cindex byte-code function @@ -408,10 +417,10 @@ The maximum stack size this function needs. @item docstring -The documentation string (if any); otherwise, @code{nil}. For functions -preloaded before Emacs is dumped, this is usually an integer which is an -index into the @file{DOC} file; use @code{documentation} to convert this -into a string (@pxref{Accessing Documentation}). +The documentation string (if any); otherwise, @code{nil}. The value may +be a number or a list, in case the documentation string is stored in a +file. Use the function @code{documentation} to get the real +documentation string (@pxref{Accessing Documentation}). @item interactive The interactive spec (if any). This can be a string or a Lisp