comparison etc/NEWS @ 26264:cae8531d2565

etags: - --globals is used not only for C-like languages - new option --ignore-case-regex - understands "operator" in C++ - support DOS file names by handling e.g. foo.cgz as if it were foo.c.gz. - new option --declarations - Ada and Python languages added - my and local variables recognised in Perl - "(defstruct (foo", "(defun (operator" and similar Lisp constructs - interface in Java
author Francesco Potortì <pot@gnu.org>
date Mon, 01 Nov 1999 11:07:32 +0000
parents 40e6e1faac3a
children b47b74998eef
comparison
equal deleted inserted replaced
26263:4f315ca65976 26264:cae8531d2565
23 for frame parameters `cursor-color' and face `cursor', and frame 23 for frame parameters `cursor-color' and face `cursor', and frame
24 parameter `mouse-color' and face `mouse'. 24 parameter `mouse-color' and face `mouse'.
25 25
26 Changing frame parameter `font' sets font-related attributes of the 26 Changing frame parameter `font' sets font-related attributes of the
27 `default' face and vice versa. Setting frame parameters 27 `default' face and vice versa. Setting frame parameters
28 `foreground-color' or `background-color' sets the colors of the 28 `foreground-color' or `background-color' sets the colors of the
29 `default' face and vice versa. 29 `default' face and vice versa.
30 30
31 ** New face `menu'. 31 ** New face `menu'.
32 32
33 The face `menu' can be used to change colors and font of Emacs' menus. 33 The face `menu' can be used to change colors and font of Emacs' menus.
374 ** Shell script mode changes. 374 ** Shell script mode changes.
375 375
376 Shell script mode (sh-script) can now indent scripts for shells 376 Shell script mode (sh-script) can now indent scripts for shells
377 derived from sh and rc. The indentation style is customizeable, and 377 derived from sh and rc. The indentation style is customizeable, and
378 sh-script can attempt to "learn" the current buffer's style. 378 sh-script can attempt to "learn" the current buffer's style.
379
380 ** Etags changes.
381
382 *** In DOS, etags looks for file.cgz if it cannot find file.c.
383
384 *** In C and derived languages, etags creates tags for function
385 declarations when given the --declarations option.
386
387 *** In C++, tags are created for "operator". The tags have the form
388 "operator+", without spaces between the keyword and the operator.
389
390 *** New language Ada: tags are functions, procedures, packages, tasks, and
391 types.
392
393 *** In Fortran, procedure is no more tagged.
394
395 *** In Java, tags are created for "interface".
396
397 *** In Lisp, "(defstruct (foo", "(defun (operator" and similar constructs
398 are now tagged.
399
400 *** In Perl, the --globals option tags global variables. my and local
401 variables are tagged.
402
403 *** New language Python: def and class at the beginning of a line are tags.
404
405 *** .ss files are Scheme files.
406
407 *** New option --ignore-case-regex is an alternative to --regex.
379 408
380 ** Emacs now attempts to determine the initial language environment 409 ** Emacs now attempts to determine the initial language environment
381 and preferred and locale coding systems systematically from the 410 and preferred and locale coding systems systematically from the
382 LC_ALL, LC_CTYPE, and LANG environment variables during startup. 411 LC_ALL, LC_CTYPE, and LANG environment variables during startup.
383 412
659 - Function: gethash KEY TABLE &optional DEFAULT 688 - Function: gethash KEY TABLE &optional DEFAULT
660 689
661 Look up KEY in TABLE and return its associated VALUE or DEFAULT if 690 Look up KEY in TABLE and return its associated VALUE or DEFAULT if
662 not found. 691 not found.
663 692
664 - Function: puthash KEY VALUE TABLE 693 - Function: puthash KEY VALUE TABLE
665 694
666 Associate KEY with VALUE in TABLE. If KEY is already associated with 695 Associate KEY with VALUE in TABLE. If KEY is already associated with
667 another value, replace the old value with VALUE. 696 another value, replace the old value with VALUE.
668 697
669 - Function: remhash KEY TABLE 698 - Function: remhash KEY TABLE
681 710
682 - Function: define-hash-table-test NAME TEST-FN HASH-FN 711 - Function: define-hash-table-test NAME TEST-FN HASH-FN
683 712
684 Define a new hash table test named NAME. If NAME is specified as 713 Define a new hash table test named NAME. If NAME is specified as
685 a test in `make-hash-table', the table created will use TEST-FN for 714 a test in `make-hash-table', the table created will use TEST-FN for
686 comparing keys, and HASH-FN to compute hash codes for keys. Test 715 comparing keys, and HASH-FN to compute hash codes for keys. Test
687 and hash function are stored as symbol property `hash-table-test' 716 and hash function are stored as symbol property `hash-table-test'
688 of NAME with a value of (TEST-FN HASH-FN). 717 of NAME with a value of (TEST-FN HASH-FN).
689 718
690 TEST-FN must take two arguments and return non-nil if they are the same. 719 TEST-FN must take two arguments and return non-nil if they are the same.
691 720
700 (compare-strings a nil nil b nil nil t)) 729 (compare-strings a nil nil b nil nil t))
701 730
702 (defun case-fold-string-hash (a) 731 (defun case-fold-string-hash (a)
703 (sxhash (upcase a))) 732 (sxhash (upcase a)))
704 733
705 (define-hash-table-test 'case-fold 'case-fold-string= 734 (define-hash-table-test 'case-fold 'case-fold-string=
706 'case-fold-string-hash)) 735 'case-fold-string-hash))
707 736
708 (make-hash-table :test 'case-fold) 737 (make-hash-table :test 'case-fold)
709 738
710 +++ 739 +++
865 *** New faces. 894 *** New faces.
866 895
867 Each face can specify the following display attributes: 896 Each face can specify the following display attributes:
868 897
869 1. Font family or fontset alias name. 898 1. Font family or fontset alias name.
870 899
871 2. Relative proportionate width, aka character set width or set 900 2. Relative proportionate width, aka character set width or set
872 width (swidth), e.g. `semi-compressed'. 901 width (swidth), e.g. `semi-compressed'.
873 902
874 3. Font height in 1/10pt 903 3. Font height in 1/10pt
875 904
876 4. Font weight, e.g. `bold'. 905 4. Font weight, e.g. `bold'.
877 906
878 5. Font slant, e.g. `italic'. 907 5. Font slant, e.g. `italic'.
879 908
880 6. Foreground color. 909 6. Foreground color.
881 910
882 7. Background color. 911 7. Background color.
883 912
884 8. Whether or not characters should be underlined, and in what color. 913 8. Whether or not characters should be underlined, and in what color.
885 914
886 9. Whether or not characters should be displayed in inverse video. 915 9. Whether or not characters should be displayed in inverse video.
903 attributes mentioned above. 932 attributes mentioned above.
904 933
905 There is also a global face alist `face-new-frame-defaults'. Face 934 There is also a global face alist `face-new-frame-defaults'. Face
906 definitions from this list are used to initialize faces of newly 935 definitions from this list are used to initialize faces of newly
907 created frames. 936 created frames.
908 937
909 A face doesn't have to specify all attributes. Those not specified 938 A face doesn't have to specify all attributes. Those not specified
910 have a nil value. Faces specifying all attributes are called 939 have a nil value. Faces specifying all attributes are called
911 `fully-specified'. 940 `fully-specified'.
912 941
913 +++ 942 +++
960 on all frames. If called with a non-nil argument, it will also unload 989 on all frames. If called with a non-nil argument, it will also unload
961 unused fonts. 990 unused fonts.
962 991
963 +++ 992 +++
964 *** Font selection. 993 *** Font selection.
965 994
966 Font selection tries to find the best available matching font for a 995 Font selection tries to find the best available matching font for a
967 given (charset, face) combination. This is done slightly differently 996 given (charset, face) combination. This is done slightly differently
968 for faces specifying a fontset, or a font family name. 997 for faces specifying a fontset, or a font family name.
969 998
970 If the face specifies a fontset name, that fontset determines a 999 If the face specifies a fontset name, that fontset determines a
1027 if the font is fixed-pitch. FULL is the full name of the font, and 1056 if the font is fixed-pitch. FULL is the full name of the font, and
1028 REGISTRY-AND-ENCODING is a string giving the registry and encoding of 1057 REGISTRY-AND-ENCODING is a string giving the registry and encoding of
1029 the font. The result list is sorted according to the current setting 1058 the font. The result list is sorted according to the current setting
1030 of the face font sort order. 1059 of the face font sort order.
1031 1060
1032 - Function: x-font-family-list 1061 - Function: x-font-family-list
1033 1062
1034 Return a list of available font families on FRAME. If FRAME is 1063 Return a list of available font families on FRAME. If FRAME is
1035 omitted or nil, use the selected frame. Value is a list of conses 1064 omitted or nil, use the selected frame. Value is a list of conses
1036 (FAMILY . FIXED-P) where FAMILY is a font family, and FIXED-P is 1065 (FAMILY . FIXED-P) where FAMILY is a font family, and FIXED-P is
1037 non-nil if fonts of that family are fixed-pitch. 1066 non-nil if fonts of that family are fixed-pitch.
1179 :strike-through attributeStrikeThrough Face.AttributeStrikeThrough 1208 :strike-through attributeStrikeThrough Face.AttributeStrikeThrough
1180 :box attributeBox Face.AttributeBox 1209 :box attributeBox Face.AttributeBox
1181 :underline attributeUnderline Face.AttributeUnderline 1210 :underline attributeUnderline Face.AttributeUnderline
1182 :inverse-video attributeInverse Face.AttributeInverse 1211 :inverse-video attributeInverse Face.AttributeInverse
1183 :stipple attributeStipple Face.AttributeStipple 1212 :stipple attributeStipple Face.AttributeStipple
1184 or attributeBackgroundPixmap 1213 or attributeBackgroundPixmap
1185 Face.AttributeBackgroundPixmap 1214 Face.AttributeBackgroundPixmap
1186 :font attributeFont Face.AttributeFont 1215 :font attributeFont Face.AttributeFont
1187 :bold attributeBold Face.AttributeBold 1216 :bold attributeBold Face.AttributeBold
1188 :italic attributeItalic . Face.AttributeItalic 1217 :italic attributeItalic . Face.AttributeItalic
1189 :font attributeFont Face.AttributeFont 1218 :font attributeFont Face.AttributeFont
1275 ASCENT must be a number in the range 0..100, and specifies the percentage 1304 ASCENT must be a number in the range 0..100, and specifies the percentage
1276 of the image's height to use for its ascent. Default is 50. 1305 of the image's height to use for its ascent. Default is 50.
1277 1306
1278 `:margin MARGIN' 1307 `:margin MARGIN'
1279 1308
1280 MARGIN must be a number >= 0 specifying how many pixels to put as 1309 MARGIN must be a number >= 0 specifying how many pixels to put as
1281 margin around the image. Default is 0. 1310 margin around the image. Default is 0.
1282 1311
1283 `:relief RELIEF' 1312 `:relief RELIEF'
1284 1313
1285 RELIEF is analogous to the `:relief' attribute of faces. Puts a relief 1314 RELIEF is analogous to the `:relief' attribute of faces. Puts a relief
1369 XPM images can be built from memory instead of files. In that case, 1398 XPM images can be built from memory instead of files. In that case,
1370 add a `:data' property instead of a `:file' property. 1399 add a `:data' property instead of a `:file' property.
1371 1400
1372 `:data DATA' 1401 `:data DATA'
1373 1402
1374 DATA must be a string containing an XPM image. The contents of the 1403 DATA must be a string containing an XPM image. The contents of the
1375 string are of the same format as that of XPM files. 1404 string are of the same format as that of XPM files.
1376 1405
1377 The XPM library uses libz in its implementation so that it is able 1406 The XPM library uses libz in its implementation so that it is able
1378 to display compressed images. 1407 to display compressed images.
1379 1408
1456 Part of the Ghostscript interface is implemented in Lisp. See 1485 Part of the Ghostscript interface is implemented in Lisp. See
1457 lisp/gs.el. 1486 lisp/gs.el.
1458 1487
1459 *** Lisp interface. 1488 *** Lisp interface.
1460 1489
1461 The variable `image-types' contains a list of those image types 1490 The variable `image-types' contains a list of those image types
1462 which are supported in the current configuration. 1491 which are supported in the current configuration.
1463 1492
1464 Images are stored in an image cache and removed from the cache when 1493 Images are stored in an image cache and removed from the cache when
1465 they haven't been displayed for `image-cache-eviction-delay seconds. 1494 they haven't been displayed for `image-cache-eviction-delay seconds.
1466 The function `clear-image-cache' can be used to clear the image cache 1495 The function `clear-image-cache' can be used to clear the image cache
1467 manually. 1496 manually.
1523 scrolling, a non-negative fraction of the canonical character height. 1552 scrolling, a non-negative fraction of the canonical character height.
1524 The function `set-window-vscroll' can be used to set the vertical 1553 The function `set-window-vscroll' can be used to set the vertical
1525 scrolling value. Here is an example of how these function might be 1554 scrolling value. Here is an example of how these function might be
1526 used. 1555 used.
1527 1556
1528 (global-set-key [A-down] 1557 (global-set-key [A-down]
1529 #'(lambda () 1558 #'(lambda ()
1530 (interactive) 1559 (interactive)
1531 (set-window-vscroll (selected-window) 1560 (set-window-vscroll (selected-window)
1532 (+ 0.5 (window-vscroll))))) 1561 (+ 0.5 (window-vscroll)))))
1533 (global-set-key [A-up] 1562 (global-set-key [A-up]
1534 #'(lambda () 1563 #'(lambda ()
1535 (interactive) 1564 (interactive)
1536 (set-window-vscroll (selected-window) 1565 (set-window-vscroll (selected-window)
1537 (- (window-vscroll) 0.5))))) 1566 (- (window-vscroll) 0.5)))))
1538 1567
1539 +++ 1568 +++
1540 ** New hook `fontification-functions'. 1569 ** New hook `fontification-functions'.
1541 1570
1563 *** Tool bar item definitions 1592 *** Tool bar item definitions
1564 1593
1565 Tool bar items are defined using `define-key' with a prefix-key 1594 Tool bar items are defined using `define-key' with a prefix-key
1566 `tool-bar'. For example `(define-key global-map [tool-bar item1] ITEM)' 1595 `tool-bar'. For example `(define-key global-map [tool-bar item1] ITEM)'
1567 where ITEM is a list `(menu-item CAPTION BINDING PROPS...)'. 1596 where ITEM is a list `(menu-item CAPTION BINDING PROPS...)'.
1568 1597
1569 CAPTION is the caption of the item, If it's not a string, it is 1598 CAPTION is the caption of the item, If it's not a string, it is
1570 evaluated to get a string. The caption is currently not displayed in 1599 evaluated to get a string. The caption is currently not displayed in
1571 the tool bar, but it is displayed if the item doesn't have a `:help' 1600 the tool bar, but it is displayed if the item doesn't have a `:help'
1572 property (see below). 1601 property (see below).
1573 1602
1574 BINDING is the tool bar item's binding. Tool bar items with keymaps as 1603 BINDING is the tool bar item's binding. Tool bar items with keymaps as
1575 binding are currently ignored. 1604 binding are currently ignored.
1576 1605
1577 The following properties are recognized: 1606 The following properties are recognized:
1578 1607
1579 `:enable FORM'. 1608 `:enable FORM'.
1580 1609
1581 FORM is evaluated and specifies whether the tool bar item is enabled 1610 FORM is evaluated and specifies whether the tool bar item is enabled
1582 or disabled. 1611 or disabled.
1583 1612
1584 `:visible FORM' 1613 `:visible FORM'
1585 1614
1586 FORM is evaluated and specifies whether the tool bar item is displayed. 1615 FORM is evaluated and specifies whether the tool bar item is displayed.
1587 1616
1588 `:filter FUNCTION' 1617 `:filter FUNCTION'
1589 1618
1590 FUNCTION is called with one parameter, the same list BINDING in which 1619 FUNCTION is called with one parameter, the same list BINDING in which
1591 FUNCTION is specified as the filter. The value FUNCTION returns is 1620 FUNCTION is specified as the filter. The value FUNCTION returns is
1592 used instead of BINDING to display this item. 1621 used instead of BINDING to display this item.
1593 1622
1594 `:button (TYPE SELECTED)' 1623 `:button (TYPE SELECTED)'
1595 1624
1596 TYPE must be one of `:radio' or `:toggle'. SELECTED is evaluated 1625 TYPE must be one of `:radio' or `:toggle'. SELECTED is evaluated
1597 and specifies whether the button is selected (pressed) or not. 1626 and specifies whether the button is selected (pressed) or not.
1598 1627
1599 `:image IMAGES' 1628 `:image IMAGES'
1600 1629
1601 IMAGES is either a single image specification or a vector of four 1630 IMAGES is either a single image specification or a vector of four
1602 image specifications. If it is a vector, this table lists the 1631 image specifications. If it is a vector, this table lists the
1603 meaning of each of the four elements: 1632 meaning of each of the four elements:
1606 ---------------------------------------- 1635 ----------------------------------------
1607 0 enabled and selected 1636 0 enabled and selected
1608 1 enabled and deselected 1637 1 enabled and deselected
1609 2 disabled and selected 1638 2 disabled and selected
1610 3 disabled and deselected 1639 3 disabled and deselected
1611 1640
1612 `:help HELP-STRING'. 1641 `:help HELP-STRING'.
1613 1642
1614 Gives a help string to display for the tool bar item. This help 1643 Gives a help string to display for the tool bar item. This help
1615 is displayed when the mouse is moved over the item. 1644 is displayed when the mouse is moved over the item.
1616 1645
1617 *** Tool-bar-related variables. 1646 *** Tool-bar-related variables.
1618 1647
1619 If `auto-resize-tool-bar' is non-nil, the tool bar will automatically 1648 If `auto-resize-tool-bar' is non-nil, the tool bar will automatically
1620 resize to show all defined tool bar items. It will never grow larger 1649 resize to show all defined tool bar items. It will never grow larger
1621 than 1/4 of the frame's size. 1650 than 1/4 of the frame's size.
1622 1651
1623 If `auto-raise-tool-bar-buttons' is non-nil, tool bar buttons will be 1652 If `auto-raise-tool-bar-buttons' is non-nil, tool bar buttons will be
1624 raised when the mouse moves over them. 1653 raised when the mouse moves over them.
1625 1654
1626 You can add extra space between tool bar items by setting 1655 You can add extra space between tool bar items by setting
1627 `tool-bar-button-margin' to a positive integer specifying a number of 1656 `tool-bar-button-margin' to a positive integer specifying a number of
1628 pixels. Default is 1. 1657 pixels. Default is 1.
1631 `tool-bar-button-relief' to an integer. Default is 3. 1660 `tool-bar-button-relief' to an integer. Default is 3.
1632 1661
1633 *** Tool-bar clicks with modifiers. 1662 *** Tool-bar clicks with modifiers.
1634 1663
1635 You can bind commands to clicks with control, shift, meta etc. on 1664 You can bind commands to clicks with control, shift, meta etc. on
1636 a tool bar item. If 1665 a tool bar item. If
1637 1666
1638 (define-key global-map [tool-bar shell] 1667 (define-key global-map [tool-bar shell]
1639 '(menu-item "Shell" shell 1668 '(menu-item "Shell" shell
1640 :image (image :type xpm :file "shell.xpm"))) 1669 :image (image :type xpm :file "shell.xpm")))
1641 1670
1928 temporarily to nil, for example 1957 temporarily to nil, for example
1929 1958
1930 (let ((window-size-fixed nil)) 1959 (let ((window-size-fixed nil))
1931 (enlarge-window 10)) 1960 (enlarge-window 10))
1932 1961
1933 Likewise, an attempt to split a fixed-height window vertically, 1962 Likewise, an attempt to split a fixed-height window vertically,
1934 or a fixed-width window horizontally results in a error. 1963 or a fixed-width window horizontally results in a error.
1935 1964
1936 * Changes in Emacs 20.4 1965 * Changes in Emacs 20.4
1937 1966
1938 ** Init file may be called .emacs.el. 1967 ** Init file may be called .emacs.el.
2184 2213
2185 *** `M-RET' is a new Message command for breaking cited text. 2214 *** `M-RET' is a new Message command for breaking cited text.
2186 2215
2187 *** \\1-expressions are now valid in `nnmail-split-methods'. 2216 *** \\1-expressions are now valid in `nnmail-split-methods'.
2188 2217
2189 *** The `custom-face-lookup' function has been removed. 2218 *** The `custom-face-lookup' function has been removed.
2190 If you used this function in your initialization files, you must 2219 If you used this function in your initialization files, you must
2191 rewrite them to use `face-spec-set' instead. 2220 rewrite them to use `face-spec-set' instead.
2192 2221
2193 *** Cancelling now uses the current select method. Symbolic prefix 2222 *** Cancelling now uses the current select method. Symbolic prefix
2194 `a' forces normal posting method. 2223 `a' forces normal posting method.
2270 *** kpsewhich can be used by RefTeX to find TeX and BibTeX files. See the 2299 *** kpsewhich can be used by RefTeX to find TeX and BibTeX files. See the
2271 customization group `reftex-finding-files'. 2300 customization group `reftex-finding-files'.
2272 2301
2273 *** The option `reftex-bibfile-ignore-list' has been renamed to 2302 *** The option `reftex-bibfile-ignore-list' has been renamed to
2274 `reftex-bibfile-ignore-regexps' and indeed can be fed with regular 2303 `reftex-bibfile-ignore-regexps' and indeed can be fed with regular
2275 expressions. 2304 expressions.
2276 2305
2277 *** Multiple Selection buffers are now hidden buffers. 2306 *** Multiple Selection buffers are now hidden buffers.
2278 2307
2279 ** New/deleted modes and packages 2308 ** New/deleted modes and packages
2280 2309
2471 NOERROR. If it is non-nil, then there is no error if the 2500 NOERROR. If it is non-nil, then there is no error if the
2472 requested feature cannot be loaded. 2501 requested feature cannot be loaded.
2473 2502
2474 ** In the function modify-face, an argument of (nil) for the 2503 ** In the function modify-face, an argument of (nil) for the
2475 foreground color, background color or stipple pattern 2504 foreground color, background color or stipple pattern
2476 means to clear out that attribute. 2505 means to clear out that attribute.
2477 2506
2478 ** The `outer-window-id' frame property of an X frame 2507 ** The `outer-window-id' frame property of an X frame
2479 gives the window number of the outermost X window for the frame. 2508 gives the window number of the outermost X window for the frame.
2480 2509
2481 ** Temporary buffers made with with-output-to-temp-buffer are now 2510 ** Temporary buffers made with with-output-to-temp-buffer are now
2619 2648
2620 If the value is `complex-only', extra guidance is always given only 2649 If the value is `complex-only', extra guidance is always given only
2621 when you are using complex input methods such as chinese-py. 2650 when you are using complex input methods such as chinese-py.
2622 2651
2623 If the value is `default' (this is the default), extra guidance is 2652 If the value is `default' (this is the default), extra guidance is
2624 given in the following case: 2653 given in the following case:
2625 o When you are using a complex input method. 2654 o When you are using a complex input method.
2626 o When you are using a simple input method but not in the minibuffer. 2655 o When you are using a simple input method but not in the minibuffer.
2627 2656
2628 If you are using Emacs through a very slow line, setting 2657 If you are using Emacs through a very slow line, setting
2629 input-method-verbose-flag to nil or to complex-only is a good choice, 2658 input-method-verbose-flag to nil or to complex-only is a good choice,
2809 ** Outline mode has now support for showing hidden outlines when 2838 ** Outline mode has now support for showing hidden outlines when
2810 doing an isearch. In order for this to happen search-invisible should 2839 doing an isearch. In order for this to happen search-invisible should
2811 be set to open (the default). If an isearch match is inside a hidden 2840 be set to open (the default). If an isearch match is inside a hidden
2812 outline the outline is made visible. If you continue pressing C-s and 2841 outline the outline is made visible. If you continue pressing C-s and
2813 the match moves outside the formerly invisible outline, the outline is 2842 the match moves outside the formerly invisible outline, the outline is
2814 made invisible again. 2843 made invisible again.
2815 2844
2816 ** Mail reading and sending changes 2845 ** Mail reading and sending changes
2817 2846
2818 *** The Rmail e command now switches to displaying the whole header of 2847 *** The Rmail e command now switches to displaying the whole header of
2819 the message before it lets you edit the message. This is so that any 2848 the message before it lets you edit the message. This is so that any
2901 the file named in the current Dired buffer line. `v v' invokes 2930 the file named in the current Dired buffer line. `v v' invokes
2902 `vc-next-action' on this file, or on all files currently marked. 2931 `vc-next-action' on this file, or on all files currently marked.
2903 2932
2904 The new command `v t' (vc-dired-toggle-terse-mode) allows you to 2933 The new command `v t' (vc-dired-toggle-terse-mode) allows you to
2905 toggle between terse display (only locked files) and full display (all 2934 toggle between terse display (only locked files) and full display (all
2906 VC files plus subdirectories). There is also a special command, 2935 VC files plus subdirectories). There is also a special command,
2907 `* l', to mark all files currently locked. 2936 `* l', to mark all files currently locked.
2908 2937
2909 Giving a prefix argument to C-x v d now does the same thing as in 2938 Giving a prefix argument to C-x v d now does the same thing as in
2910 ordinary Dired: it allows you to supply additional options for the ls 2939 ordinary Dired: it allows you to supply additional options for the ls
2911 command in the minibuffer, to fine-tune VC Dired's output. 2940 command in the minibuffer, to fine-tune VC Dired's output.
2976 ** C mode changes 3005 ** C mode changes
2977 3006
2978 *** Multiline macros are now handled, both as they affect indentation, 3007 *** Multiline macros are now handled, both as they affect indentation,
2979 and as recognized syntax. New syntactic symbol cpp-macro-cont is 3008 and as recognized syntax. New syntactic symbol cpp-macro-cont is
2980 assigned to second and subsequent lines of a multiline macro 3009 assigned to second and subsequent lines of a multiline macro
2981 definition. 3010 definition.
2982 3011
2983 *** A new style "user" which captures all non-hook-ified 3012 *** A new style "user" which captures all non-hook-ified
2984 (i.e. top-level) .emacs file variable settings and customizations. 3013 (i.e. top-level) .emacs file variable settings and customizations.
2985 Style "cc-mode" is an alias for "user" and is deprecated. "gnu" 3014 Style "cc-mode" is an alias for "user" and is deprecated. "gnu"
2986 style is still the default however. 3015 style is still the default however.
3008 package loaded properly for customization in your .emacs file. A new 3037 package loaded properly for customization in your .emacs file. A new
3009 variable c-initialize-on-load controls this and is t by default. 3038 variable c-initialize-on-load controls this and is t by default.
3010 3039
3011 ** Changes to hippie-expand. 3040 ** Changes to hippie-expand.
3012 3041
3013 *** New customization variable `hippie-expand-dabbrev-skip-space'. If 3042 *** New customization variable `hippie-expand-dabbrev-skip-space'. If
3014 non-nil, trailing spaces may be included in the abbreviation to search for, 3043 non-nil, trailing spaces may be included in the abbreviation to search for,
3015 which then gives the same behavior as the original `dabbrev-expand'. 3044 which then gives the same behavior as the original `dabbrev-expand'.
3016 3045
3017 *** New customization variable `hippie-expand-dabbrev-as-symbol'. If 3046 *** New customization variable `hippie-expand-dabbrev-as-symbol'. If
3018 non-nil, characters of syntax '_' is considered part of the word when 3047 non-nil, characters of syntax '_' is considered part of the word when
3037 against the first word in the title. 3066 against the first word in the title.
3038 3067
3039 *** Autokey generation now uses all words from the title, not just 3068 *** Autokey generation now uses all words from the title, not just
3040 capitalized words. To avoid conflicts with existing customizations, 3069 capitalized words. To avoid conflicts with existing customizations,
3041 bibtex-autokey-titleword-ignore is set up such that words starting with 3070 bibtex-autokey-titleword-ignore is set up such that words starting with
3042 lowerkey characters will still be ignored. Thus, if you want to use 3071 lowerkey characters will still be ignored. Thus, if you want to use
3043 lowercase words from the title, you will have to overwrite the 3072 lowercase words from the title, you will have to overwrite the
3044 bibtex-autokey-titleword-ignore standard setting. 3073 bibtex-autokey-titleword-ignore standard setting.
3045 3074
3046 *** Case conversion of names and title words for automatic key 3075 *** Case conversion of names and title words for automatic key
3047 generation is more flexible. Variable bibtex-autokey-preserve-case is 3076 generation is more flexible. Variable bibtex-autokey-preserve-case is
3048 replaced by bibtex-autokey-titleword-case-convert and 3077 replaced by bibtex-autokey-titleword-case-convert and
3049 bibtex-autokey-name-case-convert. 3078 bibtex-autokey-name-case-convert.
3067 *** vcursor-auto-disable can be `copy', which turns off copying from the 3096 *** vcursor-auto-disable can be `copy', which turns off copying from the
3068 vcursor, but doesn't disable it, after any non-vcursor command. 3097 vcursor, but doesn't disable it, after any non-vcursor command.
3069 3098
3070 ** Ispell changes. 3099 ** Ispell changes.
3071 3100
3072 *** You can now spell check comments and strings in the current 3101 *** You can now spell check comments and strings in the current
3073 buffer with M-x ispell-comments-and-strings. Comments and strings 3102 buffer with M-x ispell-comments-and-strings. Comments and strings
3074 are identified by syntax tables in effect. 3103 are identified by syntax tables in effect.
3075 3104
3076 *** Generic region skipping implemented. 3105 *** Generic region skipping implemented.
3077 A single buffer can be broken into a number of regions where text will 3106 A single buffer can be broken into a number of regions where text will
3078 and will not be checked. The definitions of the regions can be user 3107 and will not be checked. The definitions of the regions can be user
3079 defined. New applications and improvements made available by this 3108 defined. New applications and improvements made available by this
3080 include: 3109 include:
3081 3110
3082 o URLs are automatically skipped 3111 o URLs are automatically skipped
3083 o EMail message checking is vastly improved. 3112 o EMail message checking is vastly improved.
3084 3113
3085 *** Ispell can highlight the erroneous word even on non-window terminals. 3114 *** Ispell can highlight the erroneous word even on non-window terminals.
3096 The old version of RefTeX created a single large buffer containing the 3125 The old version of RefTeX created a single large buffer containing the
3097 entire multifile document in order to parse the document. The new 3126 entire multifile document in order to parse the document. The new
3098 recursive parser scans the individual files. 3127 recursive parser scans the individual files.
3099 3128
3100 *** Parsing only part of a document. 3129 *** Parsing only part of a document.
3101 3130
3102 Reparsing of changed document parts can now be made faster by enabling 3131 Reparsing of changed document parts can now be made faster by enabling
3103 partial scans. To use this feature, read the documentation string of 3132 partial scans. To use this feature, read the documentation string of
3104 the variable `reftex-enable-partial-scans' and set the variable to t. 3133 the variable `reftex-enable-partial-scans' and set the variable to t.
3105 3134
3106 (setq reftex-enable-partial-scans t) 3135 (setq reftex-enable-partial-scans t)
3308 (defcustom foo-max 34 "*Maximum number of foo's allowed." 3337 (defcustom foo-max 34 "*Maximum number of foo's allowed."
3309 :type 'integer 3338 :type 'integer
3310 :group 'foo 3339 :group 'foo
3311 :version "20.3") 3340 :version "20.3")
3312 3341
3313 (defgroup foo-group nil "The foo group." 3342 (defgroup foo-group nil "The foo group."
3314 :version "20.3") 3343 :version "20.3")
3315 3344
3316 If an entire new group is added or the variables in it have the 3345 If an entire new group is added or the variables in it have the
3317 default values changed, then just add a `:version' to that group. It 3346 default values changed, then just add a `:version' to that group. It
3318 is recommended that new packages added to the distribution contain a 3347 is recommended that new packages added to the distribution contain a
3476 3505
3477 :enable FORM Evaluate FORM to determine whether the 3506 :enable FORM Evaluate FORM to determine whether the
3478 item is enabled. 3507 item is enabled.
3479 :visible FORM Evaluate FORM to determine whether the 3508 :visible FORM Evaluate FORM to determine whether the
3480 item should appear in the menu. 3509 item should appear in the menu.
3481 :filter FILTER-FN 3510 :filter FILTER-FN
3482 FILTER-FN is a function of one argument, 3511 FILTER-FN is a function of one argument,
3483 which will be REAL-BINDING. 3512 which will be REAL-BINDING.
3484 It should return a binding to use instead. 3513 It should return a binding to use instead.
3485 :keys DESCRIPTION 3514 :keys DESCRIPTION
3486 DESCRIPTION is a string that describes an equivalent keyboard 3515 DESCRIPTION is a string that describes an equivalent keyboard
4225 has a new feature. If the file is currently not locked, so that it is 4254 has a new feature. If the file is currently not locked, so that it is
4226 presumably identical to the last checked-in version, the command now asks 4255 presumably identical to the last checked-in version, the command now asks
4227 which version to compare with. 4256 which version to compare with.
4228 4257
4229 ** When using hideshow.el, incremental search can temporarily show hidden 4258 ** When using hideshow.el, incremental search can temporarily show hidden
4230 blocks if a match is inside the block. 4259 blocks if a match is inside the block.
4231 4260
4232 The block is hidden again if the search is continued and the next match 4261 The block is hidden again if the search is continued and the next match
4233 is outside the block. By customizing the variable 4262 is outside the block. By customizing the variable
4234 isearch-hide-immediately you can choose to hide all the temporarily 4263 isearch-hide-immediately you can choose to hide all the temporarily
4235 shown blocks only when exiting from incremental search. 4264 shown blocks only when exiting from incremental search.
4422 4451
4423 ** Gnus changes. 4452 ** Gnus changes.
4424 4453
4425 *** nntp.el has been totally rewritten in an asynchronous fashion. 4454 *** nntp.el has been totally rewritten in an asynchronous fashion.
4426 4455
4427 *** Article prefetching functionality has been moved up into 4456 *** Article prefetching functionality has been moved up into
4428 Gnus. 4457 Gnus.
4429 4458
4430 *** Scoring can now be performed with logical operators like 4459 *** Scoring can now be performed with logical operators like
4431 `and', `or', `not', and parent redirection. 4460 `and', `or', `not', and parent redirection.
4432 4461
4433 *** Article washing status can be displayed in the 4462 *** Article washing status can be displayed in the
4434 article mode line. 4463 article mode line.
4435 4464
4470 *** Adaptive scoring can be done on a Subject word-by-word basis: 4499 *** Adaptive scoring can be done on a Subject word-by-word basis:
4471 4500
4472 (setq gnus-use-adaptive-scoring '(word)) 4501 (setq gnus-use-adaptive-scoring '(word))
4473 4502
4474 *** Scores can be decayed. 4503 *** Scores can be decayed.
4475 4504
4476 (setq gnus-decay-scores t) 4505 (setq gnus-decay-scores t)
4477 4506
4478 *** Scoring can be performed using a regexp on the Date header. The 4507 *** Scoring can be performed using a regexp on the Date header. The
4479 Date is normalized to compact ISO 8601 format first. 4508 Date is normalized to compact ISO 8601 format first.
4480 4509
4505 *** Subsets of the groups can be sorted independently. 4534 *** Subsets of the groups can be sorted independently.
4506 4535
4507 See the commands under the `G P' submap. 4536 See the commands under the `G P' submap.
4508 4537
4509 *** Cached articles can be pulled into the groups. 4538 *** Cached articles can be pulled into the groups.
4510 4539
4511 Use the `Y c' command. 4540 Use the `Y c' command.
4512 4541
4513 *** Score files are now applied in a more reliable order. 4542 *** Score files are now applied in a more reliable order.
4514 4543
4515 *** Reports on where mail messages end up can be generated. 4544 *** Reports on where mail messages end up can be generated.
4516 4545
4517 `M-x nnmail-split-history' 4546 `M-x nnmail-split-history'
4518 4547
4519 *** More hooks and functions have been added to remove junk 4548 *** More hooks and functions have been added to remove junk
4520 from incoming mail before saving the mail. 4549 from incoming mail before saving the mail.
4521 4550
4522 See `nnmail-prepare-incoming-header-hook'. 4551 See `nnmail-prepare-incoming-header-hook'.
4523 4552
4524 *** The nnml mail backend now understands compressed article files. 4553 *** The nnml mail backend now understands compressed article files.
4525 4554
4526 *** To enable Gnus to read/post multi-lingual articles, you must execute 4555 *** To enable Gnus to read/post multi-lingual articles, you must execute
4572 this, set c-style-variables-are-local-p to nil in your .emacs file. 4601 this, set c-style-variables-are-local-p to nil in your .emacs file.
4573 Note that this only takes effect if you do it *before* cc-mode.el is 4602 Note that this only takes effect if you do it *before* cc-mode.el is
4574 loaded. 4603 loaded.
4575 4604
4576 If you typically edit more than one style of C (or C++, Objective-C, 4605 If you typically edit more than one style of C (or C++, Objective-C,
4577 Java) code in a single Emacs session, you may want to make the CC Mode 4606 Java) code in a single Emacs session, you may want to make the CC Mode
4578 style variables have buffer local values. By default, all buffers 4607 style variables have buffer local values. By default, all buffers
4579 share the same style variable settings; to make them buffer local, set 4608 share the same style variable settings; to make them buffer local, set
4580 c-style-variables-are-local-p to t in your .emacs file. Note that you 4609 c-style-variables-are-local-p to t in your .emacs file. Note that you
4581 must do this *before* CC Mode is loaded. 4610 must do this *before* CC Mode is loaded.
4582 4611
4583 *** The new variable c-indentation-style holds the C style name 4612 *** The new variable c-indentation-style holds the C style name
4584 of the current buffer. 4613 of the current buffer.
4585 4614
4621 of holidays for ranges of years. Related menu items allow you do this 4650 of holidays for ranges of years. Related menu items allow you do this
4622 for the year of the selected date, or the following/previous years. 4651 for the year of the selected date, or the following/previous years.
4623 4652
4624 ** ps-print changes 4653 ** ps-print changes
4625 4654
4626 There are some new user variables for customizing the page layout. 4655 There are some new user variables for customizing the page layout.
4627 4656
4628 *** Paper size, paper orientation, columns 4657 *** Paper size, paper orientation, columns
4629 4658
4630 The variable `ps-paper-type' determines the size of paper ps-print 4659 The variable `ps-paper-type' determines the size of paper ps-print
4631 formats for; it should contain one of the symbols: 4660 formats for; it should contain one of the symbols:
4633 `ledger' `statement' `executive' `a4small' `b4' `b5' 4662 `ledger' `statement' `executive' `a4small' `b4' `b5'
4634 It defaults to `letter'. 4663 It defaults to `letter'.
4635 If you need other sizes, see the variable `ps-page-dimensions-database'. 4664 If you need other sizes, see the variable `ps-page-dimensions-database'.
4636 4665
4637 The variable `ps-landscape-mode' determines the orientation 4666 The variable `ps-landscape-mode' determines the orientation
4638 of the printing on the page. nil, the default, means "portrait" mode, 4667 of the printing on the page. nil, the default, means "portrait" mode,
4639 non-nil means "landscape" mode. 4668 non-nil means "landscape" mode.
4640 4669
4641 The variable `ps-number-of-columns' must be a positive integer. 4670 The variable `ps-number-of-columns' must be a positive integer.
4642 It determines the number of columns both in landscape and portrait mode. 4671 It determines the number of columns both in landscape and portrait mode.
4643 It defaults to 1. 4672 It defaults to 1.
4644 4673
4645 *** Horizontal layout 4674 *** Horizontal layout
4646 4675
4647 The horizontal layout is determined by the variables 4676 The horizontal layout is determined by the variables
4648 `ps-left-margin', `ps-inter-column', and `ps-right-margin'. 4677 `ps-left-margin', `ps-inter-column', and `ps-right-margin'.
4658 4687
4659 If the variable `ps-print-header' is nil, no header is printed. Then 4688 If the variable `ps-print-header' is nil, no header is printed. Then
4660 `ps-header-offset' is not relevant and `ps-top-margin' represents the 4689 `ps-header-offset' is not relevant and `ps-top-margin' represents the
4661 margin above the text. 4690 margin above the text.
4662 4691
4663 If the variable `ps-print-header-frame' is non-nil, a gaudy 4692 If the variable `ps-print-header-frame' is non-nil, a gaudy
4664 framing box is printed around the header. 4693 framing box is printed around the header.
4665 4694
4666 The contents of the header are determined by `ps-header-lines', 4695 The contents of the header are determined by `ps-header-lines',
4667 `ps-show-n-of-n', `ps-left-header' and `ps-right-header'. 4696 `ps-show-n-of-n', `ps-left-header' and `ps-right-header'.
4668 4697
4669 The height of the header is determined by `ps-header-line-pad', 4698 The height of the header is determined by `ps-header-line-pad',
4670 `ps-header-font-family', `ps-header-title-font-size' and 4699 `ps-header-font-family', `ps-header-title-font-size' and
4671 `ps-header-font-size'. 4700 `ps-header-font-size'.
4672 4701
4673 *** Font managing 4702 *** Font managing
4674 4703
4675 The variable `ps-font-family' determines which font family is to be 4704 The variable `ps-font-family' determines which font family is to be
4676 used for ordinary text. Its value must be a key symbol in the alist 4705 used for ordinary text. Its value must be a key symbol in the alist
4677 `ps-font-info-database'. You can add other font families by adding 4706 `ps-font-info-database'. You can add other font families by adding
4678 elements to this alist. 4707 elements to this alist.
4679 4708
4680 The variable `ps-font-size' determines the size of the font 4709 The variable `ps-font-size' determines the size of the font
4681 for ordinary text. It defaults to 8.5 points. 4710 for ordinary text. It defaults to 8.5 points.
4682 4711
4683 ** hideshow changes. 4712 ** hideshow changes.
4684 4713
4685 *** now supports hiding of blocks of single line comments (like // for 4714 *** now supports hiding of blocks of single line comments (like // for
4686 C++, ; for lisp). 4715 C++, ; for lisp).
4687 4716
4688 *** Support for java-mode added. 4717 *** Support for java-mode added.
4689 4718
4690 *** When doing `hs-hide-all' it is now possible to also hide the comments 4719 *** When doing `hs-hide-all' it is now possible to also hide the comments
4691 in the file if `hs-hide-comments-when-hiding-all' is set. 4720 in the file if `hs-hide-comments-when-hiding-all' is set.
4695 way! This is run by default when entering the `hs-minor-mode'. 4724 way! This is run by default when entering the `hs-minor-mode'.
4696 4725
4697 *** Now uses overlays instead of `selective-display', so is more 4726 *** Now uses overlays instead of `selective-display', so is more
4698 robust and a lot faster. 4727 robust and a lot faster.
4699 4728
4700 *** A block beginning can span multiple lines. 4729 *** A block beginning can span multiple lines.
4701 4730
4702 *** The new variable `hs-show-hidden-short-form' if t, directs hideshow 4731 *** The new variable `hs-show-hidden-short-form' if t, directs hideshow
4703 to show only the beginning of a block when it is hidden. See the 4732 to show only the beginning of a block when it is hidden. See the
4704 documentation for more details. 4733 documentation for more details.
4705 4734
4822 - `ada-make-local' : invokes gnatmake on the current buffer 4851 - `ada-make-local' : invokes gnatmake on the current buffer
4823 - `ada-check-syntax' : check syntax of current buffer. 4852 - `ada-check-syntax' : check syntax of current buffer.
4824 4853
4825 The user options `ada-compiler-make', `ada-make-options', 4854 The user options `ada-compiler-make', `ada-make-options',
4826 `ada-language-version', `ada-compiler-syntax-check', and 4855 `ada-language-version', `ada-compiler-syntax-check', and
4827 `ada-compile-options' are used within these commands. 4856 `ada-compile-options' are used within these commands.
4828 4857
4829 *** Ada mode can now work with Outline minor mode. The outline level 4858 *** Ada mode can now work with Outline minor mode. The outline level
4830 is calculated from the indenting, not from syntactic constructs. 4859 is calculated from the indenting, not from syntactic constructs.
4831 Outlining does not work if your code is not correctly indented. 4860 Outlining does not work if your code is not correctly indented.
4832 4861
4907 and \cite macros in LaTeX documents. RefTeX distinguishes labels of 4936 and \cite macros in LaTeX documents. RefTeX distinguishes labels of
4908 different environments (equation, figure, ...) and has full support for 4937 different environments (equation, figure, ...) and has full support for
4909 multifile documents. To use it, select a buffer with a LaTeX document and 4938 multifile documents. To use it, select a buffer with a LaTeX document and
4910 turn the mode on with M-x reftex-mode. Here are the main user commands: 4939 turn the mode on with M-x reftex-mode. Here are the main user commands:
4911 4940
4912 C-c ( reftex-label 4941 C-c ( reftex-label
4913 Creates a label semi-automatically. RefTeX is context sensitive and 4942 Creates a label semi-automatically. RefTeX is context sensitive and
4914 knows which kind of label is needed. 4943 knows which kind of label is needed.
4915 4944
4916 C-c ) reftex-reference 4945 C-c ) reftex-reference
4917 Offers in a menu all labels in the document, along with context of the 4946 Offers in a menu all labels in the document, along with context of the
4925 Views the cross reference of a \ref or \cite command near point. 4954 Views the cross reference of a \ref or \cite command near point.
4926 4955
4927 C-c = reftex-toc 4956 C-c = reftex-toc
4928 Shows a table of contents of the (multifile) document. From there you 4957 Shows a table of contents of the (multifile) document. From there you
4929 can quickly jump to every section. 4958 can quickly jump to every section.
4930 4959
4931 Under X, RefTeX installs a "Ref" menu in the menu bar, with additional 4960 Under X, RefTeX installs a "Ref" menu in the menu bar, with additional
4932 commands. Press `?' to get help when a prompt mentions this feature. 4961 commands. Press `?' to get help when a prompt mentions this feature.
4933 Full documentation and customization examples are in the file 4962 Full documentation and customization examples are in the file
4934 reftex.el. You can use the finder to view the file documentation: 4963 reftex.el. You can use the finder to view the file documentation:
4935 C-h p --> tex --> reftex.el 4964 C-h p --> tex --> reftex.el
5054 related to the GNU format has now been fixed.) 5083 related to the GNU format has now been fixed.)
5055 5084
5056 ** Changes in Viper 5085 ** Changes in Viper
5057 5086
5058 *** The startup file is now .viper instead of .vip 5087 *** The startup file is now .viper instead of .vip
5059 *** All variable/function names have been changed to start with viper- 5088 *** All variable/function names have been changed to start with viper-
5060 instead of vip-. 5089 instead of vip-.
5061 *** C-\ now simulates the meta-key in all Viper states. 5090 *** C-\ now simulates the meta-key in all Viper states.
5062 *** C-z in Insert state now escapes to Vi for the duration of the next 5091 *** C-z in Insert state now escapes to Vi for the duration of the next
5063 Viper command. In Vi and Insert states, C-z behaves as before. 5092 Viper command. In Vi and Insert states, C-z behaves as before.
5064 *** C-c \ escapes to Vi for one command if Viper is in Insert or Emacs states. 5093 *** C-c \ escapes to Vi for one command if Viper is in Insert or Emacs states.
5065 *** _ is no longer the meta-key in Vi state. 5094 *** _ is no longer the meta-key in Vi state.
5066 *** The variable viper-insert-state-cursor-color can be used to change cursor 5095 *** The variable viper-insert-state-cursor-color can be used to change cursor
5067 color when Viper is in insert state. 5096 color when Viper is in insert state.
5223 instance) and vice versa. 5252 instance) and vice versa.
5224 5253
5225 To use this package load it using 5254 To use this package load it using
5226 M-x load-library [enter] ogonek 5255 M-x load-library [enter] ogonek
5227 Then, you may get an explanation by calling one of 5256 Then, you may get an explanation by calling one of
5228 M-x ogonek-jak -- in Polish 5257 M-x ogonek-jak -- in Polish
5229 M-x ogonek-how -- in English 5258 M-x ogonek-how -- in English
5230 The info specifies the commands and variables provided as well as the 5259 The info specifies the commands and variables provided as well as the
5231 ways of customization in `.emacs'. 5260 ways of customization in `.emacs'.
5232 5261
5233 *** Interface to ph. 5262 *** Interface to ph.
5329 either a directory name or the suffix .el or .elc, insists on 5358 either a directory name or the suffix .el or .elc, insists on
5330 adding one of these suffixes. 5359 adding one of these suffixes.
5331 5360
5332 *** string-to-number now takes an optional second argument BASE 5361 *** string-to-number now takes an optional second argument BASE
5333 which specifies the base to use when converting an integer. 5362 which specifies the base to use when converting an integer.
5334 If BASE is omitted, base 10 is used. 5363 If BASE is omitted, base 10 is used.
5335 5364
5336 We have not implemented other radices for floating point numbers, 5365 We have not implemented other radices for floating point numbers,
5337 because that would be much more work and does not seem useful. 5366 because that would be much more work and does not seem useful.
5338 5367
5339 *** substring now handles vectors as well as strings. 5368 *** substring now handles vectors as well as strings.
5416 5445
5417 This means that some Lisp programs, which assume that a character is 5446 This means that some Lisp programs, which assume that a character is
5418 always one buffer position, need to be changed. 5447 always one buffer position, need to be changed.
5419 5448
5420 However, all ASCII characters are always one buffer position. 5449 However, all ASCII characters are always one buffer position.
5421 5450
5422 *** The regexp [\200-\377] no longer matches all non-ASCII characters, 5451 *** The regexp [\200-\377] no longer matches all non-ASCII characters,
5423 because when enable-multibyte-characters is non-nil, these characters 5452 because when enable-multibyte-characters is non-nil, these characters
5424 have codes that are not in the range octal 200 to octal 377. However, 5453 have codes that are not in the range octal 200 to octal 377. However,
5425 the regexp [^\000-\177] does match all non-ASCII characters, 5454 the regexp [^\000-\177] does match all non-ASCII characters,
5426 guaranteed. 5455 guaranteed.
5730 t when it should hide it. 5759 t when it should hide it.
5731 5760
5732 *** add-to-invisibility-spec, remove-from-invisibility-spec 5761 *** add-to-invisibility-spec, remove-from-invisibility-spec
5733 5762
5734 Modes that use overlays to hide portions of a buffer should set the 5763 Modes that use overlays to hide portions of a buffer should set the
5735 invisible property of the overlay to the mode's name (or another symbol) 5764 invisible property of the overlay to the mode's name (or another symbol)
5736 and modify the `buffer-invisibility-spec' to include that symbol. 5765 and modify the `buffer-invisibility-spec' to include that symbol.
5737 Use `add-to-invisibility-spec' and `remove-from-invisibility-spec' to 5766 Use `add-to-invisibility-spec' and `remove-from-invisibility-spec' to
5738 manipulate the `buffer-invisibility-spec'. 5767 manipulate the `buffer-invisibility-spec'.
5739 Here is an example of how to do this: 5768 Here is an example of how to do this:
5740 5769
5741 ;; If we want to display an ellipsis: 5770 ;; If we want to display an ellipsis:
5742 (add-to-invisibility-spec '(my-symbol . t)) 5771 (add-to-invisibility-spec '(my-symbol . t))
5743 ;; If you don't want ellipsis: 5772 ;; If you don't want ellipsis:
5744 (add-to-invisibility-spec 'my-symbol) 5773 (add-to-invisibility-spec 'my-symbol)
5745 5774
5746 ... 5775 ...
5747 (overlay-put (make-overlay beginning end) 'invisible 'my-symbol) 5776 (overlay-put (make-overlay beginning end) 'invisible 'my-symbol)
5748 5777
5749 ... 5778 ...
5976 ** In define-key-after, if AFTER is t, the new binding now always goes 6005 ** In define-key-after, if AFTER is t, the new binding now always goes
5977 at the end of the keymap. If the keymap is a menu, this means it 6006 at the end of the keymap. If the keymap is a menu, this means it
5978 goes after the other menu items. 6007 goes after the other menu items.
5979 6008
5980 ** If you have a program that makes several changes in the same area 6009 ** If you have a program that makes several changes in the same area
5981 of the buffer, you can use the macro combine-after-change-calls 6010 of the buffer, you can use the macro combine-after-change-calls
5982 around that Lisp code to make it faster when after-change hooks 6011 around that Lisp code to make it faster when after-change hooks
5983 are in use. 6012 are in use.
5984 6013
5985 The macro arranges to call the after-change functions just once for a 6014 The macro arranges to call the after-change functions just once for a
5986 series of several changes--if that seems safe. 6015 series of several changes--if that seems safe.
6069 ** thing-at-point now supports a new kind of "thing": url. 6098 ** thing-at-point now supports a new kind of "thing": url.
6070 6099
6071 ** imenu.el changes. 6100 ** imenu.el changes.
6072 6101
6073 You can now specify a function to be run when selecting an 6102 You can now specify a function to be run when selecting an
6074 item from menu created by imenu. 6103 item from menu created by imenu.
6075 6104
6076 An example of using this feature: if we define imenu items for the 6105 An example of using this feature: if we define imenu items for the
6077 #include directives in a C file, we can open the included file when we 6106 #include directives in a C file, we can open the included file when we
6078 select one of those items. 6107 select one of those items.
6079 6108
6178 previously released version, except in the message composition area. 6207 previously released version, except in the message composition area.
6179 6208
6180 Below is a list of the more user-visible changes. Coding changes 6209 Below is a list of the more user-visible changes. Coding changes
6181 between Gnus 5.1 and 5.2 are more extensive. 6210 between Gnus 5.1 and 5.2 are more extensive.
6182 6211
6183 *** A new message composition mode is used. All old customization 6212 *** A new message composition mode is used. All old customization
6184 variables for mail-mode, rnews-reply-mode and gnus-msg are now 6213 variables for mail-mode, rnews-reply-mode and gnus-msg are now
6185 obsolete. 6214 obsolete.
6186 6215
6187 *** Gnus is now able to generate "sparse" threads -- threads where 6216 *** Gnus is now able to generate "sparse" threads -- threads where
6188 missing articles are represented by empty nodes. 6217 missing articles are represented by empty nodes.
6192 *** Outgoing articles are stored on a special archive server. 6221 *** Outgoing articles are stored on a special archive server.
6193 6222
6194 To disable this: (setq gnus-message-archive-group nil) 6223 To disable this: (setq gnus-message-archive-group nil)
6195 6224
6196 *** Partial thread regeneration now happens when articles are 6225 *** Partial thread regeneration now happens when articles are
6197 referred. 6226 referred.
6198 6227
6199 *** Gnus can make use of GroupLens predictions: 6228 *** Gnus can make use of GroupLens predictions:
6200 6229
6201 (setq gnus-use-grouplens t) 6230 (setq gnus-use-grouplens t)
6202 6231
6203 *** A trn-line tree buffer can be displayed. 6232 *** A trn-line tree buffer can be displayed.
6204 6233
6205 (setq gnus-use-trees t) 6234 (setq gnus-use-trees t)
6206 6235
6207 *** An nn-like pick-and-read minor mode is available for the summary 6236 *** An nn-like pick-and-read minor mode is available for the summary
6208 buffers. 6237 buffers.
6209 6238
6210 (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode) 6239 (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode)
6211 6240
6212 *** In binary groups you can use a special binary minor mode: 6241 *** In binary groups you can use a special binary minor mode:
6213 6242
6230 groups of groups. 6259 groups of groups.
6231 6260
6232 *** Caching is possible in virtual groups. 6261 *** Caching is possible in virtual groups.
6233 6262
6234 *** nndoc now understands all kinds of digests, mail boxes, rnews news 6263 *** nndoc now understands all kinds of digests, mail boxes, rnews news
6235 batches, ClariNet briefs collections, and just about everything else. 6264 batches, ClariNet briefs collections, and just about everything else.
6236 6265
6237 *** Gnus has a new backend (nnsoup) to create/read SOUP packets. 6266 *** Gnus has a new backend (nnsoup) to create/read SOUP packets.
6238 6267
6239 *** The Gnus cache is much faster. 6268 *** The Gnus cache is much faster.
6240 6269
6263 6292
6264 (add-hook 'gnus-article-display-hook 'gnus-article-add-buttons-to-head) 6293 (add-hook 'gnus-article-display-hook 'gnus-article-add-buttons-to-head)
6265 6294
6266 *** All mail backends support fetching articles by Message-ID. 6295 *** All mail backends support fetching articles by Message-ID.
6267 6296
6268 *** Duplicate mail can now be treated properly. See the 6297 *** Duplicate mail can now be treated properly. See the
6269 `nnmail-treat-duplicates' variable. 6298 `nnmail-treat-duplicates' variable.
6270 6299
6271 *** All summary mode commands are available directly from the article 6300 *** All summary mode commands are available directly from the article
6272 buffer. 6301 buffer.
6273 6302
6274 *** Frames can be part of `gnus-buffer-configuration'. 6303 *** Frames can be part of `gnus-buffer-configuration'.
6275 6304
6276 *** Mail can be re-scanned by a daemonic process. 6305 *** Mail can be re-scanned by a daemonic process.
6277 6306
6278 *** Gnus can make use of NoCeM files to filter spam. 6307 *** Gnus can make use of NoCeM files to filter spam.
6279 6308
6280 (setq gnus-use-nocem t) 6309 (setq gnus-use-nocem t)
6281 6310
6282 *** Groups can be made permanently visible. 6311 *** Groups can be made permanently visible.
6283 6312
6284 (setq gnus-permanently-visible-groups "^nnml:") 6313 (setq gnus-permanently-visible-groups "^nnml:")
6285 6314
6286 *** Many new hooks have been introduced to make customizing easier. 6315 *** Many new hooks have been introduced to make customizing easier.
6287 6316
6288 *** Gnus respects the Mail-Copies-To header. 6317 *** Gnus respects the Mail-Copies-To header.
6289 6318
6290 *** Threads can be gathered by looking at the References header. 6319 *** Threads can be gathered by looking at the References header.
6291 6320
6292 (setq gnus-summary-thread-gathering-function 6321 (setq gnus-summary-thread-gathering-function
6293 'gnus-gather-threads-by-references) 6322 'gnus-gather-threads-by-references)
6294 6323
6295 *** Read articles can be stored in a special backlog buffer to avoid 6324 *** Read articles can be stored in a special backlog buffer to avoid
6296 refetching. 6325 refetching.
6297 6326
6298 (setq gnus-keep-backlog 50) 6327 (setq gnus-keep-backlog 50)
6299 6328
6300 *** A clean copy of the current article is always stored in a separate 6329 *** A clean copy of the current article is always stored in a separate
6301 buffer to allow easier treatment. 6330 buffer to allow easier treatment.
6305 *** Gnus doesn't have to do as much prompting when saving. 6334 *** Gnus doesn't have to do as much prompting when saving.
6306 6335
6307 (setq gnus-prompt-before-saving t) 6336 (setq gnus-prompt-before-saving t)
6308 6337
6309 *** gnus-uu can view decoded files asynchronously while fetching 6338 *** gnus-uu can view decoded files asynchronously while fetching
6310 articles. 6339 articles.
6311 6340
6312 (setq gnus-uu-grabbed-file-functions 'gnus-uu-grab-view) 6341 (setq gnus-uu-grabbed-file-functions 'gnus-uu-grab-view)
6313 6342
6314 *** Filling in the article buffer now works properly on cited text. 6343 *** Filling in the article buffer now works properly on cited text.
6315 6344
6316 *** Hiding cited text adds buttons to toggle hiding, and how much 6345 *** Hiding cited text adds buttons to toggle hiding, and how much
6317 cited text to hide is now customizable. 6346 cited text to hide is now customizable.
6318 6347
6319 (setq gnus-cited-lines-visible 2) 6348 (setq gnus-cited-lines-visible 2)
6635 *** You can simulate mouse-3 on two-button mice by simultaneously 6664 *** You can simulate mouse-3 on two-button mice by simultaneously
6636 pressing both mouse buttons. 6665 pressing both mouse buttons.
6637 6666
6638 *** A number of packages and commands which previously failed or had 6667 *** A number of packages and commands which previously failed or had
6639 restricted functionality on MS-DOS, now work. The most important ones 6668 restricted functionality on MS-DOS, now work. The most important ones
6640 are: 6669 are:
6641 6670
6642 **** Printing (both with `M-x lpr-buffer' and with `ps-print' package) 6671 **** Printing (both with `M-x lpr-buffer' and with `ps-print' package)
6643 now works. 6672 now works.
6644 6673
6645 **** `Ediff' works (in a single-frame mode). 6674 **** `Ediff' works (in a single-frame mode).