aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2005-05-08 23:02:44 +0000
committerRichard M. Stallman2005-05-08 23:02:44 +0000
commitda9356b0e01eb2d9583d77cea72ee5d9687bffd0 (patch)
treeac9a4c0294b7f4dcf3016b5015506f28783203f8
parent2f60660a5eae9addccb472243bd88179b8f15d1e (diff)
downloademacs-da9356b0e01eb2d9583d77cea72ee5d9687bffd0.tar.gz
emacs-da9356b0e01eb2d9583d77cea72ee5d9687bffd0.zip
Rearrangements.
-rw-r--r--etc/NEWS769
1 files changed, 390 insertions, 379 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 4743d63e9bc..e58347524d5 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -36,7 +36,7 @@ provides a way to display multilingual text in menus (with some caveats).
36--- 36---
37** By default, Emacs now uses a setgid helper program to update game 37** By default, Emacs now uses a setgid helper program to update game
38scores. The directory ${localstatedir}/games/emacs is the normal 38scores. The directory ${localstatedir}/games/emacs is the normal
39place for game scores to be stored. This may be controlled by the 39place for game scores to be stored. You can control this with the
40configure option `--with-game-dir'. The specific user that Emacs uses 40configure option `--with-game-dir'. The specific user that Emacs uses
41to own the game scores is controlled by `--with-game-user'. If access 41to own the game scores is controlled by `--with-game-user'. If access
42to a game user is not available, then scores will be stored separately 42to a game user is not available, then scores will be stored separately
@@ -147,6 +147,11 @@ now reads arguments for the function interactively if it is
147an interactively callable function. 147an interactively callable function.
148 148
149+++ 149+++
150** When you specify a frame size with --geometry, the size applies to
151all frames you create. A position specified with --geometry only
152affects the initial frame.
153
154+++
150** Emacs can now be invoked in full-screen mode on a windowed display. 155** Emacs can now be invoked in full-screen mode on a windowed display.
151When Emacs is invoked on a window system, the new command-line options 156When Emacs is invoked on a window system, the new command-line options
152`--fullwidth', `--fullheight', and `--fullscreen' produce a frame 157`--fullwidth', `--fullheight', and `--fullscreen' produce a frame
@@ -181,6 +186,10 @@ according to the value of `save-abbrevs'.
181* Editing Changes in Emacs 22.1 186* Editing Changes in Emacs 22.1
182 187
183+++ 188+++
189** The max size of buffers and integers has been doubled.
190On 32bit machines, it is now 256M (i.e. 268435455).
191
192+++
184** The mode line position information now comes before the major mode. 193** The mode line position information now comes before the major mode.
185When the file is maintained under version control, that information 194When the file is maintained under version control, that information
186appears between the position information and the major mode. 195appears between the position information and the major mode.
@@ -251,7 +260,26 @@ in Indented-Text mode.
251`beginning-of-defun', `end-of-defun' do not set the mark if the mark 260`beginning-of-defun', `end-of-defun' do not set the mark if the mark
252is already active in Transient Mark mode. 261is already active in Transient Mark mode.
253 262
254** Mark Changes: 263+++
264** `apply-macro-to-region-lines' now operates on all lines that begin
265in the region, rather than on all complete lines in the region.
266
267+++
268** M-x setenv now expands environment variables of the form `$foo' and
269`${foo}' in the specified new value of the environment variable. To
270include a `$' in the value, use `$$'.
271
272+++
273** Unquoted `$' in file names do not signal an error any more when
274the corresponding environment variable does not exist.
275Instead, the `$ENVVAR' text is left as is, so that `$$' quoting
276is only rarely needed.
277
278+++
279** The default for the paper size (variable ps-paper-type) is taken
280from the locale.
281
282** Mark command changes:
255 283
256+++ 284+++
257*** A prefix argument is no longer required to repeat a jump to a 285*** A prefix argument is no longer required to repeat a jump to a
@@ -357,6 +385,10 @@ widgets at point. You can get more information about some of them, by
357clicking on mouse-sensitive areas or moving there and pressing RET. 385clicking on mouse-sensitive areas or moving there and pressing RET.
358 386
359+++ 387+++
388*** The command `list-text-properties-at' has been deleted because
389C-u C-x = gives the same information and more.
390
391+++
360*** New command `display-local-help' displays any local help at point 392*** New command `display-local-help' displays any local help at point
361in the echo area. It is bound to `C-h .'. It normally displays the 393in the echo area. It is bound to `C-h .'. It normally displays the
362same string that would be displayed on mouse-over using the 394same string that would be displayed on mouse-over using the
@@ -370,37 +402,92 @@ point-over, after suitable idle time. The amount of idle time is
370determined by the user option `help-at-pt-timer-delay' and defaults 402determined by the user option `help-at-pt-timer-delay' and defaults
371to one second. This feature is turned off by default. 403to one second. This feature is turned off by default.
372 404
373** Buffer Menu changes 405+++
406*** The apropos commands now accept a list of words to match.
407When more than one word is specified, at least two of those words must
408be present for an item to match. Regular expression matching is still
409available.
374 410
375+++ 411+++
376*** New command `Buffer-menu-toggle-files-only' toggles display of file 412*** The new option `apropos-sort-by-scores' causes the matching items
377buffers only in the Buffer Menu. It is bound to `T' in Buffer Menu 413to be sorted according to their score. The score for an item is a
378mode. 414number calculated to indicate how well the item matches the words or
415regular expression that you entered to the apropos command. The best
416match is listed first, and the calculated score is shown for each
417matching item.
418
419** Window selection changes:
379 420
380+++ 421+++
381*** `buffer-menu' and `list-buffers' now list buffers whose names begin 422*** `special-display-buffer-names' and `special-display-regexps' now
382with a space, when those buffers are visiting files. Normally buffers 423understand two new boolean pseudo-frame-parameters `same-frame' and
383whose names begin with space are omitted. 424`same-window'.
425
426** Incremental Search changes:
427
428+++
429*** Vertical scrolling is now possible within incremental search.
430To enable this feature, customize the new user option
431`isearch-allow-scroll'. User written commands which satisfy stringent
432constraints can be marked as "scrolling commands". See the Emacs manual
433for details.
434
435+++
436*** C-w in incremental search now grabs either a character or a word,
437making the decision in a heuristic way. This new job is done by the
438command `isearch-yank-word-or-char'. To restore the old behavior,
439bind C-w to `isearch-yank-word' in `isearch-mode-map'.
440
441+++
442*** C-y in incremental search now grabs the next line if point is already
443at the end of a line.
444
445+++
446*** C-M-w deletes and C-M-y grabs a character in isearch mode.
447Another method to grab a character is to enter the minibuffer by `M-e'
448and to type `C-f' at the end of the search string in the minibuffer.
449
450+++
451*** M-% typed in isearch mode invokes `query-replace' or
452`query-replace-regexp' (depending on search mode) with the current
453search string used as the string to replace.
454
455+++
456*** Isearch no longer adds `isearch-resume' commands to the command
457history by default. To enable this feature, customize the new
458user option `isearch-resume-in-command-history'.
459
460** Replace command changes:
384 461
385--- 462---
386*** The new options `buffers-menu-show-directories' and 463*** New user option `query-replace-skip-read-only': when non-nil,
387`buffers-menu-show-status' let you control how buffers are displayed 464`query-replace' and related functions simply ignore
388in the menu dropped down when you click "Buffers" from the menu bar. 465a match if part of it has a read-only property.
389 466
390`buffers-menu-show-directories' controls whether the menu displays 467+++
391leading directories as part of the file name visited by the buffer. 468*** When used interactively, the commands `query-replace-regexp' and
392If its value is `unless-uniquify', the default, directories are 469`replace-regexp' allow \,expr to be used in a replacement string,
393shown unless uniquify-buffer-name-style' is non-nil. The value of nil 470where expr is an arbitrary Lisp expression evaluated at replacement
394and t turn the display of directories off and on, respectively. 471time. In many cases, this will be more convenient than using
472`query-replace-regexp-eval'. `\#' in a replacement string now refers
473to the count of replacements already made by the replacement command.
474All regular expression replacement commands now allow `\?' in the
475replacement string to specify a position where the replacement string
476can be edited for each replacement.
395 477
396`buffers-menu-show-status' controls whether the Buffers menu includes 478+++
397the modified and read-only status of the buffers. By default it is 479*** query-replace uses isearch lazy highlighting when the new user option
398t, and the status is shown. 480`query-replace-lazy-highlight' is non-nil.
399 481
400Setting these variables directly does not take effect until next time 482---
401the Buffers menu is regenerated. 483*** The current match in query-replace is highlighted in new face
484`query-replace' which by default inherits from isearch face.
402 485
403** File Operation Changes: 486** File operation changes:
487
488+++
489*** In processing a local variables list, Emacs strips the prefix and
490suffix are from every line before processing all the lines.
404 491
405+++ 492+++
406*** find-file-read-only visits multiple files in read-only mode, 493*** find-file-read-only visits multiple files in read-only mode,
@@ -450,7 +537,7 @@ attempt to construct a unique auto-save name (e.g. for remote files).
450 537
451+++ 538+++
452*** If the user visits a file larger than `large-file-warning-threshold', 539*** If the user visits a file larger than `large-file-warning-threshold',
453Emacs prompts her for confirmation. 540Emacs asks for confirmation.
454 541
455+++ 542+++
456*** require-final-newline now has two new possible values: 543*** require-final-newline now has two new possible values:
@@ -470,10 +557,6 @@ sets require-final-newline based on mode-require-final-newline.
470So you can customize mode-require-final-newline to control what these 557So you can customize mode-require-final-newline to control what these
471modes do. 558modes do.
472 559
473+++
474** The max size of buffers and integers has been doubled.
475On 32bit machines, it is now 256M (i.e. 268435455).
476
477** Minibuffer changes: 560** Minibuffer changes:
478 561
479+++ 562+++
@@ -498,7 +581,7 @@ parts less visible than normal, so that the rest of the differing
498parts is, by contrast, slightly highlighted. 581parts is, by contrast, slightly highlighted.
499 582
500+++ 583+++
501*** File-name completion can now ignore directories. 584*** File-name completion can now ignore specified directories.
502If an element of the list in `completion-ignored-extensions' ends in a 585If an element of the list in `completion-ignored-extensions' ends in a
503slash `/', it indicates a subdirectory that should be ignored when 586slash `/', it indicates a subdirectory that should be ignored when
504completing file names. Elements of `completion-ignored-extensions' 587completing file names. Elements of `completion-ignored-extensions'
@@ -515,10 +598,7 @@ it remains unchanged.
515If set to t when adding a new history element, all previous identical 598If set to t when adding a new history element, all previous identical
516elements are deleted. 599elements are deleted.
517 600
518** Redisplay Changes 601** Redisplay changes:
519
520*** GUD tooltips can be toggled independently of normal tooltips
521with the minor mode, gud-tooltip-mode.
522 602
523*** Easy to overlook single character negation is now font-locked. 603*** Easy to overlook single character negation is now font-locked.
524You can use the new variable `font-lock-negation-char-face' and the face of 604You can use the new variable `font-lock-negation-char-face' and the face of
@@ -555,11 +635,6 @@ the window now works sensible, by automatically adjusting the window's
555vscroll property. 635vscroll property.
556 636
557+++ 637+++
558*** In graphical mode, with a C program, GUD Tooltips have been extended to
559display the #define directive associated with an identifier when program is
560not executing.
561
562+++
563*** The new face `mode-line-inactive' is used to display the mode line 638*** The new face `mode-line-inactive' is used to display the mode line
564of non-selected windows. The `mode-line' face is now used to display 639of non-selected windows. The `mode-line' face is now used to display
565the mode line of the currently selected window. 640the mode line of the currently selected window.
@@ -575,10 +650,9 @@ control this for a specific frame, use the command M-x
575set-fringe-style. 650set-fringe-style.
576 651
577+++ 652+++
578*** The buffer boundaries (i.e. first and last line in the buffer) may 653*** Angle icons in the fringes can indicate the buffer boundaries. In
579now be marked with angle bitmaps in the fringes. In addition, up and 654addition, up and down arrow bitmaps in the fringe indicate which ways
580down arrow bitmaps may be shown at the top and bottom of the left or 655the window can be scrolled.
581right fringe if the window can be scrolled in either direction.
582 656
583This behavior is activated by setting the buffer-local variable 657This behavior is activated by setting the buffer-local variable
584`indicate-buffer-boundaries' to a non-nil value. The default value of 658`indicate-buffer-boundaries' to a non-nil value. The default value of
@@ -587,8 +661,8 @@ this variable is found in `default-indicate-buffer-boundaries'.
587If value is `left' or `right', both angle and arrow bitmaps are 661If value is `left' or `right', both angle and arrow bitmaps are
588displayed in the left or right fringe, resp. 662displayed in the left or right fringe, resp.
589 663
590Value may also be an alist which specifies the presense and position 664The value can also be an alist which specifies the presense and
591of each bitmap individually. 665position of each bitmap individually.
592 666
593For example, ((top . left) (t . right)) places the top angle bitmap 667For example, ((top . left) (t . right)) places the top angle bitmap
594in left fringe, the bottom angle bitmap in right fringe, and both 668in left fringe, the bottom angle bitmap in right fringe, and both
@@ -602,23 +676,23 @@ two lines on the display (with just the newline on the second line).
602Instead, the newline now "overflows" into the right fringe, and the 676Instead, the newline now "overflows" into the right fringe, and the
603cursor will be displayed in the fringe when positioned on that newline. 677cursor will be displayed in the fringe when positioned on that newline.
604 678
605The new user option 'overflow-newline-into-fringe' may be set to nil to 679The new user option 'overflow-newline-into-fringe' can be set to nil to
606revert to the old behavior of continuing such lines. 680revert to the old behavior of continuing such lines.
607 681
608+++ 682+++
609*** When display margins are present in a window, the fringes are now 683*** When a window has display margin areas, the fringes are now
610displayed between the margins and the buffer's text area, rather than 684displayed between the margins and the buffer's text area, rather than
611at the edges of the window. 685outside those margins.
612 686
613+++ 687+++
614*** A window may now have individual fringe and scroll-bar settings, 688*** A window can now have individual fringe and scroll-bar settings,
615in addition to the individual display margin settings. 689in addition to the individual display margin settings.
616 690
617Such individual settings are now preserved when windows are split 691Such individual settings are now preserved when windows are split
618horizontally or vertically, a saved window configuration is restored, 692horizontally or vertically, a saved window configuration is restored,
619or when the frame is resized. 693or when the frame is resized.
620 694
621** Cursor Display Changes 695** Cursor display changes:
622 696
623+++ 697+++
624*** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is 698*** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is
@@ -642,21 +716,37 @@ appears in.
642*** The variable `cursor-in-non-selected-windows' can now be set to any 716*** The variable `cursor-in-non-selected-windows' can now be set to any
643of the recognized cursor types. 717of the recognized cursor types.
644 718
719** Font-Lock changes:
720
645+++ 721+++
646** font-lock-lines-before specifies a number of lines before the 722*** All modes now support using M-x font-lock-mode to toggle
723fontification, even those such as Occur, Info, and comint-derived
724modes that do their own fontification in a special way.
725
726The variable `Info-fontify' is no longer applicable; to disable
727fontification in Info, remove `turn-on-font-lock' from
728`Info-mode-hook'.
729
730+++
731*** font-lock-lines-before specifies a number of lines before the
647current line that should be refontified when you change the buffer. 732current line that should be refontified when you change the buffer.
648The default value is 1. 733The default value is 1.
649 734
650--- 735+++
651** JIT-lock changes 736*** font-lock: in modes like C and Lisp where the fontification assumes that
737an open-paren in column 0 is always outside of any string or comment,
738font-lock now highlights any such open-paren-in-column-zero in bold-red
739if it is inside a string or a comment, to indicate that it can cause
740trouble with fontification and/or indentation.
652 741
742---
653*** The default settings for JIT stealth lock parameters are changed. 743*** The default settings for JIT stealth lock parameters are changed.
654The default value for the user option jit-lock-stealth-time is now 16 744The default value for the user option jit-lock-stealth-time is now 16
655instead of 3, and the default value of jit-lock-stealth-nice is now 745instead of 3, and the default value of jit-lock-stealth-nice is now
6560.5 instead of 0.125. The new defaults should lower the CPU usage 7460.5 instead of 0.125. The new defaults should lower the CPU usage
657when Emacs is fontifying in the background. 747when Emacs is fontifying in the background.
658 748
659 749---
660*** jit-lock can now be delayed with `jit-lock-defer-time'. 750*** jit-lock can now be delayed with `jit-lock-defer-time'.
661 751
662If this variable is non-nil, its value should be the amount of Emacs 752If this variable is non-nil, its value should be the amount of Emacs
@@ -664,13 +754,14 @@ idle time in seconds to wait before starting fontification. For
664example, if you set `jit-lock-defer-time' to 0.25, fontification will 754example, if you set `jit-lock-defer-time' to 0.25, fontification will
665only happen after 0.25s of idle time. 755only happen after 0.25s of idle time.
666 756
757---
667*** contextual refontification is now separate from stealth fontification. 758*** contextual refontification is now separate from stealth fontification.
668 759
669jit-lock-defer-contextually is renamed jit-lock-contextually and 760jit-lock-defer-contextually is renamed jit-lock-contextually and
670jit-lock-context-time determines the delay after which contextual 761jit-lock-context-time determines the delay after which contextual
671refontification takes place. 762refontification takes place.
672 763
673** Menu Bar changes 764** Menu Bar changes:
674 765
675--- 766---
676*** A menu item "Show/Hide" was added to the top-level menu "Options". 767*** A menu item "Show/Hide" was added to the top-level menu "Options".
@@ -684,16 +775,10 @@ mode-line.
684--- 775---
685*** Speedbar has moved from the "Tools" top level menu to "Show/Hide". 776*** Speedbar has moved from the "Tools" top level menu to "Show/Hide".
686 777
687+++ 778** Mouse changes:
688** You can now customize fill-nobreak-predicate to control where
689filling can break lines. The value is now normally a list of
690functions, but it can also be a single function, for compatibility.
691
692We provide two sample predicates, fill-single-word-nobreak-p and
693fill-french-nobreak-p, for use in the value of fill-nobreak-predicate.
694 779
695+++ 780+++
696** New display feature: focus follows the mouse from one Emacs window 781*** New display feature: focus follows the mouse from one Emacs window
697to another, even within a frame. If you set the variable 782to another, even within a frame. If you set the variable
698mouse-autoselect-window to non-nil value, moving the mouse to a 783mouse-autoselect-window to non-nil value, moving the mouse to a
699different Emacs window will select that window (minibuffer window can 784different Emacs window will select that window (minibuffer window can
@@ -701,7 +786,7 @@ be selected only when it is active). The default is nil, so that this
701feature is not enabled. 786feature is not enabled.
702 787
703+++ 788+++
704** On X, when the window manager requires that you click on a frame to 789*** On X, when the window manager requires that you click on a frame to
705select it (give it focus), the selected window and cursor position 790select it (give it focus), the selected window and cursor position
706normally changes according to the mouse click position. If you set 791normally changes according to the mouse click position. If you set
707the variable x-mouse-click-focus-ignore-position to t, the selected 792the variable x-mouse-click-focus-ignore-position to t, the selected
@@ -709,31 +794,7 @@ window and cursor position do not change when you click on a frame
709to give it focus. 794to give it focus.
710 795
711+++ 796+++
712** When you specify a frame size with --geometry, the size applies to 797*** You can now follow links by clicking Mouse-1 on the link.
713all frames you create. A position specified with --geometry only
714affects the initial frame.
715
716+++
717** `special-display-buffer-names' and `special-display-regexps' now
718understand two new boolean pseudo-frame-parameters `same-frame' and
719`same-window'.
720
721---
722** New commands `scan-buf-next-region' and `scan-buf-previous-region'
723move to the start of the next (previous, respectively) region with
724non-nil help-echo property and display any help found there in the
725echo area, using `display-local-help'.
726
727+++
728** In processing a local variables list, Emacs strips the prefix and
729suffix are from every line before processing all the lines.
730
731+++
732** `apply-macro-to-region-lines' now operates on all lines that begin
733in the region, rather than on all complete lines in the region.
734
735+++
736** You can now follow links by clicking Mouse-1 on the link.
737 798
738Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2 799Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2
739click to follow a link, whereas most other applications use a Mouse-1 800click to follow a link, whereas most other applications use a Mouse-1
@@ -742,7 +803,7 @@ inside a link. Now the behavior of a Mouse-1 click has been changed
742to match this context-sentitive dual behavior. (If you prefer the old 803to match this context-sentitive dual behavior. (If you prefer the old
743behavior, set the user option `mouse-1-click-follows-link' to nil.) 804behavior, set the user option `mouse-1-click-follows-link' to nil.)
744 805
745Depending on the current mode, a Mouse-2 click in Emacs may do much 806Depending on the current mode, a Mouse-2 click in Emacs can do much
746more than just follow a link, so the new Mouse-1 behavior is only 807more than just follow a link, so the new Mouse-1 behavior is only
747activated for modes which explicitly mark a clickable text as a "link" 808activated for modes which explicitly mark a clickable text as a "link"
748(see the new function `mouse-on-link-p' for details). The Lisp 809(see the new function `mouse-on-link-p' for details). The Lisp
@@ -764,56 +825,43 @@ You can customize the new Mouse-1 behavior via the new user options
764`mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'. 825`mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'.
765 826
766+++ 827+++
767** Emacs normally highlights mouse sensitive text whenever the mouse 828*** Emacs normally highlights mouse sensitive text whenever the mouse
768is over the text. By setting the new variable `mouse-highlight', you 829is over the text. By setting the new variable `mouse-highlight', you
769can optionally enable mouse highlighting only after you move the 830can optionally enable mouse highlighting only after you move the
770mouse, so that highlighting disappears when you press a key. You can 831mouse, so that highlighting disappears when you press a key. You can
771also disable mouse highlighting. 832also disable mouse highlighting.
772 833
773+++ 834+++
774** You can now customize if selecting a region by dragging the mouse 835*** You can now customize if selecting a region by dragging the mouse
775shall not copy the selected text to the kill-ring by setting the new 836shall not copy the selected text to the kill-ring by setting the new
776variable mouse-drag-copy-region to nil. 837variable mouse-drag-copy-region to nil.
777 838
778--- 839---
779** mouse-wheels can now scroll a specific fraction of the window 840*** mouse-wheels can now scroll a specific fraction of the window
780(rather than a fixed number of lines) and the scrolling is `progressive'. 841(rather than a fixed number of lines) and the scrolling is `progressive'.
781 842
782--- 843---
783** Unexpected yanking of text due to accidental clicking on the mouse 844*** Unexpected yanking of text due to accidental clicking on the mouse
784wheel button (typically mouse-2) during wheel scrolling is now avoided. 845wheel button (typically mouse-2) during wheel scrolling is now avoided.
785This behavior can be customized via the mouse-wheel-click-event and 846This behavior can be customized via the mouse-wheel-click-event and
786mouse-wheel-inhibit-click-time variables. 847mouse-wheel-inhibit-click-time variables.
787 848
788+++ 849+++
789** Under X, mouse-wheel-mode is turned on by default. 850*** Under X, mouse-wheel-mode is turned on by default.
790
791+++
792** M-x setenv now expands environment variables of the form `$foo' and
793`${foo}' in the specified new value of the environment variable. To
794include a `$' in the value, use `$$'.
795 851
796+++ 852** Mule changes:
797** Unquoted `$' in file names do not signal an error any more when
798the corresponding environment variable does not exist.
799Instead, the `$ENVVAR' text is left as is, so that `$$' quoting
800is only rarely needed.
801 853
802--- 854---
803** Language environment and various default coding systems are setup 855*** Language environment and various default coding systems are setup
804more correctly according to the current locale name. If the locale 856more correctly according to the current locale name. If the locale
805name doesn't specify a charset, the default is what glibc defines. 857name doesn't specify a charset, the default is what glibc defines.
806This change may result in using the different coding systems as 858This change can result in using the different coding systems as
807default in some locale (e.g. vi_VN). 859default in some locale (e.g. vi_VN).
808 860
809+++ 861+++
810** The default for the paper size (variable ps-paper-type) is taken 862*** The keyboard-coding-system is now automatically set based on your
811from the locale.
812
813+++
814** The keyboard-coding-system is now automatically set based on your
815current locale settings if you are not using a window system. This 863current locale settings if you are not using a window system. This
816may mean that the META key doesn't work but generates non-ASCII 864can mean that the META key doesn't work but generates non-ASCII
817characters instead, depending on how the terminal (or terminal 865characters instead, depending on how the terminal (or terminal
818emulator) works. Use `set-keyboard-coding-system' (or customize 866emulator) works. Use `set-keyboard-coding-system' (or customize
819keyboard-coding-system) if you prefer META to work (the old default) 867keyboard-coding-system) if you prefer META to work (the old default)
@@ -821,33 +869,33 @@ or if the locale doesn't describe the character set actually generated
821by the keyboard. See Info node `Single-Byte Character Support'. 869by the keyboard. See Info node `Single-Byte Character Support'.
822 870
823+++ 871+++
824** The new command `revert-buffer-with-coding-system' (C-x RET r) 872*** The new command `revert-buffer-with-coding-system' (C-x RET r)
825revisits the current file using a coding system that you specify. 873revisits the current file using a coding system that you specify.
826 874
827+++ 875+++
828** New command `recode-region' decodes the region again by a specified 876*** New command `recode-region' decodes the region again by a specified
829coding system. 877coding system.
830 878
831+++ 879+++
832** The new command `recode-file-name' changes the encoding of the name 880*** The new command `recode-file-name' changes the encoding of the name
833of a file. 881of a file.
834 882
835--- 883---
836** New command `ucs-insert' inserts a character specified by its 884*** New command `ucs-insert' inserts a character specified by its
837unicode. 885unicode.
838 886
839+++ 887+++
840** The new command `set-file-name-coding-system' (C-x RET F) sets 888*** The new command `set-file-name-coding-system' (C-x RET F) sets
841coding system for encoding and decoding file names. A new menu item 889coding system for encoding and decoding file names. A new menu item
842(Options->Mule->Set Coding Systems->For File Name) invokes this 890(Options->Mule->Set Coding Systems->For File Name) invokes this
843command. 891command.
844 892
845+++ 893+++
846** New command quail-show-key shows what key (or key sequence) to type 894*** New command quail-show-key shows what key (or key sequence) to type
847in the current input method to input a character at point. 895in the current input method to input a character at point.
848 896
849+++ 897+++
850** Limited support for character `unification' has been added. 898*** Limited support for character `unification' has been added.
851Emacs now knows how to translate between different representations of 899Emacs now knows how to translate between different representations of
852the same characters in various Emacs charsets according to standard 900the same characters in various Emacs charsets according to standard
853Unicode mappings. This applies mainly to characters in the ISO 8859 901Unicode mappings. This applies mainly to characters in the ISO 8859
@@ -867,20 +915,20 @@ mule-unicode-0100-24ff charsets) on decoding. Note that this mode
867will often effectively clobber data with an iso-2022 encoding. 915will often effectively clobber data with an iso-2022 encoding.
868 916
869--- 917---
870** There is support for decoding Greek and Cyrillic characters into 918*** There is support for decoding Greek and Cyrillic characters into
871either Unicode (the mule-unicode charsets) or the iso-8859 charsets, 919either Unicode (the mule-unicode charsets) or the iso-8859 charsets,
872when possible. The latter are more space-efficient. This is 920when possible. The latter are more space-efficient. This is
873controlled by user option utf-fragment-on-decoding. 921controlled by user option utf-fragment-on-decoding.
874 922
875--- 923---
876** New language environments: French, Ukrainian, Tajik, 924*** New language environments: French, Ukrainian, Tajik,
877Bulgarian, Belarusian, Ukrainian, UTF-8, Windows-1255, Welsh, Latin-6, 925Bulgarian, Belarusian, Ukrainian, UTF-8, Windows-1255, Welsh, Latin-6,
878Latin-7, Lithuanian, Latvian, Swedish, Slovenian, Croatian, Georgian, 926Latin-7, Lithuanian, Latvian, Swedish, Slovenian, Croatian, Georgian,
879Italian, Russian, Malayalam, Tamil, Russian, Chinese-EUC-TW. (Set up 927Italian, Russian, Malayalam, Tamil, Russian, Chinese-EUC-TW. (Set up
880automatically according to the locale.) 928automatically according to the locale.)
881 929
882--- 930---
883** New input methods: latin-alt-postfix, latin-postfix, latin-prefix, 931*** New input methods: latin-alt-postfix, latin-postfix, latin-prefix,
884ukrainian-computer, belarusian, bulgarian-bds, russian-computer, 932ukrainian-computer, belarusian, bulgarian-bds, russian-computer,
885vietnamese-telex, lithuanian-numeric, lithuanian-keyboard, 933vietnamese-telex, lithuanian-numeric, lithuanian-keyboard,
886latvian-keyboard, welsh, georgian, rfc1345, ucs, sgml, 934latvian-keyboard, welsh, georgian, rfc1345, ucs, sgml,
@@ -888,11 +936,11 @@ bulgarian-phonetic, dutch, slovenian, croatian, malayalam-inscript,
888tamil-inscript. 936tamil-inscript.
889 937
890--- 938---
891** New input method chinese-sisheng for inputting Chinese Pinyin 939*** New input method chinese-sisheng for inputting Chinese Pinyin
892characters. 940characters.
893 941
894--- 942---
895** Improved Thai support. A new minor mode `thai-word-mode' (which is 943*** Improved Thai support. A new minor mode `thai-word-mode' (which is
896automatically activated if you select Thai as a language 944automatically activated if you select Thai as a language
897environment) changes key bindings of most word-oriented commands to 945environment) changes key bindings of most word-oriented commands to
898versions which recognize Thai words. Affected commands are 946versions which recognize Thai words. Affected commands are
@@ -904,17 +952,17 @@ versions which recognize Thai words. Affected commands are
904 M-q (fill-paragraph) 952 M-q (fill-paragraph)
905 953
906--- 954---
907** Indian support has been updated. 955*** Indian support has been updated.
908The in-is13194 coding system is now Unicode-based. CDAC fonts are 956The in-is13194 coding system is now Unicode-based. CDAC fonts are
909assumed. There is a framework for supporting various 957assumed. There is a framework for supporting various
910Indian scripts, but currently only Devanagari, Malayalam and Tamil are 958Indian scripts, but currently only Devanagari, Malayalam and Tamil are
911supported. 959supported.
912 960
913--- 961---
914** A UTF-7 coding system is available in the library `utf-7'. 962*** A UTF-7 coding system is available in the library `utf-7'.
915 963
916--- 964---
917** The utf-8/16 coding systems have been enhanced. 965*** The utf-8/16 coding systems have been enhanced.
918By default, untranslatable utf-8 sequences are simply composed into 966By default, untranslatable utf-8 sequences are simply composed into
919single quasi-characters. User option `utf-translate-cjk-mode' (it is 967single quasi-characters. User option `utf-translate-cjk-mode' (it is
920turned on by default) arranges to translate many utf-8 CJK character 968turned on by default) arranges to translate many utf-8 CJK character
@@ -928,12 +976,12 @@ one-dimensional internal charsets, specifically the ISO-8859 ones.
928The utf-16 coding system is affected similarly. 976The utf-16 coding system is affected similarly.
929 977
930--- 978---
931** A new coding system `euc-tw' has been added for traditional Chinese 979*** A new coding system `euc-tw' has been added for traditional Chinese
932in CNS encoding; it accepts both Big 5 and CNS as input; on saving, 980in CNS encoding; it accepts both Big 5 and CNS as input; on saving,
933Big 5 is then converted to CNS. 981Big 5 is then converted to CNS.
934 982
935--- 983---
936** Many new coding systems are available by loading the `code-pages' 984*** Many new coding systems are available by loading the `code-pages'
937library. These include complete versions of most of those in 985library. These include complete versions of most of those in
938codepage.el, based on Unicode mappings. `codepage-setup' is now 986codepage.el, based on Unicode mappings. `codepage-setup' is now
939obsolete and is used only in the MS-DOS port of Emacs. windows-1252 987obsolete and is used only in the MS-DOS port of Emacs. windows-1252
@@ -941,82 +989,24 @@ and windows-1251 are preloaded since the former is so common and the
941latter is used by GNU locales. 989latter is used by GNU locales.
942 990
943--- 991---
944** New variable `utf-translate-cjk-unicode-range' controls which 992*** New variable `utf-translate-cjk-unicode-range' controls which
945Unicode characters to translate in `utf-translate-cjk-mode'. 993Unicode characters to translate in `utf-translate-cjk-mode'.
946 994
947--- 995---
948** iso-10646-1 (`Unicode') fonts can be used to display any range of 996*** iso-10646-1 (`Unicode') fonts can be used to display any range of
949characters encodable by the utf-8 coding system. Just specify the 997characters encodable by the utf-8 coding system. Just specify the
950fontset appropriately. 998fontset appropriately.
951 999
952+++ 1000** Customize changes:
953** Vertical scrolling is now possible within incremental search.
954To enable this feature, customize the new user option
955`isearch-allow-scroll'. User written commands which satisfy stringent
956constraints can be marked as "scrolling commands". See the Emacs manual
957for details.
958
959+++
960** C-w in incremental search now grabs either a character or a word,
961making the decision in a heuristic way. This new job is done by the
962command `isearch-yank-word-or-char'. To restore the old behavior,
963bind C-w to `isearch-yank-word' in `isearch-mode-map'.
964
965+++
966** C-y in incremental search now grabs the next line if point is already
967at the end of a line.
968
969+++
970** C-M-w deletes and C-M-y grabs a character in isearch mode.
971Another method to grab a character is to enter the minibuffer by `M-e'
972and to type `C-f' at the end of the search string in the minibuffer.
973
974+++
975** M-% typed in isearch mode invokes `query-replace' or
976`query-replace-regexp' (depending on search mode) with the current
977search string used as the string to replace.
978 1001
979+++ 1002+++
980** Isearch no longer adds `isearch-resume' commands to the command 1003*** The commands M-x customize-face and M-x customize-face-other-window
981history by default. To enable this feature, customize the new
982user option `isearch-resume-in-command-history'.
983
984---
985** New user option `query-replace-skip-read-only': when non-nil,
986`query-replace' and related functions simply ignore
987a match if part of it has a read-only property.
988
989+++
990** When used interactively, the commands `query-replace-regexp' and
991`replace-regexp' allow \,expr to be used in a replacement string,
992where expr is an arbitrary Lisp expression evaluated at replacement
993time. In many cases, this will be more convenient than using
994`query-replace-regexp-eval'. `\#' in a replacement string now refers
995to the count of replacements already made by the replacement command.
996All regular expression replacement commands now allow `\?' in the
997replacement string to specify a position where the replacement string
998can be edited for each replacement.
999
1000+++
1001** query-replace uses isearch lazy highlighting when the new user option
1002`query-replace-lazy-highlight' is non-nil.
1003
1004---
1005** The current match in query-replace is highlighted in new face
1006`query-replace' which by default inherits from isearch face.
1007
1008+++
1009** M-x compare-windows now can automatically skip non-matching text to
1010resync points in both windows.
1011
1012+++
1013** The commands M-x customize-face and M-x customize-face-other-window
1014now look at the character after point. If a face or faces are 1004now look at the character after point. If a face or faces are
1015specified for that character, the commands by default customize those 1005specified for that character, the commands by default customize those
1016faces. 1006faces.
1017 1007
1018--- 1008---
1019** The face-customization widget has been reworked to be less confusing. 1009*** The face-customization widget has been reworked to be less confusing.
1020In particular, when you enable a face attribute using the corresponding 1010In particular, when you enable a face attribute using the corresponding
1021check-box, there's no longer a redundant `*' option in value selection 1011check-box, there's no longer a redundant `*' option in value selection
1022for that attribute; the values you can choose are only those which make 1012for that attribute; the values you can choose are only those which make
@@ -1025,11 +1015,41 @@ its check-box, then the (now ignored, but still present temporarily in
1025case you re-select the attribute) value is hidden. 1015case you re-select the attribute) value is hidden.
1026 1016
1027+++ 1017+++
1028** When you set or reset a variable's value in a Customize buffer, 1018*** When you set or reset a variable's value in a Customize buffer,
1029the previous value becomes the "backup value" of the variable. 1019the previous value becomes the "backup value" of the variable.
1030You can go back to that backup value by selecting "Use Backup Value" 1020You can go back to that backup value by selecting "Use Backup Value"
1031under the "[State]" button. 1021under the "[State]" button.
1032 1022
1023** Buffer Menu changes:
1024
1025+++
1026*** New command `Buffer-menu-toggle-files-only' toggles display of file
1027buffers only in the Buffer Menu. It is bound to `T' in Buffer Menu
1028mode.
1029
1030+++
1031*** `buffer-menu' and `list-buffers' now list buffers whose names begin
1032with a space, when those buffers are visiting files. Normally buffers
1033whose names begin with space are omitted.
1034
1035---
1036*** The new options `buffers-menu-show-directories' and
1037`buffers-menu-show-status' let you control how buffers are displayed
1038in the menu dropped down when you click "Buffers" from the menu bar.
1039
1040`buffers-menu-show-directories' controls whether the menu displays
1041leading directories as part of the file name visited by the buffer.
1042If its value is `unless-uniquify', the default, directories are
1043shown unless uniquify-buffer-name-style' is non-nil. The value of nil
1044and t turn the display of directories off and on, respectively.
1045
1046`buffers-menu-show-status' controls whether the Buffers menu includes
1047the modified and read-only status of the buffers. By default it is
1048t, and the status is shown.
1049
1050Setting these variables directly does not take effect until next time
1051the Buffers menu is regenerated.
1052
1033** Dired mode: 1053** Dired mode:
1034 1054
1035--- 1055---
@@ -1058,36 +1078,23 @@ special treatment in `dired-do-shell-command'.
1058into the kill ring. With a zero prefix arg, copies absolute file names. 1078into the kill ring. With a zero prefix arg, copies absolute file names.
1059 1079
1060+++ 1080+++
1061** The variables dired-free-space-program and dired-free-space-args 1081*** In Dired-x, Omitting files is now a minor mode, dired-omit-mode.
1062have been renamed to directory-free-space-program and
1063directory-free-space-args, and they now apply whenever Emacs puts a
1064directory listing into a buffer.
1065
1066+++
1067** Dired-x:
1068
1069+++
1070*** Omitting files is now a minor mode, dired-omit-mode. The mode toggling
1071command is bound to M-o. A new command dired-mark-omitted, bound to * O,
1072marks omitted files. The variable dired-omit-files-p is obsoleted, use the
1073mode toggling function instead.
1074 1082
1075+++ 1083The mode toggling command is bound to M-o. A new command
1076** In Outline mode, hide-body no longer hides lines at the top 1084dired-mark-omitted, bound to * O, marks omitted files. The variable
1077of the file that precede the first header line. 1085dired-omit-files-p is obsoleted, use the mode toggling function
1086instead.
1078 1087
1079+++ 1088+++
1080** Occur, Info, and comint-derived modes now support using 1089*** The variables dired-free-space-program and dired-free-space-args
1081M-x font-lock-mode to toggle fontification. The variable 1090have been renamed to directory-free-space-program and
1082`Info-fontify' is no longer applicable; to disable fontification, 1091directory-free-space-args, and they now apply whenever Emacs puts a
1083remove `turn-on-font-lock' from `Info-mode-hook'. 1092directory listing into a buffer.
1084 1093
1085--- 1094** Comint changes:
1086** The terminal emulation code in term.el has been improved, it can
1087run most curses applications now.
1088 1095
1089--- 1096---
1090** The comint prompt can now be made read-only, using the new user 1097*** The comint prompt can now be made read-only, using the new user
1091option `comint-prompt-read-only'. This is not enabled by default, 1098option `comint-prompt-read-only'. This is not enabled by default,
1092except in IELM buffers. The read-only status of IELM prompts can be 1099except in IELM buffers. The read-only status of IELM prompts can be
1093controlled with the new user option `ielm-prompt-read-only', which 1100controlled with the new user option `ielm-prompt-read-only', which
@@ -1109,20 +1116,19 @@ not the case, then `comint-kill-region' behaves just like
1109kill-ring, but does not delete it. 1116kill-ring, but does not delete it.
1110 1117
1111+++ 1118+++
1112** The new command `comint-insert-previous-argument' in comint-derived 1119*** The new command `comint-insert-previous-argument' in comint-derived
1113modes (shell-mode etc) inserts arguments from previous command lines, 1120modes (shell-mode etc) inserts arguments from previous command lines,
1114like bash's `ESC .' binding. It is bound by default to `C-c .', but 1121like bash's `ESC .' binding. It is bound by default to `C-c .', but
1115otherwise behaves quite similarly to the bash version. 1122otherwise behaves quite similarly to the bash version.
1116 1123
1117** `comint-use-prompt-regexp-instead-of-fields' has been renamed 1124*** `comint-use-prompt-regexp-instead-of-fields' has been renamed
1118`comint-use-prompt-regexp'. The old name has been kept as an alias, 1125`comint-use-prompt-regexp'. The old name has been kept as an alias,
1119but declared obsolete. 1126but declared obsolete.
1120 1127
1121+++ 1128** M-x Compile changes:
1122** Telnet now prompts you for a port number with C-u M-x telnet.
1123 1129
1124--- 1130---
1125** M-x compile has become more robust and reliable 1131*** M-x compile has become more robust and reliable
1126 1132
1127Quite a few more kinds of messages are recognized. Messages that are 1133Quite a few more kinds of messages are recognized. Messages that are
1128recognized as warnings or informational come in orange or green, instead of 1134recognized as warnings or informational come in orange or green, instead of
@@ -1141,8 +1147,6 @@ that configure outputs and -o options so you see at a glance where you are.
1141 1147
1142The new file etc/compilation.txt gives examples of each type of message. 1148The new file etc/compilation.txt gives examples of each type of message.
1143 1149
1144** Compilation mode enhancements:
1145
1146+++ 1150+++
1147*** New user option `compilation-environment'. 1151*** New user option `compilation-environment'.
1148This option allows you to specify environment variables for inferior 1152This option allows you to specify environment variables for inferior
@@ -1150,19 +1154,47 @@ compilation processes without affecting the environment that all
1150subprocesses inherit. 1154subprocesses inherit.
1151 1155
1152+++ 1156+++
1157*** New options `next-error-highlight' and `next-error-highlight-no-select'
1158specify the method of highlighting of the corresponding source line
1159in new face `next-error'.
1160
1161+++
1162*** A new minor mode `next-error-follow-minor-mode' can be used in
1163compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the
1164modes that can use `next-error'). In this mode, cursor motion in the
1165buffer causes automatic display in another window of the corresponding
1166matches, compilation errors, etc. This minor mode can be toggled with
1167C-c C-f.
1168
1169** Occur mode changes:
1170
1171+++
1172*** In the *Occur* buffer, `o' switches to it in another window, and
1173C-o displays the current line's occurrence in another window without
1174switching to it.
1175
1176+++
1177*** You can now use next-error (C-x `) and previous-error to advance to
1178the next/previous matching line found by M-x occur.
1179
1180+++
1181*** The new command `multi-occur' is just like `occur', except it can
1182search multiple buffers. There is also a new command
1183`multi-occur-by-filename-regexp' which allows you to specify the
1184buffers to search by their filename. Internally, Occur mode has been
1185rewritten, and now uses font-lock, among other changes.
1186
1187+++
1153** Grep has been decoupled from compilation mode setup. 1188** Grep has been decoupled from compilation mode setup.
1154 1189
1155--- 1190There's a new separate package grep.el, with its own submenu and
1156*** There's a new separate package grep.el. 1191customization group.
1157 1192
1158--- 1193---
1159*** M-x grep has been adapted to new compile 1194*** M-x grep provides highlighting support.
1160 1195
1161Hits are fontified in green, and hits in binary files in orange. Grep buffers 1196Hits are fontified in green, and hits in binary files in orange. Grep buffers
1162can be saved and automatically revisited with the new Grep mode. 1197can be saved and automatically revisited.
1163
1164---
1165*** Grep commands now have their own submenu and customization group.
1166 1198
1167+++ 1199+++
1168*** `grep-find' is now also available under the name `find-grep' where 1200*** `grep-find' is now also available under the name `find-grep' where
@@ -1170,8 +1202,8 @@ people knowing `find-grep-dired' would probably expect it.
1170 1202
1171--- 1203---
1172*** The new variables `grep-window-height', `grep-auto-highlight', and 1204*** The new variables `grep-window-height', `grep-auto-highlight', and
1173`grep-scroll-output' can be used to override the corresponding 1205`grep-scroll-output' override the corresponding compilation mode
1174compilation mode settings for grep commands. 1206settings, for grep commands only.
1175 1207
1176+++ 1208+++
1177*** New option `grep-highlight-matches' highlightes matches in *grep* 1209*** New option `grep-highlight-matches' highlightes matches in *grep*
@@ -1191,70 +1223,17 @@ previous or next file in the grep output. TAB also jumps to the next
1191file. 1223file.
1192 1224
1193+++ 1225+++
1194** M-x grep now tries to avoid appending `/dev/null' to the command line 1226*** M-x grep now tries to avoid appending `/dev/null' to the command line
1195by using GNU grep `-H' option instead. M-x grep automatically 1227by using GNU grep `-H' option instead. M-x grep automatically
1196detects whether this is possible or not the first time it is invoked. 1228detects whether this is possible or not the first time it is invoked.
1197When `-H' is used, the grep command line supplied by the user is passed 1229When `-H' is used, the grep command line supplied by the user is passed
1198unchanged to the system to execute, which allows more complicated 1230unchanged to the system to execute, which allows more complicated
1199command lines to be used than was possible before. 1231command lines to be used than was possible before.
1200 1232
1201+++ 1233** Emacs server changes:
1202** New options `next-error-highlight' and `next-error-highlight-no-select'
1203specify the method of highlighting of the corresponding source line
1204in new face `next-error'.
1205
1206+++
1207** A new minor mode `next-error-follow-minor-mode' can be used in
1208compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the
1209modes that can use `next-error'). In this mode, cursor motion in the
1210buffer causes automatic display in another window of the corresponding
1211matches, compilation errors, etc. This minor mode can be toggled with
1212C-c C-f.
1213
1214+++
1215** M-x diff uses diff-mode instead of compilation-mode.
1216
1217+++
1218** In the *Occur* buffer, `o' switches to it in another window, and
1219C-o displays the current line's occurrence in another window without
1220switching to it.
1221 1234
1222+++ 1235+++
1223** You can now use next-error (C-x `) and previous-error to advance to 1236*** You can have several Emacs servers on the same machine.
1224the next/previous matching line found by M-x occur.
1225
1226+++
1227** The new command `multi-occur' is just like `occur', except it can
1228search multiple buffers. There is also a new command
1229`multi-occur-by-filename-regexp' which allows you to specify the
1230buffers to search by their filename. Internally, Occur mode has been
1231rewritten, and now uses font-lock, among other changes.
1232
1233+++
1234** font-lock: in modes like C and Lisp where the fontification assumes that
1235an open-paren in column 0 is always outside of any string or comment,
1236font-lock now highlights any such open-paren-in-column-zero in bold-red
1237if it is inside a string or a comment, to indicate that it can cause
1238trouble with fontification and/or indentation.
1239
1240** Enhancements to apropos commands:
1241
1242+++
1243*** The apropos commands now accept a list of words to match.
1244When more than one word is specified, at least two of those words must
1245be present for an item to match. Regular expression matching is still
1246available.
1247
1248+++
1249*** The new option `apropos-sort-by-scores' causes the matching items
1250to be sorted according to their score. The score for an item is a
1251number calculated to indicate how well the item matches the words or
1252regular expression that you entered to the apropos command. The best
1253match is listed first, and the calculated score is shown for each
1254matching item.
1255
1256+++
1257** You can have several Emacs servers on the same machine.
1258 1237
1259 % emacs --eval '(setq server-name "foo")' -f server-start & 1238 % emacs --eval '(setq server-name "foo")' -f server-start &
1260 % emacs --eval '(setq server-name "bar")' -f server-start & 1239 % emacs --eval '(setq server-name "bar")' -f server-start &
@@ -1262,17 +1241,12 @@ matching item.
1262 % emacsclient -s bar file2 1241 % emacsclient -s bar file2
1263 1242
1264+++ 1243+++
1265** The `emacsclient' command understands the options `--eval' and 1244*** The `emacsclient' command understands the options `--eval' and
1266`--display' which tell Emacs respectively to evaluate the given elisp 1245`--display' which tell Emacs respectively to evaluate the given elisp
1267expression and to use the given display when visiting files. 1246expression and to use the given display when visiting files.
1268 1247
1269+++ 1248+++
1270** User option `server-mode' can be used to start a server process. 1249*** User option `server-mode' can be used to start a server process.
1271
1272+++
1273** New user option `add-log-always-start-new-record'.
1274When this option is enabled, M-x add-change-log-entry always
1275starts a new record regardless of when the last record is.
1276 1250
1277** Menu support: 1251** Menu support:
1278 1252
@@ -1305,7 +1279,7 @@ Meta and Alt:
1305 (setq x-meta-keysym 'alt) 1279 (setq x-meta-keysym 'alt)
1306 1280
1307+++ 1281+++
1308*** The X resource useXIM can be used to turn off use of XIM, which may 1282*** The X resource useXIM can be used to turn off use of XIM, which can
1309speed up Emacs with slow networking to the X server. 1283speed up Emacs with slow networking to the X server.
1310 1284
1311If the configure option `--without-xim' was used to turn off use of 1285If the configure option `--without-xim' was used to turn off use of
@@ -1336,7 +1310,7 @@ to explicitly specify a fontSet resource for this to work, for example
1336ESC, like they do for Gtk+, Mac and W32. 1310ESC, like they do for Gtk+, Mac and W32.
1337 1311
1338+++ 1312+++
1339** For Gtk+ version 2.4, you can make Emacs use the old file dialog 1313*** For Gtk+ version 2.4, you can make Emacs use the old file dialog
1340by setting the variable `x-use-old-gtk-file-dialog' to t. Default is to use 1314by setting the variable `x-use-old-gtk-file-dialog' to t. Default is to use
1341the new dialog. 1315the new dialog.
1342 1316
@@ -1354,7 +1328,7 @@ following should work:
1354These key bindings work on xterm from X.org 6.8, they might not work on 1328These key bindings work on xterm from X.org 6.8, they might not work on
1355some older versions of xterm, or on some proprietary versions. 1329some older versions of xterm, or on some proprietary versions.
1356 1330
1357** Changes in support of colors on character terminals 1331** Character terminal color support changes:
1358 1332
1359+++ 1333+++
1360*** The new command-line option --color=MODE lets you specify a standard 1334*** The new command-line option --color=MODE lets you specify a standard
@@ -1383,10 +1357,12 @@ colors as on X.
1383 1357
1384--- 1358---
1385*** There's a new support for colors on `rxvt' terminal emulator. 1359*** There's a new support for colors on `rxvt' terminal emulator.
1360
1361* New modes and packages in Emacs 22.1
1386 1362
1387--- 1363+++
1388** M-x view-file and commands that use it now avoid interfering 1364** New package benchmark.el contains simple support for convenient
1389with special modes such as Tar mode. 1365timing measurements of code (including the garbage collection component).
1390 1366
1391+++ 1367+++
1392** Filesets are collections of files. You can define a fileset in 1368** Filesets are collections of files. You can define a fileset in
@@ -1397,23 +1373,6 @@ Once you have defined a fileset, you can perform various operations on
1397all the files in it, such as visiting them or searching and replacing 1373all the files in it, such as visiting them or searching and replacing
1398in them. 1374in them.
1399 1375
1400---
1401** Commands winner-redo and winner-undo, from winner.el, are now bound to
1402C-c <left> and C-c <right>, respectively. This is an incompatible change.
1403
1404---
1405** global-whitespace-mode is a new alias for whitespace-global-mode.
1406
1407+++
1408** The command `list-text-properties-at' has been deleted because
1409C-u C-x = gives the same information and more.
1410
1411* New modes and packages in Emacs 22.1
1412
1413+++
1414** New package benchmark.el contains simple support for convenient
1415timing measurements of code (including the garbage collection component).
1416
1417+++ 1376+++
1418** Calc is now part of the Emacs distribution. 1377** Calc is now part of the Emacs distribution.
1419 1378
@@ -1471,7 +1430,7 @@ commentary in cua-base.el for more global mark related commands.
1471 1430
1472The features of cua also works with the standard emacs bindings for 1431The features of cua also works with the standard emacs bindings for
1473kill, copy, yank, and undo. If you want to use cua mode, but don't 1432kill, copy, yank, and undo. If you want to use cua mode, but don't
1474want the C-x, C-c, C-v, and C-z bindings, you may customize the 1433want the C-x, C-c, C-v, and C-z bindings, you can customize the
1475`cua-enable-cua-keys' variable. 1434`cua-enable-cua-keys' variable.
1476 1435
1477Note: This version of cua mode is not backwards compatible with older 1436Note: This version of cua mode is not backwards compatible with older
@@ -1489,7 +1448,7 @@ to increment the SOA serial.
1489filenames being entered by the user in the minibuffer are displayed, so 1448filenames being entered by the user in the minibuffer are displayed, so
1490that it's clear when part of the entered filename will be ignored due to 1449that it's clear when part of the entered filename will be ignored due to
1491emacs' filename parsing rules. The ignored portion can be made dim, 1450emacs' filename parsing rules. The ignored portion can be made dim,
1492invisible, or otherwise less visually noticable. The display method may 1451invisible, or otherwise less visually noticable. The display method can
1493be displayed by customizing the variable `file-name-shadow-properties'. 1452be displayed by customizing the variable `file-name-shadow-properties'.
1494 1453
1495+++ 1454+++
@@ -1502,16 +1461,6 @@ source files. See the Flymake's Info manual for more details.
1502--- 1461---
1503** GDB-Script-mode is used for files like .gdbinit. 1462** GDB-Script-mode is used for files like .gdbinit.
1504 1463
1505+++
1506** The new package gdb-ui.el provides an enhanced graphical interface to
1507GDB. You can interact with GDB through the GUD buffer in the usual way, but
1508there are also further buffers which control the execution and describe the
1509state of your program. It separates the input/output of your program from
1510that of GDB and watches expressions in the speedbar. It also uses features of
1511Emacs 21 such as the display margin for breakpoints, and the toolbar.
1512
1513Use M-x gdba to start GDB-UI.
1514
1515--- 1464---
1516** The new package ibuffer provides a powerful, completely 1465** The new package ibuffer provides a powerful, completely
1517customizable replacement for buff-menu.el. 1466customizable replacement for buff-menu.el.
@@ -1598,12 +1547,6 @@ referred to as "soft word wrap" in other text editors. This is
1598similar to Refill mode, but more reliable. To turn the word wrap 1547similar to Refill mode, but more reliable. To turn the word wrap
1599feature off, set `longlines-auto-wrap' to nil. 1548feature off, set `longlines-auto-wrap' to nil.
1600 1549
1601---
1602** The old Octave mode bindings C-c f and C-c i have been changed
1603to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate
1604bindings on control characters--thus, C-c C-i C-b is the same as
1605C-c C-i b, and so on.
1606
1607** The printing package is now part of the Emacs distribution. 1550** The printing package is now part of the Emacs distribution.
1608 1551
1609If you enable the printing package by including (require 'printing) in 1552If you enable the printing package by including (require 'printing) in
@@ -1692,6 +1635,48 @@ buffers to change filenames, permissions, etc...
1692* Changes in specialized modes and packages: 1635* Changes in specialized modes and packages:
1693 1636
1694+++ 1637+++
1638** In Outline mode, hide-body no longer hides lines at the top
1639of the file that precede the first header line.
1640
1641+++
1642** Telnet now prompts you for a port number with C-u M-x telnet.
1643
1644---
1645** The terminal emulation code in term.el has been improved, it can
1646run most curses applications now.
1647
1648+++
1649** M-x diff uses diff-mode instead of compilation-mode.
1650
1651+++
1652** You can now customize fill-nobreak-predicate to control where
1653filling can break lines. The value is now normally a list of
1654functions, but it can also be a single function, for compatibility.
1655
1656We provide two sample predicates, fill-single-word-nobreak-p and
1657fill-french-nobreak-p, for use in the value of fill-nobreak-predicate.
1658
1659---
1660** M-x view-file and commands that use it now avoid interfering
1661with special modes such as Tar mode.
1662
1663---
1664** Commands winner-redo and winner-undo, from winner.el, are now bound to
1665C-c <left> and C-c <right>, respectively. This is an incompatible change.
1666
1667---
1668** global-whitespace-mode is a new alias for whitespace-global-mode.
1669
1670+++
1671** M-x compare-windows now can automatically skip non-matching text to
1672resync points in both windows.
1673
1674+++
1675** New user option `add-log-always-start-new-record'.
1676When this option is enabled, M-x add-change-log-entry always
1677starts a new record regardless of when the last record is.
1678
1679+++
1695** There is a new user option `mail-default-directory' that allows you 1680** There is a new user option `mail-default-directory' that allows you
1696to specify the value of `default-directory' for mail buffers. This 1681to specify the value of `default-directory' for mail buffers. This
1697directory is used for auto-save files of mail buffers. It defaults to 1682directory is used for auto-save files of mail buffers. It defaults to
@@ -2081,6 +2066,12 @@ syntactic indentation.
2081--- 2066---
2082** Perl mode has a new variable `perl-indent-continued-arguments'. 2067** Perl mode has a new variable `perl-indent-continued-arguments'.
2083 2068
2069---
2070** The old Octave mode bindings C-c f and C-c i have been changed
2071to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate
2072bindings on control characters--thus, C-c C-i C-b is the same as
2073C-c C-i b, and so on.
2074
2084** Fortran mode changes: 2075** Fortran mode changes:
2085 2076
2086--- 2077---
@@ -2205,6 +2196,24 @@ counter to the specified source line (the one where point is).
2205*** GUD mode has its own tool bar for controlling execution of the inferior 2196*** GUD mode has its own tool bar for controlling execution of the inferior
2206and other common debugger commands. 2197and other common debugger commands.
2207 2198
2199+++
2200*** The new package gdb-ui.el provides an enhanced graphical interface to
2201GDB. You can interact with GDB through the GUD buffer in the usual way, but
2202there are also further buffers which control the execution and describe the
2203state of your program. It separates the input/output of your program from
2204that of GDB and watches expressions in the speedbar. It also uses features of
2205Emacs 21 such as the display margin for breakpoints, and the toolbar.
2206
2207Use M-x gdba to start GDB-UI.
2208
2209*** GUD tooltips can be toggled independently of normal tooltips
2210with the minor mode, gud-tooltip-mode.
2211
2212+++
2213*** In graphical mode, with a C program, GUD Tooltips have been extended to
2214display the #define directive associated with an identifier when program is
2215not executing.
2216
2208--- 2217---
2209** GUD mode improvements for jdb: 2218** GUD mode improvements for jdb:
2210 2219
@@ -2257,7 +2266,7 @@ mode keeps it at the end after reverting. Similarly if point is
2257displayed at the end of a file buffer in any window, it stays at 2266displayed at the end of a file buffer in any window, it stays at
2258the end of the buffer in that window. This allows to tail a file: 2267the end of the buffer in that window. This allows to tail a file:
2259just put point at the end of the buffer and it stays there. This 2268just put point at the end of the buffer and it stays there. This
2260rule applies to file buffers. For non-file buffers, the behavior may 2269rule applies to file buffers. For non-file buffers, the behavior can
2261be mode dependent. 2270be mode dependent.
2262 2271
2263If you are sure that the file will only change by growing at the end, 2272If you are sure that the file will only change by growing at the end,
@@ -2508,6 +2517,19 @@ anyone has committed to the repository since you last executed
2508"checkout", "update" or "commit". That means using cvs diff options 2517"checkout", "update" or "commit". That means using cvs diff options
2509-rBASE -rHEAD. 2518-rBASE -rHEAD.
2510 2519
2520** Rmail changes:
2521
2522---
2523*** Rmail now displays 5-digit message ids in its summary buffer.
2524
2525+++
2526*** Support for `movemail' from GNU mailutils was added to Rmail.
2527This version of `movemail' allows to read mail from a wide range of
2528mailbox formats, including remote POP3 and IMAP4 mailboxes with or
2529without TLS encryption. If GNU mailutils is installed on the system
2530and its version of `movemail' can be found in exec-path, it will be
2531used instead of the native one.
2532
2511** Gnus package 2533** Gnus package
2512 2534
2513--- 2535---
@@ -2520,17 +2542,6 @@ PGP/MIME.
2520See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. 2542See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details.
2521 2543
2522--- 2544---
2523** Rmail now displays 5-digit message ids in its summary buffer.
2524
2525+++
2526** Support for `movemail' from GNU mailutils was added to Rmail.
2527This version of `movemail' allows to read mail from a wide range of
2528mailbox formats, including remote POP3 and IMAP4 mailboxes with or
2529without TLS encryption. If GNU mailutils is installed on the system
2530and its version of `movemail' can be found in exec-path, it will be
2531used instead of the native one.
2532
2533---
2534** MH-E changes. 2545** MH-E changes.
2535 2546
2536Upgraded to MH-E version 7.82. There have been major changes since 2547Upgraded to MH-E version 7.82. There have been major changes since
@@ -2947,7 +2958,7 @@ for a function that could be called with `call-interactively',
2947and does not return t for keyboard macros. 2958and does not return t for keyboard macros.
2948 2959
2949+++ 2960+++
2950** An interactive specification may now use the code letter 'U' to get 2961** An interactive specification can now use the code letter 'U' to get
2951the up-event that was discarded in case the last key sequence read for a 2962the up-event that was discarded in case the last key sequence read for a
2952previous 'k' or 'K' argument was a down-event; otherwise nil is used. 2963previous 'k' or 'K' argument was a down-event; otherwise nil is used.
2953 2964
@@ -3200,7 +3211,7 @@ The new functions `make-progress-reporter', `progress-reporter-update',
3200a command to present progress messages for the user. 3211a command to present progress messages for the user.
3201 3212
3202+++ 3213+++
3203** New `yank-handler' text property may be used to control how 3214** New `yank-handler' text property can be used to control how
3204previously killed text on the kill-ring is reinserted. 3215previously killed text on the kill-ring is reinserted.
3205 3216
3206The value of the yank-handler property must be a list with one to four 3217The value of the yank-handler property must be a list with one to four
@@ -3225,7 +3236,7 @@ if FUNCTION adjusts point before or after inserting the object.
3225 If UNDO is present and non-nil, it is a function that will be called 3236 If UNDO is present and non-nil, it is a function that will be called
3226by `yank-pop' to undo the insertion of the current object. It is 3237by `yank-pop' to undo the insertion of the current object. It is
3227called with two arguments, the start and end of the current region. 3238called with two arguments, the start and end of the current region.
3228FUNCTION may set `yank-undo-function' to override the UNDO value. 3239FUNCTION can set `yank-undo-function' to override the UNDO value.
3229 3240
3230*** The functions kill-new, kill-append, and kill-region now have an 3241*** The functions kill-new, kill-append, and kill-region now have an
3231optional argument to specify the yank-handler text property to put on 3242optional argument to specify the yank-handler text property to put on
@@ -3244,7 +3255,7 @@ string. The old behavior is available if you call
3244 3255
3245*** The new function insert-for-yank normally works like `insert', but 3256*** The new function insert-for-yank normally works like `insert', but
3246removes the text properties in the `yank-excluded-properties' list. 3257removes the text properties in the `yank-excluded-properties' list.
3247However, the insertion of the text may be modified by a `yank-handler' 3258However, the insertion of the text can be modified by a `yank-handler'
3248text property. 3259text property.
3249 3260
3250+++ 3261+++
@@ -3337,7 +3348,7 @@ create a stream or datagram server inside emacs.
3337- A server can open on a random port using :service t arg. 3348- A server can open on a random port using :service t arg.
3338- Local sockets are supported using :family 'local arg. 3349- Local sockets are supported using :family 'local arg.
3339- Non-blocking connect is supported using :nowait t arg. 3350- Non-blocking connect is supported using :nowait t arg.
3340- The process' property list may be initialized using :plist PLIST arg; 3351- The process' property list can be initialized using :plist PLIST arg;
3341 a copy of the server process' property list is automatically inherited 3352 a copy of the server process' property list is automatically inherited
3342 by new client processes created to handle incoming connections. 3353 by new client processes created to handle incoming connections.
3343 3354
@@ -3415,7 +3426,7 @@ forcing an explicit window update.
3415** The line-move, scroll-up, and scroll-down functions will now 3426** The line-move, scroll-up, and scroll-down functions will now
3416modify the window vscroll to scroll through display rows that are 3427modify the window vscroll to scroll through display rows that are
3417taller that the height of the window, for example in the presense of 3428taller that the height of the window, for example in the presense of
3418large images. To disable this feature, Lisp code may bind the new 3429large images. To disable this feature, Lisp code can bind the new
3419variable `auto-window-vscroll' to nil. 3430variable `auto-window-vscroll' to nil.
3420 3431
3421+++ 3432+++
@@ -3476,7 +3487,7 @@ fringe bitmaps, as well as change the built-in fringe bitmaps.
3476To change a built-in bitmap, do (require 'fringe) and use the symbol 3487To change a built-in bitmap, do (require 'fringe) and use the symbol
3477identifing the bitmap such as `left-truncation or `continued-line'. 3488identifing the bitmap such as `left-truncation or `continued-line'.
3478 3489
3479*** New function 'destroy-fringe-bitmap' may be used to destroy a 3490*** New function 'destroy-fringe-bitmap' can be used to destroy a
3480previously created bitmap, or restore a built-in bitmap. 3491previously created bitmap, or restore a built-in bitmap.
3481 3492
3482*** New function 'set-fringe-bitmap-face' can now be used to set a 3493*** New function 'set-fringe-bitmap-face' can now be used to set a
@@ -3559,7 +3570,7 @@ variable `overlay-arrow-variable-list'. It contains a list of
3559varibles which contain overlay arrow position markers, including 3570varibles which contain overlay arrow position markers, including
3560the original `overlay-arrow-position' variable. 3571the original `overlay-arrow-position' variable.
3561 3572
3562Each variable on this list may have individual `overlay-arrow-string' 3573Each variable on this list can have individual `overlay-arrow-string'
3563and `overlay-arrow-bitmap' properties that specify an overlay arrow 3574and `overlay-arrow-bitmap' properties that specify an overlay arrow
3564string (for non-window terminals) or fringe bitmap (for window 3575string (for non-window terminals) or fringe bitmap (for window
3565systems) to display at the corresponding overlay arrow position. 3576systems) to display at the corresponding overlay arrow position.
@@ -3569,7 +3580,7 @@ If either property is not set, the default `overlay-arrow-string' or
3569+++ 3580+++
3570** New line-height and line-spacing properties for newline characters 3581** New line-height and line-spacing properties for newline characters
3571 3582
3572A newline may now have line-height and line-spacing text or overlay 3583A newline can now have line-height and line-spacing text or overlay
3573properties that control the height of the corresponding display row. 3584properties that control the height of the corresponding display row.
3574 3585
3575If the line-height property value is t, the newline does not 3586If the line-height property value is t, the newline does not
@@ -3604,11 +3615,11 @@ is used as additional pixels to insert after the display line; this
3604overrides the default frame line-spacing and any buffer local value of 3615overrides the default frame line-spacing and any buffer local value of
3605the line-spacing variable. 3616the line-spacing variable.
3606 3617
3607If the line-spacing property may be a float or cons, the line spacing 3618If the line-spacing property is a float or cons, the line spacing
3608is calculated as specified above for the line-height property. 3619is calculated as specified above for the line-height property.
3609 3620
3610+++ 3621+++
3611** The buffer local line-spacing variable may now have a float value, 3622** The buffer local line-spacing variable can now have a float value,
3612which is used as a height relative to the default frame line height. 3623which is used as a height relative to the default frame line height.
3613 3624
3614+++ 3625+++
@@ -3671,7 +3682,7 @@ The form `(- EXPR ...)' negates or subtracts the value of the expressions.
3671+++ 3682+++
3672** Support for displaying image slices 3683** Support for displaying image slices
3673 3684
3674*** New display property (slice X Y WIDTH HEIGHT) may be used with 3685*** New display property (slice X Y WIDTH HEIGHT) can be used with
3675an image property to display only a specific slice of the image. 3686an image property to display only a specific slice of the image.
3676 3687
3677*** Function insert-image has new optional fourth arg to 3688*** Function insert-image has new optional fourth arg to
@@ -3681,15 +3692,15 @@ specify image slice (X Y WIDTH HEIGHT).
3681specified number of evenly sized slices (rows x columns). 3692specified number of evenly sized slices (rows x columns).
3682 3693
3683+++ 3694+++
3684** Images may now have an associated image map via the :map property. 3695** Images can now have an associated image map via the :map property.
3685 3696
3686An image map is an alist where each element has the format (AREA ID PLIST). 3697An image map is an alist where each element has the format (AREA ID PLIST).
3687An AREA is specified as either a rectangle, a circle, or a polygon: 3698An AREA is specified as either a rectangle, a circle, or a polygon:
3688A rectangle is a cons (rect . ((x0 . y0) . (x1 . y1))) specifying the 3699A rectangle is a cons (rect . ((X0 . Y0) . (X1 . Y1))) specifying the
3689pixel coordinates of the upper left and bottom right corners. 3700pixel coordinates of the upper left and bottom right corners.
3690A circle is a cons (circle . ((x0 . y0) . r)) specifying the center 3701A circle is a cons (circle . ((X0 . Y0) . R)) specifying the center
3691and the radius of the circle; r may be a float or integer. 3702and the radius of the circle; R can be a float or integer.
3692A polygon is a cons (poly . [x0 y0 x1 y1 ...]) where each pair in the 3703A polygon is a cons (poly . [X0 Y0 X1 Y1 ...]) where each pair in the
3693vector describes one corner in the polygon. 3704vector describes one corner in the polygon.
3694 3705
3695When the mouse pointer is above a hot-spot area of an image, the 3706When the mouse pointer is above a hot-spot area of an image, the
@@ -3721,7 +3732,7 @@ clickable link with the new function `mouse-on-link-p'. This is the
3721function used by the new `mouse-1-click-follows-link' functionality. 3732function used by the new `mouse-1-click-follows-link' functionality.
3722 3733
3723+++ 3734+++
3724** The mouse pointer shape over ordinary text or images may now be 3735** The mouse pointer shape over ordinary text or images can now be
3725controlled/overriden via the `pointer' text property. 3736controlled/overriden via the `pointer' text property.
3726 3737
3727** Mouse event enhancements: 3738** Mouse event enhancements:
@@ -3755,7 +3766,7 @@ text area).
3755*** New function `posn-actual-col-row' returns actual glyph coordinates. 3766*** New function `posn-actual-col-row' returns actual glyph coordinates.
3756 3767
3757+++ 3768+++
3758*** Mouse events may now include image object in addition to string object. 3769*** Mouse events can now include image object in addition to string object.
3759 3770
3760+++ 3771+++
3761*** Mouse events include relative x and y pixel coordinates relative to 3772*** Mouse events include relative x and y pixel coordinates relative to
@@ -3785,7 +3796,7 @@ post-command-hook and thus does not care about intermediate states.
3785+++ 3796+++
3786** Normally, the cursor is displayed at the end of any overlay and 3797** Normally, the cursor is displayed at the end of any overlay and
3787text property string that may be present at the current window 3798text property string that may be present at the current window
3788position. The cursor may now be placed on any character of such 3799position. The cursor can now be placed on any character of such
3789strings by giving that character a non-nil `cursor' text property. 3800strings by giving that character a non-nil `cursor' text property.
3790 3801
3791+++ 3802+++
@@ -3831,10 +3842,10 @@ to display CHAR. More precisely, if the selected frame's fontset has
3831a font to display the character set that CHAR belongs to. 3842a font to display the character set that CHAR belongs to.
3832 3843
3833Fontsets can specify a font on a per-character basis; when the fontset 3844Fontsets can specify a font on a per-character basis; when the fontset
3834does that, this value may not be accurate. 3845does that, this value cannot be accurate.
3835 3846
3836+++ 3847+++
3837** New function display-supports-face-attributes-p may be used to test 3848** New function display-supports-face-attributes-p can be used to test
3838whether a given set of face attributes is actually displayable. 3849whether a given set of face attributes is actually displayable.
3839 3850
3840A new predicate `supports' has also been added to the `defface' face 3851A new predicate `supports' has also been added to the `defface' face
@@ -3851,7 +3862,7 @@ directly in the `face' property instead of using a named face.
3851+++ 3862+++
3852** The first face specification element in a defface can specify 3863** The first face specification element in a defface can specify
3853`default' instead of frame classification. Then its attributes act as 3864`default' instead of frame classification. Then its attributes act as
3854defaults that apply to all the subsequent cases (and may be overridden 3865defaults that apply to all the subsequent cases (and can be overridden
3855by them). 3866by them).
3856 3867
3857+++ 3868+++
@@ -4029,7 +4040,7 @@ as the third argument. (number-sequence 1.5 6 2) returns (1.5 3.5 5.5).
4029its last line. It should match the regexp "\n\n(fn.*)\\'". 4040its last line. It should match the regexp "\n\n(fn.*)\\'".
4030 4041
4031+++ 4042+++
4032** The `defmacro' form may contain declarations specifying how to 4043** The `defmacro' form can contain declarations specifying how to
4033indent the macro in Lisp mode and how to debug it with Edebug. The 4044indent the macro in Lisp mode and how to debug it with Edebug. The
4034syntax of defmacro has been extended to 4045syntax of defmacro has been extended to
4035 4046
@@ -4049,7 +4060,7 @@ declaration specifiers supported are:
4049** The functions all-completions and try-completion now accept lists 4060** The functions all-completions and try-completion now accept lists
4050of strings as well as hash-tables additionally to alists, obarrays 4061of strings as well as hash-tables additionally to alists, obarrays
4051and functions. Furthermore, the function `test-completion' is now 4062and functions. Furthermore, the function `test-completion' is now
4052exported to Lisp. The keys in alists and hash tables may be either 4063exported to Lisp. The keys in alists and hash tables can be either
4053strings or symbols, which are automatically converted with to strings. 4064strings or symbols, which are automatically converted with to strings.
4054 4065
4055+++ 4066+++
@@ -4060,8 +4071,8 @@ as a dynamic completion table.
4060 4071
4061FUN is called with one argument, the string for which completion is required, 4072FUN is called with one argument, the string for which completion is required,
4062and it should return an alist containing all the intended possible 4073and it should return an alist containing all the intended possible
4063completions. This alist may be a full list of possible completions so that FUN 4074completions. This alist can be a full list of possible completions so that FUN
4064can ignore the value of its argument. If completion is performed in the 4075can ignore the value of its argument. If completion is performed in the
4065minibuffer, FUN will be called in the buffer from which the minibuffer was 4076minibuffer, FUN will be called in the buffer from which the minibuffer was
4066entered. dynamic-completion-table then computes the completion. 4077entered. dynamic-completion-table then computes the completion.
4067 4078
@@ -4129,12 +4140,12 @@ In the first case, using `foo' as a function inside the <then> form
4129won't produce a warning if it's not defined as a function, and in the 4140won't produce a warning if it's not defined as a function, and in the
4130second case, using `foo' as a variable won't produce a warning if it's 4141second case, using `foo' as a variable won't produce a warning if it's
4131unbound. The test must be in exactly one of the above forms (after 4142unbound. The test must be in exactly one of the above forms (after
4132macro expansion), but such tests may be nested. Note that `when' and 4143macro expansion), but such tests can be nested. Note that `when' and
4133`unless' expand to `if', but `cond' doesn't. 4144`unless' expand to `if', but `cond' doesn't.
4134 4145
4135*** `(featurep 'xemacs)' is treated by the compiler as nil. This 4146*** `(featurep 'xemacs)' is treated by the compiler as nil. This
4136helps to avoid noisy compiler warnings in code meant to run under both 4147helps to avoid noisy compiler warnings in code meant to run under both
4137Emacs and XEmacs and may sometimes make the result significantly more 4148Emacs and XEmacs and can sometimes make the result significantly more
4138efficient. Since byte code from recent versions of XEmacs won't 4149efficient. Since byte code from recent versions of XEmacs won't
4139generally run in Emacs and vice versa, this optimization doesn't lose 4150generally run in Emacs and vice versa, this optimization doesn't lose
4140you anything. 4151you anything.
@@ -4499,7 +4510,7 @@ back the match can start; this is a way to keep it from taking too long.
4499*** New function `macroexpand-all' expands all macros in a form. 4510*** New function `macroexpand-all' expands all macros in a form.
4500It is similar to the Common-Lisp function of the same name. 4511It is similar to the Common-Lisp function of the same name.
4501One difference is that it guarantees to return the original argument 4512One difference is that it guarantees to return the original argument
4502if no expansion is done, which may be tested using `eq'. 4513if no expansion is done, which can be tested using `eq'.
4503 4514
4504*** The new function `minibufferp' returns non-nil if its optional 4515*** The new function `minibufferp' returns non-nil if its optional
4505buffer argument is a minibuffer. If the argument is omitted, it 4516buffer argument is a minibuffer. If the argument is omitted, it