Mercurial > hg > xemacs-beta
comparison etc/ONEWS @ 464:5aa1854ad537 r21-2-47
Import from CVS: tag r21-2-47
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:45:51 +0200 |
parents | |
children | c84a9844ed2c |
comparison
equal
deleted
inserted
replaced
463:a158004111cd | 464:5aa1854ad537 |
---|---|
1 -*- mode:outline -*- | |
2 | |
3 * Changes in XEmacs 20.4 | |
4 ======================== | |
5 | |
6 ** XEmacs 20.4 is a bugfix release with no user-visible changes. | |
7 | |
8 | |
9 * Changes in XEmacs 20.3 | |
10 ======================== | |
11 | |
12 ** Quail input method is now available. | |
13 | |
14 Quail is a simple key-translation system that allows users to input | |
15 any multilingual text from normal ASCII keyboard. This means that | |
16 XEmacs with Mule now supports a number of European languages. | |
17 | |
18 ** More Windows NT support. | |
19 | |
20 Thanks to efforts of many people, coordinated by David Hobley | |
21 <davidh@wr.com.au> and Marc Paquette <marcpa@cam.org>, beta versions | |
22 of XEmacs now run on 32-bit Windows platforms (Windows NT and Windows | |
23 95). The current betas require having an X server to run XEmacs; | |
24 however, a native NT/95 port is in alpha, thanks to Jonathan Harris | |
25 <jhar@tardis.ed.ac.uk>. | |
26 | |
27 The NT development is now coordinated by a mailing list at | |
28 <xemacs-nt@xemacs.org>. Mail to <xemacs-nt-request@xemacs.org> to | |
29 subscribe. | |
30 | |
31 ** Multiple TTY frames are now available. | |
32 | |
33 On consoles that display only one frame at a time (e.g. TTY consoles), | |
34 creating a new frame with `C-x 5 2' also raises and selects that | |
35 frame. The behavior of window system frames is unchanged. | |
36 | |
37 ** Package starting changes. | |
38 | |
39 State of Emacs should never be changed with loading a package. The | |
40 following XEmacs packages that used to break this have been changed. | |
41 | |
42 *** Loading `paren' no longer enables paren-blinking. Use | |
43 `paren-set-mode' explicitly, or customize `paren-mode'. | |
44 | |
45 *** Loading `uniquify' no longer enables uniquify. Set | |
46 `uniquify-buffer-name-style' to a legal value. | |
47 | |
48 *** Loading `time' no longer enables display time. Invoke | |
49 `display-time' explicitly. | |
50 | |
51 *** Loading `jka-compr' no longer enables on-the-fly compression. Use | |
52 `toggle-auto-compression' instead. | |
53 | |
54 *** Loading `id-select' no longer enables its behaviour. Use | |
55 `id-select-install' instead. | |
56 | |
57 ** Zmacs region is not deactivated when an error is signaled. | |
58 | |
59 The behavior of the zmacs region can now be controlled in the event of | |
60 a signaled error. The new variable `errors-deactivate-region' may be | |
61 set to nil to revert to the old behaviour. As before, typing C-g | |
62 deactivates the region. | |
63 | |
64 ** Multiple Info `dir' functionality has been merged with GNU Emacs | |
65 19.34. | |
66 | |
67 XEmacs will now correctly merge all the `dir' files in | |
68 `Info-directory-list' (initialized from either the `INFOPATH' | |
69 env. variable or `Info-default-directory-list'.) These files may be | |
70 full-fledged info files containing subnodes or menus. Previously | |
71 supported `localdir' files are looked for also, secondary to `dir's. | |
72 See the manual for details. | |
73 | |
74 ** Abbreviations can now contain non-word characters. | |
75 | |
76 This means that it is finally possible to do such simple things as | |
77 define `#in' to expand to `#include' in C mode, `s-c-b' to | |
78 `save-current-buffer' in Lisp mode, `call/cc' to | |
79 `call-with-current-continuation' in Scheme mode, etc. | |
80 | |
81 ** `C-x n d' now runs the new command `narrow-to-defun', | |
82 which narrows the accessible parts of the buffer to just | |
83 the current defun. | |
84 | |
85 ** The new command `C-x 4 0' (kill-buffer-and-window) kills the | |
86 current buffer and deletes the selected window. It asks for | |
87 confirmation first. | |
88 | |
89 ** `ESC ESC ESC' (keyboard-escape-quit) will now correctly abort | |
90 recursive edits (as documented.) | |
91 | |
92 ** arc-mode has a new function called `archive-quit' bound to q, which | |
93 quits archive mode in the same fashion dired-quit works. | |
94 | |
95 ** A `tetris' clone is now available within XEmacs, written by Glynn | |
96 Clements. Try it out with `M-x tetris'. | |
97 | |
98 ** The feature to teach the key bindings of extended commands now | |
99 prints the message after the command finishes. After some time, the | |
100 previous echo area contents are restored (in case the command prints | |
101 something useful). | |
102 | |
103 ** If you set scroll-conservatively to a small number, then when you | |
104 move point a short distance off the screen, XEmacs will scroll the | |
105 screen just far enough to bring point back on screen, provided that | |
106 does not exceed `scroll-conservatively' lines. | |
107 | |
108 ** Face background colors now take precedence over the default face | |
109 background pixmap, which means that background pixmaps no longer clash | |
110 with zmacs-regions, or clickable buttons. | |
111 | |
112 ** Regexps can now contain additional Perl-like constructs. | |
113 | |
114 ** Modifiers can be added to a keystroke by preceding it with a `C-x @ | |
115 <x>' sequence where <x> is one of letters `S', `c', `m', `a', `h', `s' | |
116 corresponding to shift, control, meta, alt, hyper, and super modifiers, | |
117 respectively. It is possible to add several modifiers by repeating this | |
118 sequence. This feature is especially useful on text terminals where it | |
119 allows one to enter keystrokes like, e.g., `M-home'. | |
120 | |
121 ** An arbitrary keystroke can be generated by entering `C-x @ k | |
122 <keysym-name> RET'. For example a sequence: | |
123 | |
124 C-x @ c C-x @ k b a c k s p a c e RET | |
125 | |
126 will result in a `C-backspace' keystroke even on text terminals. | |
127 | |
128 ** Customize changes. | |
129 | |
130 *** Customize has undergone a massive speedup, and should now operate | |
131 acceptably fast. Slowness of the interface used to be the biggest | |
132 gripe. | |
133 | |
134 *** Many more packages have been modified to use the facility, so | |
135 almost all of XEmacs options can now be examined through the Customize | |
136 groups. | |
137 | |
138 *** There is a new `browser' mode of traversing customizations, in | |
139 many ways easier to follow than the standard one. Try it out with | |
140 `M-x customize-browse'. | |
141 | |
142 ** Pending-delete changes. | |
143 | |
144 *** Pending-delete is now a minor mode, with the normal minor-mode | |
145 semantics and toggle functions. Old functions are left for | |
146 compatibility. | |
147 | |
148 *** Loading pending-del no longer turns on pending-delete mode. In | |
149 fact, it is no longer necessary to explicitly load pending-del. All | |
150 you need to do to turn on pending-delete is run the pending-delete | |
151 function: | |
152 | |
153 Within XEmacs: Type M-x pending-delete <ret> | |
154 not M-x load-library <ret> pending-delete <ret> | |
155 | |
156 In .emacs: Use (turn-on-pending-delete) | |
157 not (load "pending-del") | |
158 | |
159 ** XEmacs can now save the minibuffer histories from various | |
160 minibuffers. To use this feature, add the line: | |
161 | |
162 (savehist-load) | |
163 | |
164 to your .emacs. This will load the minibuffer histories (if any) at | |
165 startup, as well as instruct XEmacs to save them before exiting. You | |
166 can use Customize to add or remove the histories being saved. | |
167 | |
168 ** The default format for ChangeLog entries (as created by `C-x 4 a') | |
169 is now the international ISO 8601 format. | |
170 | |
171 To revert to the old behaviour, use: | |
172 | |
173 (setq add-log-time-format 'current-time-string) | |
174 | |
175 Or `M-x customize RET add-log RET'. | |
176 | |
177 ** In ChangeLog mode, you can now press `C-c C-c' to save the file | |
178 and restore old window configuration, or `C-c C-k' to abandon the | |
179 changes. | |
180 | |
181 ** The key `C-x m' no longer runs the `mail' command directly. | |
182 Instead, it runs the command `compose-mail', which invokes the mail | |
183 composition mechanism you have selected with the variable | |
184 `mail-user-agent'. The default choice of user agent is | |
185 `sendmail-user-agent', which gives behavior compatible with the old | |
186 behavior. | |
187 | |
188 C-x 4 m now runs compose-mail-other-window, and C-x 5 m runs | |
189 compose-mail-other-frame. | |
190 | |
191 ** When you kill a buffer that visits a file, if there are any | |
192 registers that save positions in the file, these register values no | |
193 longer become completely useless. If you try to go to such a register | |
194 with `C-x j', then you are asked whether to visit the file again. If | |
195 you say yes, it visits the file and then goes to the same position. | |
196 | |
197 ** When you visit a file that changes frequently outside Emacs--for | |
198 example, a log of output from a process that continues to run--it may | |
199 be useful for Emacs to revert the file without querying you whenever | |
200 you visit the file afresh with `C-x C-f'. | |
201 | |
202 You can request this behavior for certain files by setting the | |
203 variable revert-without-query to a list of regular expressions. If a | |
204 file's name matches any of these regular expressions, find-file and | |
205 revert-buffer revert the buffer without asking for permission--but | |
206 only if you have not edited the buffer text yourself. | |
207 | |
208 ** Gnuserv changes | |
209 | |
210 *** The Lisp part of gnuserv has been rewritten to allow for more | |
211 flexibility and features. | |
212 | |
213 *** Many new options and variables are now customizable. Try | |
214 `M-x customize RET gnuserv RET'. | |
215 | |
216 *** The functionality of `gnuattach' and `gnudoit' programs is | |
217 provided by `gnuclient', which now accepts the standard `-nw', | |
218 `-display', `-eval' and `-f' options. | |
219 | |
220 ** Etags changes. | |
221 | |
222 *** In C, C++, Objective C and Java, Etags tags global variables by | |
223 default. The resulting tags files are inflated by 30% on average. | |
224 Use --no-globals to turn this feature off. Etags can also tag | |
225 variables that are members of structure-like constructs, but it does | |
226 not by default. Use --members to turn this feature on. | |
227 | |
228 *** C++ member functions are now recognized as tags. | |
229 | |
230 *** Java is tagged like C++. In addition, "extends" and "implements" | |
231 constructs are tagged. Files are recognised by the extension .java. | |
232 | |
233 *** Etags can now handle programs written in Postscript. Files are | |
234 recognised by the extensions .ps and .pdb (Postscript with C syntax). | |
235 In Postscript, tags are lines that start with a slash. | |
236 | |
237 *** Etags now handles Objective C and Objective C++ code. The usual C and | |
238 C++ tags are recognized in these languages; in addition, etags | |
239 recognizes special Objective C syntax for classes, class categories, | |
240 methods and protocols. | |
241 | |
242 *** Etags also handles Cobol. Files are recognised by the extension | |
243 .cobol. The tagged lines are those containing a word that begins in | |
244 column 8 and ends in a full stop, i.e. anything that could be a | |
245 paragraph name. | |
246 | |
247 *** Regexps in Etags now support intervals, as in ed or grep. The syntax of | |
248 an interval is \{M,N\}, and it means to match the preceding expression | |
249 at least M times and as many as N times. | |
250 | |
251 ** Ada mode changes. | |
252 | |
253 *** There is now better support for using find-file.el with Ada mode. | |
254 If you switch between spec and body, the cursor stays in the same | |
255 procedure (modulo overloading). If a spec has no body file yet, but | |
256 you try to switch to its body file, Ada mode now generates procedure | |
257 stubs. | |
258 | |
259 *** There are two new commands: | |
260 - `ada-make-local' : invokes gnatmake on the current buffer | |
261 - `ada-check-syntax' : check syntax of current buffer. | |
262 | |
263 The user options `ada-compiler-make', `ada-make-options', | |
264 `ada-language-version', `ada-compiler-syntax-check', and | |
265 `ada-compile-options' are used within these commands. | |
266 | |
267 *** Ada mode can now work with Outline minor mode. The outline level | |
268 is calculated from the indenting, not from syntactic constructs. | |
269 Outlining does not work if your code is not correctly indented. | |
270 | |
271 *** The new function `ada-gnat-style' converts the buffer to the style of | |
272 formatting used in GNAT. It places two blanks after a comment start, | |
273 places one blank between a word end and an opening '(', and puts one | |
274 space between a comma and the beginning of a word. | |
275 | |
276 ** New demand based locking implementation | |
277 | |
278 A faster, but experimental replacement for lazy-lock (called lazy-shot) is | |
279 provided. Like lazy-lock it provides demand based and idle time | |
280 font-lock-ing. However the lazy-lock versions that came with previous | |
281 versions slowed down XEmacs (possibly quite a lot). Lazy-shot solves | |
282 this problem by relying on new support from the C code part of XEmacs. | |
283 The support however is experimental and will cause some flashing as | |
284 parts of the buffer are colored. This likely to change in the future | |
285 as the C support is completed. | |
286 | |
287 The current lazy-shot implementation is mostly interface compatible | |
288 with lazy-lock v2.06 (the version shipped with XEmacs is v1.x). | |
289 | |
290 *** To enable: | |
291 1. Despite the flashing, lazy-shot was deemed such an improvement by | |
292 the majority of beta testers that it is now the standard method | |
293 provided by the options menu. Alternatively add | |
294 | |
295 (add-hook 'font-lock-mode-hook 'turn-on-lazy-shot) | |
296 | |
297 to '.emacs'. | |
298 2. If you were using lazy-lock before, just replace all occurrences of | |
299 "lazy-lock" by "lazy-shot" in your '.emacs' file. | |
300 | |
301 *** To disable: | |
302 | |
303 If prefer to use lazy-lock in stead of lazy-shot, put | |
304 | |
305 (remove-hook 'font-lock-mode-hook 'turn-on-lazy-shot) | |
306 (add-hook 'font-lock-mode-hook 'turn-on-lazy-lock) | |
307 | |
308 at the END of `.emacs'. | |
309 | |
310 ** RefTeX mode | |
311 | |
312 RefTeX mode is a new minor mode with special support for \label{}, \ref{} | |
313 and \cite{} macros in LaTeX documents. RefTeX distinguishes labels of | |
314 different environments (equation, figure, ...) and has full support for | |
315 multifile documents. To use it, select a buffer with a LaTeX document and | |
316 turn the mode on with M-x reftex-mode. Here are the main user commands: | |
317 | |
318 C-c ( reftex-label | |
319 Creates a label semi-automatically. RefTeX is context sensitive and | |
320 knows which kind of label is needed. | |
321 | |
322 C-c ) reftex-reference | |
323 Offers in a menu all labels in the document, along with context of the | |
324 label definition. The selected label is referenced as \ref{LABEL}. | |
325 | |
326 C-c [ reftex-citation | |
327 Prompts for a regular expression and displays a list of matching BibTeX | |
328 database entries. The selected entry is cited with a \cite{KEY} macro. | |
329 | |
330 C-c & reftex-view-crossref | |
331 Views the cross reference of a \ref{} or \cite{} command near point. | |
332 | |
333 C-c = reftex-toc | |
334 Shows a table of contents of the (multifile) document. From there you | |
335 can quickly jump to every section. | |
336 | |
337 Under X, RefTeX installs a "Ref" menu in the menu bar, with additional | |
338 commands. Full documentation and customization examples are in the file | |
339 reftex.el. You can use the finder to view this information: | |
340 C-h p --> tex --> reftex.el | |
341 | |
342 | |
343 * Lisp and internal changes in XEmacs 20.3 | |
344 ========================================== | |
345 | |
346 ** Autoconf 2 is supported, making XEmacs more conforming to | |
347 conventions used by other free software. | |
348 | |
349 ** `tty-erase-char' is a new variable that reports which character | |
350 was set up as the terminal's erase character at the time Emacs was | |
351 started. | |
352 | |
353 ** It is now possible to attach the menubar accelerator keys to menu | |
354 entries. Look at the Lispref under Menus->Menu Accelerators for | |
355 details. | |
356 | |
357 ** `insert-file-contents' can now read from a special file, | |
358 as long as the arguments VISIT and REPLACE are nil. | |
359 | |
360 ** `string-to-number' now accepts an optional BASE argument that | |
361 specifies which base to use. The default base is 10. | |
362 | |
363 ** The TIME argument to `format-time-string' is now optional and | |
364 defaults to the current time. | |
365 | |
366 ** The PATTERN argument to `split-string' is now optional and defaults | |
367 to whitespace ("[ \f\t\n\r\v]+"). | |
368 | |
369 ** `set-extent-properties' is a new function that can be used to | |
370 change properties of an extent at once, and is analogous to | |
371 `set-frame-properties'. | |
372 | |
373 ** If a format field width is specified as `*', the field width is | |
374 now assumed to have been specified as an argument (as in C.) | |
375 | |
376 (format "%*s" 10 "abc") | |
377 => " abc" | |
378 | |
379 ** The new macro `with-current-buffer' lets you evaluate an expression | |
380 conveniently with a different current buffer. It looks like this: | |
381 | |
382 (with-current-buffer BUFFER BODY-FORMS...) | |
383 | |
384 BUFFER is the expression that says which buffer to use. | |
385 BODY-FORMS say what to do in that buffer. | |
386 The old `eval-in-buffer' macro is obsoleted by `with-current-buffer'. | |
387 | |
388 ** The new primitive `save-current-buffer' saves and restores the | |
389 choice of current buffer, like `save-excursion', but without saving or | |
390 restoring the value of point or the mark. `with-current-buffer' | |
391 works using `save-current-buffer'. | |
392 | |
393 ** The new macro `with-temp-file' lets you do some work in a new buffer and | |
394 write the output to a specified file. Like `progn', it returns the value | |
395 of the last form. | |
396 | |
397 ** The variable `debug-ignored-errors' now works in XEmacs. It allows | |
398 one to ignore the debugger for some common errors, even when | |
399 `debug-on-error' is t. It has no effect when `debug-on-signal' is | |
400 non-nil. | |
401 | |
402 ** The new function `current-message' returns the message currently | |
403 displayed in the echo area, or nil if there is none. | |
404 | |
405 ** File-access primitive functions no longer discard an extra redundant | |
406 directory name from the beginning of the file name. In other words, | |
407 they no longer do anything special with // or /~. The same goes for | |
408 `expand-file-name'. That conversion is now done only in | |
409 `substitute-in-file-name'. | |
410 | |
411 This makes it possible for a Lisp program to open a file whose name | |
412 begins with ~. | |
413 | |
414 ** The regexp matcher has been extended to recognize the following | |
415 constructs, borrowed from Perl: | |
416 | |
417 *** Additional quantifiers. | |
418 | |
419 In addition to `*', `+' and `?', XEmacs now recognizes the following | |
420 quantifiers: | |
421 | |
422 \{n\} Match exactly n times | |
423 \{n,\} Match at least n times | |
424 \{n,m\} Match at least n but not more than m times | |
425 | |
426 *** Non-greedy quantifiers. | |
427 | |
428 Any of the standard quantifiers (`*', `+' and others) can now be | |
429 followed by an optional `?', which will make them become "non-greedy", | |
430 i.e. they will match as little text as possible. Note that the | |
431 meanings don't change, just the "gravity." | |
432 | |
433 *** Shy groups. | |
434 | |
435 The \(?: ... \) groups things like \( ... \), but doesn't record the | |
436 context for backreferences or future use. This is useful when you | |
437 need a lot of groups for the sake of priorities, but actually want to | |
438 record only one or two. | |
439 | |
440 ** The new function `regexp-opt' returns an efficient regexp to match | |
441 a string. The arguments are STRINGS and (optionally) PAREN. This | |
442 function can be used where regexp matching or searching is intensively | |
443 used and speed is important, e.g., in Font Lock mode. | |
444 | |
445 ** The featurep syntax has been extended to resemble the Common Lisp | |
446 one, as suggested by Erik Naggum. | |
447 | |
448 *** The `xemacs' feature is defined in XEmacs by default. | |
449 | |
450 *** The expression `#+fexp form' is equivalent to | |
451 (when (featurep fexp) form), only it is evaluated at read-time. Also, | |
452 `#-fexp form' is equivalent to (unless (featurep fexp) form). | |
453 | |
454 *** In addition to symbols, a FEXP can also be a number, or a logical | |
455 operator. Here are some examples: | |
456 ;; evaluates to non-nil on XEmacs: | |
457 (featurep 'xemacs) | |
458 ;; evaluates to non-nil on XEmacs 20.3 or later: | |
459 (featurep '(and xemacs 20.03)) | |
460 ;; evaluates to non-nil either on Emacs, or on XEmacs built without | |
461 ;; X support: | |
462 (featurep '(or emacs (and xemacs (not x)))) | |
463 | |
464 | |
465 | |
466 * Changes in XEmacs 20.2 | |
467 ======================== | |
468 | |
469 ** Why XEmacs 20.1 is called 20.2 | |
470 | |
471 Testing of XEmacs 20.1 revealed a number of showstopping bugs at the | |
472 very final moment. Instead of confusing the version numbers further, | |
473 the `20.1' designation was abandoned, and the release was renamed to | |
474 `20.2'. | |
475 | |
476 ** Delete/backspace keysyms have been separated | |
477 | |
478 The Delete and Backspace keysyms are now no longer identical. A better | |
479 version of delbackspace.el has been added called delbs.el. | |
480 | |
481 ** XEmacs 20.0 MULE API supported for backwards compatibility | |
482 | |
483 XEmacs 20.2 primarily supports the MULE 3 API. It now also supports | |
484 the XEmacs 20.0 MULE API. | |
485 | |
486 ** The logo has been changed, and the default background color is | |
487 now a shade of gray instead of the eye-burning white. | |
488 | |
489 The sample .Xdefaults and .emacs files contain examples of how to | |
490 revert to the old background color. | |
491 | |
492 ** Default modeline colors are now less of a color-salad. | |
493 | |
494 ** The `C-z' key now iconifies only the current X frame. You can use | |
495 `C-x C-z' to get the old behavior. | |
496 | |
497 On the tty frames `C-z' behaves as before. | |
498 | |
499 ** The command `display-time' now draws a pretty image in the modeline | |
500 when new mail arrives. It also supports balloon-help messages. | |
501 | |
502 ** Various commands that were previously disabled are now enabled, like | |
503 eval-expression (`M-:') and upcase-region (`C-x C-u')/downcase-region | |
504 (`C-x C-l'). | |
505 | |
506 ** It is now possible to customize the functions called by XEmacs toolbar. | |
507 | |
508 Type `M-x customize RET toolbar RET' to customize it. Customizations | |
509 include the choice of functions for the buttons to invoke, as well as | |
510 a wide choice of mailers and newsreaders to invoked by the respective | |
511 functions. | |
512 | |
513 ** `temp-buffer-shrink-to-fit' now defaults to nil. | |
514 | |
515 There are unresolved issues regarding this feature, which is why the | |
516 XEmacs developers decided to disable it by default. | |
517 | |
518 ** `ps-print-color-p' now defaults to nil. | |
519 | |
520 This is because the new default background color is non-white. The | |
521 `Printing Options' in the `Options' menu now include an item that | |
522 enables color printing, and sets the white background. | |
523 | |
524 ** `line-number-mode' should be used to get line numbers in the | |
525 modeline, and `column-number-mode' to get column numbers. Line | |
526 numbers now number from 1 by default. | |
527 | |
528 ** font-lock-mode will now correctly fontify `int a, b, c;' | |
529 expressions in C mode. | |
530 | |
531 ** The blinking cursor is always "on" during movement. | |
532 | |
533 ** The XEmacs build process has been changed to make site | |
534 administration easier. See lisp/site-load.el for details. | |
535 | |
536 ** Numerous causes of crashes have been fixed. XEmacs should now be | |
537 even more stable than before. | |
538 | |
539 ** configure no longer defaults to using --with-xim=motif if Motif libraries | |
540 are linked. | |
541 | |
542 There are many bugs in the Xlib XIM support in X11R6.3. | |
543 | |
544 ** A number of new packages are added, and many packages were | |
545 updated. | |
546 | |
547 ** Gnus-5.4.52, courtesy of Lars Magne Ingebrigtsen | |
548 | |
549 *** nntp.el has been totally rewritten in an asynchronous fashion. | |
550 | |
551 *** Article prefetching functionality has been moved up into | |
552 Gnus. | |
553 | |
554 *** Scoring can now be performed with logical operators like | |
555 `and', `or', `not', and parent redirection. | |
556 | |
557 *** Article washing status can be displayed in the | |
558 article mode line. | |
559 | |
560 *** gnus.el has been split into many smaller files. | |
561 | |
562 *** Suppression of duplicate articles based on Message-ID. | |
563 | |
564 (setq gnus-suppress-duplicates t) | |
565 | |
566 *** New variables for specifying what score and adapt files | |
567 are to be considered home score and adapt files. See | |
568 `gnus-home-score-file' and `gnus-home-adapt-files'. | |
569 | |
570 *** Groups can inherit group parameters from parent topics. | |
571 | |
572 *** Article editing has been revamped and is now usable. | |
573 | |
574 *** Signatures can be recognized in more intelligent fashions. | |
575 See `gnus-signature-separator' and `gnus-signature-limit'. | |
576 | |
577 *** Summary pick mode has been made to look more nn-like. | |
578 Line numbers are displayed and the `.' command can be | |
579 used to pick articles. | |
580 | |
581 *** Commands for moving the .newsrc.eld from one server to | |
582 another have been added. | |
583 | |
584 `M-x gnus-change-server' | |
585 | |
586 *** A way to specify that "uninteresting" fields be suppressed when | |
587 generating lines in buffers. | |
588 | |
589 *** Several commands in the group buffer can be undone with | |
590 `M-C-_'. | |
591 | |
592 *** Scoring can be done on words using the new score type `w'. | |
593 | |
594 *** Adaptive scoring can be done on a Subject word-by-word basis: | |
595 | |
596 (setq gnus-use-adaptive-scoring '(word)) | |
597 | |
598 *** Scores can be decayed. | |
599 | |
600 (setq gnus-decay-scores t) | |
601 | |
602 *** Scoring can be performed using a regexp on the Date header. The | |
603 Date is normalized to compact ISO 8601 format first. | |
604 | |
605 *** A new command has been added to remove all data on articles from | |
606 the native server. | |
607 | |
608 `M-x gnus-group-clear-data-on-native-groups' | |
609 | |
610 *** A new command for reading collections of documents | |
611 (nndoc with nnvirtual on top) has been added -- `M-C-d'. | |
612 | |
613 *** Process mark sets can be pushed and popped. | |
614 | |
615 *** A new mail-to-news backend makes it possible to post | |
616 even when the NNTP server doesn't allow posting. | |
617 | |
618 *** A new backend for reading searches from Web search engines | |
619 (DejaNews, Alta Vista, InReference) has been added. | |
620 | |
621 Use the `G w' command in the group buffer to create such | |
622 a group. | |
623 | |
624 *** Groups inside topics can now be sorted using the standard | |
625 sorting functions, and each topic can be sorted independently. | |
626 | |
627 See the commands under the `T S' submap. | |
628 | |
629 *** Subsets of the groups can be sorted independently. | |
630 | |
631 See the commands under the `G P' submap. | |
632 | |
633 *** Cached articles can be pulled into the groups. | |
634 | |
635 Use the `Y c' command. | |
636 | |
637 *** Score files are now applied in a more reliable order. | |
638 | |
639 *** Reports on where mail messages end up can be generated. | |
640 | |
641 `M-x nnmail-split-history' | |
642 | |
643 *** More hooks and functions have been added to remove junk | |
644 from incoming mail before saving the mail. | |
645 | |
646 See `nnmail-prepare-incoming-header-hook'. | |
647 | |
648 *** The nnml mail backend now understands compressed article files. | |
649 | |
650 ** Custom 1.86, courtesy of Per Abrahamsen | |
651 | |
652 The Customize library enables Emacs Lisp programmers to specify types | |
653 of their variables, so that the users can customize them. | |
654 | |
655 Invoke the customizations buffer using the menus (Customize is at the | |
656 top of the Options menu), or using commands `M-x customize', | |
657 `M-x customize-variable' and `M-x customize-face'. Customize can save | |
658 the changed settings to your `.emacs' file. | |
659 | |
660 Customize is now the preferred way to change XEmacs settings. Tens of | |
661 packages have been converted to take advantage of the Customize | |
662 features, including Gnus, Message, Supercite, Psgml, Comint, W3, | |
663 cc-mode (and many other programming language modes), ispell.el, | |
664 ps-print.el, id-select.el, most of the programming language modes, and | |
665 many many more. | |
666 | |
667 See the "Lisp Changes" section later for a short description of why | |
668 and how to add custom support to your Lisp packages. Custom is also | |
669 documented in the XEmacs info manuals. | |
670 | |
671 ** W3-3.0.86, courtesy of William Perry | |
672 | |
673 Version 3 of Emacs/W3, the Emacs World Wide Web browser, has been | |
674 included. It is significantly faster than any of the previous | |
675 versions, and contains numerous new features. | |
676 | |
677 ** AUCTeX-9.7k, courtesy of Per Abrahamsen | |
678 | |
679 AUC TeX is a comprehensive customizable integrated environment for | |
680 writing input files for LaTeX using Emacs. | |
681 | |
682 AUC TeX lets you run TeX/LaTeX and other LaTeX-related tools, such as | |
683 a output filters or post processor from inside Emacs. Especially | |
684 `running LaTeX' is interesting, as AUC TeX lets you browse through the | |
685 errors TeX reported, while it moves the cursor directly to the | |
686 reported error, and displays some documentation for that particular | |
687 error. This will even work when the document is spread over several | |
688 files. | |
689 | |
690 AUC TeX automatically indents your `LaTeX-source', not only as you | |
691 write it -- you can also let it indent and format an entire document. | |
692 It has a special outline feature, which can greatly help you `getting | |
693 an overview' of a document. | |
694 | |
695 Apart from these special features, AUC TeX provides an large range of | |
696 handy Emacs macros, which in several different ways can help you write | |
697 your LaTeX documents fast and painless. | |
698 | |
699 ** redo.el-1.01, courtesy of Kyle Jones | |
700 | |
701 redo.el is a package that implements true redo mechanism in XEmacs | |
702 buffers. Once you load it from your `.emacs', you can bind the `redo' | |
703 command to a convenient key to use it. | |
704 | |
705 Emacs' normal undo system allows you to undo an arbitrary number of | |
706 buffer changes. These undos are recorded as ordinary buffer changes | |
707 themselves. So when you break the chain of undos by issuing some | |
708 other command, you can then undo all the undos. The chain of recorded | |
709 buffer modifications therefore grows without bound, truncated only at | |
710 garbage collection time. | |
711 | |
712 The redo/undo system is different in two ways: | |
713 | |
714 *** The undo/redo command chain is only broken by a buffer modification. | |
715 | |
716 You can move around the buffer or switch buffers and still come back | |
717 and do more undos or redos. | |
718 | |
719 *** The `redo' command rescinds the most recent undo without | |
720 recording the change as a _new_ buffer change. | |
721 | |
722 It completely reverses the effect of the undo, which includes making | |
723 the chain of buffer modification records shorter by one, to counteract | |
724 the effect of the undo command making the record list longer by one. | |
725 | |
726 ** edmacro.el-3.10, courtesy of Dave Gillespie, ported to XEmacs by | |
727 Hrvoje Niksic. | |
728 | |
729 Edmacro is a utility that provides easy editing of keyboard macros. | |
730 Originally written by Dave Gillespie, it has been mostly rewritten by | |
731 Hrvoje Niksic, in order to make it distinguish characters and integer, | |
732 as well as to adapt it to XEmacs keysyms. | |
733 | |
734 Press `C-x C-k' to invoke the `edit-kbd-macro' command that lets you | |
735 edit old as well as define new keyboard macros. You can also edit the | |
736 last 100 keystrokes and insert them into a macro to be bound to a key | |
737 or named as a command. The recorded/edited macros can be dumped to | |
738 `.emacs' file. | |
739 | |
740 ** xmine.el-1.8, courtesy of Jens Lautenbacher | |
741 | |
742 XEmacs now includes a minesweeper game with a full-featured graphics | |
743 and mouse interface. Invoke with `M-x xmine'. | |
744 | |
745 ** efs-1.15-x5 courtesy of Andy Norman and Michael Sperber | |
746 | |
747 EFS is now integrated with XEmacs, and replaces the old ange-ftp. It | |
748 has many more features, including info documentation, support for many | |
749 different FTP servers, and integration with dired. | |
750 | |
751 ** mic-paren.el-1.3.1, courtesy of Mikael Sjödin | |
752 ** hyperbole-4.022, courtesy of Bob Weiner | |
753 ** hm--html-menus-5.3, courtesy of Heiko Muenkel | |
754 ** python-mode.el-2.90, courtesy of Barry Warsaw | |
755 ** balloon-help-1.06, courtesy of Kyle Jones | |
756 ** xrdb-mode.el-1.21, courtesy of Barry Warsaw | |
757 ** igrep.el-2.56, courtesy of Kevin Rodgers | |
758 ** frame-icon.el, courtesy of Michael Lamoureux and Bob Weiner | |
759 ** itimer.el-1.05, courtesy of Kyle Jones | |
760 ** VM-6.30, courtesy of Kyle Jones | |
761 ** OO-Browser-2.10, courtesy of Bob Weiner | |
762 ** viper-2.93, courtesy of Michael Kifer | |
763 ** ediff-2.65, courtesy of Michael Kifer | |
764 ** detached-minibuf-1.1, courtesy of Alvin Shelton | |
765 ** whitespace-mode.el, courtesy of Heiko Muenkel | |
766 ** winmgr-mode.el, courtesy of David Konerding, Stefan Strobel & Barry Warsaw | |
767 ** fast-lock.el-3.11.01, courtesy of Simon Marshall | |
768 ** lazy-lock.el-1.16, courtesy of Simon Marshall | |
769 ** browse-cltl2.el-1.1, courtesy of Holger Schauer | |
770 ** eldoc.el-1.10, courtesy of Noah Friedman | |
771 ** tm-7.105, courtesy of MORIOKA Tomohiko | |
772 ** verilog-mode.el-2.25, courtesy of Michael McNamara & Adrian Aichner | |
773 ** overlay.el, courtesy of Joseph Nuspl | |
774 ** live-icon.el-1.3, fixes courtesy of Karl Hegbloom | |
775 ** tpu-edt.el, fixes courtesy of R. Kevin Oberman | |
776 ** etags.c-11.86 Courtesy of F. Potortì | |
777 | |
778 | |
779 * Lisp and internal changes in XEmacs 20.2 | |
780 ========================================== | |
781 | |
782 ** `defcustom' and `defgroup' can now be used to specify types and | |
783 placement of the user-settable variables. | |
784 | |
785 You can now specify the types of user-settable variables in your Lisp | |
786 packages to be customized by users. To do so, use `defcustom' as a | |
787 replacement for `defvar'. | |
788 | |
789 For example, the old declaration: | |
790 | |
791 (defvar foo-blurgoze nil | |
792 "*non-nil means that foo will act very blurgozely.") | |
793 | |
794 can be rewritten as: | |
795 | |
796 (defcustom foo-blurgoze nil | |
797 "*non-nil means that foo will act very blurgozely." | |
798 :type 'boolean | |
799 :group 'foo) | |
800 | |
801 From a package writer's point of view, nothing has been changed | |
802 However, the user can now type `M-x customize RET foo-blurgoze RET' to | |
803 customize the variable. | |
804 | |
805 Other, more complex data structures can be described with `defcustom' | |
806 too, for instance: | |
807 | |
808 (defcustom foo-hairy-alist '((somekey . "somestring") | |
809 (otherkey . (foo-doit)) | |
810 (thirdkey . [1 2 3])) | |
811 "*Alist describing the hairy options of the foo package. | |
812 The CAR of each element is a symbol, whereas the CDR can be either a | |
813 string, a form to evaluate, or a vector of integers. | |
814 New Emacs users simply adore alists like this one." | |
815 :type '(repeat (cons (symbol :tag "Key") | |
816 (choice string | |
817 (vector (repeat :inline t integer)) | |
818 sexp))) | |
819 :group 'foo) | |
820 | |
821 The user will be able to add and remove the entries to the list in a | |
822 visually appealing way, as well as save the settings to his/her | |
823 `.emacs'. | |
824 | |
825 Note that `defcustom' will also be included in GNU Emacs 19.35, and | |
826 that both XEmacs and GNU Emacs will be using it in the future. | |
827 Although the user-interface of customize may change, the Lisp | |
828 interface will remain the same. This is why we recommend that you use | |
829 `defcustom' for user-settable variables in your new Lisp packages. | |
830 | |
831 ** The `read-kbd-macro' function is now available. | |
832 | |
833 The `read-kbd-macro' function (as well as the read-time evaluated | |
834 `kbd' macro) from the edmacro package is now available in XEmacs. For | |
835 example: | |
836 | |
837 (define-key foo-mode-map (kbd "C-c <up>") 'foo-up) | |
838 | |
839 is completely equivalent to | |
840 | |
841 (define-key foo-mode-map [(control ?c) up] 'foo-up) | |
842 | |
843 The `kbd' macro is preferred over `read-kbd-macro' function , as it | |
844 evaluates before compiling, thus having no loading overhead. | |
845 | |
846 Using `kbd' is not necessary for GNU Emacs compatibility (GNU Emacs | |
847 supports the XEmacs-style keysyms), but adds to clarity. For example, | |
848 (kbd "C-?") is usually easier to read than [(control ??)]. The full | |
849 description of the syntax of keybindings accepted by `read-kbd-macro' | |
850 is documented in the docstring of `edmacro-mode'. | |
851 | |
852 ** Overlay compatibility is implemented. | |
853 | |
854 The overlay support in XEmacs is now functional. Written by Joe | |
855 Nuspl, the overlay compatibility library overlay.el is implemented on | |
856 top of the native XEmacs extents, and can be used as a GNU | |
857 Emacs-compatible way of changing display properties. | |
858 | |
859 ** You should use keysyms kp-* (kp-1, kp-2, ..., kp-enter etc.) | |
860 rather than the old form kp_*. The new form is also compatible with | |
861 GNU Emacs. | |
862 | |
863 ** The keysyms mouse-1, mouse-2, mouse-3 and down-mouse-1, | |
864 down-mouse-2, and down-mouse-3 have been added for GNU Emacs | |
865 compatibility. | |
866 | |
867 ** A new user variable `signal-error-on-buffer-boundary' has been | |
868 added. | |
869 | |
870 Set this to variable to nil to avoid XEmacs usual lossage of zmacs | |
871 region when moving up against a buffer boundary. | |
872 | |
873 ** lib-complete.el was MULE-ized. | |
874 | |
875 The commands `find-library', `find-library-other-window' and | |
876 `find-library-other-frame' now take an optional coding system | |
877 argument. | |
878 | |
879 ** Experimental support for Lisp reader macros #-, #+. | |
880 | |
881 The Common Lisp reader macros for feature test are now supported. This | |
882 feature is present for evaluation purposes and is subject to change. | |
883 | |
884 ** `values' now has a setf method | |
885 | |
886 ** The `eval-after-load' and `eval-next-after-load' functions are | |
887 now available. | |
888 | |
889 ** A bug that prevented `current-display-table' to be correctly set | |
890 with `set-specifier' has been fixed. | |
891 | |
892 ** The bug in easymenu which prevented multiple menus from being | |
893 accessible through button3 has been fixed. | |
894 | |
895 You can now safely use easymenu to define multiple menu entries in a | |
896 compatible way, with the added menus accessible via button3 as local | |
897 submenus. | |
898 | |
899 ** Many bugs in the scrollbar code have been fixed. | |
900 | |
901 ** First alpha level support of MS Windows NT is available, courtesy | |
902 of David Hobley and Marc Paquette. | |
903 | |
904 ** Wnn/egg now has initial support Courtesy of Jareth Hein. | |
905 | |
906 ** Some old non-working code has been removed until someone chooses | |
907 to work on it. | |
908 | |
909 This includes much of the NeXTStep stuff. The VMS support is also | |
910 likely to be removed in the future. | |
911 | |
912 ** Many files have been purged out of the etc/ directory. | |
913 | |
914 If you still need the purged files, look for them in the GNU Emacs | |
915 distribution. | |
916 | |
917 | |
918 * Major Differences Between 19.14 and 20.0 | |
919 =========================================== | |
920 | |
921 XEmacs 20.0 is the first public release to have support for MULE | |
922 (Multi-Lingual Emacs). The --with-mule configuration flag must be | |
923 used to enable Mule support. | |
924 | |
925 Many bugs have been fixed. An effort has been made to eradicate all | |
926 XEmacs crashes, although we are not quite done yet. The overall | |
927 quality of XEmacs should be higher than any previous release. XEmacs | |
928 now compiles with nary a warning with some compilers. | |
929 | |
930 -- Multiple character sets can be displayed in a buffer. The file | |
931 mule-doc/demo in the distribution contains a greeting in many | |
932 different languages. | |
933 | |
934 -- Although the Mule work is for all languages, particular effort has | |
935 been invested in Japanese, with particular focus on Japanese users | |
936 of Sun WorkShop. Many menubar labels have been translated into | |
937 Japanese. Martin Buchholz, the maintainer of MULE features within | |
938 XEmacs normally runs XEmacs in a Japanese language environment. | |
939 Some of the other contributors are Japanese, most importantly | |
940 Morioka Tomohiko, author of the TM package, providing MIME support | |
941 for Mail and News. | |
942 | |
943 -- Input for complex Asian languages is supported via XIM, a mechanism | |
944 introduced in X11R5 to allow applications to get localized input | |
945 without knowledge of the language. The way XIM works is that when | |
946 the locale has a complex character set, such as Japanese, and extra | |
947 minibuffer-like status window appears attached to various | |
948 application windows, and indicates the status of the input method. | |
949 Composed input in XEmacs should work the same as with other | |
950 applications. If Motif and Mule support is configured into XEmacs, | |
951 then XIM support is automatically configured in as well. | |
952 | |
953 -- TM (Tools for Mime) now comes with XEmacs. This provides MIME | |
954 (Multipurpose Internet Mail Extensions) support for Mail and News. | |
955 The primary author is Morioka Tomohiko. | |
956 | |
957 -- Japanese input can also be input using the `canna' input method. | |
958 This support was contributed by Morioka Tomohiko. Setting up canna | |
959 usually requires more user effort (and better knowledge of Japanese!) | |
960 than XIM, but provides a better-integrated input method. | |
961 | |
962 -- A mini-tutorial on using Mule: | |
963 | |
964 -- Every time data passes between XEmacs and the rest of the | |
965 environment, via file or process input or output, XEmacs must | |
966 convert between its internal multi-character representation and | |
967 the external representation (`coding system'). Many | |
968 difficulties with Mule are related to controlling these coding | |
969 system conversions. | |
970 | |
971 -- file-coding-system, file-coding-system-for-read, | |
972 overriding-file-coding-system, and file-coding-system-alist | |
973 are used to determine the coding systems used on file input | |
974 and output. | |
975 | |
976 -- For each process, (set-process-input-coding-system) and | |
977 (set-process-output-coding-system) determine the coding | |
978 system used for I/O from the process. | |
979 | |
980 -- Many other things are encoded using pathname-coding-system: | |
981 -- file and directory names | |
982 -- window manager properties: window title, icon name | |
983 -- process names and process arguments | |
984 -- XIM input. | |
985 | |
986 -- In many cases, you will want to have the same values for all | |
987 the above variables in many cases. For example, in a | |
988 Japanese environment, you will want to use the 'euc-japan | |
989 coding system consistently, except when running certain | |
990 processes that do byte-oriented, rather than | |
991 character-oriented I/O, such as gzip, or when processing Mail | |
992 or News, where ISO2022-based coding systems are the norm, | |
993 since they support multiple character sets. | |
994 | |
995 -- To add support for a new language or character set, start by | |
996 trying to copy code in japanese-hooks.el. | |
997 | |
998 -- The traditional pre-Mule data conversion is equivalent to the | |
999 'binary coding system under Mule. In this case all characters | |
1000 are treated as iso8859-1 (i.e. characters for English + Western | |
1001 European languages). | |
1002 | |
1003 -- many fileio-related commands such as find-file and write-file | |
1004 take an extra argument, coding-system, which specifies the | |
1005 encoding to be used with the file on disk. For example, here is | |
1006 a command that converts from the Japanese EUC to ISO2022 format: | |
1007 | |
1008 xemacs -batch -eval '(progn (find-file | |
1009 "locale-start.el.euc" (quote euc-japan)) (write-file | |
1010 "locale-start.el" nil (quote iso-2022-8-unix)))' | |
1011 | |
1012 Interactively, you can be prompted for a coding system by | |
1013 providing a prefix argument to the fileio command. In | |
1014 particular, C-u C-x C-f is a useful sequence to edit a file | |
1015 using a particular coding system. | |
1016 | |
1017 -- In an Asian locale (i.e. if $LANG is set to ja, ko, or zh), | |
1018 XEmacs automatically sets up a language environment assuming | |
1019 that the operating system encodes information in the national | |
1020 version of EUC, which supports English and the national | |
1021 language, but typically no other character sets. | |
1022 | |
1023 -- Command line processing should work much better now - no more order | |
1024 dependencies. | |
1025 | |
1026 -- Many many package upgraded (thanks go to countless maintainers): | |
1027 | |
1028 -- ediff 2.64 (Michael Kifer) | |
1029 -- Gnus 5.2.40 (Lars Magne Ingebrigtsen) | |
1030 -- w3 3.0.51 (Bill Perry) | |
1031 -- ilisp 5.8 (Chris McConnell, Ivan Vasquez, Marco Antoniotti, Rick | |
1032 Campbell) | |
1033 -- VM 5.97 (Kyle Jones) | |
1034 -- etags 11.78 (Francesco Potorti`) | |
1035 -- ksh-mode.el 2.9 | |
1036 -- vhdl-mode.el 2.73 (Rod Whitby) | |
1037 -- id-select.el (Bob Weiner) | |
1038 -- EDT/TPU emulation modes should work now for the first time. | |
1039 -- viper 2.92 (Michael Kifer) is now the `official' vi emulator for XEmacs. | |
1040 -- big-menubar should work much better now. | |
1041 -- mode-motion+.el 3.16 | |
1042 -- backup-dir 2.0 (Greg Klanderman) | |
1043 -- ps-print.el-3.05 (Jacques Duthen Prestataire) | |
1044 -- lazy-lock-1.15 (Simon Marshall) | |
1045 -- reporter 3.3 (Barry Warsaw) | |
1046 -- hm--html-menus 5.0 (Heiko Muenkel) | |
1047 -- cc-mode 4.322 (Barry Warsaw) | |
1048 -- elp 2.37 (Barry Warsaw) | |
1049 | |
1050 | |
1051 -- Many new packages have been added: | |
1052 -- m4-mode 1.8 (Andrew Csillag) | |
1053 -- crisp.el - crisp/brief emulation (Gary D. Foster) | |
1054 -- Johan Vroman's iso-acc.el has been ported to XEmacs by Alexandre Oliva | |
1055 -- psgml-1.01 (Lennart Staflin, James Clark) | |
1056 -- python-mode.el 2.83 (Barry Warsaw) | |
1057 -- vrml-mode.el (Ben Wing) | |
1058 -- enriched.el, face-menu.el (Boris Goldowsky, Michael Sperber) | |
1059 -- sh-script.el (Daniel Pfeiffer) | |
1060 -- decipher.el (Christopher J. Madsen) | |
1061 | |
1062 -- New function x-keysym-on-keyboard-p helps determine keyboard | |
1063 characteristics for key rebinding: | |
1064 | |
1065 x-keysym-on-keyboard-p: (KEYSYM &optional DEVICE) | |
1066 -- a built-in function. | |
1067 Return true if KEYSYM names a key on the keyboard of DEVICE. | |
1068 More precisely, return true if pressing a physical key | |
1069 on the keyboard of DEVICE without any modifier keys generates KEYSYM. | |
1070 Valid keysyms are listed in the files /usr/include/X11/keysymdef.h and in | |
1071 /usr/lib/X11/XKeysymDB, or whatever the equivalents are on your system. | |
1072 | |
1073 -- Installed info files are now compressed (support courtesy of Joseph J Nuspl) | |
1074 | |
1075 -- (load-average) works on Solaris, even if you're not root. Thanks to | |
1076 Hrvoje Niksic. | |
1077 | |
1078 -- OffiX drag-and-drop support added | |
1079 | |
1080 -- lots of syncing with 19.34 elisp files, most by Steven Baur | |
1081 | |
1082 | |
1083 * For older news and for alternate news (the ones dealing with XEmacs | |
1084 19.15 and 19.16), see the file ONEWS. |