diff options
| author | Dave Love | 2002-12-15 16:52:37 +0000 |
|---|---|---|
| committer | Dave Love | 2002-12-15 16:52:37 +0000 |
| commit | f08830d27ffba84297d58b0dbfb80a1cb63deff6 (patch) | |
| tree | 9d8d5f6cd98afb46041992a52323c58578d4dd61 | |
| parent | ccdd5c61872c10cce32e500bc15aa3efe05c7d75 (diff) | |
| download | emacs-f08830d27ffba84297d58b0dbfb80a1cb63deff6.tar.gz emacs-f08830d27ffba84297d58b0dbfb80a1cb63deff6.zip | |
Compiler changes
| -rw-r--r-- | etc/NEWS | 25 |
1 files changed, 25 insertions, 0 deletions
| @@ -1116,6 +1116,31 @@ with Custom. | |||
| 1116 | 1116 | ||
| 1117 | * Lisp Changes in Emacs 21.4 | 1117 | * Lisp Changes in Emacs 21.4 |
| 1118 | 1118 | ||
| 1119 | ** Byte compiler changes: | ||
| 1120 | |||
| 1121 | *** `(featurep 'xemacs)' is treated by the compiler as nil. This | ||
| 1122 | helps to avoid noisy compiler warnings in code meant to run under both | ||
| 1123 | Emacs and XEmacs and may sometimes make the result significantly more | ||
| 1124 | efficient. Since byte code from recent versions of XEmacs won't | ||
| 1125 | generally run in Emacs and vice versa, this optimization doesn't lose | ||
| 1126 | you anything. | ||
| 1127 | |||
| 1128 | *** You can avoid warnings for possibly-undefined symbols with a | ||
| 1129 | simple convention that the compiler understands. (This is mostly | ||
| 1130 | useful in code meant to be portable to different Emacs versions.) | ||
| 1131 | Write forms like the following, or code that macroexpands into such | ||
| 1132 | forms: | ||
| 1133 | |||
| 1134 | (if (fboundp 'foo) <then> <else>) | ||
| 1135 | (if (boundp 'foo) <then> <else) | ||
| 1136 | |||
| 1137 | In the first case, using `foo' as a function inside the <then> form | ||
| 1138 | won't produce a warning if it's not defined as a function, and in the | ||
| 1139 | second case, using `foo' as a variable won't produce a warning if it's | ||
| 1140 | unbound. The test must be in exactly one of the above forms (after | ||
| 1141 | macro expansion), but such tests may be nested. Note that `when' and | ||
| 1142 | `unless' expand to `if', but `cond' doesn't. | ||
| 1143 | |||
| 1119 | ** New translation table `translation-table-for-input'. | 1144 | ** New translation table `translation-table-for-input'. |
| 1120 | 1145 | ||
| 1121 | +++ | 1146 | +++ |