Mercurial > hg > xemacs-beta
comparison etc/NEWS @ 442:abe6d1db359e r21-2-36
Import from CVS: tag r21-2-36
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:35:02 +0200 |
parents | 8de8e3f6228a |
children | 576fb035e263 |
comparison
equal
deleted
inserted
replaced
441:72a7cfa4a488 | 442:abe6d1db359e |
---|---|
45 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 |
46 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 |
47 Delete key to delete backwards, despite the presence (according to | 47 Delete key to delete backwards, despite the presence (according to |
48 Xlib) of a BackSpace key on the keyboard. | 48 Xlib) of a BackSpace key on the keyboard. |
49 | 49 |
50 ** Shifted motion keys now select text by default. You can turn this | |
51 off by setting `shifted-motion-keys-select-region' to nil. | |
52 | |
53 ** You can now set the variable `kill-whole-line' to `always', which | |
54 makes `kill-line' (C-k) delete the entire line always, not just when | |
55 the cursor is at the beginning of the line. This behavior, as well as | |
56 the existing kill-whole-line behavior, now only take effect when | |
57 kill-line is called interactively, although this is a departure from a | |
58 previous behavior in the case of setting this variable kill-whole-line | |
59 to t. It is almost certainly what has always been intended, and most | |
60 likely the old way of doing things introduced bugs. | |
61 | |
62 The new function `historical-kill-line' ignores the `kill-whole-line' | |
63 setting and always gives the historical behavior of only killing to | |
64 the end of the line. This function is bound to Sh-C-k, so that the | |
65 kill to end of line behavior is available, even when `kill-whole-line' | |
66 has been customized. | |
67 | |
68 ** XEmacs menus now have accelerators by default. If a menu item does | |
69 not have an accelerator specified, one is created dynamically, using | |
70 numbers 1-9 and letters. | |
71 | |
50 ** Interactive searching and matching case improvements. | 72 ** Interactive searching and matching case improvements. |
51 | 73 |
52 Case sensitiveness in searching operations is normally controlled by | 74 Case sensitiveness in searching operations is normally controlled by |
53 the variable `case-fold-search' (if non-nil, case is ignored while | 75 the variable `case-fold-search' (if non-nil, case is ignored while |
54 searching). This mechanism has now been slightly improved for | 76 searching). This mechanism has now been slightly improved for |
66 `isearch-highlight-all-matches' to nil. | 88 `isearch-highlight-all-matches' to nil. |
67 | 89 |
68 ** You can now use the buffer tabs to switch between buffers. The | 90 ** 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 | 91 tabs are located between the toolbar and the uppermost window, in a |
70 location called "gutter". If you dislike the buffer tabs, you can | 92 location called "gutter". If you dislike the buffer tabs, you can |
71 disable them by specifying: | 93 disable them by customizing `gutter-buffers-tab-visible-p', or by |
72 | 94 placing this in your .emacs: |
73 (set-specifier default-gutter-visible-p nil) | 95 |
74 | 96 (set-gutter-element-visible-p default-gutter-visible-p 'buffers-tab nil) |
75 in your `.emacs'. You can change the location of the gutter with | 97 |
98 You can change the location of the gutter with | |
76 `set-default-gutter-position', however currently only MS-Windows | 99 `set-default-gutter-position', however currently only MS-Windows |
77 supports tab widgets with orientations other than vertical.. | 100 supports tab widgets with orientations other than vertical. |
101 | |
102 ** Kill and yank now interact with the clipboard by default under | |
103 Windows. This was done by changing the default value of | |
104 `interprogram-cut-function' and `interprogram-paste-function'. You | |
105 can get the old behavior by setting these to nil, and there is an | |
106 option on the options menu to do this. | |
78 | 107 |
79 ** When you press RET at a minibuffer prompt that provides a default | 108 ** 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, | 109 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, | 110 you can now edit the default value by pressing the down arrow, |
82 accessing the logical "future" value. Not all minibuffer prompts have | 111 accessing the logical "future" value. Not all minibuffer prompts have |
89 rectangle, and `clear-rectangle', which filled even empty lines up to | 118 rectangle, and `clear-rectangle', which filled even empty lines up to |
90 the left side. All functions have been rewritten to avoid inserting | 119 the left side. All functions have been rewritten to avoid inserting |
91 unwanted spaces, and an optional prefix now allows them to behave the | 120 unwanted spaces, and an optional prefix now allows them to behave the |
92 old way. | 121 old way. |
93 | 122 |
123 Also, the behavior of `string-rectangle' is now compliant with | |
124 `pending-delete-mode': if this mode is active, then the string | |
125 replaces the region rectangle. Otherwise, the command does not delete | |
126 or overwrite any existing text. For those who want that feature but do | |
127 not use pending-delete-mode, a new function, `replace-rectangle', is | |
128 available. | |
129 | |
94 As a side effect, the FORCE argument to `move-to-column' now | 130 As a side effect, the FORCE argument to `move-to-column' now |
95 understands the special value `coerce', which means that the line | 131 understands the special value `coerce', which means that the line |
96 should not be filled if it is too short to reach the desired column. | 132 should not be filled if it is too short to reach the desired column. |
97 | 133 |
98 ** Customize now supports adding comments about your face and variable | 134 ** Customize now supports adding comments about your face and variable |
149 or the clipboard; conversions from different types of selection to the | 185 or the clipboard; conversions from different types of selection to the |
150 clipboard can be made; the kill-ring and friends will be updated as | 186 clipboard can be made; the kill-ring and friends will be updated as |
151 per X. | 187 per X. |
152 | 188 |
153 The only thing selection doesn't do is set the clipboard automatically | 189 The only thing selection doesn't do is set the clipboard automatically |
154 as this would break the MS-Windows model. If you want this behaviour | 190 as this would break the MS-Windows model. If you want this behavior |
155 then set `selection-sets-clipboard' to t | 191 then set `selection-sets-clipboard' to t. |
156 | 192 |
157 ** Mail spool locking now works correctly. | 193 ** Mail spool locking now works correctly. |
158 XEmacs has always come with a little auxiliary program, movemail, | 194 XEmacs has always come with a little auxiliary program, movemail, |
159 which moves mail out of the system's spool area into user storage. To | 195 which moves mail out of the system's spool area into user storage. To |
160 coordinate between XEmacs, the mail delivery agent, and other mail | 196 coordinate between XEmacs, the mail delivery agent, and other mail |
167 When installing XEmacs, make sure you configure it according to your | 203 When installing XEmacs, make sure you configure it according to your |
168 environment's mail spool locking conventions. When you're using a | 204 environment's mail spool locking conventions. When you're using a |
169 binary kit, set the `mail-lock-method' variable at startup, or the | 205 binary kit, set the `mail-lock-method' variable at startup, or the |
170 EMACSLOCKMETHOD environment variable. | 206 EMACSLOCKMETHOD environment variable. |
171 | 207 |
208 ** Init file will move to ~/.xemacs/init.el. | |
209 | |
210 If `~/.xemacs/init.el' exists, XEmacs will prefer it over `~/.emacs' | |
211 as an init file. The file may be byte-compiled as | |
212 `~/.xemacs/init.elc'. | |
213 | |
214 Future versions of XEmacs will stop supporting `~/.emacs' as an init | |
215 file. XEmacs offers automatic migration upon startup. | |
216 | |
217 ** Custom file will move to ~/.xemacs/custom.el. | |
218 | |
219 Whereas customize settings were formerly stored in the regular init | |
220 file, XEmacs now prefers them to be in a separate file | |
221 `~/.xemacs/custom.el', completely under automatic control. This | |
222 change goes with the migration of the init file, and XEmacs offers | |
223 automatic migration upon startup. | |
224 | |
225 ** Init file may be called .emacs.el. | |
226 | |
227 For the time being, like in GNU Emacs 20.4 and on, you can now name | |
228 the XEmacs init file `.emacs.el'. Formerly the name had to be | |
229 `.emacs'. If you use the name `.emacs.el', you can byte-compile the | |
230 file in the usual way. | |
231 | |
232 If both `.emacs' and `.emacs.el' exist, the latter file is the one | |
233 that is used. | |
234 | |
172 ** New command-line switches -user-init-file and -user-init-directory. | 235 ** New command-line switches -user-init-file and -user-init-directory. |
173 These can be used to specify alternate locations for what is normally | 236 These can be used to specify alternate locations for what is normally |
174 ~/.emacs and ~/.xemacs. | 237 ~/.emacs and ~/.xemacs. |
175 | 238 |
176 Moreover, -user <user> (which used to only work in unpredictable ways) | 239 Moreover, -user <user> (which used to only work in unpredictable ways) |
177 is now equivalent to | 240 is now equivalent to -user-init-file ~<user>/.xemacs/init.el |
178 -user-init-file ~<user>/.emacs -user-init-directory ~<user>/.xemacs. | 241 -user-init-directory ~<user>/.xemacs. or -user-init-file |
242 ~<user>/.emacs -user-init-directory ~<user>/.xemacs, whichever init | |
243 file comes first. | |
179 | 244 |
180 ** New variable `mswindows-meta-activates-menu'. | 245 ** New variable `mswindows-meta-activates-menu'. |
181 If you set this variable to nil then pressing the Alt key under | 246 If you set this variable to nil then pressing and releasing the Alt |
182 MS-Windows will no longer activate the menubar. The default is t. | 247 key under MS-Windows will no longer activate the menubar. The default |
183 | 248 is t. This is not to be confused with `menu-accelerator-enabled', |
184 ** Pixel-based scrolling has been implemented. | 249 which enables the use of Alt+<Letter> accelerators to invoke the |
250 menus. | |
251 | |
252 ** Pixel-based scrolling has been implemented. | |
185 By default this will attempt to scroll in increments equal to the | 253 By default this will attempt to scroll in increments equal to the |
186 height of the default face. Set `window-pixel-scroll-increment' to | 254 height of the default face. Set `window-pixel-scroll-increment' to |
187 modify this behaviour. | 255 modify this behavior. |
256 | |
257 ** Operation progress can be displayed using graphical widgets. | |
258 See `lprogress-display' for details. This support has been switched | |
259 on by default for font-lock and some web browsing functions. If you | |
260 do not like this behavior set `progress-feedback-use-echo-area'. | |
261 | |
262 ** The PostgreSQL Relational Database Management System is now supported. | |
263 It is now possible to build XEmacs so that the programming interface | |
264 to the PostgreSQL RDBMS (libpq) is available in XEmacs Lisp. | |
265 Supported versions of PostgreSQL are 6.5.3 (earlier versions may work, | |
266 but have not been tested) and 7.0-beta1. | |
188 | 267 |
189 ** Etags changes. | 268 ** Etags changes. |
190 | 269 |
191 *** In DOS, etags looks for file.cgz if it cannot find file.c. | 270 *** In DOS, etags looks for file.cgz if it cannot find file.c. |
192 | 271 |
239 running XEmacs only needs to mmap() that file and relocate a bit to | 318 running XEmacs only needs to mmap() that file and relocate a bit to |
240 get to the initialized data. In that scheme, there is no difference | 319 get to the initialized data. In that scheme, there is no difference |
241 between `temacs' and `xemacs'. | 320 between `temacs' and `xemacs'. |
242 | 321 |
243 This is all very experimental, though. Configure with `--pdump' to | 322 This is all very experimental, though. Configure with `--pdump' to |
244 try testing it. NOTE: it is expected that `make' will fail after | 323 try testing it. |
245 dumping `xemacs.dmp'. This is because Makefiles have not yet been | |
246 modified to not expect `temacs' producing an `xemacs' executable. You | |
247 can try it out by simply running `src/temacs'. If it starts without | |
248 failure, the portable dumping worked. | |
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 | 324 |
254 ** Much effort has been invested to make XEmacs Lisp faster: | 325 ** Much effort has been invested to make XEmacs Lisp faster: |
255 | 326 |
256 *** Many basic lisp operations are now faster. | 327 *** Many basic lisp operations are now faster. |
257 This is especially the case when running a Mule-enabled XEmacs. | 328 This is especially the case when running a Mule-enabled XEmacs. |
293 are implemented as native window-system widgets. Thus you can embed | 364 are implemented as native window-system widgets. Thus you can embed |
294 buttons, scrollbars, combo boxes, edit fields and progress gauges in a | 365 buttons, scrollbars, combo boxes, edit fields and progress gauges in a |
295 buffer. As a side effect subwindow support now works once again. | 366 buffer. As a side effect subwindow support now works once again. |
296 | 367 |
297 All of this is still fairly experimental and there is no | 368 All of this is still fairly experimental and there is no |
298 documentation. The current APIs might change in a future version of | 369 documentation. The current APIs might change in a future version of |
299 XEmacs. Some widgets are only available under MS-Windows. See the | 370 XEmacs. Some widgets are only available under MS-Windows. See the |
300 file glyphs-test.el in the XEmacs src distribution for examples of | 371 file glyphs-test.el in the XEmacs src distribution for examples of |
301 usage. | 372 usage. |
302 | 373 |
303 The buffers-tab functionality and progress gauge have been implemented | 374 The buffers-tab functionality and progress gauge have been implemented |
304 using this feature. | 375 using this feature. |
307 file/directory names. Previously, both variables used to be relative | 378 file/directory names. Previously, both variables used to be relative |
308 to (concat "~" init-file-user). This turned out to be too complicated | 379 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, | 380 for most packages (and some core Lisp files) to use correctly. Also, |
310 the `init-file-user' variable has been obsoleted in the process. | 381 the `init-file-user' variable has been obsoleted in the process. |
311 | 382 |
312 The user-visible options like `-u' have not changed their behaviour. | 383 The user-visible options like `-u' have not changed their behavior. |
313 | 384 |
314 ** XEmacs finally has an automated test suite! | 385 ** XEmacs finally has an automated test suite! |
315 Although this is not yet very sophisticated, it is already responsible | 386 Although this is not yet very sophisticated, it is already responsible |
316 for several important bug fixes in XEmacs. To try it out, simply use | 387 for several important bug fixes in XEmacs. To try it out, simply use |
317 the makefile target `make check' after building XEmacs. | 388 the makefile target `make check' after building XEmacs. |
436 (keywordp (intern ":foo" [0])) | 507 (keywordp (intern ":foo" [0])) |
437 => nil | 508 => nil |
438 (keywordp (intern ":foo")) ; The same as (keywordp :foo) | 509 (keywordp (intern ":foo")) ; The same as (keywordp :foo) |
439 => t | 510 => t |
440 | 511 |
441 This behaviour is compatible with other code which treats symbols | 512 This behavior is compatible with other code which treats symbols |
442 beginning with colon as keywords only if they are interned in the | 513 beginning with colon as keywords only if they are interned in the |
443 global obarray. `keywordp' used to wrongly return t in both cases | 514 global obarray. `keywordp' used to wrongly return t in both cases |
444 above. | 515 above. |
516 | |
517 ** New variables `this-command-properties' and | |
518 `last-command-properties' are now available for communication between | |
519 consecutive commands. Commands should use these to communicate with | |
520 the pre/post-command hooks, subsequent commands, wrapping commands, | |
521 etc. in preference to looking at and/or setting `this-command'. | |
522 | |
523 ** New functions `add-one-shot-hook' and `add-local-one-shot-hook' make | |
524 it possible to add a "one-shot" hook, which is to say a hook that runs | |
525 only once, and automatically removes itself after the first time it | |
526 has run. | |
527 | |
528 ** The descriptor that specifies the text of a menu item can now be an | |
529 evaluated expression. This makes this descriptor parallel with | |
530 others, which can also be expressions. | |
445 | 531 |
446 | 532 |
447 * Changes in XEmacs 21.0 | 533 * Changes in XEmacs 21.0 |
448 ======================== | 534 ======================== |
449 | 535 |