/[emacs]/emacs/lispref/compile.texi
ViewVC logotype

Diff of /emacs/lispref/compile.texi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.12.8.4 by uid65618, Tue Feb 17 23:15:45 2004 UTC revision 1.12.8.5 by miles, Tue Jul 6 09:23:49 2004 UTC
# Line 171  the actual byte-code; each character in Line 171  the actual byte-code; each character in
171  operand of an instruction.  The vector contains all the constants,  operand of an instruction.  The vector contains all the constants,
172  variable names and function names used by the function, except for  variable names and function names used by the function, except for
173  certain primitives that are coded as special instructions.  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.
178  @end defun  @end defun
179    
180  @deffn Command compile-defun &optional arg  @deffn Command compile-defun &optional arg
# Line 232  recompilation if a @samp{.elc} file exis Line 236  recompilation if a @samp{.elc} file exis
236  When a @samp{.el} file has no corresponding @samp{.elc} file,  When a @samp{.el} file has no corresponding @samp{.elc} file,
237  @var{flag} says what to do.  If it is @code{nil}, this command ignores  @var{flag} says what to do.  If it is @code{nil}, this command ignores
238  these files.  If @var{flag} is 0, it compiles them.  If it is neither  these files.  If @var{flag} is 0, it compiles them.  If it is neither
239  @code{nil} nor 0, it asks the user whether to compile each such file.  @code{nil} nor 0, it asks the user whether to compile each such file,
240    and asks about each subdirectory as well.
241    
242  Interactively, @code{byte-recompile-directory} prompts for  Interactively, @code{byte-recompile-directory} prompts for
243  @var{directory} and @var{flag} is the prefix argument.  @var{directory} and @var{flag} is the prefix argument.
# Line 293  in the file. Line 298  in the file.
298    
299  @item  @item
300  If you alter the compiled file (such as by compiling a new version),  If you alter the compiled file (such as by compiling a new version),
301  then further access to documentation strings in this file will give  then further access to documentation strings in this file will
302  nonsense results.  probably give nonsense results.
303  @end itemize  @end itemize
304    
305    If your site installs Emacs following the usual procedures, these    If your site installs Emacs following the usual procedures, these
# Line 365  longer load the remaining function defin Line 370  longer load the remaining function defin
370    
371  @item  @item
372  If you alter the compiled file (such as by compiling a new version),  If you alter the compiled file (such as by compiling a new version),
373  then trying to load any function not already loaded will yield nonsense  then trying to load any function not already loaded will usually yield
374  results.  nonsense results.
375  @end itemize  @end itemize
376    
377    These problems will never happen in normal circumstances with    These problems will never happen in normal circumstances with
# Line 391  that are set up for dynamic function loa Line 396  that are set up for dynamic function loa
396  @end defvar  @end defvar
397    
398  @defun fetch-bytecode function  @defun fetch-bytecode function
399  This immediately finishes loading the definition of @var{function} from  If @var{function} is a byte-code function object, this immediately
400  its byte-compiled file, if it is not fully loaded already.  The argument  finishes loading the byte code of @var{function} from its
401  @var{function} may be a byte-code function object or a function name.  byte-compiled file, if it is not fully loaded already.  Otherwise,
402    it does nothing.  It always returns @var{function}.
403  @end defun  @end defun
404    
405  @node Eval During Compile  @node Eval During Compile
# Line 440  commands won't find the places they are Line 446  commands won't find the places they are
446  you must search for the function names.  you must search for the function names.
447    
448    You can suppress the compiler warning for calling an undefined    You can suppress the compiler warning for calling an undefined
449  function @var{func} by conditionalizing the function call on a  function @var{func} by conditionalizing the function call on an
450  @code{fboundp} test, like this:  @code{fboundp} test, like this:
451    
452  @example  @example
# Line 468  The reference to @var{variable} must be Line 474  The reference to @var{variable} must be
474    You can suppress any compiler warnings using the construct    You can suppress any compiler warnings using the construct
475  @code{with-no-warnings}:  @code{with-no-warnings}:
476    
477  @defmac with-no-warnings body...  @c This is implemented with a defun, but conceptually it is
478    @c a special form.
479    
480    @defspec with-no-warnings body...
481  In execution, this is equivalent to @code{(progn @var{body}...)},  In execution, this is equivalent to @code{(progn @var{body}...)},
482  but the compiler does not issue warnings for anything that occurs  but the compiler does not issue warnings for anything that occurs
483  inside @var{body}.  inside @var{body}.
484    
485  We recommend that you use this construct around the smallest  We recommend that you use this construct around the smallest
486  possible piece of code.  possible piece of code.
487  @end defmac  @end defspec
488    
489  @node Byte-Code Objects  @node Byte-Code Objects
490  @section Byte-Code Function Objects  @section Byte-Code Function Objects
# Line 578  name of an existing buffer.  Then the ou Line 587  name of an existing buffer.  Then the ou
587  point is left before the output.  point is left before the output.
588    
589  The argument @var{object} can be a function name, a lambda expression  The argument @var{object} can be a function name, a lambda expression
590  or a byte-code object.  or a byte-code object.  If it is a lambda expression, @code{disassemble}
591    compiles it and disassembles the resulting compiled code.
592  @end deffn  @end deffn
593    
594    Here are two examples of using the @code{disassemble} function.  We    Here are two examples of using the @code{disassemble} function.  We

Legend:
Removed from v.1.12.8.4  
changed lines
  Added in v.1.12.8.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26