From f08830d27ffba84297d58b0dbfb80a1cb63deff6 Mon Sep 17 00:00:00 2001 From: Dave Love Date: Sun, 15 Dec 2002 16:52:37 +0000 Subject: [PATCH] Compiler changes --- etc/NEWS | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index c0f0bdd4efe..7c9905dfe77 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -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 +forms: + + (if (fboundp 'foo) ) + (if (boundp 'foo) 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'. +++ -- 2.39.2