Mercurial > hg > xemacs-beta
comparison etc/NEWS @ 430:a5df635868b2 r21-2-23
Import from CVS: tag r21-2-23
| author | cvs |
|---|---|
| date | Mon, 13 Aug 2007 11:29:08 +0200 |
| parents | 3ecd8885ac67 |
| children | 3a7e78e1142d |
comparison
equal
deleted
inserted
replaced
| 429:8305706cbb93 | 430:a5df635868b2 |
|---|---|
| 113 maintained internally. | 113 maintained internally. |
| 114 | 114 |
| 115 The new primitives available for this purpose are functions named | 115 The new primitives available for this purpose are functions named |
| 116 `user-name-completion' and `user-name-all-completions'. | 116 `user-name-completion' and `user-name-all-completions'. |
| 117 | 117 |
| 118 ** Native widgets can be displayed in buffers. | |
| 119 | |
| 120 The glyph system has been extended to allow the display of glyphs that | |
| 121 are implemented as native window-system widgets. Thus you can embed | |
| 122 buttons, scrollbars, combo boxes, edit fields and progress gauges in a | |
| 123 buffer. As a side effect subwindow support now works once again. | |
| 124 | |
| 125 This support is currently only available under MS-Windows. | |
| 126 | |
| 127 ** XEmacs can now play sound using Enlightenment Sound Daemon (ESD). | 118 ** XEmacs can now play sound using Enlightenment Sound Daemon (ESD). |
| 128 It will try NAS first, then ESD, then playing native sound directly. | 119 It will try NAS first, then ESD, then playing native sound directly. |
| 129 | 120 |
| 130 ** X-Face support is now available under MS-Windows. | 121 ** X-Face support is now available under MS-Windows. |
| 131 If an X-Face libary built under MS-Windows is available then XEmacs | 122 If an X-Face libary built under MS-Windows is available then XEmacs |
| 189 | 180 |
| 190 | 181 |
| 191 * Lisp and internal changes in XEmacs 21.2 | 182 * Lisp and internal changes in XEmacs 21.2 |
| 192 ========================================== | 183 ========================================== |
| 193 | 184 |
| 185 ** A new portable dumper is available. | |
| 186 | |
| 187 Olivier Galibert has written a portable dumper for XEmacs, based on | |
| 188 initial work by Kyle Jones. Normally, XEmacs C sources link into an | |
| 189 executable called `temacs', which loads the Lisp code and "unexecs" | |
| 190 into a proper `xemacs' executable. The unexec() process is unreliable | |
| 191 and makes XEmacs hard to port to new operating systems, or even to new | |
| 192 releases of old systems. | |
| 193 | |
| 194 A portable dumper is a different approach to dumping: instead of | |
| 195 dumping full-fledged executable, it only dumps out the initialized | |
| 196 data structures (both Lisp and C) into an external file. A normally | |
| 197 running XEmacs only needs to mmap() that file and relocate a bit to | |
| 198 get to the initialized data. In that scheme, there is no difference | |
| 199 between `temacs' and `xemacs'. | |
| 200 | |
| 201 This is all very experimental, though. Configure with `--pdump' to | |
| 202 try testing it. NOTE: it is expected that `make' will fail after | |
| 203 dumping `xemacs.dmp'. This is because Makefiles have not yet been | |
| 204 modified to not expect `temacs' producing an `xemacs' executable. You | |
| 205 can try it out by simply running `src/temacs'. If it starts without | |
| 206 failure, the portable dumping worked. | |
| 207 | |
| 194 ** Much effort has been invested to make XEmacs Lisp faster: | 208 ** Much effort has been invested to make XEmacs Lisp faster: |
| 195 | 209 |
| 196 *** Many basic lisp operations are now faster. | 210 *** Many basic lisp operations are now faster. |
| 197 This is especially the case when running a Mule-enabled XEmacs. | 211 This is especially the case when running a Mule-enabled XEmacs. |
| 198 | 212 |
| 224 | 238 |
| 225 Many operations do not see any improvement. Surprisingly, running | 239 Many operations do not see any improvement. Surprisingly, running |
| 226 (font-lock-fontify-buffer) does not use the Lisp engine much at all. | 240 (font-lock-fontify-buffer) does not use the Lisp engine much at all. |
| 227 Speeding up your favorite slow operation is an excellent project to | 241 Speeding up your favorite slow operation is an excellent project to |
| 228 improve XEmacs. Don't forget to profile! | 242 improve XEmacs. Don't forget to profile! |
| 243 | |
| 244 ** Native widgets can be displayed in buffers. | |
| 245 | |
| 246 The glyph system has been extended to allow the display of glyphs that | |
| 247 are implemented as native window-system widgets. Thus you can embed | |
| 248 buttons, scrollbars, combo boxes, edit fields and progress gauges in a | |
| 249 buffer. As a side effect subwindow support now works once again. | |
| 250 | |
| 251 All of this is still very experimental. This support is currently | |
| 252 only available under MS-Windows. (#### Is this true?) | |
| 253 | |
| 254 ** user-init-directory is now an absolute, unexpanded path. | |
| 255 Previously, `user-init-directory' used to be relative to | |
| 256 (concat "~" init-file-user). This turned out to be too complicated | |
| 257 for most packages (and some core Lisp files) to use correctly. | |
| 258 | |
| 259 Also, `init-file-user' has been obsoleted in the process. | |
| 229 | 260 |
| 230 ** XEmacs finally has an automated test suite! | 261 ** XEmacs finally has an automated test suite! |
| 231 Although this is not yet very sophisticated, it is already responsible | 262 Although this is not yet very sophisticated, it is already responsible |
| 232 for several important bug fixes in XEmacs. To try it out, simply use | 263 for several important bug fixes in XEmacs. To try it out, simply use |
| 233 the makefile target `make check' after building XEmacs. | 264 the makefile target `make check' after building XEmacs. |
| 256 => (foo ... <circular list>) | 287 => (foo ... <circular list>) |
| 257 | 288 |
| 258 An extra bonus is that checking for circularities is not just | 289 An extra bonus is that checking for circularities is not just |
| 259 friendlier, but actually faster than checking for C-g. | 290 friendlier, but actually faster than checking for C-g. |
| 260 | 291 |
| 261 ** The new form `ignore-file-errors', similar to `ignore-errors' may | 292 ** Functions for decoding base64 encoding are now available; see |
| 262 be used as a short-hand for condition-case when you wish to ignore | 293 `base64-encode-region', `base64-encode-string', `base64-decode-region' |
| 263 file-related error. For example: | 294 and `base64-decode-string'. |
| 264 | 295 |
| 265 (ignore-file-errors (delete-file "foo")) | 296 ** The arguments to `locate-file' are now more Lisp-like. As before, |
| 266 | 297 the usage is: |
| 267 ** The arguments to `locate-file' are now much more "lispy". As | |
| 268 before, the usage is: | |
| 269 | 298 |
| 270 (locate-file FILENAME PATH-LIST &optional SUFFIXES MODE) | 299 (locate-file FILENAME PATH-LIST &optional SUFFIXES MODE) |
| 271 | 300 |
| 272 Except that SUFFIXES are now a list of strings instead of a single, | 301 Except that SUFFIXES are now a list of strings instead of a single, |
| 273 colon-separated string. MODE is now a symbol or a list of symbols | 302 colon-separated string. MODE is now a symbol or a list of symbols |
| 293 (put-char-table ?a "the letter a" table) | 322 (put-char-table ?a "the letter a" table) |
| 294 (put-char-table ?b "" table) | 323 (put-char-table ?b "" table) |
| 295 (put-char-table ?c ?\n table) | 324 (put-char-table ?c ?\n table) |
| 296 (translate-region (point-min) (point-max) table)) | 325 (translate-region (point-min) (point-max) table)) |
| 297 | 326 |
| 298 ** The `keywordp' function now returns non-nil only on symbols | 327 ** The new form `ignore-file-errors', similar to `ignore-errors' may |
| 299 interned in the global obarray. For example: | 328 be used as a short-hand for condition-case when you wish to ignore |
| 300 | 329 file-related error. For example: |
| 301 (keywordp (intern ":foo" [0])) | 330 |
| 302 => nil | 331 (ignore-file-errors (delete-file "foo")) |
| 303 (keywordp (intern ":foo")) ; The same as (keywordp :foo) | |
| 304 => t | |
| 305 | |
| 306 This behaviour is compatible with other code which treats symbols | |
| 307 beginning with colon as keywords only if they are interned in the | |
| 308 global obarray. `keywordp' used to wrongly return t in both cases | |
| 309 above. | |
| 310 | 332 |
| 311 ** The first argument to `intern-soft' may now also be a symbol, like | 333 ** The first argument to `intern-soft' may now also be a symbol, like |
| 312 with `unintern'. If given a symbol, `intern-soft' will look for that | 334 with `unintern'. If given a symbol, `intern-soft' will look for that |
| 313 exact symbol rather than for any string. This is useful when you want | 335 exact symbol rather than for any string. This is useful when you want |
| 314 to check whether a specific symbol is interned in an obarray, e.g.: | 336 to check whether a specific symbol is interned in an obarray, e.g.: |
| 317 (intern-soft "foo") | 339 (intern-soft "foo") |
| 318 => foo | 340 => foo |
| 319 (intern-soft (make-symbol "foo")) | 341 (intern-soft (make-symbol "foo")) |
| 320 => nil | 342 => nil |
| 321 | 343 |
| 322 ** Functions for decoding base64 encoding are now available; see | 344 ** The `keywordp' function now returns non-nil only on symbols |
| 323 `base64-encode-region', `base64-encode-string', `base64-decode-region' | 345 interned in the global obarray. For example: |
| 324 and `base64-decode-string'. | 346 |
| 325 | 347 (keywordp (intern ":foo" [0])) |
| 326 ** user-init-directory is now an absolute, unexpanded path. | 348 => nil |
| 327 Previously, `user-init-directory' used to be relative to | 349 (keywordp (intern ":foo")) ; The same as (keywordp :foo) |
| 328 (concat "~" init-file-user). This turned out to be too complicated | 350 => t |
| 329 for most packages (and some core Lisp files) to use correctly. | 351 |
| 330 | 352 This behaviour is compatible with other code which treats symbols |
| 331 Also, `init-file-user' has been obsoleted in the process. | 353 beginning with colon as keywords only if they are interned in the |
| 354 global obarray. `keywordp' used to wrongly return t in both cases | |
| 355 above. | |
| 332 | 356 |
| 333 | 357 |
| 334 * Changes in XEmacs 21.0 | 358 * Changes in XEmacs 21.0 |
| 335 ======================== | 359 ======================== |
| 336 | 360 |
