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