diff options
| author | Richard M. Stallman | 2004-05-22 21:58:24 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2004-05-22 21:58:24 +0000 |
| commit | 76865de3a6158dbf61317766877e49dc25e7ccdf (patch) | |
| tree | bf647e750593e3f0ab1bf5ab7ce846ba41b9efae | |
| parent | 668d1efc1cecf58e91700a71e6b097060faef386 (diff) | |
| download | emacs-76865de3a6158dbf61317766877e49dc25e7ccdf.tar.gz emacs-76865de3a6158dbf61317766877e49dc25e7ccdf.zip | |
Minor cleanups.
| -rw-r--r-- | lispref/compile.texi | 34 |
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 | |||
| 171 | operand of an instruction. The vector contains all the constants, | 171 | operand of an instruction. The vector contains all the constants, |
| 172 | variable names and function names used by the function, except for | 172 | variable names and function names used by the function, except for |
| 173 | certain primitives that are coded as special instructions. | 173 | certain primitives that are coded as special instructions. |
| 174 | |||
| 175 | If the argument to @code{byte-compile} is a @code{lambda} expression, | ||
| 176 | it returns the corresponding compiled code, but does not store | ||
| 177 | it 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 | |||
| 232 | When a @samp{.el} file has no corresponding @samp{.elc} file, | 236 | When 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 |
| 234 | these files. If @var{flag} is 0, it compiles them. If it is neither | 238 | these 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, |
| 240 | and asks about each subdirectory as well. | ||
| 236 | 241 | ||
| 237 | Interactively, @code{byte-recompile-directory} prompts for | 242 | Interactively, @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 |
| 295 | If you alter the compiled file (such as by compiling a new version), | 300 | If you alter the compiled file (such as by compiling a new version), |
| 296 | then further access to documentation strings in this file will give | 301 | then further access to documentation strings in this file will |
| 297 | nonsense results. | 302 | probably 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 |
| 367 | If you alter the compiled file (such as by compiling a new version), | 372 | If you alter the compiled file (such as by compiling a new version), |
| 368 | then trying to load any function not already loaded will yield nonsense | 373 | then trying to load any function not already loaded will usually yield |
| 369 | results. | 374 | nonsense 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 |
| 394 | This immediately finishes loading the definition of @var{function} from | 399 | If @var{function} is a byte-code function object, this immediately |
| 395 | its byte-compiled file, if it is not fully loaded already. The argument | 400 | finishes loading the byte code of @var{function} from its |
| 396 | @var{function} may be a byte-code function object or a function name. | 401 | byte-compiled file, if it is not fully loaded already. Otherwise, |
| 402 | it 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, | |||
| 440 | you must search for the function names. | 446 | you 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 |
| 443 | function @var{func} by conditionalizing the function call on a | 449 | function @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... | ||
| 472 | In execution, this is equivalent to @code{(progn @var{body}...)}, | 481 | In execution, this is equivalent to @code{(progn @var{body}...)}, |
| 473 | but the compiler does not issue warnings for anything that occurs | 482 | but the compiler does not issue warnings for anything that occurs |
| 474 | inside @var{body}. | 483 | inside @var{body}. |
| 475 | 484 | ||
| 476 | We recommend that you use this construct around the smallest | 485 | We recommend that you use this construct around the smallest |
| 477 | possible piece of code. | 486 | possible 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 | |||
| 578 | point is left before the output. | 587 | point is left before the output. |
| 579 | 588 | ||
| 580 | The argument @var{object} can be a function name, a lambda expression | 589 | The argument @var{object} can be a function name, a lambda expression |
| 581 | or a byte-code object. | 590 | or a byte-code object. If it is a lambda expression, @code{disassemble} |
| 591 | compiles 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 |