comparison etc/NEWS @ 207:e45d5e7c476e r20-4b2

Import from CVS: tag r20-4b2
author cvs
date Mon, 13 Aug 2007 10:03:52 +0200
parents 850242ba4a81
children 41ff10fd062f
comparison
equal deleted inserted replaced
206:d3e9274cbc4e 207:e45d5e7c476e
137 137
138 On consoles that display only one frame at a time (e.g. TTY consoles), 138 On consoles that display only one frame at a time (e.g. TTY consoles),
139 creating a new frame with `C-x 5 2' also raises and selects that 139 creating a new frame with `C-x 5 2' also raises and selects that
140 frame. The behavior of window system frames is unchanged. 140 frame. The behavior of window system frames is unchanged.
141 141
142 ** Package starting changes.
143
144 State of Emacs should never be changed with loading a package. The
145 following XEmacs packages that used to break this have been changed.
146
147 *** Loading `paren' no longer enables paren-blinking. Use
148 `paren-set-mode' explicitly, or customize `paren-mode'.
149
150 *** Loading `uniquify' no longer enables uniquify. Set
151 `uniquify-buffer-name-style' to a legal value.
152
153 *** Loading `time' no longer enables display time. Invoke
154 `display-time' explicitly.
155
156 *** Loading `jka-compr' no longer enables on-the-fly compression. Use
157 `toggle-auto-compression' instead.
158
159 *** Loading `id-select' no longer enables its behaviour. Use
160 `id-select-install' instead.
161
142 ** Zmacs region is not deactivated when an error is signaled. 162 ** Zmacs region is not deactivated when an error is signaled.
143 163
144 The behavior of the zmacs region can now be controlled in the event of 164 The behavior of the zmacs region can now be controlled in the event of
145 a signaled error. The new variable `errors-deactivate-region' may be 165 a signaled error. The new variable `errors-deactivate-region' may be
146 set to nil to revert to the old behaviour. As before, typing C-g 166 set to nil to revert to the old behaviour. As before, typing C-g
147 deactivates the region. 167 deactivates the region.
148 168
149 ** Info "dir" functionality merged from Emacs-19.34 169 ** Multiple Info `dir' functionality has been merged with GNU Emacs
150 170 19.34.
151 ------------------ DRAFT ------------------ 171
152 172 XEmacs will now correctly merge all the `dir' files in
153 At the time it is dumped, XEmacs will initialize the value of 173 `Info-directory-list' (initialized from either `INFOPATH'
154 `Info-default-directory-list' from the value of the environment 174 env. variable or `Info-default-directory-list'.) These files may be
155 variable INFOPATH, which it inherits from the Makefile. The Makefile 175 full-fledged info files containing subnodes or menus. Previously
156 gets the value from `configure'. 176 supported `localdir' files are looked for also, secondary to `dir's.
157 177 See the manual for details.
158 #### BETA Note: if the package startup stuff moves or changes, this
159 next paragraph may need fixing.
160
161 At runtime, the XEmacs startup code will loop through that list and
162 collect all of the directories in it that satisfy `file-directory-p',
163 and then appends any site package info directories found... ?? How do
164 you want this worded? XXXXX !!!! (bright red bold DRAFT)
165
166 When you start the info reader, `Info-directory-list' is initialized
167 from either the environment variable "INFOPATH", if it exists, or
168 `Info-default-directory-list'. The first directory in this list must
169 contain a "dir" file like the one supplied with XEmacs. Note that if
170 an INFOPATH variable is used, that only the directories in that path
171 will be searched; no package info paths will be appended, as `Info-
172 default-directory-list' will be ignored in that case.
173
174 All of the directories on `Info-directory-list' will be searched for
175 "dir" files, which may be full fledged Info files containing subnodes
176 as well as menus. They are merged to become one Info directory, with
177 menus in like-named subnodes being coalesced from the several "dir"
178 files.
179
180 BETA Note: I have not tested this very thouroughly. Does anyone out
181 there actually have a dir file with real `info' subnodes in it? I
182 will create one and try it as I learn how. - karlheg
183
184 "localdir" files are looked for also, secondary to "dir"'s. A localdir
185 file should look like a section of the Info directory menu:
186
187 |
188 |* Gnus:: The all seeing all knowing News and Mail
189 | interface for XEmacs.
190 |* Calc:: HP-48 alike Calculator that can do algebra
191 |
192
193 The info reader will insert its contents into the main Info directory
194 either at the end of the (dir)Top node, beginning at and replacing a
195 line that looks like:
196
197 |
198 |* Locals:
199 |
200
201 BETA-Note: Coming soon...
202
203 ... or, below a line that contains the exact text:
204
205 |
206 |Locally installed XEmacs Packages
207 |
208
209 ... by default. (This text is configurable--- see:
210 `M-x customize-variable Info-localdir-heading-regexp'
211
212 The `Info-localdir-heading-regexp' may be underlined with *'s, ='s, or
213 -'s, like any Info topic header. When `Info-fontify' is non-nil, the
214 underlineing characters will be elided and the topic heading itself
215 will be given a face, according to `Info-title-face-alist'.
216
217 178
218 ** Abbreviations can now contain non-word characters. 179 ** Abbreviations can now contain non-word characters.
219 180
220 This means that it is finally possible to do such simple things as 181 This means that it is finally possible to do such simple things as
221 define `#in' to expand to `#include' in C mode, `s-c-b' to 182 define `#in' to expand to `#include' in C mode, `s-c-b' to
228 189
229 ** The new command `C-x 4 0' (kill-buffer-and-window) kills the 190 ** The new command `C-x 4 0' (kill-buffer-and-window) kills the
230 current buffer and deletes the selected window. It asks for 191 current buffer and deletes the selected window. It asks for
231 confirmation first. 192 confirmation first.
232 193
194 ** `ESC ESC ESC' (keyboard-escape-quit) will now correctly abort
195 recursive edits (as documented.)
196
233 ** arc-mode has a new function called `archive-quit' bound to q, which 197 ** arc-mode has a new function called `archive-quit' bound to q, which
234 quits archive mode in the same fashion dired-quit works. 198 quits archive mode in the same fashion dired-quit works.
199
200 ** A `tetris' clone is now available within XEmacs, written by Glynn
201 Clements. Try it out with `M-x tetris'.
235 202
236 ** The feature to teach the key bindings of extended commands now 203 ** The feature to teach the key bindings of extended commands now
237 prints the message after the command finishes. After some time, the 204 prints the message after the command finishes. After some time, the
238 previous echo area contents are restored (in case the command prints 205 previous echo area contents are restored (in case the command prints
239 something useful). 206 something useful).
245 212
246 ** Face background colors now take precedence over the default face 213 ** Face background colors now take precedence over the default face
247 background pixmap, which means that background pixmaps no longer clash 214 background pixmap, which means that background pixmaps no longer clash
248 with zmacs-regions, or clickable buttons. 215 with zmacs-regions, or clickable buttons.
249 216
217 ** Regexps can now contain additional Perl-like constructs.
218
219 ** Modifiers can be added to a keystroke by preceding it with a `C-x @
220 <x>' sequence where <x> is one of letters `S', `c', `m', `a', `h', `s'
221 corresponding to shift, control, meta, alt, hyper, and super modifiers,
222 respectively. It is possible to add several modifiers by repeating this
223 sequence. This feature is especially useful on text terminals where it
224 allows one to enter keystrokes like, e.g., `M-home'.
225
250 ** Customize changes. 226 ** Customize changes.
251 227
252 *** Customize has undergone a massive speedup, and should now operate 228 *** Customize has undergone a massive speedup, and should now operate
253 acceptably fast. Slowness of the interface used to be the biggest 229 acceptably fast. Slowness of the interface used to be the biggest
254 gripe. 230 gripe.
255 231
256 *** Many more packages have been modified to use the facility, so 232 *** Many more packages have been modified to use the facility, so
257 almost all of XEmacs options can be examined through the Customize 233 almost all of XEmacs options can now be examined through the Customize
258 groups. 234 groups.
259 235
260 *** There is a new `browser' mode of traversing customizations, in 236 *** There is a new `browser' mode of traversing customizations, in
261 many ways easier to follow than the standard one. Try it out with 237 many ways easier to follow than the standard one. Try it out with
262 `M-x customize-browse'. 238 `M-x customize-browse'.
276 not M-x load-library <ret> pending-delete <ret> 252 not M-x load-library <ret> pending-delete <ret>
277 253
278 In .emacs: Use (turn-on-pending-delete) 254 In .emacs: Use (turn-on-pending-delete)
279 not (load "pending-del") 255 not (load "pending-del")
280 256
281 ** Package starting changes.
282
283 *** Loading `paren' no longer enables paren-blinking. Use
284 `paren-set-mode' explicitly, or customize `paren-mode'.
285
286 *** Loading `uniquify' no longer enables uniquify. Set
287 `uniquify-buffer-name-style' to a legal value.
288
289 *** Loading `time' no longer enables display time. Invoke
290 `display-time' explicitly.
291
292 *** Loading `jka-compr' no longer enables on-the-fly compression. Use
293 `toggle-auto-compression' instead.
294
295 *** Loading `id-select' no longer enables its behaviour. Use
296 `id-select-install' instead.
297
298 ** XEmacs can now save the minibuffer histories from various 257 ** XEmacs can now save the minibuffer histories from various
299 minibuffers. To use this feature, add the line: 258 minibuffers. To use this feature, add the line:
300 259
301 (savehist-load) 260 (savehist-load)
302 261
310 To revert to the old behaviour, use: 269 To revert to the old behaviour, use:
311 270
312 (setq add-log-time-format 'current-time-string) 271 (setq add-log-time-format 'current-time-string)
313 272
314 Or `M-x customize RET add-log RET'. 273 Or `M-x customize RET add-log RET'.
274
275 ** In ChangeLog mode, you can now press `C-c C-c' to save the file
276 and restore old window configuration, or `C-c C-k' to abandon the
277 changes.
315 278
316 ** The key `C-x m' no longer runs the `mail' command directly. 279 ** The key `C-x m' no longer runs the `mail' command directly.
317 Instead, it runs the command `compose-mail', which invokes the mail 280 Instead, it runs the command `compose-mail', which invokes the mail
318 composition mechanism you have selected with the variable 281 composition mechanism you have selected with the variable
319 `mail-user-agent'. The default choice of user agent is 282 `mail-user-agent'. The default choice of user agent is
344 307
345 *** The Lisp part of gnuserv has been rewritten to allow for more 308 *** The Lisp part of gnuserv has been rewritten to allow for more
346 flexibility and features. 309 flexibility and features.
347 310
348 *** Many new options and variables are now customizable. Try 311 *** Many new options and variables are now customizable. Try
349 `M-x customize-group RET gnuserv RET'. 312 `M-x customize RET gnuserv RET'.
350 313
351 *** The `gnuattach' and `gnudoit' programs have been abandoned in 314 *** The functionality of `gnuattach' and `gnudoit' programs is
352 favor of `gnuclient', which now accepts the standard `-nw', 315 provided by `gnuclient', which now accepts the standard `-nw',
353 `-display', `-eval' and `-f' options. 316 `-display', `-eval' and `-f' options.
354 317
355 ** Etags changes. 318 ** Etags changes.
356 319
357 *** In C, C++, Objective C and Java, Etags tags global variables by 320 *** In C, C++, Objective C and Java, Etags tags global variables by
406 *** The new function `ada-gnat-style' converts the buffer to the style of 369 *** The new function `ada-gnat-style' converts the buffer to the style of
407 formatting used in GNAT. It places two blanks after a comment start, 370 formatting used in GNAT. It places two blanks after a comment start,
408 places one blank between a word end and an opening '(', and puts one 371 places one blank between a word end and an opening '(', and puts one
409 space between a comma and the beginning of a word. 372 space between a comma and the beginning of a word.
410 373
374 ** New demand based locking implementation
375
376 A faster, but experimental replacement for lazy-lock (called lazy-shot) is
377 provided. Like lazy-lock it provides demand based and idle time
378 font-lock-ing. However the lazy-lock versions that came with previous
379 versions slowed down XEmacs (possibly quite a lot). Lazy-shot solves
380 this problem by relying on new support from the C code part of XEmacs.
381 The support however is experimental and will cause some flashing as
382 parts of the buffer are colored. This likely to change in the future
383 as the C support is completed.
384
385 The current lazy-shot implementation is mostly interface compatible
386 with lazy-lock v2.06 (the version shipped with XEmacs is v1.x).
387
388 *** To enable:
389 1. Despite the flashing, lazy-shot was deemed such an improvement by
390 the majority of beta testers that it is now the standard method
391 provided by the options menu. Alternatively add
392
393 (add-hook 'font-lock-mode-hook 'turn-on-lazy-shot)
394
395 to '.emacs'.
396 2. If you were using lazy-lock before, just replace all occurrences of
397 "lazy-lock" by "lazy-shot" in your '.emacs' file.
398
399 *** To disable:
400
401 If prefer to use lazy-lock in stead of lazy-shot, put
402
403 (remove-hook 'font-lock-mode-hook 'turn-on-lazy-shot)
404 (add-hook 'font-lock-mode-hook 'turn-on-lazy-lock)
405
406 at the END of `.emacs'.
407
408 ** RefTeX mode
409
410 RefTeX mode is a new minor mode with special support for \label{}, \ref{}
411 and \cite{} macros in LaTeX documents. RefTeX distinguishes labels of
412 different environments (equation, figure, ...) and has full support for
413 multifile documents. To use it, select a buffer with a LaTeX document and
414 turn the mode on with M-x reftex-mode. Here are the main user commands:
415
416 C-c ( reftex-label
417 Creates a label semi-automatically. RefTeX is context sensitive and
418 knows which kind of label is needed.
419
420 C-c ) reftex-reference
421 Offers in a menu all labels in the document, along with context of the
422 label definition. The selected label is referenced as \ref{LABEL}.
423
424 C-c [ reftex-citation
425 Prompts for a regular expression and displays a list of matching BibTeX
426 database entries. The selected entry is cited with a \cite{KEY} macro.
427
428 C-c & reftex-view-crossref
429 Views the cross reference of a \ref{} or \cite{} command near point.
430
431 C-c = reftex-toc
432 Shows a table of contents of the (multifile) document. From there you
433 can quickly jump to every section.
434
435 Under X, RefTeX installs a "Ref" menu in the menu bar, with additional
436 commands. Full documentation and customization examples are in the file
437 reftex.el. You can use the finder to view this information:
438 C-h p --> tex --> reftex.el
411 439
412 440
413 * Lisp and internal changes in XEmacs 20.3 441 * Lisp and internal changes in XEmacs 20.3
414 ========================================== 442 ==========================================
415 443
418 446
419 ** `tty-erase-char' is a new variable that reports which character 447 ** `tty-erase-char' is a new variable that reports which character
420 was set up as the terminal's erase character at the time Emacs was 448 was set up as the terminal's erase character at the time Emacs was
421 started. 449 started.
422 450
451 ** It is now possible to attach the menubar accelerator keys to menu
452 entries. Look at the Lispref under Menus->Menu Accelerators for
453 details.
454
423 ** `insert-file-contents' can now read from a special file, 455 ** `insert-file-contents' can now read from a special file,
424 as long as the arguments VISIT and REPLACE are nil. 456 as long as the arguments VISIT and REPLACE are nil.
425 457
426 ** `string-to-number' now accepts an optional BASE argument that 458 ** `string-to-number' now accepts an optional BASE argument that
427 specifies which base to use. The default base is 10. 459 specifies which base to use. The default base is 10.
433 to whitespace ("[ \f\t\n\r\v]+"). 465 to whitespace ("[ \f\t\n\r\v]+").
434 466
435 ** `set-extent-properties' is a new function that can be used to 467 ** `set-extent-properties' is a new function that can be used to
436 change properties of an extent at once, and is analogous to 468 change properties of an extent at once, and is analogous to
437 `set-frame-properties'. 469 `set-frame-properties'.
470
471 ** If a format field width is specified as `*', the field width is
472 now assumed to have been specified as an argument (as in C.)
473
474 (format "%*s" 10 "abc")
475 => " abc"
438 476
439 ** The new macro `with-current-buffer' lets you evaluate an expression 477 ** The new macro `with-current-buffer' lets you evaluate an expression
440 conveniently with a different current buffer. It looks like this: 478 conveniently with a different current buffer. It looks like this:
441 479
442 (with-current-buffer BUFFER BODY-FORMS...) 480 (with-current-buffer BUFFER BODY-FORMS...)
469 `substitute-in-file-name'. 507 `substitute-in-file-name'.
470 508
471 This makes it possible for a Lisp program to open a file whose name 509 This makes it possible for a Lisp program to open a file whose name
472 begins with ~. 510 begins with ~.
473 511
512 ** The regexp matcher has been extended to recognize the following
513 constructs, borrowed from Perl:
514
515 *** Additional quantifiers.
516
517 In addition to `*', `+' and `?', XEmacs now recognizes the following
518 quantifiers:
519
520 \{n\} Match exactly n times
521 \{n,\} Match at least n times
522 \{n,m\} Match at least n but not more than m times
523
524 *** Non-greedy quantifiers.
525
526 Any of the standard quantifiers (`*', `+' and others) can now be
527 followed by an optional `?', which will make them become "non-greedy",
528 i.e. they will match as little text as possible. Note that the
529 meanings don't change, just the "gravity."
530
531 *** Shy groups.
532
533 The \(?: ... \) groups things like \( ... \), but doesn't record the
534 context for backreferences or future use. This is useful when you
535 need a lot of groups for the sake of priorities, but actually want to
536 record only one or two.
537
474 ** The new function `regexp-opt' returns an efficient regexp to match 538 ** The new function `regexp-opt' returns an efficient regexp to match
475 a string. The arguments are STRINGS and (optionally) PAREN. This 539 a string. The arguments are STRINGS and (optionally) PAREN. This
476 function can be used where regexp matching or searching is intensively 540 function can be used where regexp matching or searching is intensively
477 used and speed is important, e.g., in Font Lock mode. 541 used and speed is important, e.g., in Font Lock mode.
542
543 ** The featurep syntax has been extended to resemble the Common Lisp
544 one, as suggested by Erik Naggum.
545
546 *** The `xemacs' feature is defined in XEmacs by default.
547
548 *** The expression `#+fexp form' is equivalent to
549 (when (featurep fexp) form), only it is evaluated at read-time. Also,
550 `#-fexp form' is equivalent to (unless (featurep fexp) form).
551
552 *** In addition to symbols, a FEXP can also be a number, or a logical
553 operator. Here are some examples:
554 ;; evaluates to non-nil on XEmacs:
555 (featurep 'xemacs)
556 ;; evaluates to non-nil on XEmacs 20.3 or later:
557 (featurep '(and xemacs 20.03))
558 ;; evaluates to non-nil either on Emacs, or on XEmacs built without
559 ;; X support:
560 (featurep '(or emacs (and xemacs (not x))))
478 561
479 562
480 563
481 * Changes in XEmacs 20.2 564 * Changes in XEmacs 20.2
482 ======================== 565 ========================