comparison lispref/compile.texi @ 90389:146cd8369025

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-60 Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 259-273) - Update from CVS - lisp/replace.el (occur-engine): Bind `inhibit-field-text-motion' to t - Merge from gnus--rel--5.10 - Rename "field-at-point" to "field-at-pos" - (comint-insert-input): Remove redundant calls to setq and goto-char * gnus--rel--5.10 (patch 99-100) - Merge from emacs--devo--0 - Update from CVS
author Miles Bader <miles@gnu.org>
date Wed, 10 May 2006 20:42:41 +0000
parents c5406394f567 f7aff7b6d4af
children e1bbe296602a
comparison
equal deleted inserted replaced
90388:a786f674d33f 90389:146cd8369025
410 preferable when @var{body} is large. Effectively @code{require} is 410 preferable when @var{body} is large. Effectively @code{require} is
411 automatically @code{eval-and-compile}, the package is loaded both when 411 automatically @code{eval-and-compile}, the package is loaded both when
412 compiling and executing. 412 compiling and executing.
413 413
414 @code{autoload} is also effectively @code{eval-and-compile} too. It's 414 @code{autoload} is also effectively @code{eval-and-compile} too. It's
415 recognised when compiling, so uses of such a function don't produce 415 recognized when compiling, so uses of such a function don't produce
416 ``not known to be defined'' warnings. 416 ``not known to be defined'' warnings.
417 417
418 Most uses of @code{eval-and-compile} are fairly sophisticated. 418 Most uses of @code{eval-and-compile} are fairly sophisticated.
419 419
420 If a macro has a helper function to build its result, and that macro 420 If a macro has a helper function to build its result, and that macro
454 @end lisp 454 @end lisp
455 455
456 The same sort of thing goes for macros or @code{defalias}es defined 456 The same sort of thing goes for macros or @code{defalias}es defined
457 locally and only for use within the file. They can be defined while 457 locally and only for use within the file. They can be defined while
458 compiling, but then not needed when executing. This is good for code 458 compiling, but then not needed when executing. This is good for code
459 that's only a fallback for compability with other versions of Emacs. 459 that's only a fallback for compatibility with other versions of Emacs.
460 For example. 460 For example.
461 461
462 @lisp 462 @lisp
463 (eval-when-compile 463 (eval-when-compile
464 (unless (fboundp 'some-new-thing) 464 (unless (fboundp 'some-new-thing)