Mercurial > hg > xemacs-beta
comparison etc/NEWS @ 440:8de8e3f6228a r21-2-28
Import from CVS: tag r21-2-28
| author | cvs |
|---|---|
| date | Mon, 13 Aug 2007 11:33:38 +0200 |
| parents | 84b14dcb0985 |
| children | abe6d1db359e |
comparison
equal
deleted
inserted
replaced
| 439:357dd071b03c | 440:8de8e3f6228a |
|---|---|
| 31 | 31 |
| 32 | 32 |
| 33 * Changes in XEmacs 21.2 | 33 * Changes in XEmacs 21.2 |
| 34 ======================== | 34 ======================== |
| 35 | 35 |
| 36 ** `delete-key-deletes-forward' now defaults to t. | 36 ** The delete key now deletes forward by default. |
| 37 | 37 |
| 38 `delete-key-deletes-forward' is the variable that regulates the | 38 This is regulated by the variable `delete-key-deletes-forward', which |
| 39 behaviour of the delete key on the systems that offer both a backspace | 39 now defaults to t. `delete-key-deletes-forward' takes effect only on |
| 40 and a delete key. If set to nil, the key labeled "Delete" will delete | 40 the systems that offer both a backspace and a delete key. If set to |
| 41 backward. If set to non-nil, the "Delete" key will delete forward, | 41 nil, the key labeled "Delete" will always delete backward. If set to |
| 42 except on keyboards where a "Backspace" key is not provided. | 42 non-nil, the "Delete" key will delete forward, except on keyboards |
| 43 where a "Backspace" key is not provided (e.g. old DEC keyboards.) | |
| 43 | 44 |
| 44 Unless our implementation has bugs, the only reason why you would want | 45 Unless our implementation has bugs, the only reason why you would want |
| 45 to set `delete-key-deletes-forward' to nil is if you want to use the | 46 to set `delete-key-deletes-forward' to nil is if you want to use the |
| 46 Delete key to delete backwards, despite the presence (according to | 47 Delete key to delete backwards, despite the presence (according to |
| 47 Xlib) of a BackSpace key on the keyboard. | 48 Xlib) of a BackSpace key on the keyboard. |
| 56 `case-fold-search'. | 57 `case-fold-search'. |
| 57 | 58 |
| 58 The new behavior affects all functions performing interactive | 59 The new behavior affects all functions performing interactive |
| 59 searches, like `zap-to-char', `list-matching-lines', `tags-search' | 60 searches, like `zap-to-char', `list-matching-lines', `tags-search' |
| 60 etc. The incremental search facility has always behaved that way. | 61 etc. The incremental search facility has always behaved that way. |
| 62 | |
| 63 ** Incremental search will now highlight all visible matches, making | |
| 64 it easier to anticipate where consecutive C-s or C-r will place the | |
| 65 point. If you want to disable the feature, set | |
| 66 `isearch-highlight-all-matches' to nil. | |
| 67 | |
| 68 ** You can now use the buffer tabs to switch between buffers. The | |
| 69 tabs are located between the toolbar and the uppermost window, in a | |
| 70 location called "gutter". If you dislike the buffer tabs, you can | |
| 71 disable them by specifying: | |
| 72 | |
| 73 (set-specifier default-gutter-visible-p nil) | |
| 74 | |
| 75 in your `.emacs'. You can change the location of the gutter with | |
| 76 `set-default-gutter-position', however currently only MS-Windows | |
| 77 supports tab widgets with orientations other than vertical.. | |
| 78 | |
| 79 ** When you press RET at a minibuffer prompt that provides a default | |
| 80 value, the value is stored in history instead of an empty line. Also, | |
| 81 you can now edit the default value by pressing the down arrow, | |
| 82 accessing the logical "future" value. Not all minibuffer prompts have | |
| 83 yet been converted to support this feature. | |
| 61 | 84 |
| 62 ** The rectangle functions have been almost completely rewritten in | 85 ** The rectangle functions have been almost completely rewritten in |
| 63 order to avoid inserting undesirable spaces, notably at the end of | 86 order to avoid inserting undesirable spaces, notably at the end of |
| 64 lines. Two typical examples of the old behavior were | 87 lines. Two typical examples of the old behavior were |
| 65 `string-rectangle', which filled all lines up to the right side of the | 88 `string-rectangle', which filled all lines up to the right side of the |
| 70 | 93 |
| 71 As a side effect, the FORCE argument to `move-to-column' now | 94 As a side effect, the FORCE argument to `move-to-column' now |
| 72 understands the special value `coerce', which means that the line | 95 understands the special value `coerce', which means that the line |
| 73 should not be filled if it is too short to reach the desired column. | 96 should not be filled if it is too short to reach the desired column. |
| 74 | 97 |
| 75 ** Incremental search will now highlight all visible matches, making | 98 ** Customize now supports adding comments about your face and variable |
| 76 it easier to anticipate where consecutive C-s or C-r will place the | 99 settings using a new menu entry. Comments for variables can also be |
| 77 point. If you want to disable the feature, set | 100 assigned by calling `customize-set-(value|variable)' with a prefix |
| 78 `isearch-highlight-all-matches' to nil. | 101 argument. |
| 79 | |
| 80 ** You can now customize and save comments for faces and variables. | |
| 81 In Custom buffers, a new menu entry allows you to add and edit a | |
| 82 comment. Comments for variables can also be assigned by calling | |
| 83 `customize-set-(value|variable)' with a prefix argument. | |
| 84 | 102 |
| 85 ** XEmacs now locates the early package hierarchies at | 103 ** XEmacs now locates the early package hierarchies at |
| 86 ~/.xemacs/mule-packages/ and ~/.xemacs/xemacs-packages/. Previously, | 104 ~/.xemacs/mule-packages/ and ~/.xemacs/xemacs-packages/. Previously, |
| 87 the early packages were located in ~/.xemacs/. | 105 the early packages were located in ~/.xemacs/. |
| 88 | 106 |
| 161 | 179 |
| 162 ** New variable `mswindows-meta-activates-menu'. | 180 ** New variable `mswindows-meta-activates-menu'. |
| 163 If you set this variable to nil then pressing the Alt key under | 181 If you set this variable to nil then pressing the Alt key under |
| 164 MS-Windows will no longer activate the menubar. The default is t. | 182 MS-Windows will no longer activate the menubar. The default is t. |
| 165 | 183 |
| 184 ** Pixel-based scrolling has been implemented. | |
| 185 By default this will attempt to scroll in increments equal to the | |
| 186 height of the default face. Set `window-pixel-scroll-increment' to | |
| 187 modify this behaviour. | |
| 188 | |
| 166 ** Etags changes. | 189 ** Etags changes. |
| 167 | 190 |
| 168 *** In DOS, etags looks for file.cgz if it cannot find file.c. | 191 *** In DOS, etags looks for file.cgz if it cannot find file.c. |
| 169 | 192 |
| 170 *** New option --ignore-case-regex is an alternative to --regex. It is now | 193 *** New option --ignore-case-regex is an alternative to --regex. It is now |
| 171 possible to bind a regexp to a language, by prepending the regexp with | 194 possible to bind a regexp to a language, by prepending the regexp with |
| 172 {lang}, where lang is one of the languages that `etags --help' prints out. | 195 {lang}, where lang is one of the languages that `etags --help' prints |
| 173 This feature is useful especially for regex files, where each line contains | 196 out. This feature is useful especially for regex files, where each |
| 174 a regular expression. The manual contains details. | 197 line contains a regular expression. The manual contains details. |
| 175 | 198 |
| 176 *** In C and derived languages, etags creates tags for function | 199 *** In C and derived languages, etags creates tags for function |
| 177 declarations when given the --declarations option. | 200 declarations when given the --declarations option. |
| 178 | 201 |
| 179 *** In C++, tags are created for "operator". The tags have the form | 202 *** In C++, tags are created for "operator". The tags have the form |
| 199 | 222 |
| 200 | 223 |
| 201 * Lisp and internal changes in XEmacs 21.2 | 224 * Lisp and internal changes in XEmacs 21.2 |
| 202 ========================================== | 225 ========================================== |
| 203 | 226 |
| 204 ** A new portable dumper is available. | 227 ** A new portable dumper is available for beta testing. |
| 205 | 228 |
| 206 Olivier Galibert has written a portable dumper for XEmacs, based on | 229 Olivier Galibert has written a portable dumper for XEmacs, based on |
| 207 initial work by Kyle Jones. Normally, XEmacs C sources link into an | 230 initial work by Kyle Jones. Normally, XEmacs C sources link into an |
| 208 executable called `temacs', which loads the Lisp code and "unexecs" | 231 executable called `temacs', which loads the Lisp code and "unexecs" |
| 209 into a proper `xemacs' executable. The unexec() process is hard to | 232 into a proper `xemacs' executable. The unexec() process is hard to |
| 222 dumping `xemacs.dmp'. This is because Makefiles have not yet been | 245 dumping `xemacs.dmp'. This is because Makefiles have not yet been |
| 223 modified to not expect `temacs' producing an `xemacs' executable. You | 246 modified to not expect `temacs' producing an `xemacs' executable. You |
| 224 can try it out by simply running `src/temacs'. If it starts without | 247 can try it out by simply running `src/temacs'. If it starts without |
| 225 failure, the portable dumping worked. | 248 failure, the portable dumping worked. |
| 226 | 249 |
| 250 #### NOTE: the portable dumper is not really usable yet, because the | |
| 251 state of built-in variables is not yet saved. Olivier promised to fix | |
| 252 it. Nag, nag. | |
| 253 | |
| 227 ** Much effort has been invested to make XEmacs Lisp faster: | 254 ** Much effort has been invested to make XEmacs Lisp faster: |
| 228 | 255 |
| 229 *** Many basic lisp operations are now faster. | 256 *** Many basic lisp operations are now faster. |
| 230 This is especially the case when running a Mule-enabled XEmacs. | 257 This is especially the case when running a Mule-enabled XEmacs. |
| 231 | 258 |
| 265 The glyph system has been extended to allow the display of glyphs that | 292 The glyph system has been extended to allow the display of glyphs that |
| 266 are implemented as native window-system widgets. Thus you can embed | 293 are implemented as native window-system widgets. Thus you can embed |
| 267 buttons, scrollbars, combo boxes, edit fields and progress gauges in a | 294 buttons, scrollbars, combo boxes, edit fields and progress gauges in a |
| 268 buffer. As a side effect subwindow support now works once again. | 295 buffer. As a side effect subwindow support now works once again. |
| 269 | 296 |
| 270 All of this is still very experimental. This feature is currently | 297 All of this is still fairly experimental and there is no |
| 271 more complete under MS-Windows. | 298 documentation. The current APIs might change in a future version of |
| 272 | 299 XEmacs. Some widgets are only available under MS-Windows. See the |
| 273 ** user-init-directory is now an absolute, unexpanded path. | 300 file glyphs-test.el in the XEmacs src distribution for examples of |
| 274 Previously, `user-init-directory' used to be relative to | 301 usage. |
| 275 (concat "~" init-file-user). This turned out to be too complicated | 302 |
| 276 for most packages (and some core Lisp files) to use correctly. | 303 The buffers-tab functionality and progress gauge have been implemented |
| 277 | 304 using this feature. |
| 278 Also, `init-file-user' has been obsoleted in the process. | 305 |
| 306 ** `user-init-file' and `user-init-directory' are now absolute | |
| 307 file/directory names. Previously, both variables used to be relative | |
| 308 to (concat "~" init-file-user). This turned out to be too complicated | |
| 309 for most packages (and some core Lisp files) to use correctly. Also, | |
| 310 the `init-file-user' variable has been obsoleted in the process. | |
| 311 | |
| 312 The user-visible options like `-u' have not changed their behaviour. | |
| 279 | 313 |
| 280 ** XEmacs finally has an automated test suite! | 314 ** XEmacs finally has an automated test suite! |
| 281 Although this is not yet very sophisticated, it is already responsible | 315 Although this is not yet very sophisticated, it is already responsible |
| 282 for several important bug fixes in XEmacs. To try it out, simply use | 316 for several important bug fixes in XEmacs. To try it out, simply use |
| 283 the makefile target `make check' after building XEmacs. | 317 the makefile target `make check' after building XEmacs. |
| 309 friendlier, but actually faster than checking for C-g. | 343 friendlier, but actually faster than checking for C-g. |
| 310 | 344 |
| 311 ** Functions for decoding base64 encoding are now available; see | 345 ** Functions for decoding base64 encoding are now available; see |
| 312 `base64-encode-region', `base64-encode-string', `base64-decode-region' | 346 `base64-encode-region', `base64-encode-string', `base64-decode-region' |
| 313 and `base64-decode-string'. | 347 and `base64-decode-string'. |
| 348 | |
| 349 ** The functions `read-string', `read-expression', `eval-minibuffer', | |
| 350 `read-variable', `read-command', `read-function', `read-number', | |
| 351 `read-shell-command', `read-from-minibuffer', and `completing-read' | |
| 352 now take an additional argument which specifies the default value. If | |
| 353 this argument is non-nil, it should be a string; that string is used | |
| 354 in two ways: | |
| 355 | |
| 356 It is returned if the user enters empty input. | |
| 357 It is available through the history command M-n. | |
| 358 | |
| 359 ** LDAP changes. | |
| 360 | |
| 361 *** The LDAP interface now consists of two layers, a low-level layer | |
| 362 that closely matches the LDAP C API, and a more convenient | |
| 363 higher-level set of functions. | |
| 364 | |
| 365 *** The low-level functions that used to be named *-internal are now | |
| 366 named more simply: `ldap-open', `ldap-close', `ldap-search-basic', | |
| 367 `ldap-add', and `ldap-modify'. They should be used directly for very | |
| 368 specific purposes (such as multiple operations on a connection) only. | |
| 369 | |
| 370 *** The higher-level functions provide a more convenient way to access | |
| 371 LDAP directories hiding the subtleties of handling the connection, | |
| 372 translating arguments and ensuring compliance with LDAP | |
| 373 internationalization rules and formats (currently partly implemented | |
| 374 only.) This layer provides atomic operations for searches, | |
| 375 modification, addition and deletion of multiple entries at once: | |
| 376 `ldap-search-entries', `ldap-add-entries', `ldap-delete-entries', and | |
| 377 `ldap-modify-entries'. | |
| 378 | |
| 379 *** To maintain compatibility with previous code, the now obsolete | |
| 380 function `ldap-search' is now merely a wrapper that calls either | |
| 381 `ldap-search-basic' or `ldap-search-entries'. Please don't use the | |
| 382 `ldap-search' function in your new programs -- a direct call to one of | |
| 383 the two replacements is more efficient and unambiguous. | |
| 314 | 384 |
| 315 ** The arguments to `locate-file' are now more Lisp-like. As before, | 385 ** The arguments to `locate-file' are now more Lisp-like. As before, |
| 316 the usage is: | 386 the usage is: |
| 317 | 387 |
| 318 (locate-file FILENAME PATH-LIST &optional SUFFIXES MODE) | 388 (locate-file FILENAME PATH-LIST &optional SUFFIXES MODE) |
