Commit f08830d2 authored by Dave Love's avatar Dave Love
Browse files

Compiler changes

parent ccdd5c61
......@@ -1116,6 +1116,31 @@ with Custom.
* Lisp Changes in Emacs 21.4
** Byte compiler changes:
*** `(featurep 'xemacs)' is treated by the compiler as nil. This
helps to avoid noisy compiler warnings in code meant to run under both
Emacs and XEmacs and may sometimes make the result significantly more
efficient. Since byte code from recent versions of XEmacs won't
generally run in Emacs and vice versa, this optimization doesn't lose
you anything.
*** You can avoid warnings for possibly-undefined symbols with a
simple convention that the compiler understands. (This is mostly
useful in code meant to be portable to different Emacs versions.)
Write forms like the following, or code that macroexpands into such
(if (fboundp 'foo) <then> <else>)
(if (boundp 'foo) <then> <else)
In the first case, using `foo' as a function inside the <then> form
won't produce a warning if it's not defined as a function, and in the
second case, using `foo' as a variable won't produce a warning if it's
unbound. The test must be in exactly one of the above forms (after
macro expansion), but such tests may be nested. Note that `when' and
`unless' expand to `if', but `cond' doesn't.
** New translation table `translation-table-for-input'.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment