annotate etc/ONEWS @ 4844:91b3d00e717f

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