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)