aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2004-05-22 21:58:24 +0000
committerRichard M. Stallman2004-05-22 21:58:24 +0000
commit76865de3a6158dbf61317766877e49dc25e7ccdf (patch)
treebf647e750593e3f0ab1bf5ab7ce846ba41b9efae
parent668d1efc1cecf58e91700a71e6b097060faef386 (diff)
downloademacs-76865de3a6158dbf61317766877e49dc25e7ccdf.tar.gz
emacs-76865de3a6158dbf61317766877e49dc25e7ccdf.zip
Minor cleanups.
-rw-r--r--lispref/compile.texi34
1 files changed, 22 insertions, 12 deletions
diff --git a/lispref/compile.texi b/lispref/compile.texi
index a201a225379..6c28708bdf1 100644
--- a/lispref/compile.texi
+++ b/lispref/compile.texi
@@ -171,6 +171,10 @@ the actual byte-code; each character in it is an instruction or an
171operand of an instruction. The vector contains all the constants, 171operand of an instruction. The vector contains all the constants,
172variable names and function names used by the function, except for 172variable names and function names used by the function, except for
173certain primitives that are coded as special instructions. 173certain primitives that are coded as special instructions.
174
175If the argument to @code{byte-compile} is a @code{lambda} expression,
176it returns the corresponding compiled code, but does not store
177it anywhere.
174@end defun 178@end defun
175 179
176@deffn Command compile-defun &optional arg 180@deffn Command compile-defun &optional arg
@@ -232,7 +236,8 @@ recompilation if a @samp{.elc} file exists but is older than the
232When a @samp{.el} file has no corresponding @samp{.elc} file, 236When a @samp{.el} file has no corresponding @samp{.elc} file,
233@var{flag} says what to do. If it is @code{nil}, this command ignores 237@var{flag} says what to do. If it is @code{nil}, this command ignores
234these files. If @var{flag} is 0, it compiles them. If it is neither 238these files. If @var{flag} is 0, it compiles them. If it is neither
235@code{nil} nor 0, it asks the user whether to compile each such file. 239@code{nil} nor 0, it asks the user whether to compile each such file,
240and asks about each subdirectory as well.
236 241
237Interactively, @code{byte-recompile-directory} prompts for 242Interactively, @code{byte-recompile-directory} prompts for
238@var{directory} and @var{flag} is the prefix argument. 243@var{directory} and @var{flag} is the prefix argument.
@@ -293,8 +298,8 @@ in the file.
293 298
294@item 299@item
295If you alter the compiled file (such as by compiling a new version), 300If you alter the compiled file (such as by compiling a new version),
296then further access to documentation strings in this file will give 301then further access to documentation strings in this file will
297nonsense results. 302probably give nonsense results.
298@end itemize 303@end itemize
299 304
300 If your site installs Emacs following the usual procedures, these 305 If your site installs Emacs following the usual procedures, these
@@ -365,8 +370,8 @@ longer load the remaining function definitions not already loaded.
365 370
366@item 371@item
367If you alter the compiled file (such as by compiling a new version), 372If you alter the compiled file (such as by compiling a new version),
368then trying to load any function not already loaded will yield nonsense 373then trying to load any function not already loaded will usually yield
369results. 374nonsense results.
370@end itemize 375@end itemize
371 376
372 These problems will never happen in normal circumstances with 377 These problems will never happen in normal circumstances with
@@ -391,9 +396,10 @@ that are set up for dynamic function loading.
391@end defvar 396@end defvar
392 397
393@defun fetch-bytecode function 398@defun fetch-bytecode function
394This immediately finishes loading the definition of @var{function} from 399If @var{function} is a byte-code function object, this immediately
395its byte-compiled file, if it is not fully loaded already. The argument 400finishes loading the byte code of @var{function} from its
396@var{function} may be a byte-code function object or a function name. 401byte-compiled file, if it is not fully loaded already. Otherwise,
402it does nothing. It always returns @var{function}.
397@end defun 403@end defun
398 404
399@node Eval During Compile 405@node Eval During Compile
@@ -440,7 +446,7 @@ commands won't find the places they are really used. To do that,
440you must search for the function names. 446you must search for the function names.
441 447
442 You can suppress the compiler warning for calling an undefined 448 You can suppress the compiler warning for calling an undefined
443function @var{func} by conditionalizing the function call on a 449function @var{func} by conditionalizing the function call on an
444@code{fboundp} test, like this: 450@code{fboundp} test, like this:
445 451
446@example 452@example
@@ -468,14 +474,17 @@ The reference to @var{variable} must be in the @var{then-form} of the
468 You can suppress any compiler warnings using the construct 474 You can suppress any compiler warnings using the construct
469@code{with-no-warnings}: 475@code{with-no-warnings}:
470 476
471@defmac with-no-warnings body... 477@c This is implemented with a defun, but conceptually it is
478@c a special form.
479
480@defspec with-no-warnings body...
472In execution, this is equivalent to @code{(progn @var{body}...)}, 481In execution, this is equivalent to @code{(progn @var{body}...)},
473but the compiler does not issue warnings for anything that occurs 482but the compiler does not issue warnings for anything that occurs
474inside @var{body}. 483inside @var{body}.
475 484
476We recommend that you use this construct around the smallest 485We recommend that you use this construct around the smallest
477possible piece of code. 486possible piece of code.
478@end defmac 487@end defspec
479 488
480@node Byte-Code Objects 489@node Byte-Code Objects
481@section Byte-Code Function Objects 490@section Byte-Code Function Objects
@@ -578,7 +587,8 @@ name of an existing buffer. Then the output goes there, at point, and
578point is left before the output. 587point is left before the output.
579 588
580The argument @var{object} can be a function name, a lambda expression 589The argument @var{object} can be a function name, a lambda expression
581or a byte-code object. 590or a byte-code object. If it is a lambda expression, @code{disassemble}
591compiles it and disassembles the resulting compiled code.
582@end deffn 592@end deffn
583 593
584 Here are two examples of using the @code{disassemble} function. We 594 Here are two examples of using the @code{disassemble} function. We