Mercurial > hg > xemacs-beta
comparison etc/NEWS @ 398:74fd4e045ea6 r21-2-29
Import from CVS: tag r21-2-29
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:13:30 +0200 |
parents | 6719134a07c2 |
children | 2f8bb876ab1d |
comparison
equal
deleted
inserted
replaced
397:f4aeb21a5bad | 398:74fd4e045ea6 |
---|---|
31 | 31 |
32 | 32 |
33 * Changes in XEmacs 21.2 | 33 * Changes in XEmacs 21.2 |
34 ======================== | 34 ======================== |
35 | 35 |
36 ** Interactive searching and matching case improvements: | 36 ** The delete key now deletes forward by default. |
37 Case sensitiveness in searching operations is controled by the variable | 37 |
38 `case-fold-search' (if non-nil, case is ignored while searching). This | 38 This is regulated by the variable `delete-key-deletes-forward', which |
39 mechanism has now been slightly improved in the case of an interactive | 39 now defaults to t. `delete-key-deletes-forward' takes effect only on |
40 search: if the search string (or regexp) happens to contain uppercase | 40 the systems that offer both a backspace and a delete key. If set to |
41 characters, the searching is forced to be case-sensitive, regardless of | 41 nil, the key labeled "Delete" will always delete backward. If set to |
42 the value of `case-fold-search'. This behavior affects all functions | 42 non-nil, the "Delete" key will delete forward, except on keyboards |
43 performing interactive searches, like `zap-to-char', `tags-search', | 43 where a "Backspace" key is not provided (e.g. old DEC keyboards.) |
44 `occur' etc. | 44 |
45 Unless our implementation has bugs, the only reason why you would want | |
46 to set `delete-key-deletes-forward' to nil is if you want to use the | |
47 Delete key to delete backwards, despite the presence (according to | |
48 Xlib) of a BackSpace key on the keyboard. | |
49 | |
50 ** Interactive searching and matching case improvements. | |
51 | |
52 Case sensitiveness in searching operations is normally controlled by | |
53 the variable `case-fold-search' (if non-nil, case is ignored while | |
54 searching). This mechanism has now been slightly improved for | |
55 interactive searches: if the search string (or regexp) contains | |
56 uppercase characters, the searching is forced to be case-sensitive, | |
57 `case-fold-search'. | |
58 | |
59 The new behavior affects all functions performing interactive | |
60 searches, like `zap-to-char', `list-matching-lines', `tags-search' | |
61 etc. The incremental search facility has always behaved that way. | |
62 | |
63 ** Incremental search will now highlight all visible matches, making | |
64 it easier to anticipate where consecutive C-s or C-r will place the | |
65 point. If you want to disable the feature, set | |
66 `isearch-highlight-all-matches' to nil. | |
67 | |
68 ** You can now use the buffer tabs to switch between buffers. The | |
69 tabs are located between the toolbar and the uppermost window, in a | |
70 location called "gutter". If you dislike the buffer tabs, you can | |
71 disable them by specifying: | |
72 | |
73 (set-specifier default-gutter-visible-p nil) | |
74 | |
75 in your `.emacs'. You can change the location of the gutter with | |
76 `set-default-gutter-position', however currently only MS-Windows | |
77 supports tab widgets with orientations other than vertical.. | |
78 | |
79 ** When you press RET at a minibuffer prompt that provides a default | |
80 value, the value is stored in history instead of an empty line. Also, | |
81 you can now edit the default value by pressing the down arrow, | |
82 accessing the logical "future" value. Not all minibuffer prompts have | |
83 yet been converted to support this feature. | |
84 | |
85 ** The rectangle functions have been almost completely rewritten in | |
86 order to avoid inserting undesirable spaces, notably at the end of | |
87 lines. Two typical examples of the old behavior were | |
88 `string-rectangle', which filled all lines up to the right side of the | |
89 rectangle, and `clear-rectangle', which filled even empty lines up to | |
90 the left side. All functions have been rewritten to avoid inserting | |
91 unwanted spaces, and an optional prefix now allows them to behave the | |
92 old way. | |
93 | |
94 As a side effect, the FORCE argument to `move-to-column' now | |
95 understands the special value `coerce', which means that the line | |
96 should not be filled if it is too short to reach the desired column. | |
97 | |
98 ** Customize now supports adding comments about your face and variable | |
99 settings using a new menu entry. Comments for variables can also be | |
100 assigned by calling `customize-set-(value|variable)' with a prefix | |
101 argument. | |
102 | |
103 ** XEmacs now locates the early package hierarchies at | |
104 ~/.xemacs/mule-packages/ and ~/.xemacs/xemacs-packages/. Previously, | |
105 the early packages were located in ~/.xemacs/. | |
45 | 106 |
46 ** You can now create "indirect buffers", like in GNU Emacs. An | 107 ** You can now create "indirect buffers", like in GNU Emacs. An |
47 indirect buffer shares its text with another buffer ("base buffer"), | 108 indirect buffer shares its text with another buffer ("base buffer"), |
48 but has its own major mode, local variables, extents, and narrowing. | 109 but has its own major mode, local variables, extents, and narrowing. |
49 An indirect buffer has a name of its own, distinct from those of the | 110 An indirect buffer has a name of its own, distinct from those of the |
50 base buffer and all other buffers. An indirect buffer cannot itself | 111 base buffer and all other buffers. An indirect buffer cannot itself |
51 be visiting a file (though its base buffer can be). The base buffer | 112 be visiting a file (though its base buffer can be). The base buffer |
52 cannot itself be indirect. | 113 cannot itself be indirect. |
53 | 114 |
54 Use (make-indirect-buffer BASE-BUFFER NAME) to make an indirect buffer | 115 Use (make-indirect-buffer BASE-BUFFER NAME) to make an indirect buffer |
55 named NAME whose base is BASE-BUFFER. If BASE-BUFFER is an indirect | 116 named NAME whose base is BASE-BUFFER. If BASE-BUFFER is itself an |
56 buffer, its base buffer is used as the base for the new buffer. | 117 indirect buffer, its base buffer is used as the base for the new |
118 buffer. | |
57 | 119 |
58 You can make an indirect buffer current, or switch to it in a window, | 120 You can make an indirect buffer current, or switch to it in a window, |
59 just as you would a non-indirect buffer. | 121 just as you would a non-indirect buffer. |
60 | 122 |
61 The function `buffer-base-buffer', given an indirect buffer, returns | 123 The function `buffer-base-buffer' returns a buffer's base buffer or |
62 its base buffer. It returns nil when given an ordinary buffer (not | 124 nil, if given an ordinary (non-indirect) buffer. The function |
63 indirect). `buffer-indirect-children' returns a list of the indirect | 125 `buffer-indirect-children' returns a list of the indirect children of |
64 children of a base buffer. | 126 a base buffer. |
127 | |
128 ** User names following the tilde character can now be completed at | |
129 file name prompts; e.g. `C-x C-f ~hni<TAB>' will complete to | |
130 `~hniksic/'. To make this operation faster, a cache of user names is | |
131 maintained internally. | |
132 | |
133 The new primitives available for this purpose are functions named | |
134 `user-name-completion' and `user-name-all-completions'. | |
135 | |
136 ** XEmacs can now play sound using Enlightenment Sound Daemon (ESD). | |
137 It will try NAS first, then ESD, then playing native sound directly. | |
138 | |
139 ** X-Face support is now available under MS-Windows. | |
140 If an X-Face libary built under MS-Windows is available then XEmacs | |
141 will use this at build time. | |
142 | |
143 ** The font-menu is now available under MS-Windows. | |
144 | |
145 ** MS-Windows support for selection is now much more robust. | |
146 | |
147 Generally selection should now do what you would expect under | |
148 MS-Windows: the middle mouse button will paste your current selection | |
149 or the clipboard; conversions from different types of selection to the | |
150 clipboard can be made; the kill-ring and friends will be updated as | |
151 per X. | |
152 | |
153 The only thing selection doesn't do is set the clipboard automatically | |
154 as this would break the MS-Windows model. If you want this behaviour | |
155 then set `selection-sets-clipboard' to t | |
156 | |
157 ** Mail spool locking now works correctly. | |
158 XEmacs has always come with a little auxiliary program, movemail, | |
159 which moves mail out of the system's spool area into user storage. To | |
160 coordinate between XEmacs, the mail delivery agent, and other mail | |
161 user agents, movemail needs to properly lock the spool file before | |
162 moving it. Movemail now correctly respects the --mail-locking option | |
163 to configure. Moreover, movemail's locking behavior can be specified | |
164 at run-time, via a new command-line option -m to movemail, or through | |
165 the environment variable EMACSLOCKMETHOD. | |
166 | |
167 When installing XEmacs, make sure you configure it according to your | |
168 environment's mail spool locking conventions. When you're using a | |
169 binary kit, set the `mail-lock-method' variable at startup, or the | |
170 EMACSLOCKMETHOD environment variable. | |
171 | |
172 ** New command-line switches -user-init-file and -user-init-directory. | |
173 These can be used to specify alternate locations for what is normally | |
174 ~/.emacs and ~/.xemacs. | |
175 | |
176 Moreover, -user <user> (which used to only work in unpredictable ways) | |
177 is now equivalent to | |
178 -user-init-file ~<user>/.emacs -user-init-directory ~<user>/.xemacs. | |
179 | |
180 ** New variable `mswindows-meta-activates-menu'. | |
181 If you set this variable to nil then pressing the Alt key under | |
182 MS-Windows will no longer activate the menubar. The default is t. | |
183 | |
184 ** Pixel-based scrolling has been implemented. | |
185 By default this will attempt to scroll in increments equal to the | |
186 height of the default face. Set `window-pixel-scroll-increment' to | |
187 modify this behaviour. | |
188 | |
189 ** Etags changes. | |
190 | |
191 *** In DOS, etags looks for file.cgz if it cannot find file.c. | |
192 | |
193 *** New option --ignore-case-regex is an alternative to --regex. It is now | |
194 possible to bind a regexp to a language, by prepending the regexp with | |
195 {lang}, where lang is one of the languages that `etags --help' prints | |
196 out. This feature is useful especially for regex files, where each | |
197 line contains a regular expression. The manual contains details. | |
198 | |
199 *** In C and derived languages, etags creates tags for function | |
200 declarations when given the --declarations option. | |
201 | |
202 *** In C++, tags are created for "operator". The tags have the form | |
203 "operator+", without spaces between the keyword and the operator. | |
204 | |
205 *** New language Ada: tags are functions, procedures, packages, tasks, and | |
206 types. | |
207 | |
208 *** In Fortran, procedure is no more tagged. | |
209 | |
210 *** In Java, tags are created for "interface". | |
211 | |
212 *** In Lisp, "(defstruct (foo", "(defun (operator" and similar constructs | |
213 are now tagged. | |
214 | |
215 *** In Perl, the --globals option tags global variables. my and local | |
216 variables are tagged. | |
217 | |
218 *** New language Python: def and class at the beginning of a line are tags. | |
219 | |
220 *** .ss files are Scheme files, .pdb is Postscript with C syntax, .psw is | |
221 for PSWrap. | |
65 | 222 |
66 | 223 |
67 * Lisp and internal changes in XEmacs 21.2 | 224 * Lisp and internal changes in XEmacs 21.2 |
68 ========================================== | 225 ========================================== |
69 | 226 |
70 ** Functions for decoding base64 encoding are now available; see | 227 ** A new portable dumper is available for beta testing. |
71 `base64-encode-region', `base64-encode-string', `base64-decode-region' | 228 |
72 and `base64-decode-string'. | 229 Olivier Galibert has written a portable dumper for XEmacs, based on |
73 | 230 initial work by Kyle Jones. Normally, XEmacs C sources link into an |
74 ** Many basic lisp operations are now faster. | 231 executable called `temacs', which loads the Lisp code and "unexecs" |
232 into a proper `xemacs' executable. The unexec() process is hard to | |
233 implement correctly and makes XEmacs very hard to port to new | |
234 operating systems, or even to new releases of old systems. | |
235 | |
236 A portable dumper is a different approach to dumping: instead of | |
237 dumping full-fledged executable, it only dumps out the initialized | |
238 data structures (both Lisp and C) into an external file. A normally | |
239 running XEmacs only needs to mmap() that file and relocate a bit to | |
240 get to the initialized data. In that scheme, there is no difference | |
241 between `temacs' and `xemacs'. | |
242 | |
243 This is all very experimental, though. Configure with `--pdump' to | |
244 try testing it. NOTE: it is expected that `make' will fail after | |
245 dumping `xemacs.dmp'. This is because Makefiles have not yet been | |
246 modified to not expect `temacs' producing an `xemacs' executable. You | |
247 can try it out by simply running `src/temacs'. If it starts without | |
248 failure, the portable dumping worked. | |
249 | |
250 #### NOTE: the portable dumper is not really usable yet, because the | |
251 state of built-in variables is not yet saved. Olivier promised to fix | |
252 it. Nag, nag. | |
253 | |
254 ** Much effort has been invested to make XEmacs Lisp faster: | |
255 | |
256 *** Many basic lisp operations are now faster. | |
75 This is especially the case when running a Mule-enabled XEmacs. | 257 This is especially the case when running a Mule-enabled XEmacs. |
76 | 258 |
77 A general overhaul of the lisp engine should produce a speedup of 1.4 | 259 A general overhaul of the lisp engine should produce a speedup of 1.4 |
78 in a Latin-1 XEmacs, and 2.1 in a Mule XEmacs. These numbers were | 260 in a Latin-1 XEmacs, and 2.1 in a Mule XEmacs. These numbers were |
79 obtained running (byte-compile "simple.el"), which should be a pretty | 261 obtained running `(byte-compile "simple.el")', which should be a |
80 typical test of `pure' lisp. | 262 pretty typical test of "pure" Lisp. |
81 | 263 |
82 Lisp hash tables have been re-implemented. The Common Lisp style hash | 264 *** Lisp hash tables have been re-implemented. The Common Lisp style |
83 table interface has been made standard, and moved from cl.el into fast | 265 hash table interface has been made standard, and moved from cl.el into |
84 C code (See the section on hash tables in the XEmacs Lisp Reference). | 266 fast C code (See the section on hash tables in the XEmacs Lisp |
85 A speedup factor of 3 can be expected with code that makes intensive | 267 Reference). A speedup factor of 3 can be expected with code that |
86 use of hash tables. | 268 makes intensive use of hash tables. |
87 | 269 |
88 The garbage collector has been tuned, leading to a speedup of 1.16. | 270 *** The garbage collector has been tuned, leading to a speedup of |
89 | 271 1.16. |
90 The family of functions that iterate over lists, like `memq', and | 272 |
273 *** The family of functions that iterate over lists, like `memq', and | |
91 `rassq', have been made a little faster (typically 1.3). | 274 `rassq', have been made a little faster (typically 1.3). |
92 | 275 |
93 Lisp function calls are faster, by approximately a factor of two. | 276 *** Lisp function calls are faster, by approximately a factor of two. |
94 However, defining inline functions (via defsubst) still make sense. | 277 However, defining inline functions (via defsubst) still makes sense |
95 | 278 for tight loops. |
96 And finally, a few functions have had dramatic performance | 279 |
97 improvements. For example, (last long-list) is now 30 times faster. | 280 *** Finally, a few functions have had dramatic performance |
281 improvements. For example, `(last long-list)' is now 30 times faster. | |
98 | 282 |
99 Of course, your mileage will vary. | 283 Of course, your mileage will vary. |
100 | 284 |
101 Many operations do not see any improvement. Surprisingly, running | 285 Many operations do not see any improvement. Surprisingly, running |
102 (font-lock-refontify-buffer) does not use the Lisp engine much at all. | 286 (font-lock-fontify-buffer) does not use the Lisp engine much at all. |
103 Speeding up your favorite slow operation is an excellent project to | 287 Speeding up your favorite slow operation is an excellent project to |
104 improve XEmacs. Don't forget to profile! | 288 improve XEmacs. Don't forget to profile! |
289 | |
290 ** Native widgets can be displayed in buffers. | |
291 | |
292 The glyph system has been extended to allow the display of glyphs that | |
293 are implemented as native window-system widgets. Thus you can embed | |
294 buttons, scrollbars, combo boxes, edit fields and progress gauges in a | |
295 buffer. As a side effect subwindow support now works once again. | |
296 | |
297 All of this is still fairly experimental and there is no | |
298 documentation. The current APIs might change in a future version of | |
299 XEmacs. Some widgets are only available under MS-Windows. See the | |
300 file glyphs-test.el in the XEmacs src distribution for examples of | |
301 usage. | |
302 | |
303 The buffers-tab functionality and progress gauge have been implemented | |
304 using this feature. | |
305 | |
306 ** `user-init-file' and `user-init-directory' are now absolute | |
307 file/directory names. Previously, both variables used to be relative | |
308 to (concat "~" init-file-user). This turned out to be too complicated | |
309 for most packages (and some core Lisp files) to use correctly. Also, | |
310 the `init-file-user' variable has been obsoleted in the process. | |
311 | |
312 The user-visible options like `-u' have not changed their behaviour. | |
105 | 313 |
106 ** XEmacs finally has an automated test suite! | 314 ** XEmacs finally has an automated test suite! |
107 Although this is not yet very sophisticated, it is already responsible | 315 Although this is not yet very sophisticated, it is already responsible |
108 for several important bug fixes in XEmacs. To try it out, simply use | 316 for several important bug fixes in XEmacs. To try it out, simply use |
109 the makefile target `make check' after building XEmacs. | 317 the makefile target `make check' after building XEmacs. |
110 | 318 |
111 ** New hash table implementation | 319 ** Hash tables have been reimplemented. |
112 As was pointed out above, the standard interface to hash tables is now | 320 As was pointed out above, the standard interface to hash tables is now |
113 the Common Lisp interface, as described in Common Lisp, the Language | 321 the Common Lisp interface, as described in Common Lisp, the Language |
114 (CLtL2, by Steele). The older interface (functions with names | 322 (CLtL2, by Steele). The older interface (functions with names |
115 containing the phrase `hashtable') will continue to work, but the | 323 containing the phrase `hashtable') will continue to work, but the |
116 preferred interface now has names containing the phrase `hash-table'. | 324 preferred interface now has names containing the phrase `hash-table'. |
120 clrhash to manipulate entries in the hash table. See the (updated) | 328 clrhash to manipulate entries in the hash table. See the (updated) |
121 Lisp Reference Manual for details. | 329 Lisp Reference Manual for details. |
122 | 330 |
123 ** Lisp code handles circular lists much more robustly. | 331 ** Lisp code handles circular lists much more robustly. |
124 Many basic lisp functions used to loop forever when given a circular | 332 Many basic lisp functions used to loop forever when given a circular |
125 list. Now this is more likely to trigger a `circular-list' error. | 333 list, expecting you to C-g (quit) out of the loop. Now this is more |
126 Printing a circular list now results in something like this: | 334 likely to trigger a `circular-list' error. Printing a circular list |
127 | 335 now results in something like this: |
128 (progn (setq x (cons 'foo 'foo)) (setcdr x x) x) | 336 |
129 ==> (foo ... <circular list>) | 337 (let ((x (cons 'foo 'foo))) |
338 (setcdr x x) | |
339 x) | |
340 => (foo ... <circular list>) | |
130 | 341 |
131 An extra bonus is that checking for circularities is not just | 342 An extra bonus is that checking for circularities is not just |
132 friendlier, but actually faster than checking for quit. | 343 friendlier, but actually faster than checking for C-g. |
344 | |
345 ** Functions for decoding base64 encoding are now available; see | |
346 `base64-encode-region', `base64-encode-string', `base64-decode-region' | |
347 and `base64-decode-string'. | |
348 | |
349 ** The functions `read-string', `read-expression', `eval-minibuffer', | |
350 `read-variable', `read-command', `read-function', `read-number', | |
351 `read-shell-command', `read-from-minibuffer', and `completing-read' | |
352 now take an additional argument which specifies the default value. If | |
353 this argument is non-nil, it should be a string; that string is used | |
354 in two ways: | |
355 | |
356 It is returned if the user enters empty input. | |
357 It is available through the history command M-n. | |
358 | |
359 ** LDAP changes. | |
360 | |
361 *** The LDAP interface now consists of two layers, a low-level layer | |
362 that closely matches the LDAP C API, and a more convenient | |
363 higher-level set of functions. | |
364 | |
365 *** The low-level functions that used to be named *-internal are now | |
366 named more simply: `ldap-open', `ldap-close', `ldap-search-basic', | |
367 `ldap-add', and `ldap-modify'. They should be used directly for very | |
368 specific purposes (such as multiple operations on a connection) only. | |
369 | |
370 *** The higher-level functions provide a more convenient way to access | |
371 LDAP directories hiding the subtleties of handling the connection, | |
372 translating arguments and ensuring compliance with LDAP | |
373 internationalization rules and formats (currently partly implemented | |
374 only.) This layer provides atomic operations for searches, | |
375 modification, addition and deletion of multiple entries at once: | |
376 `ldap-search-entries', `ldap-add-entries', `ldap-delete-entries', and | |
377 `ldap-modify-entries'. | |
378 | |
379 *** To maintain compatibility with previous code, the now obsolete | |
380 function `ldap-search' is now merely a wrapper that calls either | |
381 `ldap-search-basic' or `ldap-search-entries'. Please don't use the | |
382 `ldap-search' function in your new programs -- a direct call to one of | |
383 the two replacements is more efficient and unambiguous. | |
384 | |
385 ** The arguments to `locate-file' are now more Lisp-like. As before, | |
386 the usage is: | |
387 | |
388 (locate-file FILENAME PATH-LIST &optional SUFFIXES MODE) | |
389 | |
390 Except that SUFFIXES are now a list of strings instead of a single, | |
391 colon-separated string. MODE is now a symbol or a list of symbols | |
392 (symbols `exists', `executable', `writable', and `readable' are | |
393 supported) instead of an integer code. See the documentation for | |
394 details. Of course, the old form is still accepted for backward | |
395 compatibility. | |
396 | |
397 Several bugs in locate-file have been fixed, most notably its failure | |
398 to call expand-file-name on elements of PATH-LIST. Because of that | |
399 elements of load-path of the form "~/..." used to not work. | |
400 locate-file is now guaranteed to expand files during its course of | |
401 operation. | |
402 | |
403 ** `translate-region' has been improved in several ways. Its TABLE | |
404 argument used to be a 256-character string. In addition to this, it | |
405 can now also be a vector or a char-table, which makes the function | |
406 useful for Mule, which it wasn't. If TABLE a vector or a generic | |
407 char-table, you can map characters to strings instead of to other | |
408 characters. For instance: | |
409 | |
410 (let ((table (make-char-table 'generic))) | |
411 (put-char-table ?a "the letter a" table) | |
412 (put-char-table ?b "" table) | |
413 (put-char-table ?c ?\n table) | |
414 (translate-region (point-min) (point-max) table)) | |
415 | |
416 ** The new form `ignore-file-errors', similar to `ignore-errors' may | |
417 be used as a short-hand for condition-case when you wish to ignore | |
418 file-related error. For example: | |
419 | |
420 (ignore-file-errors (delete-file "foo")) | |
421 | |
422 ** The first argument to `intern-soft' may now also be a symbol, like | |
423 with `unintern'. If given a symbol, `intern-soft' will look for that | |
424 exact symbol rather than for any string. This is useful when you want | |
425 to check whether a specific symbol is interned in an obarray, e.g.: | |
426 | |
427 (intern "foo") | |
428 (intern-soft "foo") | |
429 => foo | |
430 (intern-soft (make-symbol "foo")) | |
431 => nil | |
432 | |
433 ** The `keywordp' function now returns non-nil only on symbols | |
434 interned in the global obarray. For example: | |
435 | |
436 (keywordp (intern ":foo" [0])) | |
437 => nil | |
438 (keywordp (intern ":foo")) ; The same as (keywordp :foo) | |
439 => t | |
440 | |
441 This behaviour is compatible with other code which treats symbols | |
442 beginning with colon as keywords only if they are interned in the | |
443 global obarray. `keywordp' used to wrongly return t in both cases | |
444 above. | |
133 | 445 |
134 | 446 |
135 * Changes in XEmacs 21.0 | 447 * Changes in XEmacs 21.0 |
136 ======================== | 448 ======================== |
137 | 449 |
159 .xemacs-options from your .emacs. | 471 .xemacs-options from your .emacs. |
160 | 472 |
161 ** When the Zmacs region is active, `M-x query-replace' and the other | 473 ** When the Zmacs region is active, `M-x query-replace' and the other |
162 replace commands now operate on the region contents only. | 474 replace commands now operate on the region contents only. |
163 | 475 |
164 ** Using the new `-private' option, you can make XEmacs use a private | 476 ** XEmacs now is able to choose X visuals and use private colormaps. |
165 colormap. | 477 The '-visual <visualStr>' command line option or the '.EmacsVisual' |
478 Xresource controls which visual XEmacs will use, and | |
479 '-privateColormap' or '.privateColormap' will force XEmacs to create a | |
480 private colormap for use. The syntax for the visual string is | |
481 "<visual><bitdepth>" where <visual> is one of 'StaticColor', | |
482 'TrueColor', 'GrayScale', 'PseudoColor' or 'DirectColor' and | |
483 <bitdepth> is the appropriate number of bits per pixel. If an invalid | |
484 or non-supported combination is entered, XEmacs attempts to find a happy | |
485 medium. The X creation mechanism will then determine if it needs to | |
486 create a colormap for use, or the presence of the private flags will | |
487 force it to create it. | |
166 | 488 |
167 ** The `imenu' package has been ported to XEmacs and is available as a | 489 ** The `imenu' package has been ported to XEmacs and is available as a |
168 package. | 490 package. |
169 | 491 |
170 ** `echo-keystrokes' can now be a floating-point number, so that you | 492 ** `echo-keystrokes' can now be a floating-point number, so that you |
257 | 579 |
258 ** Gnuserv changes | 580 ** Gnuserv changes |
259 | 581 |
260 *** Like the old 'gnudoit' program. Gnuclient -batch now can read from stdin. | 582 *** Like the old 'gnudoit' program. Gnuclient -batch now can read from stdin. |
261 | 583 |
262 *** Again like the old 'gnudoit' program, gnuclient now can return multiple | 584 *** Gnuclient -batch no longer breaks off the output at the first LF. |
263 lines. | |
264 | 585 |
265 ** C mode changes | 586 ** C mode changes |
266 | 587 |
267 *** Multiline macros are now handled, both as they affect indentation, | 588 *** Multiline macros are now handled, both as they affect indentation, |
268 and as recognized syntax. New syntactic symbol cpp-macro-cont is | 589 and as recognized syntax. New syntactic symbol cpp-macro-cont is |
602 ** The code XEmacs uses to assemble its various paths into the | 923 ** The code XEmacs uses to assemble its various paths into the |
603 directory hierarchy has been rewritten to support the package system. | 924 directory hierarchy has been rewritten to support the package system. |
604 Look under "Startup Paths" in the Info documentation for more | 925 Look under "Startup Paths" in the Info documentation for more |
605 information. | 926 information. |
606 | 927 |
607 *** site-lisp is now longer part of the load-path by default. | 928 *** site-lisp is no longer part of the load-path by default. |
608 Its use is deprecated, but you can specify --with-site-lisp=yes at the | 929 Its use is deprecated, but you can specify --with-site-lisp=yes at the |
609 configure command line to get it back. | 930 configure command line to get it back. |
610 | 931 |
611 *** `Info-default-directory-list' is now obsolete. If you want to | 932 *** `Info-default-directory-list' is now obsolete. If you want to |
612 change the path which XEmacs uses to search for info files, set | 933 change the path which XEmacs uses to search for info files, set |