Mercurial > emacs
comparison etc/NEWS @ 89909:68c22ea6027c
Sync to HEAD
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 16 Apr 2004 12:51:06 +0000 |
parents | d2c6900fc175 |
children | 4c90ffeb71c5 |
comparison
equal
deleted
inserted
replaced
89908:ee1402f7b568 | 89909:68c22ea6027c |
---|---|
1 GNU Emacs NEWS -- history of user-visible changes. 2003-05-21 | 1 GNU Emacs NEWS -- history of user-visible changes. 2003-05-21 |
2 Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. | 2 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. |
3 See the end for copying conditions. | 3 See the end for copying conditions. |
4 | 4 |
5 Please send Emacs bug reports to bug-gnu-emacs@gnu.org. | 5 Please send Emacs bug reports to bug-gnu-emacs@gnu.org. |
6 For older news, see the file ONEWS | 6 For older news, see the file ONEWS |
7 | 7 |
87 eight-bit-control/eight-bit-graphic charsets aren't now in the range | 87 eight-bit-control/eight-bit-graphic charsets aren't now in the range |
88 128-255. | 88 128-255. |
89 | 89 |
90 * Installation Changes in Emacs 21.4 | 90 * Installation Changes in Emacs 21.4 |
91 | 91 |
92 --- | |
93 ** A Bulgarian translation of the Emacs Tutorial is available. | |
94 | |
92 ** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' | 95 ** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' |
93 when you run configure. This requires Gtk+ 2.0 or newer. This port | 96 when you run configure. This requires Gtk+ 2.0 or newer. This port |
94 provides a way to display multilingual text in menus (with some caveats). | 97 provides a way to display multilingual text in menus (with some caveats). |
95 | 98 |
96 --- | 99 --- |
152 --- | 155 --- |
153 ** A French translation of the `Emacs Survival Guide' is available. | 156 ** A French translation of the `Emacs Survival Guide' is available. |
154 | 157 |
155 --- | 158 --- |
156 ** A French translation of the Emacs Tutorial is available. | 159 ** A French translation of the Emacs Tutorial is available. |
160 ** Building with -DENABLE_CHECKING does not automatically build with union | |
161 types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. | |
157 | 162 |
158 | 163 |
159 * Changes in Emacs 21.4 | 164 * Changes in Emacs 21.4 |
165 | |
166 ** New command line option -Q. | |
167 | |
168 This is like using -q --no-site-file, but in addition it also disables | |
169 the menu-bar, the tool-bar, the scroll-bars, tool tips, the blinking | |
170 cursor, and the fancy startup screen. | |
171 | |
172 ** C-h v and C-h f commands now include a hyperlink to the C source for | |
173 variables and functions defined in C (if the C source is available). | |
174 | |
175 ** When used interactively, `format-write-file' now asks for confirmation | |
176 before overwriting an existing file, unless a prefix argument is | |
177 supplied. This behavior is analogous to `write-file'. | |
178 | |
179 ** You can now use Auto Revert mode to `tail' a file. | |
180 If point is at the end of a file buffer before reverting, Auto Revert | |
181 mode keeps it at the end after reverting. Similarly if point is | |
182 displayed at the end of a file buffer in any window, it will stay at | |
183 the end of the buffer in that window. This allows to tail a file: | |
184 just put point at the end of the buffer and it will stay there. This | |
185 rule applies to file buffers. For non-file buffers, the behavior may | |
186 be mode dependent. | |
187 | |
188 ** Auto Revert mode is now more careful to avoid excessive reverts and | |
189 other potential problems when deciding which non-file buffers to | |
190 revert. This matters especially if Global Auto Revert mode is enabled | |
191 and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert | |
192 mode will only revert a non-file buffer if the buffer has a non-nil | |
193 `revert-buffer-function' and a non-nil `buffer-stale-function', which | |
194 decides whether the buffer should be reverted. Currently, this means | |
195 that auto reverting works for Dired buffers (although this may not | |
196 work properly on all operating systems) and for the Buffer Menu. | |
197 | |
198 ** If the new user option `auto-revert-check-vc-info' is non-nil, Auto | |
199 Revert mode reliably updates version control info (such as the version | |
200 control number in the mode line), in all version controlled buffers in | |
201 which it is active. If the option is nil, the default, then this info | |
202 only gets updated whenever the buffer gets reverted. | |
203 | |
204 ** New command `Buffer-menu-toggle-files-only' toggles display of file | |
205 buffers only in the Buffer Menu. It is bound to `T' in Buffer Menu | |
206 mode. | |
207 | |
208 ** M-x compile has become more robust and reliable | |
209 | |
210 Quite a few more kinds of messages are recognized. Messages that are | |
211 recognized as warnings or informational come in orange or green, instead of | |
212 red. Informational messages are by default skipped with `next-error' | |
213 (controlled by `compilation-skip-threshold'). | |
214 | |
215 Location data is collected on the fly as the *compilation* buffer changes. | |
216 This means you could modify messages to make them point to different files. | |
217 This also means you can not go to locations of messages you may have deleted. | |
218 | |
219 The variable `compilation-error-regexp-alist' has now become customizable. If | |
220 you had added your own regexps to this, you'll probably need to include a | |
221 leading `^', otherwise they'll match anywhere on a line. There is now also a | |
222 `compilation-mode-font-lock-keywords' and it nicely handles all the checks | |
223 that configure outputs and -o options so you see at a glance where you are. | |
224 | |
225 The new file etc/compilation.txt gives examples of each type of message. | |
226 | |
227 ** M-x grep has been adapted to new compile | |
228 | |
229 Hits are fontified in green, and hits in binary files in orange. Grep buffers | |
230 can be saved and will again be loaded with the new `grep-mode'. | |
231 | |
232 ** M-x diff uses diff-mode instead of compilation-mode. | |
233 | |
234 ** M-x compare-windows now can automatically skip non-matching text to | |
235 resync points in both windows. | |
236 | |
237 ** New command `strokes-global-set-stroke-string'. | |
238 This is like `strokes-global-set-stroke', but it allows you to bind | |
239 the stroke directly to a string to insert. This is convenient for | |
240 using strokes as an input method. | |
241 | |
242 --- | |
243 ** The saveplace.el package now filters out unreadable files. | |
244 When you exit Emacs, the saved positions in visited files no longer | |
245 include files that aren't readable, e.g. files that don't exist. | |
246 Customize the new option `save-place-forget-unreadable-files' to nil | |
247 to get the old behavior. The new options `save-place-save-skipped' | |
248 and `save-place-skip-check-regexp' allow further fine-tuning of this | |
249 feature. | |
250 | |
251 ** You can have several Emacs servers on the same machine. | |
252 | |
253 % emacs --eval '(setq server-name "foo")' -f server-start & | |
254 % emacs --eval '(setq server-name "bar")' -f server-start & | |
255 % emacsclient -s foo file1 | |
256 % emacsclient -s bar file2 | |
257 | |
258 ** On window systems, lines which are exactly as wide as the window | |
259 (not counting the final newline character) are no longer broken into | |
260 two lines on the display (with just the newline on the second line). | |
261 Instead, the newline now "overflows" into the right fringe, and the | |
262 cursor will be displayed in the fringe when positioned on that newline. | |
263 | |
264 The new user option 'overflow-newline-into-fringe' may be set to nil to | |
265 revert to the old behaviour of continuing such lines. | |
266 | |
267 ** The buffer boundaries (i.e. first and last line in the buffer) may | |
268 now be marked with angle bitmaps in the fringes. In addition, up and | |
269 down arrow bitmaps may be shown at the top and bottom of the left or | |
270 right fringe if the window can be scrolled in either direction. | |
271 | |
272 This behavior is activated by setting the buffer-local variable | |
273 `indicate-buffer-boundaries' to a non-nil value. The default value of | |
274 this variable is found in `default-indicate-buffer-boundaries'. | |
275 | |
276 If value is `left' or `right', both angle and arrow bitmaps are | |
277 displayed in the left or right fringe, resp. Any other non-nil value | |
278 causes the bitmap on the top line to be displayed in the left fringe, | |
279 and the bitmap on the bottom line in the right fringe. | |
280 | |
281 If value is a cons (ANGLES . ARROWS), the car specifies the position | |
282 of the angle bitmaps, and the cdr specifies the position of the arrow | |
283 bitmaps. | |
284 | |
285 For example, (t . right) places the top angle bitmap in left fringe, | |
286 the bottom angle bitmap in right fringe, and both arrow bitmaps in | |
287 right fringe. To show just the angle bitmaps in the left fringe, but | |
288 no arrow bitmaps, use (left . nil). | |
289 | |
290 ** New command `display-local-help' displays any local help at point | |
291 in the echo area. It is bound to `C-h .'. It normally displays the | |
292 same string that would be displayed on mouse-over using the | |
293 `help-echo' property, but, in certain cases, it can display a more | |
294 keyboard oriented alternative. | |
295 | |
296 ** New user option `help-at-pt-display-when-idle' allows to | |
297 automatically show the help provided by `display-local-help' on | |
298 point-over, after suitable idle time. The amount of idle time is | |
299 determined by the user option `help-at-pt-timer-delay' and defaults | |
300 to one second. This feature is turned off by default. | |
301 | |
302 ** New commands `scan-buf-next-region' and `scan-buf-previous-region' | |
303 move to the start of the next (previous, respectively) region with | |
304 non-nil help-echo property and display any help found there in the | |
305 echo area, using `display-local-help'. | |
306 | |
307 +++ | |
308 ** Help mode now only makes hyperlinks for faces when the face name is | |
309 preceded or followed by the word `face'. It no longer makes | |
310 hyperlinks for variables without variable documentation, unless | |
311 preceded by one of the words `variable' or `option'. It now makes | |
312 hyperlinks to Info anchors (or nodes) if the anchor (or node) name is | |
313 enclosed in single quotes and preceded by `info anchor' or `Info | |
314 anchor' (in addition to earlier `info node' and `Info node'). | |
315 | |
316 ** The max size of buffers and integers has been doubled. | |
317 On 32bit machines, it is now 256M (i.e. 268435455). | |
318 | |
319 +++ | |
320 ** The -f option, used from the command line to call a function, | |
321 now reads arguments for the function interactively if it is | |
322 an interactively callable function. | |
323 | |
160 | 324 |
161 ** sql changes. | 325 ** sql changes. |
162 | 326 |
163 *** The variable `sql-product' controls the highlightng of different | 327 *** The variable `sql-product' controls the highlightng of different |
164 SQL dialects. This variable can be set globally via Customize, on a | 328 SQL dialects. This variable can be set globally via Customize, on a |
202 highlighted in `font-lock-doc-face'. | 366 highlighted in `font-lock-doc-face'. |
203 | 367 |
204 *** Microsoft SQLServer support has been significantly improved. | 368 *** Microsoft SQLServer support has been significantly improved. |
205 Keyword highlighting for SqlServer 2000 is implemented. | 369 Keyword highlighting for SqlServer 2000 is implemented. |
206 sql-interactive-mode defaults to use osql, rather than isql, because | 370 sql-interactive-mode defaults to use osql, rather than isql, because |
207 osql flushes it's error stream more frequently. Thus error messages | 371 osql flushes its error stream more frequently. Thus error messages |
208 are displayed when they occur rather than when the session is | 372 are displayed when they occur rather than when the session is |
209 terminated. | 373 terminated. |
210 | 374 |
211 If the username and password are not provided to `sql-ms', osql is | 375 If the username and password are not provided to `sql-ms', osql is |
212 called with the -E command line argument to use the operating system | 376 called with the -E command line argument to use the operating system |
247 restores the previous value of `buffer-invisibility-spec'. | 411 restores the previous value of `buffer-invisibility-spec'. |
248 | 412 |
249 ** New command `kill-whole-line' kills an entire line at once. | 413 ** New command `kill-whole-line' kills an entire line at once. |
250 By default, it is bound to C-S-<backspace>. | 414 By default, it is bound to C-S-<backspace>. |
251 | 415 |
252 +++ | 416 ** Dired mode: |
253 ** Info now hides node names in menus and cross references by default. | 417 |
418 *** New faces dired-header, dired-mark, dired-marked, dired-flagged, | |
419 dired-ignored, dired-directory, dired-symlink, dired-warning | |
420 introduced for Dired mode instead of font-lock faces. | |
421 | |
422 *** New Dired command `dired-compare-directories' to mark files with | |
423 different file attributes in two dired buffers. | |
424 | |
425 +++ | |
426 *** In Dired's ! command (dired-do-shell-command), `*' and `?' now | |
427 control substitution of the file names only when they are surrounded | |
428 by whitespace. This means you can now use them as shell wildcards | |
429 too. If you want to use just plain `*' as a wildcard, type `*""'; the | |
430 doublequotes make no difference in the shell, but they prevent | |
431 special treatment in `dired-do-shell-command'. | |
432 | |
433 +++ | |
434 *** Dired's v command now runs external viewers to view certain | |
435 types of files. The variable `dired-view-command-alist' controls | |
436 what external viewers to use and when. | |
437 | |
438 *** In Dired, the w command now copies the current line's file name | |
439 into the kill ring. | |
440 | |
441 ** Info mode: | |
442 +++ | |
443 *** Info now hides node names in menus and cross references by default. | |
254 If you prefer the old behavior, you can set the new user option | 444 If you prefer the old behavior, you can set the new user option |
255 `Info-hide-note-references' to nil. | 445 `Info-hide-note-references' to nil. |
446 | |
447 *** The new command `info-apropos' searches the indices of the known | |
448 Info files on your system for a string, and builds a menu of the | |
449 possible matches. | |
450 | |
451 +++ | |
452 *** The default value for `Info-scroll-prefer-subnodes' is now nil. | |
453 | |
454 --- | |
455 *** Info-index offers completion. | |
256 | 456 |
257 ** Support for the SQLite interpreter has been added to sql.el by calling | 457 ** Support for the SQLite interpreter has been added to sql.el by calling |
258 'sql-sqlite'. | 458 'sql-sqlite'. |
259 | 459 |
260 ** BibTeX mode: | 460 ** BibTeX mode: |
293 | 493 |
294 Such individual settings are now preserved when windows are split | 494 Such individual settings are now preserved when windows are split |
295 horizontally or vertically, a saved window configuration is restored, | 495 horizontally or vertically, a saved window configuration is restored, |
296 or when the frame is resized. | 496 or when the frame is resized. |
297 | 497 |
498 ** New functions frame-current-scroll-bars and window-current-scroll-bars. | |
499 | |
500 These functions return the current locations of the vertical and | |
501 horizontal scroll bars in a frame or window. | |
502 | |
503 --- | |
504 ** Emacs now supports drag and drop for X. Dropping a file on a window | |
505 opens it, dropping text inserts the text. Dropping a file on a dired | |
506 buffer copies or moves the file to that directory. | |
507 | |
298 ** Under X, mouse-wheel-mode is turned on by default. | 508 ** Under X, mouse-wheel-mode is turned on by default. |
299 | 509 |
300 ** The X resource useXIM can be used to turn off use of XIM, which may | 510 ** The X resource useXIM can be used to turn off use of XIM, which may |
301 speed up Emacs with slow networking to the X server. | 511 speed up Emacs with slow networking to the X server. |
302 | 512 |
303 If the configure option `--without-xim' was used to turn off use of | 513 If the configure option `--without-xim' was used to turn off use of |
304 XIM by default, the X resource useXIM can be used to turn it on. | 514 XIM by default, the X resource useXIM can be used to turn it on. |
305 | |
306 ** `describe-char' can show data from the Unicode database file. See | |
307 user option `unicode-data'. | |
308 | 515 |
309 ** `undo-only' does an undo which does not redo any previous undo. | 516 ** `undo-only' does an undo which does not redo any previous undo. |
310 | 517 |
311 ** `uniquify-strip-common-suffix' tells uniquify to prefer | 518 ** `uniquify-strip-common-suffix' tells uniquify to prefer |
312 `file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. | 519 `file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. |
427 ** The commands M-x customize-face and M-x customize-face-other-window | 634 ** The commands M-x customize-face and M-x customize-face-other-window |
428 now look at the character after point. If a face or faces are | 635 now look at the character after point. If a face or faces are |
429 specified for that character, the commands by default customize those | 636 specified for that character, the commands by default customize those |
430 faces. | 637 faces. |
431 | 638 |
432 ** New language environments: French, Ukrainian, Windows-1251, Tajik, | 639 ** New language environments: French, Ukrainian, Tajik, |
433 Bulgarian, Belarusian, Ukrainian, UTF-8, Windows-1255, Welsh, Latin-6, | 640 Bulgarian, Belarusian, Ukrainian, UTF-8, Windows-1255, Welsh, Latin-6, |
434 Latin-7, Lithuanian, Latvian, Swedish, Slovenian, Croatian, Georgian, | 641 Latin-7, Lithuanian, Latvian, Swedish, Slovenian, Croatian, Georgian, |
435 Italian, Russian, Malayalam, Tamil, Russian, Chinese-EUC-TW. (Set up | 642 Italian, Russian, Malayalam, Tamil, Russian, Chinese-EUC-TW. (Set up |
436 automatically according to the locale.) | 643 automatically according to the locale.) |
437 | 644 |
455 Big 5 is then converted to CNS. | 662 Big 5 is then converted to CNS. |
456 | 663 |
457 --- | 664 --- |
458 ** Many new coding systems are available by loading the `code-pages' | 665 ** Many new coding systems are available by loading the `code-pages' |
459 library. These include complete versions of most of those in | 666 library. These include complete versions of most of those in |
460 codepage.el, based on Unicode mappings. | 667 codepage.el, based on Unicode mappings. `codepage-setup' is now |
668 obsolete and is used only in the MS-DOS port of Emacs. windows-1252 | |
669 and windows-1251 are preloaded since the former is so common and the | |
670 latter is used by GNU locales. | |
461 | 671 |
462 ** The utf-8/16 coding systems have been enhanced. | 672 ** The utf-8/16 coding systems have been enhanced. |
463 By default, untranslatable utf-8 sequences (mostly representing CJK | 673 By default, untranslatable utf-8 sequences (mostly representing CJK |
464 characters) are simply composed into single quasi-characters. User | 674 characters) are simply composed into single quasi-characters. User |
465 option `utf-translate-cjk' arranges to translate many utf-8 CJK | 675 option `utf-translate-cjk' arranges to translate many utf-8 CJK |
511 --- | 721 --- |
512 ** The scrollbar under LessTif or Motif has a smoother drag-scrolling. | 722 ** The scrollbar under LessTif or Motif has a smoother drag-scrolling. |
513 On the other hand, the size of the thumb does not represent the actual | 723 On the other hand, the size of the thumb does not represent the actual |
514 amount of text shown any more (only a crude approximation of it). | 724 amount of text shown any more (only a crude approximation of it). |
515 | 725 |
726 --- | |
727 ** The pop up menus for Lucid now stay up if you do a fast click and can | |
728 be navigated with the arrow keys (like Gtk+ and W32). | |
729 | |
730 --- | |
731 ** Dialogs for Lucid/Athena and Lesstif/Motif pops down when pressing ESC. | |
732 | |
733 +++ | |
734 ** The file selection dialog for Gtk+, W32 and Motif/Lesstif can be | |
735 disabled by customizing the variable `use-file-dialog'. | |
736 | |
516 +++ | 737 +++ |
517 ** Emacs can produce an underscore-like (horizontal bar) cursor. | 738 ** Emacs can produce an underscore-like (horizontal bar) cursor. |
518 The underscore cursor is set by putting `(cursor-type . hbar)' in | 739 The underscore cursor is set by putting `(cursor-type . hbar)' in |
519 default-frame-alist. It supports variable heights, like the `bar' | 740 default-frame-alist. It supports variable heights, like the `bar' |
520 cursor does. | 741 cursor does. |
521 | 742 |
743 +++ | |
744 ** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is | |
745 now controlled by the variable `blink-cursor-alist'. | |
746 | |
522 ** Filesets are collections of files. You can define a fileset in | 747 ** Filesets are collections of files. You can define a fileset in |
523 various ways, such as based on a directory tree or based on | 748 various ways, such as based on a directory tree or based on |
524 program files that include other program files. | 749 program files that include other program files. |
525 | 750 |
526 Once you have defined a fileset, you can perform various operations on | 751 Once you have defined a fileset, you can perform various operations on |
535 ** The game `mpuz' is enhanced. | 760 ** The game `mpuz' is enhanced. |
536 | 761 |
537 `mpuz' now allows the 2nd factor not to have two identical digits. By | 762 `mpuz' now allows the 2nd factor not to have two identical digits. By |
538 default, all trivial operations involving whole lines are performed | 763 default, all trivial operations involving whole lines are performed |
539 automatically. The game uses faces for better visual feedback. | 764 automatically. The game uses faces for better visual feedback. |
540 | |
541 +++ | |
542 ** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is | |
543 now shown as a hollow box or a thin bar. However, you can control how | |
544 it blinks off by setting the variable `blink-cursor-alist'. | |
545 | 765 |
546 ** The new variable `x-select-request-type' controls how Emacs | 766 ** The new variable `x-select-request-type' controls how Emacs |
547 requests X selection. The default value is nil, which means that | 767 requests X selection. The default value is nil, which means that |
548 Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING, | 768 Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING, |
549 and use the more appropriately result. | 769 and use the more appropriately result. |
581 to another, even within a frame. If you set the variable | 801 to another, even within a frame. If you set the variable |
582 mouse-autoselect-window to non-nil value, moving the mouse to a | 802 mouse-autoselect-window to non-nil value, moving the mouse to a |
583 different Emacs window will select that window (minibuffer window can | 803 different Emacs window will select that window (minibuffer window can |
584 be selected only when it is active). The default is nil, so that this | 804 be selected only when it is active). The default is nil, so that this |
585 feature is not enabled. | 805 feature is not enabled. |
806 | |
807 ** On X, when the window manager requires that you click on a frame to | |
808 select it (give it focus), the selected window and cursor position | |
809 normally changes according to the mouse click position. If you set | |
810 the variable x-mouse-click-focus-ignore-position to t, the selected | |
811 window and cursor position do not change when you click on a frame | |
812 to give it focus. | |
586 | 813 |
587 +++ | 814 +++ |
588 ** The new command `describe-char' (C-u C-x =) pops up a buffer with | 815 ** The new command `describe-char' (C-u C-x =) pops up a buffer with |
589 description various information about a character, including its | 816 description various information about a character, including its |
590 encodings and syntax, its text properties, overlays, and widgets at | 817 encodings and syntax, its text properties, overlays, and widgets at |
640 | 867 |
641 +++ | 868 +++ |
642 ** Emacs can now indicate in the mode-line the presence of new e-mail | 869 ** Emacs can now indicate in the mode-line the presence of new e-mail |
643 in a directory or in a file. See the documentation of the user option | 870 in a directory or in a file. See the documentation of the user option |
644 `display-time-mail-directory'. | 871 `display-time-mail-directory'. |
645 | |
646 +++ | |
647 ** The default value for `Info-scroll-prefer-subnodes' is now nil. | |
648 | 872 |
649 --- | 873 --- |
650 ** LDAP support now defaults to ldapsearch from OpenLDAP version 2. | 874 ** LDAP support now defaults to ldapsearch from OpenLDAP version 2. |
651 | 875 |
652 +++ | 876 +++ |
682 than 8 colors. For example, for `xterm', 16-color, 88-color, and | 906 than 8 colors. For example, for `xterm', 16-color, 88-color, and |
683 256-color modes are supported. Emacs automatically notes at startup | 907 256-color modes are supported. Emacs automatically notes at startup |
684 the extended number of colors, and defines the appropriate entries for | 908 the extended number of colors, and defines the appropriate entries for |
685 all of these colors. | 909 all of these colors. |
686 | 910 |
911 +++ | |
912 *** Emacs now uses the full range of available colors for the default | |
913 faces when running on a color terminal, including 16-, 88-, and | |
914 256-color xterms. This means that when you run "emacs -nw" on an | |
915 88-color or 256-color xterm, you will see essentially the same face | |
916 colors as on X. | |
917 | |
687 --- | 918 --- |
688 *** There's a new support for colors on `rxvt' terminal emulator. | 919 *** There's a new support for colors on `rxvt' terminal emulator. |
689 | 920 |
690 +++ | 921 +++ |
691 ** Emacs can now be invoked in full-screen mode on a windowed display. | 922 ** Emacs can now be invoked in full-screen mode on a windowed display. |
692 | 923 |
693 When Emacs is invoked on a window system, the new command-line options | 924 When Emacs is invoked on a window system, the new command-line options |
694 `--fullwidth', `--fullheight', and `--fullscreen' produce a frame | 925 `--fullwidth', `--fullheight', and `--fullscreen' produce a frame |
695 whose width, height, or both width and height take up the entire | 926 whose width, height, or both width and height take up the entire |
696 screen size. (For now, this does not work with some window managers.) | 927 screen size. (For now, this does not work with some window managers.) |
697 | |
698 --- | |
699 ** Info-index offers completion. | |
700 | 928 |
701 --- | 929 --- |
702 ** Emacs now tries to set up buffer coding systems for HTML/XML files | 930 ** Emacs now tries to set up buffer coding systems for HTML/XML files |
703 automatically. | 931 automatically. |
704 | 932 |
829 *** Do not allow debugger output history variable to grow without bounds. | 1057 *** Do not allow debugger output history variable to grow without bounds. |
830 | 1058 |
831 +++ | 1059 +++ |
832 ** hide-ifdef-mode now uses overlays rather than selective-display | 1060 ** hide-ifdef-mode now uses overlays rather than selective-display |
833 to hide its text. This should be mostly transparent but slightly | 1061 to hide its text. This should be mostly transparent but slightly |
834 changes the behavior of motion commands line C-e and C-p. | 1062 changes the behavior of motion commands like C-e and C-p. |
835 | |
836 +++ | |
837 ** In Dired's ! command (dired-do-shell-command), `*' and `?' now | |
838 control substitution of the file names only when they are surrounded | |
839 by whitespace. This means you can now use them as shell wildcards | |
840 too. If you want to use just plain `*' as a wildcard, type `*""'; the | |
841 doublequotes make no difference in the shell, but they prevent | |
842 special treatment in `dired-do-shell-command'. | |
843 | |
844 +++ | |
845 ** Dired's v command now runs external viewers to view certain | |
846 types of files. The variable `dired-view-command-alist' controls | |
847 what external viewers to use and when. | |
848 | 1063 |
849 +++ | 1064 +++ |
850 ** Unquoted `$' in file names do not signal an error any more when | 1065 ** Unquoted `$' in file names do not signal an error any more when |
851 the corresponding environment variable does not exist. | 1066 the corresponding environment variable does not exist. |
852 Instead, the `$ENVVAR' text is left as is, so that `$$' quoting | 1067 Instead, the `$ENVVAR' text is left as is, so that `$$' quoting |
853 is only rarely needed. | 1068 is only rarely needed. |
854 | 1069 |
855 --- | 1070 --- |
856 ** jit-lock can now be delayed with `jit-lock-defer-time'. | 1071 ** JIT-lock changes |
1072 *** jit-lock can now be delayed with `jit-lock-defer-time'. | |
857 | 1073 |
858 If this variable is non-nil, its value should be the amount of Emacs | 1074 If this variable is non-nil, its value should be the amount of Emacs |
859 idle time in seconds to wait before starting fontification. For | 1075 idle time in seconds to wait before starting fontification. For |
860 example, if you set `jit-lock-defer-time' to 0.25, fontification will | 1076 example, if you set `jit-lock-defer-time' to 0.25, fontification will |
861 only happen after 0.25s of idle time. | 1077 only happen after 0.25s of idle time. |
1078 | |
1079 *** contextual refontification is now separate from stealth fontification. | |
1080 | |
1081 jit-lock-defer-contextually is renamed jit-lock-contextually and | |
1082 jit-lock-context-time determines the delay after which contextual | |
1083 refontification takes place. | |
862 | 1084 |
863 +++ | 1085 +++ |
864 ** Marking commands extend the region when invoked multiple times. If | 1086 ** Marking commands extend the region when invoked multiple times. If |
865 you hit M-C-SPC (mark-sexp), M-@ (mark-word), M-h (mark-paragraph), or | 1087 you hit M-C-SPC (mark-sexp), M-@ (mark-word), M-h (mark-paragraph), or |
866 C-M-h (mark-defun) repeatedly, the marked region will now be extended | 1088 C-M-h (mark-defun) repeatedly, the marked region will now be extended |
904 +++ | 1126 +++ |
905 ** M-h (mark-paragraph) now accepts a prefix arg. | 1127 ** M-h (mark-paragraph) now accepts a prefix arg. |
906 With positive arg, M-h marks the current and the following paragraphs; | 1128 With positive arg, M-h marks the current and the following paragraphs; |
907 if the arg is negative, it marks the current and the preceding | 1129 if the arg is negative, it marks the current and the preceding |
908 paragraphs. | 1130 paragraphs. |
909 | |
910 ** In Dired, the w command now copies the current line's file name | |
911 into the kill ring. | |
912 | 1131 |
913 +++ | 1132 +++ |
914 ** The variables dired-free-space-program and dired-free-space-args | 1133 ** The variables dired-free-space-program and dired-free-space-args |
915 have been renamed to directory-free-space-program and | 1134 have been renamed to directory-free-space-program and |
916 directory-free-space-args, and they now apply whenever Emacs puts a | 1135 directory-free-space-args, and they now apply whenever Emacs puts a |
956 attempt to construct a unique auto-save name (e.g. for remote files). | 1175 attempt to construct a unique auto-save name (e.g. for remote files). |
957 | 1176 |
958 +++ | 1177 +++ |
959 ** Diary sexp entries can have custom marking in the calendar. | 1178 ** Diary sexp entries can have custom marking in the calendar. |
960 Diary sexp functions which only apply to certain days (such as | 1179 Diary sexp functions which only apply to certain days (such as |
961 `diary-block' or `diary-cyclic' now take an optional parameter MARK, | 1180 `diary-block' or `diary-cyclic') now take an optional parameter MARK, |
962 which is the name of a face or a single-character string indicating | 1181 which is the name of a face or a single-character string indicating |
963 how to highlight the day in the calendar display. Specifying a | 1182 how to highlight the day in the calendar display. Specifying a |
964 single-character string as @var{mark} places the character next to the | 1183 single-character string as @var{mark} places the character next to the |
965 day in the calendar. Specifying a face highlights the day with that | 1184 day in the calendar. Specifying a face highlights the day with that |
966 face. This lets you have different colors or markings for vacations, | 1185 face. This lets you have different colors or markings for vacations, |
967 appointments, paydays or anything else using a sexp. | 1186 appointments, paydays or anything else using a sexp. |
1187 | |
1188 +++ | |
1189 ** The new function `calendar-goto-day-of-year' (g D) prompts for a | |
1190 year and day number, and moves to that date. Negative day numbers | |
1191 count backward from the end of the year. | |
1192 | |
1193 ** The function `simple-diary-display' now by default sets a header line. | |
1194 This can be controlled through the variables `diary-header-line-flag' | |
1195 and `diary-header-line-format'. | |
1196 | |
1197 +++ | |
1198 ** The procedure for activating appointment reminders has changed: use | |
1199 the new function `appt-activate'. The new variable | |
1200 `appt-display-format' controls how reminders are displayed, replacing | |
1201 appt-issue-message, appt-visible, and appt-msg-window. | |
968 | 1202 |
969 ** VC Changes | 1203 ** VC Changes |
970 | 1204 |
971 *** The key C-x C-q no longer checks files in or out, it only changes | 1205 *** The key C-x C-q no longer checks files in or out, it only changes |
972 the read-only state of the buffer (toggle-read-only). We made this | 1206 the read-only state of the buffer (toggle-read-only). We made this |
1443 +++ | 1677 +++ |
1444 ** The completion commands TAB, SPC and ? in the minibuffer apply only | 1678 ** The completion commands TAB, SPC and ? in the minibuffer apply only |
1445 to the text before point. If there is text in the buffer after point, | 1679 to the text before point. If there is text in the buffer after point, |
1446 it remains unchanged. | 1680 it remains unchanged. |
1447 | 1681 |
1682 ** Visual feedback of *Completions* buffer is enhanced. | |
1683 Faces are put on the common prefix substrings and the first uncommon | |
1684 charachters of each completion candidate in the *Completions* buffer. | |
1685 `completion-de-emphasis' is put on the common prefix substrings as the | |
1686 face; and `completion-emphasis' is put on the first uncommon | |
1687 charachters. By default `completion-de-emphasis' is inherited from | |
1688 `default' face. `completion-emphasis' is inherited from `bold' face. | |
1689 | |
1448 +++ | 1690 +++ |
1449 ** New user option `inhibit-startup-buffer-menu'. | 1691 ** New user option `inhibit-startup-buffer-menu'. |
1450 When loading many files, for instance with `emacs *', Emacs normally | 1692 When loading many files, for instance with `emacs *', Emacs normally |
1451 displays a buffer menu. This option turns the buffer menu off. | 1693 displays a buffer menu. This option turns the buffer menu off. |
1452 | 1694 |
1453 ** New user option `compilation-environment'. | 1695 ** Compilation mode enhancements: |
1696 | |
1697 *** New user option `compilation-environment'. | |
1454 This option allows you to specify environment variables for inferior | 1698 This option allows you to specify environment variables for inferior |
1455 compilation processes without affecting the environment that all | 1699 compilation processes without affecting the environment that all |
1456 subprocesses inherit. | 1700 subprocesses inherit. |
1701 | |
1702 *** `next-error' now temporarily highlights the corresponding source line. | |
1703 | |
1704 ** Grep has been decoupled from compilation mode setup. | |
1705 | |
1706 *** Grep commands now have their own submenu and customization group. | |
1707 | |
1708 *** The new variables `grep-window-height', `grep-auto-highlight', and | |
1709 `grep-scroll-output' can be used to override the corresponding | |
1710 compilation mode settings for grep commands. | |
1711 | |
1712 *** Source line is temporarily highlighted when going to next match. | |
1713 | |
1714 *** New key bindings in grep output window: | |
1715 SPC and DEL scrolls window up and down. C-n and C-p moves to next and | |
1716 previous match in the grep window. RET jumps to the source line of | |
1717 the current match. `n' and `p' shows next and previous match in | |
1718 other window, but does not switch buffer. `{' and `}' jumps to the | |
1719 previous or next file in the grep output. TAB also jumps to the next | |
1720 file. | |
1457 | 1721 |
1458 --- | 1722 --- |
1459 ** Rmail now displays 5-digit message ids in its summary buffer. | 1723 ** Rmail now displays 5-digit message ids in its summary buffer. |
1460 | 1724 |
1461 --- | 1725 --- |
1510 use for the modifiers. For example, the following two lines swap | 1774 use for the modifiers. For example, the following two lines swap |
1511 Meta and Alt: | 1775 Meta and Alt: |
1512 (setq x-alt-keysym 'meta) | 1776 (setq x-alt-keysym 'meta) |
1513 (setq x-meta-keysym 'alt) | 1777 (setq x-meta-keysym 'alt) |
1514 | 1778 |
1515 * New modes and packages in 21.4 | 1779 +++ |
1780 ** vc-annotate-mode enhancements | |
1781 | |
1782 In vc-annotate mode, you can now use the following key bindings for | |
1783 enhanced functionality to browse the annotations of past revisions, or | |
1784 to view diffs or log entries directly from vc-annotate-mode: | |
1785 | |
1786 P: annotates the previous revision | |
1787 N: annotates the next revision | |
1788 J: annotates the revision at line | |
1789 A: annotates the revision previous to line | |
1790 D: shows the diff of the revision at line with its previous revision | |
1791 L: shows the log of the revision at line | |
1792 W: annotates the workfile (most up to date) version | |
1793 | |
1794 * New modes and packages in Emacs 21.4 | |
1795 | |
1796 ** The new python.el package is used to edit Python and Jython programs. | |
1797 | |
1798 ** The URL package (which had been part of W3) is now part of Emacs. | |
1799 | |
1800 +++ | |
1801 ** The new global minor mode `size-indication-mode' (off by default) | |
1802 shows the size of accessible part of the buffer on the mode line. | |
1516 | 1803 |
1517 ** GDB-Script-mode is used for files like .gdbinit. | 1804 ** GDB-Script-mode is used for files like .gdbinit. |
1518 | 1805 |
1519 --- | 1806 --- |
1520 ** Ido mode is now part of the Emacs distribution. | 1807 ** Ido mode is now part of the Emacs distribution. |
1722 | 2009 |
1723 ** If you set `query-replace-skip-read-only' non-nil, | 2010 ** If you set `query-replace-skip-read-only' non-nil, |
1724 `query-replace' and related functions simply ignore | 2011 `query-replace' and related functions simply ignore |
1725 a match if part of it has a read-only property. | 2012 a match if part of it has a read-only property. |
1726 | 2013 |
2014 ** The new Lisp library fringe.el controls the apperance of fringes. | |
2015 | |
2016 ** `cfengine-mode' is a major mode for editing GNU Cfengine | |
2017 configuration files. | |
1727 | 2018 |
1728 * Lisp Changes in Emacs 21.4 | 2019 * Lisp Changes in Emacs 21.4 |
2020 | |
2021 ** The display space :width and :align-to text properties are now | |
2022 supported on text terminals. | |
2023 | |
2024 ** Enhancements to stretch display properties | |
2025 | |
2026 The display property stretch specification form `(space PROPS)', where | |
2027 PROPS is a property list now allows pixel based width and height | |
2028 specifications, as well as enhanced horizontal text alignment. | |
2029 | |
2030 The value of these properties can now be a (primitive) expression | |
2031 which is evaluated during redisplay. The following expressions | |
2032 are supported: | |
2033 | |
2034 EXPR ::= NUM | (NUM) | UNIT | ELEM | POS | IMAGE | FORM | |
2035 NUM ::= INTEGER | FLOAT | SYMBOL | |
2036 UNIT ::= in | mm | cm | width | height | |
2037 ELEM ::= left-fringe | right-fringe | left-margin | right-margin | |
2038 | scroll-bar | text | |
2039 POS ::= left | center | right | |
2040 FORM ::= (NUM . EXPR) | (OP EXPR ...) | |
2041 OP ::= + | - | |
2042 | |
2043 The form `NUM' specifies a fractional width or height of the default | |
2044 frame font size. The form `(NUM)' specifies an absolute number of | |
2045 pixels. If a symbol is specified, its buffer-local variable binding | |
2046 is used. The `in', `mm', and `cm' units specifies the number of | |
2047 pixels per inch, milli-meter, and centi-meter, resp. The `width' and | |
2048 `height' units correspond to the width and height of the current face | |
2049 font. An image specification corresponds to the width or height of | |
2050 the image. | |
2051 | |
2052 The `left-fringe', `right-fringe', `left-margin', `right-margin', | |
2053 `scroll-bar', and `text' elements specify to the width of the | |
2054 corresponding area of the window. | |
2055 | |
2056 The `left', `center', and `right' positions can be used with :align-to | |
2057 to specify a position relative to the left edge, center, or right edge | |
2058 of the text area. One of the above window elements (except `text') | |
2059 can also be used with :align-to to specify that the position is | |
2060 relative to the left edge of the given area. Once the base offset for | |
2061 a relative position has been set (by the first occurrence of one of | |
2062 these symbols), further occurences of these symbols are interpreted as | |
2063 the width of the area. | |
2064 | |
2065 For example, to align to the center of the left-margin, use | |
2066 :align-to (+ left-margin (0.5 . left-margin)) | |
2067 | |
2068 If no specific base offset is set for alignment, it is always relative | |
2069 to the left edge of the text area. For example, :align-to 0 in a | |
2070 header-line aligns with the first text column in the text area. | |
2071 | |
2072 The value of the form `(NUM . EXPR)' is the value of NUM multiplied by | |
2073 the value of the expression EXPR. For example, (2 . in) specifies a | |
2074 width of 2 inches, while (0.5 . IMAGE) specifies half the width (or | |
2075 height) of the specified image. | |
2076 | |
2077 The form `(+ EXPR ...)' adds up the value of the expressions. | |
2078 The form `(- EXPR ...)' negates or subtracts the value of the expressions. | |
2079 | |
2080 ** New macro with-local-quit temporarily sets inhibit-quit to nil for use | |
2081 around potentially blocking or long-running code in timers | |
2082 and post-command-hooks. | |
2083 | |
2084 +++ | |
2085 ** New face attribute `min-colors' can be used to tailor the face color | |
2086 to the number of colors supported by a display, and define the | |
2087 foreground and background colors accordingly so that they look best on | |
2088 a terminal that supports at least this many colors. This is now the | |
2089 preferred method for defining default faces in a way that makes a good | |
2090 use of the capabilities of the display. | |
2091 | |
2092 ** New function 'define-fringe-bitmap' can now be used to change the | |
2093 built-in fringe bitmaps, as well as create new fringe bitmaps. | |
2094 The return value is a number identifying the new fringe bitmap. | |
2095 | |
2096 To change a built-in bitmap, do (require 'fringe) and identify the | |
2097 bitmap to change with the value of the corresponding symbol, like | |
2098 `left-truncation-fringe-bitmap' or `continued-line-fringe-bitmap'. | |
2099 | |
2100 ** New function 'destroy-fringe-bitmap' may be used to destroy a | |
2101 previously created bitmap, or restore a built-in bitmap. | |
2102 | |
2103 ** New function 'set-fringe-bitmap-face' can now be used to set a | |
2104 specific face to be used for a specific fringe bitmap. Normally, | |
2105 this should be a face derived from the `fringe' face, specifying | |
2106 the foreground color as the desired color of the bitmap. | |
2107 | |
2108 ** There are new display properties, left-fringe and right-fringe, | |
2109 that can be used to show a specific bitmap in the left or right fringe | |
2110 bitmap of the display line. | |
2111 | |
2112 Format is 'display '(left-fringe BITMAP [FACE]), where BITMAP is a | |
2113 number identifying a fringe bitmap, either built-in or as returned by | |
2114 `define-fringe-bitmap', and FACE is an optional face name to be used | |
2115 for displaying the bitmap. | |
2116 | |
2117 ** New function `fringe-bitmaps-at-pos' returns a cons (LEFT . RIGHT) | |
2118 identifying the current fringe bitmaps in the display line at a given | |
2119 buffer position. A nil value means no bitmap. | |
2120 | |
2121 ** Multiple overlay arrows can now be defined and managed via the new | |
2122 variable `overlay-arrow-variable-list'. It contains a list of | |
2123 varibles which contain overlay arrow position markers, including | |
2124 the original `overlay-arrow-position' variable. | |
2125 | |
2126 Each variable on this list may have individual `overlay-arrow-string' | |
2127 and `overlay-arrow-bitmap' properties that specify an overlay arrow | |
2128 string (for non-window terminals) or fringe bitmap (for window | |
2129 systems) to display at the corresponding overlay arrow position. | |
2130 If either property is not set, the default `overlay-arrow-string' or | |
2131 'overlay-arrow-fringe-bitmap' will be used. | |
2132 | |
2133 +++ | |
2134 ** New function `line-number-at-pos' returns line number of current | |
2135 line in current buffer, or if optional buffer position is given, line | |
2136 number of corresponding line in current buffer. | |
2137 | |
2138 ** The default value of `sentence-end' is now defined using the new | |
2139 variable `sentence-end-without-space' which contains such characters | |
2140 that end a sentence without following spaces. | |
2141 | |
2142 +++ | |
2143 ** The flags, width, and precision options for %-specifications in function | |
2144 `format' are now documented. Some flags that were accepted but not | |
2145 implemented (such as "*") are no longer accepted. | |
2146 | |
2147 ** New function `macroexpand-all' expands all macros in a form. | |
2148 It is similar to the Common-Lisp function of the same name. | |
2149 One difference is that it guarantees to return the original argument | |
2150 if no expansion is done, which may be tested using `eq'. | |
2151 | |
2152 +++ | |
2153 ** New function `delete-dups' destructively removes `equal' duplicates | |
2154 from a list. Of several `equal' occurrences of an element in the list, | |
2155 the first one is kept. | |
2156 | |
2157 +++ | |
2158 ** `declare' is now a macro. This change was made mostly for | |
2159 documentation purposes and should have no real effect on Lisp code. | |
2160 | |
2161 ** The new hook `before-save-hook' is invoked by `basic-save-buffer' | |
2162 before saving buffers. This allows packages to perform various final | |
2163 tasks, for example; it can be used by the copyright package to make | |
2164 sure saved files have the current year in any copyright headers. | |
2165 | |
2166 +++ | |
2167 ** The function `insert-for-yank' now supports strings where the | |
2168 `yank-handler' property does not span the first character of the | |
2169 string. The old behavior is available if you call | |
2170 `insert-for-yank-1' instead. | |
2171 | |
2172 ** New function `get-char-property-and-overlay' accepts the same | |
2173 arguments as `get-char-property' and returns a cons whose car is the | |
2174 return value of `get-char-property' called with those arguments and | |
2175 whose cdr is the overlay in which the property was found, or nil if | |
2176 it was found as a text property or not found at all. | |
2177 | |
2178 ** The mouse pointer shape in void text areas (i.e. after the end of a | |
2179 line or below the last line in the buffer) of the text window is now | |
2180 controlled by the new variable `void-text-area-pointer'. The default | |
2181 is to use the `arrow' (non-text) pointer. Other choices are `text' | |
2182 (or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'. | |
2183 | |
2184 ** The mouse pointer shape over an image can now be controlled by the | |
2185 :pointer image property. | |
2186 | |
2187 ** The mouse pointer shape over ordinary text or images may now be | |
2188 controlled/overriden via the `pointer' text property. | |
2189 | |
2190 ** Images may now have an associated image map via the :map property. | |
2191 | |
2192 An image map is an alist where each element has the format (AREA ID PLIST). | |
2193 An AREA is specified as either a rectangle, a circle, or a polygon: | |
2194 A rectangle is a cons (rect . ((x0 . y0) . (x1 . y1))) specifying the | |
2195 pixel coordinates of the upper left and bottom right corners. | |
2196 A circle is a cons (circle . ((x0 . y0) . r)) specifying the center | |
2197 and the radius of the circle; r may be a float or integer. | |
2198 A polygon is a cons (poly . [x0 y0 x1 y1 ...]) where each pair in the | |
2199 vector describes one corner in the polygon. | |
2200 | |
2201 When the mouse pointer is above a hot-spot area of an image, the | |
2202 PLIST of that hot-spot is consulted; if it contains a `help-echo' | |
2203 property it defines a tool-tip for the hot-spot, and if it contains | |
2204 a `pointer' property, it defines the shape of the mouse cursor when | |
2205 it is over the hot-spot. See the variable 'void-area-text-pointer' | |
2206 for possible pointer shapes. | |
2207 | |
2208 When you click the mouse when the mouse pointer is over a hot-spot, | |
2209 an event is composed by combining the ID of the hot-spot with the | |
2210 mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'. | |
2211 | |
2212 ** Mouse event enhancements: | |
2213 | |
2214 *** Mouse clicks on fringes now generates left-fringe or right-fringes | |
2215 events, rather than a text area click event. | |
2216 | |
2217 *** Mouse clicks in the left and right marginal areas now includes a | |
2218 sensible buffer position corresponding to the first character in the | |
2219 corresponding text row. | |
2220 | |
2221 *** Function `mouse-set-point' now works for events outside text area. | |
2222 | |
2223 +++ | |
2224 *** Mouse events now includes buffer position for all event types. | |
2225 | |
2226 +++ | |
2227 *** `posn-point' now returns buffer position for non-text area events. | |
2228 | |
2229 +++ | |
2230 *** New function `posn-area' returns window area clicked on (nil means | |
2231 text area). | |
2232 | |
2233 +++ | |
2234 *** Mouse events include actual glyph column and row for all event types. | |
2235 | |
2236 +++ | |
2237 *** New function `posn-actual-col-row' returns actual glyph coordinates. | |
2238 | |
2239 +++ | |
2240 *** Mouse events may now include image object in addition to string object. | |
2241 | |
2242 +++ | |
2243 *** Mouse events include relative x and y pixel coordinates relative to | |
2244 the top left corner of the object (image or character) clicked on. | |
2245 | |
2246 +++ | |
2247 *** Mouse events include the pixel width and height of the object | |
2248 (image or character) clicked on. | |
2249 | |
2250 +++ | |
2251 *** New functions 'posn-object', 'posn-object-x-y', and | |
2252 'posn-object-width-height' return the image or string object of a mouse | |
2253 click, the x and y pixel coordinates relative to the top left corner | |
2254 of that object, and the total width and height of that object. | |
2255 | |
2256 ** New function `force-window-update' can initiate a full redisplay of | |
2257 one or all windows. Normally, this is not needed as changes in window | |
2258 contents are detected automatically. However, certain implicit | |
2259 changes to mode lines, header lines, or display properties may require | |
2260 forcing an explicit window update. | |
2261 | |
2262 ** New function `redirect-debugging-output' can be used to redirect | |
2263 debugging output on the stderr file handle to a file. | |
2264 | |
2265 +++ | |
2266 ** `split-string' now includes null substrings in the returned list if | |
2267 the optional argument SEPARATORS is non-nil and there are matches for | |
2268 SEPARATORS at the beginning or end of the string. If SEPARATORS is | |
2269 nil, or if the new optional third argument OMIT-NULLS is non-nil, all | |
2270 empty matches are omitted from the returned list. | |
2271 | |
2272 +++ | |
2273 ** `makehash' is now obsolete. Use `make-hash-table' instead. | |
2274 | |
2275 +++ | |
2276 ** If optional third argument APPEND to `add-to-list' is non-nil, a | |
2277 new element gets added at the end of the list instead of at the | |
2278 beginning. This change actually occurred in Emacs-21.1, but was not | |
2279 documented. | |
2280 | |
2281 ** Major modes can define `eldoc-print-current-symbol-info-function' | |
2282 locally to provide Eldoc functionality by some method appropriate to | |
2283 the language. | |
2284 | |
2285 --- | |
2286 ** New coding system property `mime-text-unsuitable' indicates that | |
2287 the coding system's `mime-charset' is not suitable for MIME text | |
2288 parts, e.g. utf-16. | |
2289 | |
2290 +++ | |
2291 ** The argument to forward-word, backward-word, forward-to-indentation | |
2292 and backward-to-indentation is now optional, and defaults to 1. | |
2293 | |
2294 +++ | |
2295 ** (char-displayable-p CHAR) returns non-nil if Emacs ought to be able | |
2296 to display CHAR. More precisely, if the selected frame's fontset has | |
2297 a font to display the character set that CHAR belongs to. | |
2298 | |
2299 Fontsets can specify a font on a per-character basis; when the fontset | |
2300 does that, this value may not be accurate. | |
1729 | 2301 |
1730 +++ | 2302 +++ |
1731 ** The new function `window-inside-edges' returns the edges of the | 2303 ** The new function `window-inside-edges' returns the edges of the |
1732 actual text portion of the window, not including the scroll bar or | 2304 actual text portion of the window, not including the scroll bar or |
1733 divider line, the fringes, the display margins, the header line and | 2305 divider line, the fringes, the display margins, the header line and |
1937 splotches are skipped for forms that can't possibly complete their evaluation, | 2509 splotches are skipped for forms that can't possibly complete their evaluation, |
1938 such as `error'. The brown splotches are skipped for forms that are expected | 2510 such as `error'. The brown splotches are skipped for forms that are expected |
1939 to always evaluate to the same value, such as (setq x 14). | 2511 to always evaluate to the same value, such as (setq x 14). |
1940 | 2512 |
1941 *** For difficult cases, you can add do-nothing macros to your code to help | 2513 *** For difficult cases, you can add do-nothing macros to your code to help |
1942 out the test coverage tool. The macro 1value suppresses a brown splotch for | 2514 out the test coverage tool. The macro `noreturn' suppresses a red splotch. |
1943 its argument. The macro noreturn suppresses a red splotch. | 2515 It is an error if the argument to `noreturn' does return. The macro 1value |
2516 suppresses a brown splotch for its argument. This macro is a no-op except | |
2517 during test-coverage -- then it signals an error if the argument actually | |
2518 returns differing values. | |
1944 | 2519 |
1945 +++ | 2520 +++ |
1946 ** New function unsafep returns nil if the given Lisp form can't possibly | 2521 ** New function unsafep returns nil if the given Lisp form can't possibly |
1947 do anything dangerous; otherwise it returns a reason why the form might be | 2522 do anything dangerous; otherwise it returns a reason why the form might be |
1948 unsafe (calls dangerous function, alters global variable, etc). | 2523 unsafe (calls dangerous function, alters global variable, etc). |
1982 +++ | 2557 +++ |
1983 ** The new function `minibufferp' returns non-nil if its optional buffer | 2558 ** The new function `minibufferp' returns non-nil if its optional buffer |
1984 argument is a minibuffer. If the argument is omitted it defaults to | 2559 argument is a minibuffer. If the argument is omitted it defaults to |
1985 the current buffer. | 2560 the current buffer. |
1986 | 2561 |
2562 +++ | |
1987 ** There is a new Warnings facility; see the functions `warn' | 2563 ** There is a new Warnings facility; see the functions `warn' |
1988 and `display-warning'. | 2564 and `display-warning'. |
1989 | 2565 |
1990 +++ | 2566 +++ |
1991 ** The functions all-completions and try-completion now accept lists | 2567 ** The functions all-completions and try-completion now accept lists |
2005 | 2581 |
2006 --- | 2582 --- |
2007 ** The new function `merge-coding-systems' fills in unspecified aspects | 2583 ** The new function `merge-coding-systems' fills in unspecified aspects |
2008 of one coding system from another coding system. | 2584 of one coding system from another coding system. |
2009 | 2585 |
2586 +++ | |
2010 ** The variable `safe-local-eval-forms' specifies a list of forms that | 2587 ** The variable `safe-local-eval-forms' specifies a list of forms that |
2011 are ok to evaluate when they appear in an `eval' local variables | 2588 are ok to evaluate when they appear in an `eval' local variables |
2012 specification. Normally Emacs asks for confirmation before evaluating | 2589 specification. Normally Emacs asks for confirmation before evaluating |
2013 such a form, but if the form appears in this list, no confirmation is | 2590 such a form, but if the form appears in this list, no confirmation is |
2014 needed. | 2591 needed. |
2015 | 2592 |
2593 --- | |
2016 ** If a function has a non-nil `safe-local-eval-function' property, | 2594 ** If a function has a non-nil `safe-local-eval-function' property, |
2017 that means it is ok to evaluate some calls to that function when it | 2595 that means it is ok to evaluate some calls to that function when it |
2018 appears in an `eval' local variables specification. If the property | 2596 appears in an `eval' local variables specification. If the property |
2019 is t, then any form calling that function with constant arguments is | 2597 is t, then any form calling that function with constant arguments is |
2020 ok. If the property is a function or list of functions, they are called | 2598 ok. If the property is a function or list of functions, they are called |
2021 with the form as argument, and if any returns t, the form is ok to call. | 2599 with the form as argument, and if any returns t, the form is ok to call. |
2022 | 2600 |
2023 If the form is not "ok to call", that means Emacs asks for | 2601 If the form is not "ok to call", that means Emacs asks for |
2024 confirmation as before. | 2602 confirmation as before. |
2025 | 2603 |
2604 +++ | |
2026 ** Controlling the default left and right fringe widths. | 2605 ** Controlling the default left and right fringe widths. |
2027 | 2606 |
2028 The default left and right fringe widths for all windows of a frame | 2607 The default left and right fringe widths for all windows of a frame |
2029 can now be controlled by setting the `left-fringe' and `right-fringe' | 2608 can now be controlled by setting the `left-fringe' and `right-fringe' |
2030 frame parameters to an integer value specifying the width in pixels. | 2609 frame parameters to an integer value specifying the width in pixels. |
2040 Setting the width to nil (the default), restores the default fringe | 2619 Setting the width to nil (the default), restores the default fringe |
2041 width which is the minimum number of pixels necessary to display any | 2620 width which is the minimum number of pixels necessary to display any |
2042 of the currently defined fringe bitmaps. The width of the built-in | 2621 of the currently defined fringe bitmaps. The width of the built-in |
2043 fringe bitmaps is 8 pixels. | 2622 fringe bitmaps is 8 pixels. |
2044 | 2623 |
2624 +++ | |
2045 ** Per-window fringes settings | 2625 ** Per-window fringes settings |
2046 | 2626 |
2047 Windows can now have their own individual fringe widths and position | 2627 Windows can now have their own individual fringe widths and position |
2048 settings. | 2628 settings. |
2049 | 2629 |
2060 settings. To make `left-fringe-width', `right-fringe-width', and | 2640 settings. To make `left-fringe-width', `right-fringe-width', and |
2061 `fringes-outside-margins' take effect, you must set them before | 2641 `fringes-outside-margins' take effect, you must set them before |
2062 displaying the buffer in a window, or use `set-window-buffer' to force | 2642 displaying the buffer in a window, or use `set-window-buffer' to force |
2063 an update of the display margins. | 2643 an update of the display margins. |
2064 | 2644 |
2645 +++ | |
2065 ** Per-window vertical scroll-bar settings | 2646 ** Per-window vertical scroll-bar settings |
2066 | 2647 |
2067 Windows can now have their own individual scroll-bar settings | 2648 Windows can now have their own individual scroll-bar settings |
2068 controlling the width and position of scroll-bars. | 2649 controlling the width and position of scroll-bars. |
2069 | 2650 |
2073 used to obtain the current settings. To make `scroll-bar-mode' and | 2654 used to obtain the current settings. To make `scroll-bar-mode' and |
2074 `scroll-bar-width' take effect, you must set them before displaying | 2655 `scroll-bar-width' take effect, you must set them before displaying |
2075 the buffer in a window, or use `set-window-buffer' to force an update | 2656 the buffer in a window, or use `set-window-buffer' to force an update |
2076 of the display margins. | 2657 of the display margins. |
2077 | 2658 |
2659 +++ | |
2078 ** The function `set-window-buffer' now has an optional third argument | 2660 ** The function `set-window-buffer' now has an optional third argument |
2079 KEEP-MARGINS which will preserve the window's current margin, fringe, | 2661 KEEP-MARGINS which will preserve the window's current margin, fringe, |
2080 and scroll-bar settings if non-nil. | 2662 and scroll-bar settings if non-nil. |
2081 | 2663 |
2082 +++ | 2664 +++ |
2085 find-file-not-found-hooks to find-file-not-found-functions, | 2667 find-file-not-found-hooks to find-file-not-found-functions, |
2086 write-file-hooks to write-file-functions, | 2668 write-file-hooks to write-file-functions, |
2087 write-contents-hooks to write-contents-functions. | 2669 write-contents-hooks to write-contents-functions. |
2088 Marked local-write-file-hooks as obsolete (use the LOCAL arg of `add-hook'). | 2670 Marked local-write-file-hooks as obsolete (use the LOCAL arg of `add-hook'). |
2089 | 2671 |
2672 +++ | |
2090 ** The new variable `delete-frame-functions' replaces `delete-frame-hook'. | 2673 ** The new variable `delete-frame-functions' replaces `delete-frame-hook'. |
2091 It was renamed to follow the naming conventions for abnormal hooks. The old | 2674 It was renamed to follow the naming conventions for abnormal hooks. The old |
2092 name remains available as an alias, but has been marked obsolete. | 2675 name remains available as an alias, but has been marked obsolete. |
2093 | 2676 |
2677 +++ | |
2094 ** The `read-file-name' function now takes an additional argument which | 2678 ** The `read-file-name' function now takes an additional argument which |
2095 specifies a predicate which the file name read must satify. The | 2679 specifies a predicate which the file name read must satify. The |
2096 new variable `read-file-name-predicate' contains the predicate argument | 2680 new variable `read-file-name-predicate' contains the predicate argument |
2097 while reading the file name from the minibuffer; the predicate in this | 2681 while reading the file name from the minibuffer; the predicate in this |
2098 variable is used by read-file-name-internal to filter the completion list. | 2682 variable is used by read-file-name-internal to filter the completion list. |
2099 | 2683 |
2684 --- | |
2100 ** The new variable `read-file-name-function' can be used by lisp code | 2685 ** The new variable `read-file-name-function' can be used by lisp code |
2101 to override the internal read-file-name function. | 2686 to override the internal read-file-name function. |
2102 | 2687 |
2688 +++ | |
2103 ** The new function `read-directory-name' can be used instead of | 2689 ** The new function `read-directory-name' can be used instead of |
2104 `read-file-name' to read a directory name; when used, completion | 2690 `read-file-name' to read a directory name; when used, completion |
2105 will only show directories. | 2691 will only show directories. |
2106 | 2692 |
2693 +++ | |
2107 ** The new function `file-remote-p' tests a file name and returns | 2694 ** The new function `file-remote-p' tests a file name and returns |
2108 non-nil if it specifies a remote file (one that Emacs accesses using | 2695 non-nil if it specifies a remote file (one that Emacs accesses using |
2109 its own special methods and not directly through the file system). | 2696 its own special methods and not directly through the file system). |
2110 | 2697 |
2698 --- | |
2111 ** When a Lisp file uses CL functions at run-time, compiling the file | 2699 ** When a Lisp file uses CL functions at run-time, compiling the file |
2112 now issues warnings about these calls, unless the file performs | 2700 now issues warnings about these calls, unless the file performs |
2113 (require 'cl) when loaded. | 2701 (require 'cl) when loaded. |
2114 | 2702 |
2115 ** The new Lisp library fringe.el controls the apperance of fringes. | 2703 +++ |
2116 | |
2117 ** The `defmacro' form may contain declarations specifying how to | 2704 ** The `defmacro' form may contain declarations specifying how to |
2118 indent the macro in Lisp mode and how to debug it with Edebug. The | 2705 indent the macro in Lisp mode and how to debug it with Edebug. The |
2119 syntax of defmacro has been extended to | 2706 syntax of defmacro has been extended to |
2120 | 2707 |
2121 (defmacro NAME LAMBDA-LIST [DOC-STRING] [DECLARATION ...] ...) | 2708 (defmacro NAME LAMBDA-LIST [DOC-STRING] [DECLARATION ...] ...) |
2128 | 2715 |
2129 (edebug DEBUG) | 2716 (edebug DEBUG) |
2130 Set NAME's `edebug-form-spec' property to DEBUG. (This is | 2717 Set NAME's `edebug-form-spec' property to DEBUG. (This is |
2131 equivalent to writing a `def-edebug-spec' for the macro. | 2718 equivalent to writing a `def-edebug-spec' for the macro. |
2132 | 2719 |
2720 +++ | |
2133 ** Interactive commands can be remapped through keymaps. | 2721 ** Interactive commands can be remapped through keymaps. |
2134 | 2722 |
2135 This is an alternative to using defadvice or substitute-key-definition | 2723 This is an alternative to using defadvice or substitute-key-definition |
2136 to modify the behavior of a key binding using the normal keymap | 2724 to modify the behavior of a key binding using the normal keymap |
2137 binding and lookup functionality. | 2725 binding and lookup functionality. |
2184 | 2772 |
2185 - The new variable `this-original-command' contains the original | 2773 - The new variable `this-original-command' contains the original |
2186 command before remapping. It is equal to `this-command' when the | 2774 command before remapping. It is equal to `this-command' when the |
2187 command was not remapped. | 2775 command was not remapped. |
2188 | 2776 |
2777 +++ | |
2189 ** New variable emulation-mode-map-alists. | 2778 ** New variable emulation-mode-map-alists. |
2190 | 2779 |
2191 Lisp packages using many minor mode keymaps can now maintain their own | 2780 Lisp packages using many minor mode keymaps can now maintain their own |
2192 keymap alist separate from minor-mode-map-alist by adding their keymap | 2781 keymap alist separate from minor-mode-map-alist by adding their keymap |
2193 alist to this list. | 2782 alist to this list. |
2194 | 2783 |
2784 +++ | |
2195 ** Atomic change groups. | 2785 ** Atomic change groups. |
2196 | 2786 |
2197 To perform some changes in the current buffer "atomically" so that | 2787 To perform some changes in the current buffer "atomically" so that |
2198 they either all succeed or are all undone, use `atomic-change-group' | 2788 they either all succeed or are all undone, use `atomic-change-group' |
2199 around the code that makes changes. For instance: | 2789 around the code that makes changes. For instance: |
2255 This variable allows you to create alternative names for text | 2845 This variable allows you to create alternative names for text |
2256 properties. It works at the same level as `default-text-properties', | 2846 properties. It works at the same level as `default-text-properties', |
2257 although it applies to overlays as well. This variable was introduced | 2847 although it applies to overlays as well. This variable was introduced |
2258 to implement the `font-lock-face' property. | 2848 to implement the `font-lock-face' property. |
2259 | 2849 |
2850 +++ | |
2260 ** New special text property `font-lock-face'. | 2851 ** New special text property `font-lock-face'. |
2261 | 2852 |
2262 This property acts like the `face' property, but it is controlled by | 2853 This property acts like the `face' property, but it is controlled by |
2263 M-x font-lock-mode. It is not, strictly speaking, a builtin text | 2854 M-x font-lock-mode. It is not, strictly speaking, a builtin text |
2264 property. Instead, it is implemented inside font-core.el, using the | 2855 property. Instead, it is implemented inside font-core.el, using the |
2265 new variable `char-property-alias-alist'. | 2856 new variable `char-property-alias-alist'. |
2266 | 2857 |
2858 +++ | |
2267 ** New function remove-list-of-text-properties. | 2859 ** New function remove-list-of-text-properties. |
2268 | 2860 |
2269 The new function `remove-list-of-text-properties' is almost the same | 2861 The new function `remove-list-of-text-properties' is almost the same |
2270 as `remove-text-properties'. The only difference is that it takes | 2862 as `remove-text-properties'. The only difference is that it takes |
2271 a list of property names as argument rather than a property list. | 2863 a list of property names as argument rather than a property list. |
2272 | 2864 |
2865 +++ | |
2273 ** New function insert-for-yank. | 2866 ** New function insert-for-yank. |
2274 | 2867 |
2275 This function normally works like `insert' but removes the text | 2868 This function normally works like `insert' but removes the text |
2276 properties in the `yank-excluded-properties' list. However, if the | 2869 properties in the `yank-excluded-properties' list. However, if the |
2277 inserted text has a `yank-handler' text property on the first | 2870 inserted text has a `yank-handler' text property on the first |
2278 character of the string, the insertion of the text may be modified in | 2871 character of the string, the insertion of the text may be modified in |
2279 a number of ways. See the description of `yank-handler' below. | 2872 a number of ways. See the description of `yank-handler' below. |
2280 | 2873 |
2874 +++ | |
2281 ** New function insert-buffer-substring-as-yank. | 2875 ** New function insert-buffer-substring-as-yank. |
2282 | 2876 |
2283 This function works like `insert-buffer-substring', but removes the | 2877 This function works like `insert-buffer-substring', but removes the |
2284 text properties in the `yank-excluded-properties' list. | 2878 text properties in the `yank-excluded-properties' list. |
2285 | 2879 |
2880 +++ | |
2286 ** New function insert-buffer-substring-no-properties. | 2881 ** New function insert-buffer-substring-no-properties. |
2287 | 2882 |
2288 This function is like insert-buffer-substring, but removes all | 2883 This function is like insert-buffer-substring, but removes all |
2289 text properties from the inserted substring. | 2884 text properties from the inserted substring. |
2290 | 2885 |
2886 +++ | |
2291 ** New `yank-handler' text property may be used to control how | 2887 ** New `yank-handler' text property may be used to control how |
2292 previously killed text on the kill-ring is reinserted. | 2888 previously killed text on the kill-ring is reinserted. |
2293 | 2889 |
2294 The value of the yank-handler property must be a list with one to five | 2890 The value of the yank-handler property must be a list with one to four |
2295 elements with the following format: | 2891 elements with the following format: |
2296 (FUNCTION PARAM NOEXCLUDE UNDO). | 2892 (FUNCTION PARAM NOEXCLUDE UNDO). |
2297 | 2893 |
2298 The `insert-for-yank' function looks for a yank-handler property on | 2894 The `insert-for-yank' function looks for a yank-handler property on |
2299 the first character on its string argument (typically the first | 2895 the first character on its string argument (typically the first |
2313 If UNDO is present and non-nil, it is a function that will be called | 2909 If UNDO is present and non-nil, it is a function that will be called |
2314 by `yank-pop' to undo the insertion of the current object. It is | 2910 by `yank-pop' to undo the insertion of the current object. It is |
2315 called with two arguments, the start and end of the current region. | 2911 called with two arguments, the start and end of the current region. |
2316 FUNCTION may set `yank-undo-function' to override the UNDO value. | 2912 FUNCTION may set `yank-undo-function' to override the UNDO value. |
2317 | 2913 |
2318 *** The functions kill-new, kill-append, and kill-region now has an | 2914 *** The functions kill-new, kill-append, and kill-region now have an |
2319 optional third argument to specify the yank-handler text property | 2915 optional argument to specify the yank-handler text property to put on |
2320 to put on the killed text. | 2916 the killed text. |
2321 | 2917 |
2322 *** The function yank-pop will now use a non-nil value of the variable | 2918 *** The function yank-pop will now use a non-nil value of the variable |
2323 `yank-undo-function' (instead of delete-region) to undo the previous | 2919 `yank-undo-function' (instead of delete-region) to undo the previous |
2324 yank or yank-pop command (or a call to insert-for-yank). The function | 2920 yank or yank-pop command (or a call to insert-for-yank). The function |
2325 insert-for-yank automatically sets that variable according to the UNDO | 2921 insert-for-yank automatically sets that variable according to the UNDO |
2326 element of the string argument's yank-handler text property if present. | 2922 element of the string argument's yank-handler text property if present. |
2327 | 2923 |
2924 +++ | |
2328 ** New function display-supports-face-attributes-p may be used to test | 2925 ** New function display-supports-face-attributes-p may be used to test |
2329 whether a given set of face attributes is actually displayable. | 2926 whether a given set of face attributes is actually displayable. |
2330 | 2927 |
2331 A new predicate `supports' has also been added to the `defface' face | 2928 A new predicate `supports' has also been added to the `defface' face |
2332 specification language, which can be used to do this test for faces | 2929 specification language, which can be used to do this test for faces |
2333 defined with defface. | 2930 defined with defface. |
2334 | 2931 |
2932 +++ | |
2335 ** face-attribute, face-foreground, face-background, and face-stipple now | 2933 ** face-attribute, face-foreground, face-background, and face-stipple now |
2336 accept a new optional argument, INHERIT, which controls how face | 2934 accept a new optional argument, INHERIT, which controls how face |
2337 inheritance is used when determining the value of a face attribute. | 2935 inheritance is used when determining the value of a face attribute. |
2338 | 2936 |
2937 +++ | |
2339 ** New functions face-attribute-relative-p and merge-face-attribute | 2938 ** New functions face-attribute-relative-p and merge-face-attribute |
2340 help with handling relative face attributes. | 2939 help with handling relative face attributes. |
2341 | 2940 |
2941 +++ | |
2342 ** Enhancements to process support | 2942 ** Enhancements to process support |
2343 | 2943 |
2344 *** Function list-processes now has an optional argument; if non-nil, | 2944 *** Function list-processes now has an optional argument; if non-nil, |
2345 only the processes whose query-on-exit flag is set are listed. | 2945 only the processes whose query-on-exit flag is set are listed. |
2346 | 2946 |
2358 and modify elements on this property list. | 2958 and modify elements on this property list. |
2359 | 2959 |
2360 The new low-level functions process-plist and set-process-plist are | 2960 The new low-level functions process-plist and set-process-plist are |
2361 used to access and replace the entire property list of a process. | 2961 used to access and replace the entire property list of a process. |
2362 | 2962 |
2363 | 2963 ??? |
2964 *** Adaptive read buffering of subprocess output. | |
2965 | |
2966 On some systems, when emacs reads the output from a subprocess, the | |
2967 output data is read in very small blocks, potentially resulting in | |
2968 very poor performance. This behaviour can be remedied to some extent | |
2969 by setting the new variable process-adaptive-read-buffering to a | |
2970 non-nil value (the default), as it will automatically delay reading | |
2971 from such processes, to allowing them to produce more output before | |
2972 emacs tries to read it. | |
2973 | |
2974 +++ | |
2364 ** Enhanced networking support. | 2975 ** Enhanced networking support. |
2365 | 2976 |
2366 *** There is a new `make-network-process' function which supports | 2977 *** There is a new `make-network-process' function which supports |
2367 opening of stream and datagram connections to a server, as well as | 2978 opening of stream and datagram connections to a server, as well as |
2368 create a stream or datagram server inside emacs. | 2979 create a stream or datagram server inside emacs. |
2421 *** Network processes can now be stopped and restarted with | 3032 *** Network processes can now be stopped and restarted with |
2422 `stop-process' and `continue-process'. For a server process, no | 3033 `stop-process' and `continue-process'. For a server process, no |
2423 connections are accepted in the stopped state. For a client process, | 3034 connections are accepted in the stopped state. For a client process, |
2424 no input is received in the stopped state. | 3035 no input is received in the stopped state. |
2425 | 3036 |
3037 *** New function network-interface-list. | |
3038 | |
3039 This function returns a list of network interface names and their | |
3040 current network addresses. | |
3041 | |
3042 *** New function network-interface-info. | |
3043 | |
3044 This function returns the network address, hardware address, current | |
3045 status, and other information about a specific network interface. | |
3046 | |
3047 +++ | |
2426 ** New function copy-tree. | 3048 ** New function copy-tree. |
2427 | 3049 |
3050 +++ | |
2428 ** New function substring-no-properties. | 3051 ** New function substring-no-properties. |
2429 | 3052 |
3053 +++ | |
2430 ** New function minibuffer-selected-window. | 3054 ** New function minibuffer-selected-window. |
2431 | 3055 |
3056 +++ | |
2432 ** New function `call-process-shell-command'. | 3057 ** New function `call-process-shell-command'. |
2433 | 3058 |
3059 --- | |
2434 ** The dummy function keys made by easymenu | 3060 ** The dummy function keys made by easymenu |
2435 are now always lower case. If you specify the | 3061 are now always lower case. If you specify the |
2436 menu item name "Ada", for instance, it uses `ada' | 3062 menu item name "Ada", for instance, it uses `ada' |
2437 as the "key" bound by that key binding. | 3063 as the "key" bound by that key binding. |
2438 | 3064 |
2439 This is relevant only if Lisp code looks for | 3065 This is relevant only if Lisp code looks for |
2440 the bindings that were made with easymenu. | 3066 the bindings that were made with easymenu. |
2441 | 3067 |
3068 +++ | |
2442 ** The function `commandp' takes an additional optional | 3069 ** The function `commandp' takes an additional optional |
2443 argument. If it is non-nil, then `commandp' checks | 3070 argument. If it is non-nil, then `commandp' checks |
2444 for a function that could be called with `call-interactively', | 3071 for a function that could be called with `call-interactively', |
2445 and does not return t for keyboard macros. | 3072 and does not return t for keyboard macros. |
2446 | 3073 |
3074 --- | |
2447 ** master-mode.el implements a minor mode for scrolling a slave | 3075 ** master-mode.el implements a minor mode for scrolling a slave |
2448 buffer without leaving your current buffer, the master buffer. | 3076 buffer without leaving your current buffer, the master buffer. |
2449 | 3077 |
2450 It can be used by sql.el, for example: the SQL buffer is the master | 3078 It can be used by sql.el, for example: the SQL buffer is the master |
2451 and its SQLi buffer is the slave. This allows you to scroll the SQLi | 3079 and its SQLi buffer is the slave. This allows you to scroll the SQLi |
2462 (master-set-slave sql-buffer)))) | 3090 (master-set-slave sql-buffer)))) |
2463 (add-hook 'sql-set-sqli-hook | 3091 (add-hook 'sql-set-sqli-hook |
2464 (function (lambda () | 3092 (function (lambda () |
2465 (master-set-slave sql-buffer)))) | 3093 (master-set-slave sql-buffer)))) |
2466 | 3094 |
3095 +++ | |
2467 ** File local variables. | 3096 ** File local variables. |
2468 | 3097 |
2469 A file local variables list cannot specify a string with text | 3098 A file local variables list cannot specify a string with text |
2470 properties--any specified text properties are discarded. | 3099 properties--any specified text properties are discarded. |
2471 | 3100 |
2473 ** New function window-body-height. | 3102 ** New function window-body-height. |
2474 | 3103 |
2475 This is like window-height but does not count the mode line | 3104 This is like window-height but does not count the mode line |
2476 or the header line. | 3105 or the header line. |
2477 | 3106 |
3107 +++ | |
2478 ** New function format-mode-line. | 3108 ** New function format-mode-line. |
2479 | 3109 |
2480 This returns the mode-line or header-line of the selected (or a | 3110 This returns the mode-line or header-line of the selected (or a |
2481 specified) window as a string with or without text properties. | 3111 specified) window as a string with or without text properties. |
2482 | 3112 |
3113 +++ | |
2483 ** New functions `lax-plist-get' and `lax-plist-put'. | 3114 ** New functions `lax-plist-get' and `lax-plist-put'. |
2484 | 3115 |
2485 These functions are like `plist-get' and `plist-put' except that they | 3116 These functions are like `plist-get' and `plist-put' except that they |
2486 compare the property name using `equal' rather than `eq'. | 3117 compare the property name using `equal' rather than `eq'. |
2487 | 3118 |
3119 +++ | |
2488 ** New function `tool-bar-local-item-from-menu' | 3120 ** New function `tool-bar-local-item-from-menu' |
2489 | 3121 |
2490 The `tool-bar-add-item-from-menu' must not be used (as previously | 3122 The `tool-bar-add-item-from-menu' must not be used (as previously |
2491 recommended) for making entries in the tool bar for local keymaps. | 3123 recommended) for making entries in the tool bar for local keymaps. |
2492 Instead, use the function `tool-bar-local-item-from-menu', which lets | 3124 Instead, use the function `tool-bar-local-item-from-menu', which lets |
2512 ** The new frame parameter `tty-color-mode' specifies the mode to use | 3144 ** The new frame parameter `tty-color-mode' specifies the mode to use |
2513 for color support on character terminal frames. Its value can be a | 3145 for color support on character terminal frames. Its value can be a |
2514 number of colors to support, or a symbol. See the Emacs Lisp | 3146 number of colors to support, or a symbol. See the Emacs Lisp |
2515 Reference manual for more detailed documentation. | 3147 Reference manual for more detailed documentation. |
2516 | 3148 |
2517 ** Mode line display ignores text properties in the value | 3149 +++ |
2518 of a variable whose `risky-local-variables' property is nil. | 3150 ** The new mode-line construct `(:propertize ELT PROPS...)' can be |
3151 used to add text properties to mode-line elements. | |
3152 | |
3153 +++ | |
3154 ** Mode line display ignores text properties as well as the | |
3155 :propertize and :eval forms in the value of a variable whose | |
3156 `risky-local-variable' property is nil. | |
3157 | |
3158 +++ | |
3159 ** The new `%i' and `%I' constructs for `mode-line-format' can be used | |
3160 to display the size of the accessible part of the buffer on the mode | |
3161 line. | |
2519 | 3162 |
2520 --- | 3163 --- |
2521 ** Indentation of simple and extended loop forms has been added to the | 3164 ** Indentation of simple and extended loop forms has been added to the |
2522 cl-indent package. The new user options | 3165 cl-indent package. The new user options |
2523 `lisp-loop-keyword-indentation', `lisp-loop-forms-indentation', and | 3166 `lisp-loop-keyword-indentation', `lisp-loop-forms-indentation', and |
2526 | 3169 |
2527 --- | 3170 --- |
2528 ** Indentation of backquoted forms has been made customizable in the | 3171 ** Indentation of backquoted forms has been made customizable in the |
2529 cl-indent package. See the new user option `lisp-backquote-indentation'. | 3172 cl-indent package. See the new user option `lisp-backquote-indentation'. |
2530 | 3173 |
3174 +++ | |
2531 ** Already true in Emacs 21.1, but not emphasized clearly enough: | 3175 ** Already true in Emacs 21.1, but not emphasized clearly enough: |
2532 | 3176 |
2533 Multibyte buffers can now faithfully record all 256 character codes | 3177 Multibyte buffers can now faithfully record all 256 character codes |
2534 from 0 to 255. As a result, most of the past reasons to use unibyte | 3178 from 0 to 255. As a result, most of the past reasons to use unibyte |
2535 buffers no longer exist. We only know of three reasons to use them | 3179 buffers no longer exist. We only know of three reasons to use them |
2541 the time it takes to convert the format. | 3185 the time it takes to convert the format. |
2542 | 3186 |
2543 3. For binary files where format conversion would be pointless and | 3187 3. For binary files where format conversion would be pointless and |
2544 wasteful. | 3188 wasteful. |
2545 | 3189 |
3190 +++ | |
2546 ** If text has a `keymap' property, that keymap takes precedence | 3191 ** If text has a `keymap' property, that keymap takes precedence |
2547 over minor mode keymaps. | 3192 over minor mode keymaps. |
2548 | 3193 |
3194 +++ | |
2549 ** A hex escape in a string forces the string to be multibyte. | 3195 ** A hex escape in a string forces the string to be multibyte. |
2550 An octal escape makes it unibyte. | 3196 An octal escape makes it unibyte. |
2551 | 3197 |
3198 +++ | |
2552 ** At the end of a command, point moves out from within invisible | 3199 ** At the end of a command, point moves out from within invisible |
2553 text, in the same way it moves out from within text covered by an | 3200 text, in the same way it moves out from within text covered by an |
2554 image or composition property. | 3201 image or composition property. |
2555 | 3202 |
2556 This makes it generally unnecessary to mark invisible text as intangible. | 3203 This makes it generally unnecessary to mark invisible text as intangible. |
2557 This is particularly good because the intangible property often has | 3204 This is particularly good because the intangible property often has |
2558 unexpected side-effects since the property applies to everything | 3205 unexpected side-effects since the property applies to everything |
2559 (including `goto-char', ...) whereas this new code is only run after | 3206 (including `goto-char', ...) whereas this new code is only run after |
2560 post-command-hook and thus does not care about intermediate states. | 3207 post-command-hook and thus does not care about intermediate states. |
2561 | |
2562 ** Only one of the beginning or end of an invisible, intangible region is | |
2563 considered an acceptable value for point; which one is determined by | |
2564 examining how the invisible/intangible properties are inherited when new | |
2565 text is inserted adjacent to them. (The `front-sticky' and `rear-sticky' | |
2566 properties control this.) | |
2567 | |
2568 If the invisible/intangible would be inherited by any text inserted | |
2569 before this region, then the position before it is considered | |
2570 unacceptable, and point is forced to continue (if moving forwards, to | |
2571 the position following the invisible/intangible text; if moving | |
2572 backwards, to one position before). If the properties would be | |
2573 inherited by any text inserted after, then the position after is | |
2574 considered unacceptable, and point is forced to keep moving (if moving | |
2575 backwards, to the position preceding the invisible/intangible text; if | |
2576 moving forwards, to one position later). | |
2577 | |
2578 Thus, point can only go to one end of an invisible, intangible region, but | |
2579 not the other one. This prevents C-f and C-b from appearing to stand still | |
2580 on the screen. | |
2581 | |
2582 You should not set it up so that both the position before and the position | |
2583 after are unacceptable. | |
2584 | 3208 |
2585 +++ | 3209 +++ |
2586 ** field-beginning and field-end now accept an additional optional | 3210 ** field-beginning and field-end now accept an additional optional |
2587 argument, LIMIT. | 3211 argument, LIMIT. |
2588 | 3212 |
2634 --- | 3258 --- |
2635 ** describe-vector now takes a second argument `describer' which is | 3259 ** describe-vector now takes a second argument `describer' which is |
2636 called to print the entries' values. It defaults to `princ'. | 3260 called to print the entries' values. It defaults to `princ'. |
2637 | 3261 |
2638 ** defcustom and other custom declarations now use a default group | 3262 ** defcustom and other custom declarations now use a default group |
2639 (the last group defined in the same file) when no :group was given. | 3263 (the last prior group defined in the same file) when no :group was given. |
2640 | 3264 |
2641 +++ | 3265 +++ |
2642 ** emacsserver now runs pre-command-hook and post-command-hook when | 3266 ** emacsserver now runs pre-command-hook and post-command-hook when |
2643 it receives a request from emacsclient. | 3267 it receives a request from emacsclient. |
2644 | 3268 |
2774 | 3398 |
2775 ** Functions y-or-n-p, read-char, read-key-sequence and the like, that | 3399 ** Functions y-or-n-p, read-char, read-key-sequence and the like, that |
2776 display a prompt but don't use the minibuffer, now display the prompt | 3400 display a prompt but don't use the minibuffer, now display the prompt |
2777 using the text properties (esp. the face) of the prompt string. | 3401 using the text properties (esp. the face) of the prompt string. |
2778 | 3402 |
3403 ** New function x-send-client-message sends a client message when | |
3404 running under X. | |
3405 | |
2779 ** New packages: | 3406 ** New packages: |
2780 | 3407 |
2781 *** The new package gdb-ui.el provides an enhanced graphical interface to | 3408 *** The new package gdb-ui.el provides an enhanced graphical interface to |
2782 GDB. You can interact with GDB through the GUD buffer in the usual way, but | 3409 GDB. You can interact with GDB through the GUD buffer in the usual way, but |
2783 there are also further buffers which control the execution and describe the | 3410 there are also further buffers which control the execution and describe the |
2784 state of your program. It separates the input/output of your program from | 3411 state of your program. It separates the input/output of your program from |
2785 that of GDB and displays expressions and their current values in their own | 3412 that of GDB and watches expressions in the speedbar. It also uses features of |
2786 buffers. It also uses features of Emacs 21 such as the display margin for | 3413 Emacs 21 such as the display margin for breakpoints, and the toolbar. |
2787 breakpoints, and the toolbar. | |
2788 | 3414 |
2789 Use M-x gdba to start GDB-UI. | 3415 Use M-x gdba to start GDB-UI. |
2790 | 3416 |
2791 *** The new package syntax.el provides an efficient way to find the | 3417 *** The new package syntax.el provides an efficient way to find the |
2792 current syntactic context (as returned by parse-partial-sexp). | 3418 current syntactic context (as returned by parse-partial-sexp). |
5239 | 5865 |
5240 ** The function `delete' now also works with vectors and strings. | 5866 ** The function `delete' now also works with vectors and strings. |
5241 | 5867 |
5242 ** The meaning of the `:weakness WEAK' argument of make-hash-table | 5868 ** The meaning of the `:weakness WEAK' argument of make-hash-table |
5243 has been changed: WEAK can now have new values `key-or-value' and | 5869 has been changed: WEAK can now have new values `key-or-value' and |
5244 `key-and-value', in addition the `nil', `key', `value', and `t'. | 5870 `key-and-value', in addition to `nil', `key', `value', and `t'. |
5245 | 5871 |
5246 ** Function `aset' stores any multibyte character in any string | 5872 ** Function `aset' stores any multibyte character in any string |
5247 without signaling "Attempt to change char length of a string". It may | 5873 without signaling "Attempt to change char length of a string". It may |
5248 convert a unibyte string to multibyte if necessary. | 5874 convert a unibyte string to multibyte if necessary. |
5249 | 5875 |
7088 Additional image properties supported are: | 7714 Additional image properties supported are: |
7089 | 7715 |
7090 `:index INDEX' | 7716 `:index INDEX' |
7091 | 7717 |
7092 INDEX must be an integer >= 0. Load image number INDEX from a | 7718 INDEX must be an integer >= 0. Load image number INDEX from a |
7093 multi-image GIF file. An error is signaled if INDEX is too large. | 7719 multi-image GIF file. If INDEX is too large, the image displays |
7720 as a hollow box. | |
7094 | 7721 |
7095 This could be used to implement limited support for animated GIFs. | 7722 This could be used to implement limited support for animated GIFs. |
7096 For example, the following function displays a multi-image GIF file | 7723 For example, the following function displays a multi-image GIF file |
7097 at point-min in the current buffer, switching between sub-images | 7724 at point-min in the current buffer, switching between sub-images |
7098 every 0.1 seconds. | 7725 every 0.1 seconds. |
12149 | 12776 |
12150 Local variables: | 12777 Local variables: |
12151 mode: outline | 12778 mode: outline |
12152 paragraph-separate: "[ ]*$" | 12779 paragraph-separate: "[ ]*$" |
12153 end: | 12780 end: |
12781 | |
12782 arch-tag: 1aca9dfa-2ac4-4d14-bebf-0007cee12793 |