diff options
| author | Stefan Monnier | 2010-03-24 14:02:56 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2010-03-24 14:02:56 -0400 |
| commit | e867cb5d30200dd696b012e1ad0964d25c2a7ecc (patch) | |
| tree | 3340026420f168909eaa734232e4890e15bc1626 | |
| parent | b2b8574b8d03673f5673e2154d17c2cb80f59a0b (diff) | |
| parent | efee6a6d9cec2af824b8355c93d8f47b72a685a8 (diff) | |
| download | emacs-e867cb5d30200dd696b012e1ad0964d25c2a7ecc.tar.gz emacs-e867cb5d30200dd696b012e1ad0964d25c2a7ecc.zip | |
Merge from `emacs-23'.
60 files changed, 1512 insertions, 647 deletions
diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker index 3870113489e..19a383dff5b 100644 --- a/admin/notes/bugtracker +++ b/admin/notes/bugtracker | |||
| @@ -140,7 +140,7 @@ Remember to fix FOO, as discussed on emacs-devel at http://... . | |||
| 140 | ** Not interested in tracker control messages (tags being set, etc)? | 140 | ** Not interested in tracker control messages (tags being set, etc)? |
| 141 | Discard mails matching: | 141 | Discard mails matching: |
| 142 | 142 | ||
| 143 | ^X-Emacs-PR-Message: (transcript|closed) | 143 | ^X-GNU-PR-Message: (transcript|closed) |
| 144 | 144 | ||
| 145 | ** How to avoid multiple copies of mails. | 145 | ** How to avoid multiple copies of mails. |
| 146 | If you reply to reports in the normal way, this should work fine. | 146 | If you reply to reports in the normal way, this should work fine. |
| @@ -166,18 +166,18 @@ Sending a mail to 123-done does the following: | |||
| 166 | 2) Send a mail to the original submitter telling them that their bug | 166 | 2) Send a mail to the original submitter telling them that their bug |
| 167 | has been closed. This mail has a header: | 167 | has been closed. This mail has a header: |
| 168 | 168 | ||
| 169 | X-Emacs-PR-Message: they-closed 123 | 169 | X-GNU-PR-Message: they-closed 123 |
| 170 | 170 | ||
| 171 | 3) Send a mail to you and to the emacs-bug-tracker list confirming | 171 | 3) Send a mail to you and to the emacs-bug-tracker list confirming |
| 172 | that the bug has been closed. This mail has a header: | 172 | that the bug has been closed. This mail has a header: |
| 173 | 173 | ||
| 174 | X-Emacs-PR-Message: closed 123 | 174 | X-GNU-PR-Message: closed 123 |
| 175 | 175 | ||
| 176 | 4) Send a copy of your mail to the bug-gnu-emacs list in exactly the | 176 | 4) Send a copy of your mail to the bug-gnu-emacs list in exactly the |
| 177 | same way as if you had sent mail to "123" (sans -done). This mail has | 177 | same way as if you had sent mail to "123" (sans -done). This mail has |
| 178 | headers: | 178 | headers: |
| 179 | 179 | ||
| 180 | X-Emacs-PR-Message: cc-closed 123 | 180 | X-GNU-PR-Message: cc-closed 123 |
| 181 | Mail-Followup-To: 123@debbugs.gnu.org, person-who-closed | 181 | Mail-Followup-To: 123@debbugs.gnu.org, person-who-closed |
| 182 | 182 | ||
| 183 | (This is Emacs-specific. Normally the bug list gets the same mail as in 3). | 183 | (This is Emacs-specific. Normally the bug list gets the same mail as in 3). |
diff --git a/admin/notes/copyright b/admin/notes/copyright index f4ceb273c73..e0389212304 100644 --- a/admin/notes/copyright +++ b/admin/notes/copyright | |||
| @@ -221,6 +221,11 @@ lib-src/etags.c | |||
| 221 | lib-src/getopt1.c, getopt_int.h | 221 | lib-src/getopt1.c, getopt_int.h |
| 222 | - these are from the GNU C library. Leave the copyrights alone. | 222 | - these are from the GNU C library. Leave the copyrights alone. |
| 223 | 223 | ||
| 224 | lisp/cedet/semantic/imenu.el | ||
| 225 | - See http://lists.gnu.org/archive/html/emacs-devel/2010-03/msg00410.html | ||
| 226 | in which Eric Ludlam established that the remaining contributions | ||
| 227 | from authors other than himself were negligible. | ||
| 228 | |||
| 224 | lisp/play/tetris.el | 229 | lisp/play/tetris.el |
| 225 | - no special rules about the copyright. We note here that we believe | 230 | - no special rules about the copyright. We note here that we believe |
| 226 | (2007/1) there is no problem with our use of the name "tetris" or | 231 | (2007/1) there is no problem with our use of the name "tetris" or |
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 78dc33a6e59..fa454dd976a 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,35 @@ | |||
| 1 | 2010-03-24 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * ack.texi (Acknowledgments): | ||
| 4 | * emacs.texi (Acknowledgments): Fix ispell attribution. (Bug#5759) | ||
| 5 | |||
| 6 | 2010-03-20 Jan Djärv <jan.h.d@swipnet.se> | ||
| 7 | |||
| 8 | * xresources.texi (Table of Resources): Clarify toolBar number | ||
| 9 | for Gtk+. | ||
| 10 | |||
| 11 | * frames.texi (Menu Bars): menuBarLines => menuBar (bug#5736). | ||
| 12 | |||
| 13 | 2010-03-21 Chong Yidong <cyd@stupidchicken.com> | ||
| 14 | |||
| 15 | * dired.texi (Dired Updating): Document dired-auto-revert-buffer. | ||
| 16 | |||
| 17 | * search.texi (Other Repeating Search): Document multi-isearch-buffers | ||
| 18 | and multi-isearch-buffers-regexp. | ||
| 19 | |||
| 20 | * indent.texi (Indentation): Clarify description of | ||
| 21 | indent-for-tab-command. Document tab-always-indent. | ||
| 22 | |||
| 23 | 2010-03-20 Chong Yidong <cyd@stupidchicken.com> | ||
| 24 | |||
| 25 | * cmdargs.texi (Font X): Move most content to Fonts. | ||
| 26 | |||
| 27 | * frames.texi (Fonts): New node. Document font-use-system-font. | ||
| 28 | |||
| 29 | * emacs.texi (Top): | ||
| 30 | * xresources.texi (Table of Resources): | ||
| 31 | * mule.texi (Defining Fontsets, Charsets): Update xrefs. | ||
| 32 | |||
| 1 | 2010-03-10 Chong Yidong <cyd@stupidchicken.com> | 33 | 2010-03-10 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 34 | ||
| 3 | * Branch for 23.2. | 35 | * Branch for 23.2. |
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index 09da1e68b2e..d2930485a90 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, | 2 | @c Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, |
| 3 | @c 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. | 3 | @c 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
| 4 | @c Free Software Foundation, Inc. | ||
| 4 | @c See file emacs.texi for copying conditions. | 5 | @c See file emacs.texi for copying conditions. |
| 5 | @c | 6 | @c |
| 6 | @node Acknowledgments, Screen, Concept Index, Top | 7 | @node Acknowledgments, Screen, Concept Index, Top |
| @@ -600,8 +601,7 @@ R.@: Dodd. He also wrote @file{ls-lisp.el}, a Lisp emulation of the | |||
| 600 | program. | 601 | program. |
| 601 | 602 | ||
| 602 | @item | 603 | @item |
| 603 | Geoff Kuenning and Ken Stevens wrote @file{ispell.el}, a spell-checker | 604 | Ken Stevens wrote @file{ispell.el}, a spell-checker interface. |
| 604 | interface. | ||
| 605 | 605 | ||
| 606 | @item | 606 | @item |
| 607 | David K@ringaccent{a}gedal wrote @file{tempo.el}, providing support for | 607 | David K@ringaccent{a}gedal wrote @file{tempo.el}, providing support for |
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index aefe7b3bfc0..a139e0eb0f4 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi | |||
| @@ -755,10 +755,9 @@ remote machine. | |||
| 755 | @appendixsec Font Specification Options | 755 | @appendixsec Font Specification Options |
| 756 | @cindex font name (X Window System) | 756 | @cindex font name (X Window System) |
| 757 | 757 | ||
| 758 | By default, Emacs displays text in X using a twelve point monospace | 758 | You can use the command line option @samp{-fn @var{font}} (or |
| 759 | font. You can specify a different font using the command line option | 759 | @samp{--font}, which is an alias for @samp{-fn}) to specify a default |
| 760 | @samp{-fn @var{font}} (or @samp{--font}, which is an alias for | 760 | font: |
| 761 | @samp{-fn}). | ||
| 762 | 761 | ||
| 763 | @table @samp | 762 | @table @samp |
| 764 | @item -fn @var{font} | 763 | @item -fn @var{font} |
| @@ -772,252 +771,14 @@ Use @var{font} as the default font. | |||
| 772 | When passing a font specification to Emacs on the command line, you | 771 | When passing a font specification to Emacs on the command line, you |
| 773 | may need to ``quote'' it, by enclosing it in quotation marks, if it | 772 | may need to ``quote'' it, by enclosing it in quotation marks, if it |
| 774 | contains characters that the shell treats specially (e.g. spaces). | 773 | contains characters that the shell treats specially (e.g. spaces). |
| 775 | Here is an example: | 774 | For example: |
| 776 | 775 | ||
| 777 | @smallexample | 776 | @smallexample |
| 778 | emacs -fn "DejaVu Sans Mono-12" | 777 | emacs -fn "DejaVu Sans Mono-12" |
| 779 | @end smallexample | 778 | @end smallexample |
| 780 | 779 | ||
| 781 | @cindex X defaults file | 780 | @xref{Fonts}, for other ways to specify the default font and font name |
| 782 | @cindex X resources file | 781 | formats. |
| 783 | You can also specify the font using your X resources file (usually a | ||
| 784 | file named @file{.Xdefaults} or @file{.Xresources} in your home | ||
| 785 | directory), by adding a line like this: | ||
| 786 | |||
| 787 | @smallexample | ||
| 788 | emacs.font: @var{font} | ||
| 789 | @end smallexample | ||
| 790 | |||
| 791 | @noindent | ||
| 792 | You must restart X, or use the @command{xrdb} command, for the X | ||
| 793 | resources file to take effect. @xref{Resources}. When specifying a | ||
| 794 | font in your X resources file, you should not quote it. | ||
| 795 | |||
| 796 | @cindex fontconfig | ||
| 797 | Emacs recognizes two types of fonts: @dfn{client-side} fonts, which | ||
| 798 | are provided by the Xft and Fontconfig libraries, and | ||
| 799 | @dfn{server-side} fonts, which are provided by the X server itself. | ||
| 800 | Most client-side fonts support advanced font features such as | ||
| 801 | antialiasing and subpixel hinting, while server-side fonts do not. | ||
| 802 | |||
| 803 | There are four different ways to express a ``font name''. The first | ||
| 804 | format consists of @dfn{Fontconfig patterns}. Fontconfig patterns | ||
| 805 | match only client-side fonts provided by Xft and Fontconfig, and have | ||
| 806 | the following form: | ||
| 807 | |||
| 808 | @smallexample | ||
| 809 | @var{fontname}[-@var{fontsize}][:@var{name1}=@var{values1}][:@var{name2}=@var{values2}]... | ||
| 810 | @end smallexample | ||
| 811 | |||
| 812 | @noindent | ||
| 813 | Within this format, any of the elements in braces may be omitted. | ||
| 814 | Here, @var{fontname} is the ``family name'' of the font, such as | ||
| 815 | @samp{Monospace} or @samp{DejaVu Serif}; @var{fontsize} is the ``point | ||
| 816 | size'' of the font (one ``printer's point'' is about 1/72 of an inch); | ||
| 817 | and the @samp{@var{name}=@var{values}} entries specify settings such | ||
| 818 | as the slant and weight of the font. Each @var{values} may be a | ||
| 819 | single value, or a list of values separated by commas. In addition, | ||
| 820 | some property values are valid with only one kind of property name, in | ||
| 821 | which case the @samp{@var{name}=} part may be omitted. | ||
| 822 | |||
| 823 | Here is a list of common font properties: | ||
| 824 | |||
| 825 | @table @samp | ||
| 826 | @item slant | ||
| 827 | One of @samp{italic}, @samp{oblique} or @samp{roman}. | ||
| 828 | |||
| 829 | @item weight | ||
| 830 | One of @samp{light}, @samp{medium}, @samp{demibold}, @samp{bold} or | ||
| 831 | @samp{black}. | ||
| 832 | |||
| 833 | @item style | ||
| 834 | Some fonts define special styles which are a combination of slant and | ||
| 835 | weight. For instance, the font @samp{Dejavu Sans} defines the style | ||
| 836 | @samp{book}. This property, if specified, overrides the slant and | ||
| 837 | weight properties. | ||
| 838 | |||
| 839 | @item width | ||
| 840 | One of @samp{condensed}, @samp{normal}, or @samp{expanded}. | ||
| 841 | |||
| 842 | @item spacing | ||
| 843 | One of @samp{monospace}, @samp{proportional}, @samp{dual-width}, or | ||
| 844 | @samp{charcell}. | ||
| 845 | @end table | ||
| 846 | |||
| 847 | @noindent | ||
| 848 | Here are some examples of Fontconfig patterns: | ||
| 849 | |||
| 850 | @smallexample | ||
| 851 | Monospace | ||
| 852 | Monospace-12 | ||
| 853 | Monospace-12:bold | ||
| 854 | DejaVu Sans Mono:bold:italic | ||
| 855 | Monospace-12:weight=bold:slant=italic | ||
| 856 | @end smallexample | ||
| 857 | |||
| 858 | See the Fontconfig manual for a more detailed description of | ||
| 859 | Fontconfig patterns. This manual is located in the file | ||
| 860 | @file{fontconfig-user.html}, which is distributed with Fontconfig. It | ||
| 861 | is also available online at | ||
| 862 | @url{http://fontconfig.org/fontconfig-user.html}. In particular, the | ||
| 863 | manual describes additional font properties that influence how the | ||
| 864 | font is hinted, antialiased, or scaled. | ||
| 865 | |||
| 866 | The second way to specify a font is to use a @dfn{GTK font | ||
| 867 | description}. Like Fontconfig patterns, GTK font descriptions match | ||
| 868 | only client-side fonts provided by Xft and Fontconfig. They have the | ||
| 869 | syntax | ||
| 870 | |||
| 871 | @smallexample | ||
| 872 | @var{fontname} [@var{properties}] [@var{fontsize}] | ||
| 873 | @end smallexample | ||
| 874 | |||
| 875 | @noindent | ||
| 876 | where @var{fontname} is the family name, @var{properties} is a list of | ||
| 877 | property values separated by spaces, and @var{fontsize} is the point | ||
| 878 | size. The properties that you may specify are as follows: | ||
| 879 | |||
| 880 | @table @samp | ||
| 881 | @item style | ||
| 882 | One of @samp{roman}, @samp{italic} or @samp{oblique}. If omitted, the | ||
| 883 | @samp{roman} style is used. | ||
| 884 | @item weight | ||
| 885 | One of @samp{medium}, @samp{ultra-light}, @samp{light}, | ||
| 886 | @samp{semi-bold}, or @samp{bold}. If omitted, @samp{medium} weight is | ||
| 887 | used. | ||
| 888 | @end table | ||
| 889 | |||
| 890 | @noindent | ||
| 891 | Here are some examples of GTK font descriptions: | ||
| 892 | |||
| 893 | @smallexample | ||
| 894 | Monospace 12 | ||
| 895 | Monospace Bold Italic 12 | ||
| 896 | @end smallexample | ||
| 897 | |||
| 898 | @cindex XLFD | ||
| 899 | @cindex X Logical Font Description | ||
| 900 | The third way to specify a font is to use an @dfn{XLFD} (@dfn{X | ||
| 901 | Logical Font Description}), which is the traditional method for | ||
| 902 | specifying fonts under X. Each XLFD consists of fourteen words or | ||
| 903 | numbers, separated by dashes, like this: | ||
| 904 | |||
| 905 | @smallexample | ||
| 906 | -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1 | ||
| 907 | @end smallexample | ||
| 908 | |||
| 909 | @noindent | ||
| 910 | A wildcard character (@samp{*}) in an XLFD matches any sequence of | ||
| 911 | characters (including none), and @samp{?} matches any single | ||
| 912 | character. However, matching is implementation-dependent, and can be | ||
| 913 | inaccurate when wildcards match dashes in a long name. For reliable | ||
| 914 | results, supply all 14 dashes and use wildcards only within a field. | ||
| 915 | Case is insignificant in an XLFD. The syntax for an XLFD is as | ||
| 916 | follows: | ||
| 917 | |||
| 918 | @smallexample | ||
| 919 | -@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{} | ||
| 920 | @dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{registry}-@var{encoding} | ||
| 921 | @end smallexample | ||
| 922 | |||
| 923 | @noindent | ||
| 924 | The entries have the following meanings: | ||
| 925 | |||
| 926 | @table @var | ||
| 927 | @item maker | ||
| 928 | The name of the font manufacturer. | ||
| 929 | @item family | ||
| 930 | The name of the font family (e.g. @samp{courier}). | ||
| 931 | @item weight | ||
| 932 | The font weight---normally either @samp{bold}, @samp{medium} or | ||
| 933 | @samp{light}. Some font names support other values. | ||
| 934 | @item slant | ||
| 935 | The font slant---normally @samp{r} (roman), @samp{i} (italic), | ||
| 936 | @samp{o} (oblique), @samp{ri} (reverse italic), or @samp{ot} (other). | ||
| 937 | Some font names support other values. | ||
| 938 | @item widthtype | ||
| 939 | The font width---normally @samp{condensed}, @samp{extended}, | ||
| 940 | @samp{semicondensed} or @samp{normal} (some font names support other | ||
| 941 | values). | ||
| 942 | @item style | ||
| 943 | An optional additional style name. Usually it is empty---most long | ||
| 944 | font names have two hyphens in a row at this point. | ||
| 945 | @item pixels | ||
| 946 | The font height, in pixels. | ||
| 947 | @item height | ||
| 948 | The font height on the screen, measured in tenths of a printer's | ||
| 949 | point. This is the point size of the font, times ten. For a given | ||
| 950 | vertical resolution, @var{height} and @var{pixels} are proportional; | ||
| 951 | therefore, it is common to specify just one of them and use @samp{*} | ||
| 952 | for the other. | ||
| 953 | @item horiz | ||
| 954 | The horizontal resolution, in pixels per inch, of the screen for which | ||
| 955 | the font is intended. | ||
| 956 | @item vert | ||
| 957 | The vertical resolution, in pixels per inch, of the screen for which | ||
| 958 | the font is intended. Normally the resolution of the fonts on your | ||
| 959 | system is the right value for your screen; therefore, you normally | ||
| 960 | specify @samp{*} for this and @var{horiz}. | ||
| 961 | @item spacing | ||
| 962 | This is @samp{m} (monospace), @samp{p} (proportional) or @samp{c} | ||
| 963 | (character cell). | ||
| 964 | @item width | ||
| 965 | The average character width, in pixels, multiplied by ten. | ||
| 966 | @item registry | ||
| 967 | @itemx encoding | ||
| 968 | The X font character set that the font depicts. (X font character | ||
| 969 | sets are not the same as Emacs character sets, but they are similar.) | ||
| 970 | You can use the @command{xfontsel} program to check which choices you | ||
| 971 | have. Normally you should use @samp{iso8859} for @var{registry} and | ||
| 972 | @samp{1} for @var{encoding}. | ||
| 973 | @end table | ||
| 974 | |||
| 975 | Some fonts have shorter nicknames, which you can use instead of a | ||
| 976 | normal font specification. For instance, | ||
| 977 | |||
| 978 | @smallexample | ||
| 979 | -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1 | ||
| 980 | @end smallexample | ||
| 981 | |||
| 982 | @noindent | ||
| 983 | is equivalent to @samp{6x13}. This is the fourth and final method of | ||
| 984 | specifying a font. | ||
| 985 | |||
| 986 | @cindex listing system fonts | ||
| 987 | You will probably want to use a fixed-width default font---that is, | ||
| 988 | a font in which all characters have the same width. Here's how to use | ||
| 989 | the @command{fc-list} command to list all fixed-width Xft and | ||
| 990 | Fontconfig fonts available on your system: | ||
| 991 | |||
| 992 | @example | ||
| 993 | fc-list :spacing=mono | ||
| 994 | fc-list :spacing=charcell | ||
| 995 | @end example | ||
| 996 | |||
| 997 | For server-side X fonts, any font with @samp{m} or @samp{c} in the | ||
| 998 | @var{spacing} field of the XLFD is a fixed-width font. Here's how to | ||
| 999 | use the @command{xlsfonts} program to list all the fixed-width fonts | ||
| 1000 | available on your system: | ||
| 1001 | |||
| 1002 | @example | ||
| 1003 | xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+" | ||
| 1004 | xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*' | ||
| 1005 | xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*' | ||
| 1006 | @end example | ||
| 1007 | |||
| 1008 | @noindent | ||
| 1009 | To see what a particular font looks like, use the @command{xfd} command. | ||
| 1010 | For example: | ||
| 1011 | |||
| 1012 | @example | ||
| 1013 | xfd -fn 6x13 | ||
| 1014 | @end example | ||
| 1015 | |||
| 1016 | @noindent | ||
| 1017 | displays the entire font @samp{6x13}. | ||
| 1018 | |||
| 1019 | While running Emacs, you can set the font of a specific kind of text | ||
| 1020 | (@pxref{Faces}), or of a particular frame (@pxref{Frame Parameters}). | ||
| 1021 | 782 | ||
| 1022 | @node Colors | 783 | @node Colors |
| 1023 | @appendixsec Window Color Options | 784 | @appendixsec Window Color Options |
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi index aa2d92b3b04..f1a8b0aa9c1 100644 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi | |||
| @@ -1099,6 +1099,15 @@ then updating their lines in the buffer to indicate that status. | |||
| 1099 | If you use @kbd{l} on a subdirectory header line, it updates the | 1099 | If you use @kbd{l} on a subdirectory header line, it updates the |
| 1100 | contents of the corresponding subdirectory. | 1100 | contents of the corresponding subdirectory. |
| 1101 | 1101 | ||
| 1102 | @vindex dired-auto-revert-buffer | ||
| 1103 | If you use @kbd{C-x d} or some other Dired command to visit a | ||
| 1104 | directory that is already being shown in a Dired buffer, Dired | ||
| 1105 | switches to that buffer but does not update it. If the buffer is not | ||
| 1106 | up-to-date, Dired displays a warning telling you to type @key{g} to | ||
| 1107 | update it. You can also tell Emacs to revert each Dired buffer | ||
| 1108 | automatically when you revisit it, by setting the variable | ||
| 1109 | @code{dired-auto-revert-buffer} to a non-@code{nil} value. | ||
| 1110 | |||
| 1102 | @kindex k @r{(Dired)} | 1111 | @kindex k @r{(Dired)} |
| 1103 | @findex dired-do-kill-lines | 1112 | @findex dired-do-kill-lines |
| 1104 | To delete the specified @emph{file lines} from the buffer---not | 1113 | To delete the specified @emph{file lines} from the buffer---not |
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 846359a3168..7e8c2052d94 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi | |||
| @@ -12,8 +12,8 @@ This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@* | |||
| 12 | updated for Emacs version @value{EMACSVER}. | 12 | updated for Emacs version @value{EMACSVER}. |
| 13 | 13 | ||
| 14 | Copyright @copyright{} 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, | 14 | Copyright @copyright{} 1985, 1986, 1987, 1993, 1994, 1995, 1996, 1997, |
| 15 | 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 15 | 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
| 16 | Free Software Foundation, Inc. | 16 | 2010 Free Software Foundation, Inc. |
| 17 | 17 | ||
| 18 | @quotation | 18 | @quotation |
| 19 | Permission is granted to copy, distribute and/or modify this document | 19 | Permission is granted to copy, distribute and/or modify this document |
| @@ -502,6 +502,7 @@ Frames and Graphical Displays | |||
| 502 | * Mode Line Mouse:: Mouse clicks on the mode line. | 502 | * Mode Line Mouse:: Mouse clicks on the mode line. |
| 503 | * Creating Frames:: Creating additional Emacs frames with various contents. | 503 | * Creating Frames:: Creating additional Emacs frames with various contents. |
| 504 | * Frame Commands:: Iconifying, deleting, and switching frames. | 504 | * Frame Commands:: Iconifying, deleting, and switching frames. |
| 505 | * Fonts:: Changing the frame font. | ||
| 505 | * Speedbar:: How to make and use a speedbar frame. | 506 | * Speedbar:: How to make and use a speedbar frame. |
| 506 | * Multiple Displays:: How one Emacs job can talk to several displays. | 507 | * Multiple Displays:: How one Emacs job can talk to several displays. |
| 507 | * Special Buffer Frames:: You can make certain buffers have their own frames. | 508 | * Special Buffer Frames:: You can make certain buffers have their own frames. |
| @@ -1371,8 +1372,8 @@ Kahle, Tokuya Kameshima, Lute Kamstra, David Kastrup, David Kaufman, | |||
| 1371 | Henry Kautz, Taichi Kawabata, Howard Kaye, Michael Kifer, Richard King, | 1372 | Henry Kautz, Taichi Kawabata, Howard Kaye, Michael Kifer, Richard King, |
| 1372 | Peter Kleiweg, Shuhei Kobayashi, Pavel Kobiakov, Larry K.@: Kolodney, | 1373 | Peter Kleiweg, Shuhei Kobayashi, Pavel Kobiakov, Larry K.@: Kolodney, |
| 1373 | David M.@: Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian | 1374 | David M.@: Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian |
| 1374 | Kremer, Ryszard Kubiak, Geoff Kuenning, David K@aa{}gedal, Daniel | 1375 | Kremer, Ryszard Kubiak, David K@aa{}gedal, Daniel LaLiberte, |
| 1375 | LaLiberte, Karl Landstrom, Mario Lang, Aaron Larson, James R.@: Larus, | 1376 | Karl Landstrom, Mario Lang, Aaron Larson, James R.@: Larus, |
| 1376 | Vinicius Jose Latorre, Werner Lemberg, Frederic Lepied, Peter | 1377 | Vinicius Jose Latorre, Werner Lemberg, Frederic Lepied, Peter |
| 1377 | Liljenberg, Lars Lindberg, Chris Lindblad, Anders Lindgren, Thomas Link, | 1378 | Liljenberg, Lars Lindberg, Chris Lindblad, Anders Lindgren, Thomas Link, |
| 1378 | Juri Linkov, Francis Litterio, Emilio C. Lopes, K@'{a}roly L@H{o}rentey, | 1379 | Juri Linkov, Francis Litterio, Emilio C. Lopes, K@'{a}roly L@H{o}rentey, |
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index b890b773765..b4a8500df65 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi | |||
| @@ -39,6 +39,7 @@ so that you can use many of the features described in this chapter. | |||
| 39 | * Mode Line Mouse:: Mouse clicks on the mode line. | 39 | * Mode Line Mouse:: Mouse clicks on the mode line. |
| 40 | * Creating Frames:: Creating additional Emacs frames with various contents. | 40 | * Creating Frames:: Creating additional Emacs frames with various contents. |
| 41 | * Frame Commands:: Iconifying, deleting, and switching frames. | 41 | * Frame Commands:: Iconifying, deleting, and switching frames. |
| 42 | * Fonts:: Changing the frame font. | ||
| 42 | * Speedbar:: How to make and use a speedbar frame. | 43 | * Speedbar:: How to make and use a speedbar frame. |
| 43 | * Multiple Displays:: How one Emacs job can talk to several displays. | 44 | * Multiple Displays:: How one Emacs job can talk to several displays. |
| 44 | * Special Buffer Frames:: You can make certain buffers have their own frames. | 45 | * Special Buffer Frames:: You can make certain buffers have their own frames. |
| @@ -571,25 +572,19 @@ only the initial frame. @xref{Initial Parameters,,, elisp, The Emacs | |||
| 571 | Lisp Reference Manual}, for more information. | 572 | Lisp Reference Manual}, for more information. |
| 572 | 573 | ||
| 573 | @cindex font (default) | 574 | @cindex font (default) |
| 574 | For instance, one way to specify the principal font for all your | 575 | Here is an example of using @code{default-frame-alist} to specify |
| 575 | Emacs frames is to modify @code{default-frame-alist} to specify the | 576 | the default foreground color and font: |
| 576 | @code{font} parameter (@pxref{Font X}): | ||
| 577 | 577 | ||
| 578 | @example | 578 | @example |
| 579 | (add-to-list 'default-frame-alist '(font . "10x20")) | 579 | (add-to-list 'default-frame-alist '(font . "10x20")) |
| 580 | @end example | ||
| 581 | |||
| 582 | @noindent | ||
| 583 | Here's a similar example for specifying a foreground color: | ||
| 584 | |||
| 585 | @example | ||
| 586 | (add-to-list 'default-frame-alist '(foreground-color . "blue")) | 580 | (add-to-list 'default-frame-alist '(foreground-color . "blue")) |
| 587 | @end example | 581 | @end example |
| 588 | 582 | ||
| 589 | @noindent | 583 | @noindent |
| 590 | By putting such customizations in your init file, you can control the | 584 | By putting such customizations in your init file, you can control the |
| 591 | appearance of all the frames Emacs creates, including the initial one. | 585 | appearance of all the frames Emacs creates, including the initial one |
| 592 | @xref{Init File}. | 586 | (@pxref{Init File}). @xref{Fonts}, for other ways to set the default |
| 587 | font. | ||
| 593 | 588 | ||
| 594 | @node Frame Commands | 589 | @node Frame Commands |
| 595 | @section Frame Commands | 590 | @section Frame Commands |
| @@ -645,6 +640,278 @@ select it, the variable should be @code{nil}. The default is | |||
| 645 | a frame that raises, so this variable has no effect in the native | 640 | a frame that raises, so this variable has no effect in the native |
| 646 | MS-Windows build of Emacs. | 641 | MS-Windows build of Emacs. |
| 647 | 642 | ||
| 643 | @node Fonts | ||
| 644 | @section Fonts | ||
| 645 | @cindex fonts | ||
| 646 | |||
| 647 | By default, Emacs displays text in X using a 12-point monospace | ||
| 648 | font. There are several different ways to specify a different font: | ||
| 649 | |||
| 650 | @itemize | ||
| 651 | @item | ||
| 652 | Click on @samp{Set Default Font} in the @samp{Options} menu. To save | ||
| 653 | this for future sessions, click on @samp{Save Options} in the | ||
| 654 | @samp{Options} menu. | ||
| 655 | |||
| 656 | @item | ||
| 657 | Add a line to your init file (@pxref{Init File}), modifying the | ||
| 658 | variable @code{default-frame-alist} to specify the @code{font} | ||
| 659 | parameter (@pxref{Creating Frames}), like this: | ||
| 660 | |||
| 661 | @smallexample | ||
| 662 | (add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-12")) | ||
| 663 | @end smallexample | ||
| 664 | |||
| 665 | @cindex X defaults file | ||
| 666 | @cindex X resources file | ||
| 667 | @item | ||
| 668 | Add an @samp{emacs.font} X resource setting to your X resource file, | ||
| 669 | like this: | ||
| 670 | |||
| 671 | @smallexample | ||
| 672 | emacs.font: DejaVu Sans Mono-12 | ||
| 673 | @end smallexample | ||
| 674 | |||
| 675 | @noindent | ||
| 676 | You must restart X, or use the @command{xrdb} command, for the X | ||
| 677 | resources file to take effect. @xref{Resources}. When specifying a | ||
| 678 | font in your X resources file, you should not quote it. | ||
| 679 | |||
| 680 | @item | ||
| 681 | If you are running Emacs on the GNOME desktop, you can tell Emacs to | ||
| 682 | use the default system font by setting the variable | ||
| 683 | @code{font-use-system-font} to @code{t} (the default is @code{nil}). | ||
| 684 | For this to work, Emacs must be compiled with Gconf support; this is | ||
| 685 | done automatically if the libraries are present at compile time. | ||
| 686 | |||
| 687 | @item | ||
| 688 | Use the command line option @samp{-fn} (or @samp{--font}). @xref{Font | ||
| 689 | X}. | ||
| 690 | @end itemize | ||
| 691 | |||
| 692 | @cindex fontconfig | ||
| 693 | On X, there are four different ways to express a ``font name''. The | ||
| 694 | first is to use a @dfn{Fontconfig pattern}. Fontconfig patterns have | ||
| 695 | the following form: | ||
| 696 | |||
| 697 | @smallexample | ||
| 698 | @var{fontname}[-@var{fontsize}][:@var{name1}=@var{values1}][:@var{name2}=@var{values2}]... | ||
| 699 | @end smallexample | ||
| 700 | |||
| 701 | @noindent | ||
| 702 | Within this format, any of the elements in braces may be omitted. | ||
| 703 | Here, @var{fontname} is the @dfn{family name} of the font, such as | ||
| 704 | @samp{Monospace} or @samp{DejaVu Serif}; @var{fontsize} is the | ||
| 705 | @dfn{point size} of the font (one @dfn{printer's point} is about 1/72 | ||
| 706 | of an inch); and the @samp{@var{name}=@var{values}} entries specify | ||
| 707 | settings such as the slant and weight of the font. Each @var{values} | ||
| 708 | may be a single value, or a list of values separated by commas. In | ||
| 709 | addition, some property values are valid with only one kind of | ||
| 710 | property name, in which case the @samp{@var{name}=} part may be | ||
| 711 | omitted. | ||
| 712 | |||
| 713 | Here is a list of common font properties: | ||
| 714 | |||
| 715 | @table @samp | ||
| 716 | @item slant | ||
| 717 | One of @samp{italic}, @samp{oblique} or @samp{roman}. | ||
| 718 | |||
| 719 | @item weight | ||
| 720 | One of @samp{light}, @samp{medium}, @samp{demibold}, @samp{bold} or | ||
| 721 | @samp{black}. | ||
| 722 | |||
| 723 | @item style | ||
| 724 | Some fonts define special styles which are a combination of slant and | ||
| 725 | weight. For instance, @samp{Dejavu Sans} defines the @samp{book} | ||
| 726 | style, which overrides the slant and weight properties. | ||
| 727 | |||
| 728 | @item width | ||
| 729 | One of @samp{condensed}, @samp{normal}, or @samp{expanded}. | ||
| 730 | |||
| 731 | @item spacing | ||
| 732 | One of @samp{monospace}, @samp{proportional}, @samp{dual-width}, or | ||
| 733 | @samp{charcell}. | ||
| 734 | @end table | ||
| 735 | |||
| 736 | @noindent | ||
| 737 | Here are some examples of Fontconfig patterns: | ||
| 738 | |||
| 739 | @smallexample | ||
| 740 | Monospace | ||
| 741 | Monospace-12 | ||
| 742 | Monospace-12:bold | ||
| 743 | DejaVu Sans Mono:bold:italic | ||
| 744 | Monospace-12:weight=bold:slant=italic | ||
| 745 | @end smallexample | ||
| 746 | |||
| 747 | See the Fontconfig manual for a more detailed description of | ||
| 748 | Fontconfig patterns. This manual is located in the file | ||
| 749 | @file{fontconfig-user.html}, distributed with Fontconfig. It is also | ||
| 750 | available online at @url{http://fontconfig.org/fontconfig-user.html}. | ||
| 751 | In particular, that manual describes additional font properties that | ||
| 752 | influence how the font is hinted, antialiased, or scaled. | ||
| 753 | |||
| 754 | The second way to specify a font is to use a @dfn{GTK font | ||
| 755 | description}. These have the syntax | ||
| 756 | |||
| 757 | @smallexample | ||
| 758 | @var{fontname} [@var{properties}] [@var{fontsize}] | ||
| 759 | @end smallexample | ||
| 760 | |||
| 761 | @noindent | ||
| 762 | where @var{fontname} is the family name, @var{properties} is a list of | ||
| 763 | property values separated by spaces, and @var{fontsize} is the point | ||
| 764 | size. The properties that you may specify are as follows: | ||
| 765 | |||
| 766 | @table @samp | ||
| 767 | @item style | ||
| 768 | One of @samp{roman}, @samp{italic} or @samp{oblique}. If omitted, the | ||
| 769 | @samp{roman} style is used. | ||
| 770 | @item weight | ||
| 771 | One of @samp{medium}, @samp{ultra-light}, @samp{light}, | ||
| 772 | @samp{semi-bold}, or @samp{bold}. If omitted, @samp{medium} weight is | ||
| 773 | used. | ||
| 774 | @end table | ||
| 775 | |||
| 776 | @noindent | ||
| 777 | Here are some examples of GTK font descriptions: | ||
| 778 | |||
| 779 | @smallexample | ||
| 780 | Monospace 12 | ||
| 781 | Monospace Bold Italic 12 | ||
| 782 | @end smallexample | ||
| 783 | |||
| 784 | @cindex XLFD | ||
| 785 | @cindex X Logical Font Description | ||
| 786 | The third way to specify a font is to use an @dfn{XLFD} (@dfn{X | ||
| 787 | Logical Font Description}). This is the traditional method for | ||
| 788 | specifying fonts under X. Each XLFD consists of fourteen words or | ||
| 789 | numbers, separated by dashes, like this: | ||
| 790 | |||
| 791 | @smallexample | ||
| 792 | -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1 | ||
| 793 | @end smallexample | ||
| 794 | |||
| 795 | @noindent | ||
| 796 | A wildcard character (@samp{*}) in an XLFD matches any sequence of | ||
| 797 | characters (including none), and @samp{?} matches any single | ||
| 798 | character. However, matching is implementation-dependent, and can be | ||
| 799 | inaccurate when wildcards match dashes in a long name. For reliable | ||
| 800 | results, supply all 14 dashes and use wildcards only within a field. | ||
| 801 | Case is insignificant in an XLFD. The syntax for an XLFD is as | ||
| 802 | follows: | ||
| 803 | |||
| 804 | @smallexample | ||
| 805 | -@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{} | ||
| 806 | @dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{registry}-@var{encoding} | ||
| 807 | @end smallexample | ||
| 808 | |||
| 809 | @noindent | ||
| 810 | The entries have the following meanings: | ||
| 811 | |||
| 812 | @table @var | ||
| 813 | @item maker | ||
| 814 | The name of the font manufacturer. | ||
| 815 | @item family | ||
| 816 | The name of the font family (e.g. @samp{courier}). | ||
| 817 | @item weight | ||
| 818 | The font weight---normally either @samp{bold}, @samp{medium} or | ||
| 819 | @samp{light}. Some font names support other values. | ||
| 820 | @item slant | ||
| 821 | The font slant---normally @samp{r} (roman), @samp{i} (italic), | ||
| 822 | @samp{o} (oblique), @samp{ri} (reverse italic), or @samp{ot} (other). | ||
| 823 | Some font names support other values. | ||
| 824 | @item widthtype | ||
| 825 | The font width---normally @samp{condensed}, @samp{extended}, | ||
| 826 | @samp{semicondensed} or @samp{normal} (some font names support other | ||
| 827 | values). | ||
| 828 | @item style | ||
| 829 | An optional additional style name. Usually it is empty---most long | ||
| 830 | font names have two hyphens in a row at this point. | ||
| 831 | @item pixels | ||
| 832 | The font height, in pixels. | ||
| 833 | @item height | ||
| 834 | The font height on the screen, measured in tenths of a printer's | ||
| 835 | point. This is the point size of the font, times ten. For a given | ||
| 836 | vertical resolution, @var{height} and @var{pixels} are proportional; | ||
| 837 | therefore, it is common to specify just one of them and use @samp{*} | ||
| 838 | for the other. | ||
| 839 | @item horiz | ||
| 840 | The horizontal resolution, in pixels per inch, of the screen for which | ||
| 841 | the font is intended. | ||
| 842 | @item vert | ||
| 843 | The vertical resolution, in pixels per inch, of the screen for which | ||
| 844 | the font is intended. Normally the resolution of the fonts on your | ||
| 845 | system is the right value for your screen; therefore, you normally | ||
| 846 | specify @samp{*} for this and @var{horiz}. | ||
| 847 | @item spacing | ||
| 848 | This is @samp{m} (monospace), @samp{p} (proportional) or @samp{c} | ||
| 849 | (character cell). | ||
| 850 | @item width | ||
| 851 | The average character width, in pixels, multiplied by ten. | ||
| 852 | @item registry | ||
| 853 | @itemx encoding | ||
| 854 | The X font character set that the font depicts. (X font character | ||
| 855 | sets are not the same as Emacs character sets, but they are similar.) | ||
| 856 | You can use the @command{xfontsel} program to check which choices you | ||
| 857 | have. Normally you should use @samp{iso8859} for @var{registry} and | ||
| 858 | @samp{1} for @var{encoding}. | ||
| 859 | @end table | ||
| 860 | |||
| 861 | The fourth and final method of specifying a font is to use a ``font | ||
| 862 | nickname''. Certain fonts have shorter nicknames, which you can use | ||
| 863 | instead of a normal font specification. For instance, @samp{6x13} is | ||
| 864 | equivalent to | ||
| 865 | |||
| 866 | @smallexample | ||
| 867 | -misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1 | ||
| 868 | @end smallexample | ||
| 869 | |||
| 870 | @cindex client-side fonts | ||
| 871 | @cindex server-side fonts | ||
| 872 | On X, Emacs recognizes two types of fonts: @dfn{client-side} fonts, | ||
| 873 | which are provided by the Xft and Fontconfig libraries, and | ||
| 874 | @dfn{server-side} fonts, which are provided by the X server itself. | ||
| 875 | Most client-side fonts support advanced font features such as | ||
| 876 | antialiasing and subpixel hinting, while server-side fonts do not. | ||
| 877 | Fontconfig and GTK patterns match only client-side fonts. | ||
| 878 | |||
| 879 | @cindex listing system fonts | ||
| 880 | You will probably want to use a fixed-width default font---that is, | ||
| 881 | a font in which all characters have the same width. For Xft and | ||
| 882 | Fontconfig fonts, you can use the @command{fc-list} command to list | ||
| 883 | the available fixed-width fonts, like this: | ||
| 884 | |||
| 885 | @example | ||
| 886 | fc-list :spacing=mono fc-list :spacing=charcell | ||
| 887 | @end example | ||
| 888 | |||
| 889 | @noindent | ||
| 890 | For server-side X fonts, you can use the @command{xlsfonts} program to | ||
| 891 | list the available fixed-width fonts, like this: | ||
| 892 | |||
| 893 | @example | ||
| 894 | xlsfonts -fn '*x*' | egrep "^[0-9]+x[0-9]+" | ||
| 895 | xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-m*' | ||
| 896 | xlsfonts -fn '*-*-*-*-*-*-*-*-*-*-*-c*' | ||
| 897 | @end example | ||
| 898 | |||
| 899 | @noindent | ||
| 900 | Any font with @samp{m} or @samp{c} in the @var{spacing} field of the | ||
| 901 | XLFD is a fixed-width font. To see what a particular font looks like, | ||
| 902 | use the @command{xfd} command. For example: | ||
| 903 | |||
| 904 | @example | ||
| 905 | xfd -fn 6x13 | ||
| 906 | @end example | ||
| 907 | |||
| 908 | @noindent | ||
| 909 | displays the entire font @samp{6x13}. | ||
| 910 | |||
| 911 | While running Emacs, you can also set the font of a specific kind of | ||
| 912 | text (@pxref{Faces}), or a particular frame (@pxref{Frame | ||
| 913 | Parameters}). | ||
| 914 | |||
| 648 | @node Speedbar | 915 | @node Speedbar |
| 649 | @section Speedbar Frames | 916 | @section Speedbar Frames |
| 650 | @cindex speedbar | 917 | @cindex speedbar |
| @@ -957,7 +1224,7 @@ menu-bar-mode} or by customizing the variable @code{menu-bar-mode}. | |||
| 957 | With no argument, this command toggles Menu Bar mode, a | 1224 | With no argument, this command toggles Menu Bar mode, a |
| 958 | minor mode. With an argument, the command turns Menu Bar mode on if the | 1225 | minor mode. With an argument, the command turns Menu Bar mode on if the |
| 959 | argument is positive, off if the argument is not positive. You can use | 1226 | argument is positive, off if the argument is not positive. You can use |
| 960 | the X resource @samp{menuBarLines} to control the initial setting of | 1227 | the X resource @samp{menuBar} to control the initial setting of |
| 961 | Menu Bar mode. @xref{Resources}. | 1228 | Menu Bar mode. @xref{Resources}. |
| 962 | 1229 | ||
| 963 | @kindex C-Mouse-3 @r{(when menu bar is disabled)} | 1230 | @kindex C-Mouse-3 @r{(when menu bar is disabled)} |
diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi index ad6d60fc28e..7ba3909e49f 100644 --- a/doc/emacs/indent.texi +++ b/doc/emacs/indent.texi | |||
| @@ -37,34 +37,38 @@ Indent from point to the next prespecified tab stop column | |||
| 37 | Indent from point to under an indentation point in the previous line. | 37 | Indent from point to under an indentation point in the previous line. |
| 38 | @end table | 38 | @end table |
| 39 | 39 | ||
| 40 | In most major modes, the @key{TAB} key runs the command | 40 | @noindent |
| 41 | @code{indent-for-tab-command}, which either performs indentation or | 41 | The @key{TAB} key runs @code{indent-for-tab-command} in most major |
| 42 | inserts whitespace at point, depending on the situation. | 42 | modes (in C and related modes, @key{TAB} runs a separate command, |
| 43 | 43 | @code{c-indent-line-or-region}, which behaves similarly). The major | |
| 44 | In programming modes such as Lisp mode and C mode, @key{TAB} indents | 44 | mode determines just what this entails. |
| 45 | the current line if the region is inactive. If the region is active, | 45 | |
| 46 | it indents every line in the region (@pxref{Mark}). Indentation means | 46 | In text modes, @key{TAB} inserts some combination of space and tab |
| 47 | adding or removing some combination of space and tab characters | 47 | characters to advance point to the next tab stop (@pxref{Tab Stops}). |
| 48 | (@dfn{whitespace characters}) at the start of the line, in a way that | 48 | If the region is active and spans multiple lines, it advances the |
| 49 | makes sense given the text in the preceding lines. Exactly how | 49 | first character of each of those lines to the next tab stop |
| 50 | indentation is performed depends on the major mode. @xref{Program | 50 | (@pxref{Using Region}). For the purposes of this command, the |
| 51 | Indent}. | 51 | position of the first non-whitespace character on the preceding line |
| 52 | 52 | is treated as an additional tab stop. Thus, you can use @key{TAB} to | |
| 53 | In text modes, @key{TAB} inserts some whitespace characters to | 53 | ``align'' point with the preceding line. |
| 54 | advance point to the next tab stop (@pxref{Tab Stops}). For the | 54 | |
| 55 | purposes of this command, the position of the first non-whitespace | 55 | In programming modes, @key{TAB} adds or removes some combination of |
| 56 | character on the preceding line is treated as an additional tab stop. | 56 | space and tab characters at the start of the line, in a way that makes |
| 57 | You can therefore use @key{TAB} to ``align'' point with the preceding | 57 | sense given the text in the preceding lines. If the region is active |
| 58 | line. If the region is active, @key{TAB} performs this action on | 58 | and spans multiple lines, all those lines are indented this way. If |
| 59 | every line in the region. | 59 | point was initially within the current line's indentation, it is |
| 60 | positioned after that indentation; otherwise, it remains at same point | ||
| 61 | in the newly-indented text. @xref{Program Indent}. | ||
| 60 | 62 | ||
| 61 | @vindex tab-width | 63 | @vindex tab-width |
| 62 | Indentation is often performed with the help of @dfn{tab characters} | 64 | Normally, indentation commands insert (or remove) an optimal mix of |
| 63 | (@acronym{ASCII} code 9), which are displayed as a stretch of empty space | 65 | @dfn{tab characters} and spaces to align to the desired column. Tab |
| 64 | extending to the next @dfn{display tab stop}. By default, there is | 66 | characters (@acronym{ASCII} code 9) are displayed as a stretch of |
| 65 | one display tab stop every eight columns; the number of columns is | 67 | empty space extending to the next @dfn{display tab stop}. By default, |
| 66 | determined by the variable @code{tab-width}. You can insert a single | 68 | there is one display tab stop every eight columns; the number of |
| 67 | tab character by typing @kbd{C-q @key{TAB}}. @xref{Text Display}. | 69 | columns is determined by the variable @code{tab-width}. You can |
| 70 | insert a single tab character by typing @kbd{C-q @key{TAB}}. | ||
| 71 | @xref{Text Display}. | ||
| 68 | 72 | ||
| 69 | @findex edit-tab-stops | 73 | @findex edit-tab-stops |
| 70 | @findex tab-to-tab-stop | 74 | @findex tab-to-tab-stop |
| @@ -74,11 +78,20 @@ whitespace characters around point, inserting just enough whitespace | |||
| 74 | to advance point up to the next tab stop. By default, this involves | 78 | to advance point up to the next tab stop. By default, this involves |
| 75 | deleting the existing whitespace and inserting a single tab character. | 79 | deleting the existing whitespace and inserting a single tab character. |
| 76 | 80 | ||
| 77 | Normally, most of these indentation commands insert an optimal mix | 81 | @xref{Just Spaces}, for how to disable use of tabs. However, |
| 78 | of tabs and spaces to align to the desired column. @xref{Just | 82 | @kbd{C-q @key{TAB}} always inserts a tab, even when tabs are disabled |
| 79 | Spaces}, for how to disable use of tabs. However, @kbd{C-q @key{TAB}} | 83 | for the indentation commands. |
| 80 | always inserts a tab, even when tabs are disabled for the indentation | 84 | |
| 81 | commands. | 85 | @vindex tab-always-indent |
| 86 | The variable @code{tab-always-indent} tweaks the behavior of the | ||
| 87 | @key{TAB} (@code{indent-for-tab-command}) command. The default value, | ||
| 88 | @code{t}, gives the behavior described above. If you change the value | ||
| 89 | to the symbol @code{complete}, then @key{TAB} first tries to indent | ||
| 90 | the current line, and if the line was already indented, it tries to | ||
| 91 | complete the text at point (@pxref{Symbol Completion}). If the value | ||
| 92 | is @code{nil}, then @key{TAB} indents the current line only if point | ||
| 93 | is at the left margin or in the line's indentation; otherwise, it | ||
| 94 | inserts a real tab character. | ||
| 82 | 95 | ||
| 83 | @menu | 96 | @menu |
| 84 | * Indentation Commands:: Various commands and techniques for indentation. | 97 | * Indentation Commands:: Various commands and techniques for indentation. |
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index 5eb1b66324f..00aa9047aec 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi | |||
| @@ -1442,7 +1442,7 @@ field. | |||
| 1442 | fontset is called @code{create-fontset-from-fontset-spec}. You can also | 1442 | fontset is called @code{create-fontset-from-fontset-spec}. You can also |
| 1443 | call this function explicitly to create a fontset. | 1443 | call this function explicitly to create a fontset. |
| 1444 | 1444 | ||
| 1445 | @xref{Font X}, for more information about font naming in X. | 1445 | @xref{Fonts}, for more information about font naming. |
| 1446 | 1446 | ||
| 1447 | @node Modifying Fontsets | 1447 | @node Modifying Fontsets |
| 1448 | @section Modifying Fontsets | 1448 | @section Modifying Fontsets |
| @@ -1619,7 +1619,7 @@ belong to one or more charsets. | |||
| 1619 | that you don't have to worry about them. However, it is sometimes | 1619 | that you don't have to worry about them. However, it is sometimes |
| 1620 | helpful to know some of the underlying details about charsets. | 1620 | helpful to know some of the underlying details about charsets. |
| 1621 | 1621 | ||
| 1622 | One example is font selection (@pxref{Font X}). Each language | 1622 | One example is font selection (@pxref{Fonts}). Each language |
| 1623 | environment (@pxref{Language Environments}) defines a ``priority | 1623 | environment (@pxref{Language Environments}) defines a ``priority |
| 1624 | list'' for the various charsets. When searching for a font, Emacs | 1624 | list'' for the various charsets. When searching for a font, Emacs |
| 1625 | initially attempts to find one that can display the highest-priority | 1625 | initially attempts to find one that can display the highest-priority |
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 496b6efe9fb..8c49a3fa699 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi | |||
| @@ -1294,13 +1294,25 @@ point to the end of the buffer, or on the region if it is active. | |||
| 1294 | @findex keep-lines | 1294 | @findex keep-lines |
| 1295 | 1295 | ||
| 1296 | @table @kbd | 1296 | @table @kbd |
| 1297 | @item M-x occur @key{RET} @var{regexp} @key{RET} | 1297 | @item M-x multi-isearch-buffers |
| 1298 | Display a list showing each line in the buffer that contains a match | 1298 | Prompt for one or more buffer names, ending with @key{RET}; then, |
| 1299 | for @var{regexp}. To limit the search to part of the buffer, narrow | 1299 | begin a multi-buffer incremental search in those buffers. (If the |
| 1300 | to that part (@pxref{Narrowing}). A numeric argument @var{n} | 1300 | search fails in one buffer, the next @kbd{C-s} tries searching the |
| 1301 | specifies that @var{n} lines of context are to be displayed before and | 1301 | next specified buffer, and so forth.) With a prefix argument, prompt |
| 1302 | after each matching line. Currently, @code{occur} can not correctly | 1302 | for a regexp and begin a multi-buffer incremental search in buffers |
| 1303 | handle multiline matches. | 1303 | matching that regexp. |
| 1304 | |||
| 1305 | @item M-x multi-isearch-buffers-regexp | ||
| 1306 | This command is just like @code{multi-isearch-buffers}, except it | ||
| 1307 | performs an incremental regexp search. | ||
| 1308 | |||
| 1309 | @item M-x occur | ||
| 1310 | Prompt for a regexp, and display a list showing each line in the | ||
| 1311 | buffer that contains a match for it. To limit the search to part of | ||
| 1312 | the buffer, narrow to that part (@pxref{Narrowing}). A numeric | ||
| 1313 | argument @var{n} specifies that @var{n} lines of context are to be | ||
| 1314 | displayed before and after each matching line. Currently, | ||
| 1315 | @code{occur} can not correctly handle multiline matches. | ||
| 1304 | 1316 | ||
| 1305 | @kindex RET @r{(Occur mode)} | 1317 | @kindex RET @r{(Occur mode)} |
| 1306 | @kindex o @r{(Occur mode)} | 1318 | @kindex o @r{(Occur mode)} |
| @@ -1325,41 +1337,42 @@ search is active; this uses the current search string. | |||
| 1325 | @item M-x list-matching-lines | 1337 | @item M-x list-matching-lines |
| 1326 | Synonym for @kbd{M-x occur}. | 1338 | Synonym for @kbd{M-x occur}. |
| 1327 | 1339 | ||
| 1328 | @item M-x multi-occur @key{RET} @var{buffers} @key{RET} @var{regexp} @key{RET} | 1340 | @item M-x multi-occur |
| 1329 | This function is just like @code{occur}, except it is able to search | 1341 | This command is just like @code{occur}, except it is able to search |
| 1330 | through multiple buffers. It asks you to specify the buffer names one by one. | 1342 | through multiple buffers. It asks you to specify the buffer names one |
| 1331 | 1343 | by one. | |
| 1332 | @item M-x multi-occur-in-matching-buffers @key{RET} @var{bufregexp} @key{RET} @var{regexp} @key{RET} | 1344 | |
| 1333 | This function is similar to @code{multi-occur}, except the buffers to | 1345 | @item M-x multi-occur-in-matching-buffers |
| 1334 | search are specified by a regular expression that matches visited | 1346 | This command is similar to @code{multi-occur}, except the buffers to |
| 1335 | file names. With a prefix argument, it uses the regular expression to match | 1347 | search are specified by a regular expression that matches visited file |
| 1336 | buffer names instead. | 1348 | names. With a prefix argument, it uses the regular expression to |
| 1337 | 1349 | match buffer names instead. | |
| 1338 | @item M-x how-many @key{RET} @var{regexp} @key{RET} | 1350 | |
| 1339 | Print the number of matches for @var{regexp} that exist in the buffer | 1351 | @item M-x how-many |
| 1340 | after point. If the region is active, this operates on the region | 1352 | Prompt for a regexp, and print the number of matches for it in the |
| 1341 | instead. | 1353 | buffer after point. If the region is active, this operates on the |
| 1342 | 1354 | region instead. | |
| 1343 | @item M-x flush-lines @key{RET} @var{regexp} @key{RET} | 1355 | |
| 1344 | This command deletes each line that contains a match for @var{regexp}, | 1356 | @item M-x flush-lines |
| 1345 | operating on the text after point; it deletes the current line if it | 1357 | Prompt for a regexp, and delete each line that contains a match for |
| 1346 | contains a match starting after point. If the region is active, it | 1358 | it, operating on the text after point. This command deletes the |
| 1347 | operates on the region instead; if a line partially contained in the | 1359 | current line if it contains a match starting after point. If the |
| 1348 | region contains a match entirely contained in the region, it is | 1360 | region is active, it operates on the region instead; if a line |
| 1349 | deleted. | 1361 | partially contained in the region contains a match entirely contained |
| 1362 | in the region, it is deleted. | ||
| 1350 | 1363 | ||
| 1351 | If a match is split across lines, @code{flush-lines} deletes all those | 1364 | If a match is split across lines, @code{flush-lines} deletes all those |
| 1352 | lines. It deletes the lines before starting to look for the next | 1365 | lines. It deletes the lines before starting to look for the next |
| 1353 | match; hence, it ignores a match starting on the same line at which | 1366 | match; hence, it ignores a match starting on the same line at which |
| 1354 | another match ended. | 1367 | another match ended. |
| 1355 | 1368 | ||
| 1356 | @item M-x keep-lines @key{RET} @var{regexp} @key{RET} | 1369 | @item M-x keep-lines |
| 1357 | This command deletes each line that @emph{does not} contain a match | 1370 | Prompt for a regexp, and delete each line that @emph{does not} contain |
| 1358 | for @var{regexp}, operating on the text after point; if point is not | 1371 | a match for it, operating on the text after point. If point is not at |
| 1359 | at the beginning of a line, it always keeps the current line. If the | 1372 | the beginning of a line, this command always keeps the current line. |
| 1360 | region is active, the command operates on the region instead; it never | 1373 | If the region is active, the command operates on the region instead; |
| 1361 | deletes lines that are only partially contained in the region (a | 1374 | it never deletes lines that are only partially contained in the region |
| 1362 | newline that ends a line counts as part of that line). | 1375 | (a newline that ends a line counts as part of that line). |
| 1363 | 1376 | ||
| 1364 | If a match is split across lines, this command keeps all those lines. | 1377 | If a match is split across lines, this command keeps all those lines. |
| 1365 | @end table | 1378 | @end table |
diff --git a/doc/emacs/xresources.texi b/doc/emacs/xresources.texi index a6aa567741e..75b6e3bbe4c 100644 --- a/doc/emacs/xresources.texi +++ b/doc/emacs/xresources.texi | |||
| @@ -193,7 +193,7 @@ Specifies whether to make the cursor blink. The default is @samp{on}. Use | |||
| 193 | @end ifnottex | 193 | @end ifnottex |
| 194 | 194 | ||
| 195 | @item @code{font} (class @code{Font}) | 195 | @item @code{font} (class @code{Font}) |
| 196 | Font name for the @code{default} font. @xref{Font X}. You can also | 196 | Font name for the @code{default} font. @xref{Fonts}. You can also |
| 197 | specify a fontset name (@pxref{Fontsets}). | 197 | specify a fontset name (@pxref{Fontsets}). |
| 198 | 198 | ||
| 199 | @item @code{fontBackend} (class @code{FontBackend}) | 199 | @item @code{fontBackend} (class @code{FontBackend}) |
| @@ -307,12 +307,14 @@ Name to display in the title bar of the initial Emacs frame. | |||
| 307 | @item @code{toolBar} (class @code{ToolBar}) | 307 | @item @code{toolBar} (class @code{ToolBar}) |
| 308 | @cindex tool bar | 308 | @cindex tool bar |
| 309 | Number of lines to reserve for the tool bar. A zero value suppresses | 309 | Number of lines to reserve for the tool bar. A zero value suppresses |
| 310 | the tool bar. If the value is non-zero and | 310 | the tool bar. For the Emacs tool bar (i.e. not Gtk+), if the value is |
| 311 | @code{auto-resize-tool-bars} is non-@code{nil}, the tool bar's size | 311 | non-zero and @code{auto-resize-tool-bars} is non-@code{nil}, the tool bar's |
| 312 | will be changed automatically so that all tool bar items are visible. | 312 | size will be changed automatically so that all tool bar items are visible. |
| 313 | If the value of @code{auto-resize-tool-bars} is @code{grow-only}, | 313 | If the value of @code{auto-resize-tool-bars} is @code{grow-only}, |
| 314 | the tool bar expands automatically, but does not contract automatically. | 314 | the tool bar expands automatically, but does not contract automatically. |
| 315 | To contract the tool bar, you must redraw the frame by entering @kbd{C-l}. | 315 | To contract the tool bar, you must redraw the frame by entering @kbd{C-l}. |
| 316 | For the Gtk+ tool bar, any non-zero value means on and | ||
| 317 | @code{auto-resize-tool-bars} has no effect. | ||
| 316 | 318 | ||
| 317 | @item @code{useXIM} (class @code{UseXIM}) | 319 | @item @code{useXIM} (class @code{UseXIM}) |
| 318 | @cindex XIM | 320 | @cindex XIM |
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 1ffd3f182e9..61e1b2fda5c 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2010-03-24 Arni Magnusson <arnima@hafro.is> (tiny change) | ||
| 2 | |||
| 3 | * frames.texi (Cursor Parameters): Fix typo. (Bug#5760) | ||
| 4 | |||
| 5 | 2010-03-24 Chong Yidong <cyd@stupidchicken.com> | ||
| 6 | |||
| 7 | * processes.texi (Network Processes): Document seqpacket type. | ||
| 8 | |||
| 1 | 2010-03-20 Dan Nicolaescu <dann@ics.uci.edu> | 9 | 2010-03-20 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 10 | ||
| 3 | * os.texi (System Environment): Do not mention lynxos. | 11 | * os.texi (System Environment): Do not mention lynxos. |
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 14a85ea556f..9994210bd17 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi | |||
| @@ -821,7 +821,7 @@ This variable controls how the cursor looks in a window that is not | |||
| 821 | selected. It supports the same values as the @code{cursor-type} frame | 821 | selected. It supports the same values as the @code{cursor-type} frame |
| 822 | parameter; also, @code{nil} means don't display a cursor in | 822 | parameter; also, @code{nil} means don't display a cursor in |
| 823 | nonselected windows, and @code{t} (the default) means use a standard | 823 | nonselected windows, and @code{t} (the default) means use a standard |
| 824 | modificatoin of the usual cursor type (solid box becomes hollow box, | 824 | modification of the usual cursor type (solid box becomes hollow box, |
| 825 | and bar becomes a narrower bar). | 825 | and bar becomes a narrower bar). |
| 826 | @end defopt | 826 | @end defopt |
| 827 | 827 | ||
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 0dc3946f7e0..85628bdfac6 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi | |||
| @@ -2059,7 +2059,8 @@ necessary to make it unique. | |||
| 2059 | @item :type @var{type} | 2059 | @item :type @var{type} |
| 2060 | Specify the communication type. A value of @code{nil} specifies a | 2060 | Specify the communication type. A value of @code{nil} specifies a |
| 2061 | stream connection (the default); @code{datagram} specifies a datagram | 2061 | stream connection (the default); @code{datagram} specifies a datagram |
| 2062 | connection. Both connections and servers can be of either type. | 2062 | connection; @code{seqpacket} specifies a ``sequenced packet stream'' |
| 2063 | connection. Both connections and servers can be of these types. | ||
| 2063 | 2064 | ||
| 2064 | @item :server @var{server-flag} | 2065 | @item :server @var{server-flag} |
| 2065 | If @var{server-flag} is non-@code{nil}, create a server. Otherwise, | 2066 | If @var{server-flag} is non-@code{nil}, create a server. Otherwise, |
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 136a1eea0fb..1204e757771 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2010-03-24 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | |||
| 3 | * trampver.texi: Update release number. | ||
| 4 | |||
| 1 | 2010-03-10 Chong Yidong <cyd@stupidchicken.com> | 5 | 2010-03-10 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 6 | ||
| 3 | * Branch for 23.2. | 7 | * Branch for 23.2. |
diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi index 8456a1e0d11..c8608edf6b6 100644 --- a/doc/misc/trampver.texi +++ b/doc/misc/trampver.texi | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | @c In the Tramp CVS, the version number is auto-frobbed from | 9 | @c In the Tramp CVS, the version number is auto-frobbed from |
| 10 | @c configure.ac, so you should edit that file and run | 10 | @c configure.ac, so you should edit that file and run |
| 11 | @c "autoconf && ./configure" to change the version number. | 11 | @c "autoconf && ./configure" to change the version number. |
| 12 | @set trampver 2.1.18-pre | 12 | @set trampver 2.1.18-23.2 |
| 13 | 13 | ||
| 14 | @c Other flags from configuration | 14 | @c Other flags from configuration |
| 15 | @set instprefix /usr/local | 15 | @set instprefix /usr/local |
diff --git a/etc/ChangeLog b/etc/ChangeLog index bc750afacb3..a00cd71bb96 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2010-03-24 Francesc Rocher <rocher@member.fsf.org> | ||
| 2 | |||
| 3 | * MORE.STUFF: Remove CEDET entry, now distributed as part of | ||
| 4 | Emacs. | ||
| 5 | |||
| 1 | 2010-03-22 Teodor Zlatanov <tzz@lifelogs.com> | 6 | 2010-03-22 Teodor Zlatanov <tzz@lifelogs.com> |
| 2 | 7 | ||
| 3 | * gnus/gnus-setup.ast: Add finish links to the top nodes. | 8 | * gnus/gnus-setup.ast: Add finish links to the top nodes. |
diff --git a/etc/MORE.STUFF b/etc/MORE.STUFF index 3af82a1b51a..a7cb3237b30 100644 --- a/etc/MORE.STUFF +++ b/etc/MORE.STUFF | |||
| @@ -130,10 +130,6 @@ Several are for Debian GNU/Linux in particular. | |||
| 130 | 130 | ||
| 131 | * Boxquote: <URL:http://www.davep.org/emacs/> | 131 | * Boxquote: <URL:http://www.davep.org/emacs/> |
| 132 | 132 | ||
| 133 | * CEDET: Collection of Emacs Development Environment Tools, including | ||
| 134 | EIEIO, Semantic, Speedbar, EDE, and COGRE: | ||
| 135 | <URL:http://cedet.sourceforge.net/> | ||
| 136 | |||
| 137 | * CJK-emacs: Converting MULE-encoded text to TeX: | 133 | * CJK-emacs: Converting MULE-encoded text to TeX: |
| 138 | <URL:ftp://ctan.tug.org/tex-archive/language/chinese/CJK/> and | 134 | <URL:ftp://ctan.tug.org/tex-archive/language/chinese/CJK/> and |
| 139 | mirrors of the `CTAN' TeX archives. | 135 | mirrors of the `CTAN' TeX archives. |
diff --git a/etc/NEWS.23 b/etc/NEWS.23 index 00c4765f822..6abb3e347ca 100644 --- a/etc/NEWS.23 +++ b/etc/NEWS.23 | |||
| @@ -71,14 +71,14 @@ uses `system-move-file-to-trash' for trashing.) | |||
| 71 | Customize `make-pointer-invisible' to disable this feature. | 71 | Customize `make-pointer-invisible' to disable this feature. |
| 72 | 72 | ||
| 73 | ** Font changes | 73 | ** Font changes |
| 74 | 74 | +++ | |
| 75 | *** Emacs can use the system default monospaced font in Gnome. | 75 | *** Emacs can use the system default monospaced font in Gnome. |
| 76 | To enable this feature, set `font-use-system-font' to non-nil (it is | 76 | To enable this feature, set `font-use-system-font' to non-nil (it is |
| 77 | nil by default). If the system default changes, Emacs changes also. | 77 | nil by default). If the system default changes, Emacs changes also. |
| 78 | This feature requires Gconf support, which is automatically included | 78 | This feature requires Gconf support, which is automatically included |
| 79 | at compile-time if configure detects the gconf libraries (you can | 79 | at compile-time if configure detects the gconf libraries (you can |
| 80 | disable this with the configure option --without-gconf). | 80 | disable this with the configure option --without-gconf). |
| 81 | 81 | --- | |
| 82 | *** On X11, Emacs reacts to Xft changes made by configuration tools, | 82 | *** On X11, Emacs reacts to Xft changes made by configuration tools, |
| 83 | via the XSETTINGS mechanism. This includes antialias, hinting, | 83 | via the XSETTINGS mechanism. This includes antialias, hinting, |
| 84 | hintstyle, RGBA, DPI and lcdfilter changes. | 84 | hintstyle, RGBA, DPI and lcdfilter changes. |
| @@ -143,7 +143,7 @@ subsequent kills are not duplicated in the `kill-ring'. | |||
| 143 | ** Completion changes | 143 | ** Completion changes |
| 144 | 144 | ||
| 145 | *** The new command `completion-at-point' provides mode-sensitive completion. | 145 | *** The new command `completion-at-point' provides mode-sensitive completion. |
| 146 | 146 | +++ | |
| 147 | *** tab-always-indent set to `complete' lets TAB do completion as well. | 147 | *** tab-always-indent set to `complete' lets TAB do completion as well. |
| 148 | +++ | 148 | +++ |
| 149 | *** The new completion-style `initials' is available. | 149 | *** The new completion-style `initials' is available. |
| @@ -185,6 +185,7 @@ that file exists. | |||
| 185 | 185 | ||
| 186 | ** LaTeX mode now provides completion (via completion-at-point). | 186 | ** LaTeX mode now provides completion (via completion-at-point). |
| 187 | 187 | ||
| 188 | --- | ||
| 188 | ** sym-comp.el is now declared obsolete, superceded by completion-at-point. | 189 | ** sym-comp.el is now declared obsolete, superceded by completion-at-point. |
| 189 | 190 | ||
| 190 | ** lucid.el and levents.el are now declared obsolete. | 191 | ** lucid.el and levents.el are now declared obsolete. |
| @@ -197,20 +198,16 @@ is similar to `pcomplete' but using the standard completion UI code. | |||
| 197 | *** The Calc settings file is now a file named calc.el in | 198 | *** The Calc settings file is now a file named calc.el in |
| 198 | user-emacs-directory; but the old location, ~/.calc.el, is used if | 199 | user-emacs-directory; but the old location, ~/.calc.el, is used if |
| 199 | that file exists. | 200 | that file exists. |
| 200 | |||
| 201 | --- | 201 | --- |
| 202 | *** Graphing commands (`g f' etc.) now work on MS-Windows, if you have | 202 | *** Graphing commands (`g f' etc.) now work on MS-Windows, if you have |
| 203 | the native Windows port of Gnuplot version 3.8 or later installed. | 203 | the native Windows port of Gnuplot version 3.8 or later installed. |
| 204 | 204 | ||
| 205 | ** Calendar and diary | 205 | ** Calendar and diary |
| 206 | |||
| 207 | +++ | 206 | +++ |
| 208 | *** Fancy diary display is now the default. | 207 | *** Fancy diary display is now the default. |
| 209 | If you prefer the simple display, customize `diary-display-function'. | 208 | If you prefer the simple display, customize `diary-display-function'. |
| 210 | |||
| 211 | +++ | 209 | +++ |
| 212 | *** The diary's fancy display now enables view-mode. | 210 | *** The diary's fancy display now enables view-mode. |
| 213 | |||
| 214 | --- | 211 | --- |
| 215 | *** The command `calendar-current-date' accepts an optional argument | 212 | *** The command `calendar-current-date' accepts an optional argument |
| 216 | giving an offset from today. | 213 | giving an offset from today. |
| @@ -225,9 +222,9 @@ exempt buffers that do correspond to files, customize the value of | |||
| 225 | `desktop-files-not-to-save' instead. | 222 | `desktop-files-not-to-save' instead. |
| 226 | 223 | ||
| 227 | ** Dired | 224 | ** Dired |
| 228 | 225 | +++ | |
| 229 | *** The new variable `dired-auto-revert-buffer' allows to revert | 226 | *** The new variable `dired-auto-revert-buffer', if non-nil, causes |
| 230 | dired buffers automatically on revisiting. | 227 | Dired buffers to be reverted automatically on revisiting them. |
| 231 | 228 | ||
| 232 | ** DocView | 229 | ** DocView |
| 233 | 230 | ||
| @@ -338,22 +335,17 @@ displayed in the *vc-dir* header, shelves can be created, removed and applied. | |||
| 338 | are stripped when copying text from the ChangeLog to the *VC-Log* buffer. | 335 | are stripped when copying text from the ChangeLog to the *VC-Log* buffer. |
| 339 | 336 | ||
| 340 | ** Elint | 337 | ** Elint |
| 341 | |||
| 342 | --- | 338 | --- |
| 343 | *** Elint now uses compilation-mode. | 339 | *** Elint now uses compilation-mode. |
| 344 | |||
| 345 | --- | 340 | --- |
| 346 | *** Elint can now scan individual files and whole directories, | 341 | *** Elint can now scan individual files and whole directories, |
| 347 | and can be run in batch mode. | 342 | and can be run in batch mode. |
| 348 | |||
| 349 | --- | 343 | --- |
| 350 | *** Elint does a more thorough initialization, and recognizes more built-in | 344 | *** Elint does a more thorough initialization, and recognizes more built-in |
| 351 | functions and variables. Customize `elint-scan-preloaded' if you want | 345 | functions and variables. Customize `elint-scan-preloaded' if you want |
| 352 | to sacrifice some accuracy for a faster startup. | 346 | to sacrifice some accuracy for a faster startup. |
| 353 | |||
| 354 | --- | 347 | --- |
| 355 | *** Elint attempts some basic understanding of featurep and (f)boundp tests. | 348 | *** Elint attempts some basic understanding of featurep and (f)boundp tests. |
| 356 | |||
| 357 | --- | 349 | --- |
| 358 | *** Customize `elint-ignored-warnings' to suppress some warnings. | 350 | *** Customize `elint-ignored-warnings' to suppress some warnings. |
| 359 | 351 | ||
| @@ -368,7 +360,7 @@ Command*'. | |||
| 368 | `comint-history-isearch' is non-nil. New commands `comint-history-isearch-backward' | 360 | `comint-history-isearch' is non-nil. New commands `comint-history-isearch-backward' |
| 369 | and `comint-history-isearch-backward-regexp' (bound to M-r) start Isearch | 361 | and `comint-history-isearch-backward-regexp' (bound to M-r) start Isearch |
| 370 | in the input history regardless of the value of `comint-history-isearch'. | 362 | in the input history regardless of the value of `comint-history-isearch'. |
| 371 | 363 | +++ | |
| 372 | *** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp' | 364 | *** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp' |
| 373 | read buffer names to search, one by one, ended with RET. With a prefix | 365 | read buffer names to search, one by one, ended with RET. With a prefix |
| 374 | argument, they ask for a regexp, and search in buffers whose names match | 366 | argument, they ask for a regexp, and search in buffers whose names match |
| @@ -376,19 +368,16 @@ the specified regexp. Interactively `multi-isearch-files' and | |||
| 376 | `multi-isearch-files-regexp' read file names to search, one by one, | 368 | `multi-isearch-files-regexp' read file names to search, one by one, |
| 377 | ended with RET. With a prefix argument, they ask for a wildcard, and | 369 | ended with RET. With a prefix argument, they ask for a wildcard, and |
| 378 | search in file buffers whose file names match the specified wildcard. | 370 | search in file buffers whose file names match the specified wildcard. |
| 379 | |||
| 380 | +++ | 371 | +++ |
| 381 | *** Autorevert Tail mode now works also for remote files. | 372 | *** Autorevert Tail mode now works also for remote files. |
| 382 | |||
| 383 | +++ | 373 | +++ |
| 384 | *** The new built-in commands `su' and `sudo' support Tramp. | 374 | *** The new built-in commands `su' and `sudo' support Tramp. |
| 385 | That means, they change `default-directory' to the new users value, | 375 | That means, they change `default-directory' to the new users value, |
| 386 | and let commands run under that user permissions. It works even when | 376 | and let commands run under that user permissions. It works even when |
| 387 | `default-directory' is already remote. Calling the external commands | 377 | `default-directory' is already remote. Calling the external commands |
| 388 | is possible by `*su' or `*sudo', repectively. | 378 | is possible by `*su' or `*sudo', repectively. |
| 389 | |||
| 390 | --- | 379 | --- |
| 391 | *** When running in a new enough xterm (newer than version 242), emacs | 380 | *** When running in a new enough xterm (newer than version 242), Emacs |
| 392 | asks xterm what the background color is and it sets up faces | 381 | asks xterm what the background color is and it sets up faces |
| 393 | accordingly for a dark background if needed (the current default is to | 382 | accordingly for a dark background if needed (the current default is to |
| 394 | consider the background light). | 383 | consider the background light). |
| @@ -468,70 +457,94 @@ mode from `auto-mode-alist' (or Fundamental mode) and `image-minor-mode'. | |||
| 468 | 457 | ||
| 469 | * Lisp changes in Emacs 23.2 | 458 | * Lisp changes in Emacs 23.2 |
| 470 | 459 | ||
| 471 | ** make-network-socket can now also create `seqpacket' Unix sockets. | 460 | ** All the default-FOO variables that hold the default value of the FOO |
| 472 | 461 | variable, are now declared obsolete. | |
| 473 | ** New function `completion-in-region' to use the standard completion | ||
| 474 | facilities on a particular region of text. | ||
| 475 | |||
| 476 | +++ | ||
| 477 | ** The 4th arg to all-completions (aka hide-spaces) is declared obsolete. | ||
| 478 | 462 | ||
| 479 | --- | 463 | ** read-key is a function halfway between read-event and read-key-sequence. |
| 480 | ** read-file-name-predicate is obsolete. It was used to pass the predicate | 464 | It reads a single key, but obeys input and escape sequence decoding. |
| 481 | to read-file-name-internal because read-file-name-internal abused its `pred' | ||
| 482 | argument to pass the current directory, but this hack is not needed | ||
| 483 | any more. | ||
| 484 | 465 | ||
| 485 | ** Frame parameter changes | 466 | ** Frame parameter changes |
| 486 | |||
| 487 | +++ | 467 | +++ |
| 488 | *** You can give the `fullscreen' frame parameter the value `maximized'. | 468 | *** You can give the `fullscreen' frame parameter the value `maximized'. |
| 489 | This maximizes the frame. | 469 | This maximizes the frame. |
| 490 | |||
| 491 | +++ | 470 | +++ |
| 492 | *** The new frame parameter `sticky' makes Emacs frames sticky in | 471 | *** The new frame parameter `sticky' makes Emacs frames sticky in |
| 493 | virtual desktops. | 472 | virtual desktops. |
| 494 | 473 | ||
| 495 | --- | 474 | ** Completion changes |
| 496 | ** completion-base-size is obsoleted by completion-base-position. | 475 | |
| 476 | *** completion-base-size is obsoleted by completion-base-position. | ||
| 497 | This change causes a few backward incompatibilities, mostly with | 477 | This change causes a few backward incompatibilities, mostly with |
| 498 | choose-completion-string-functions where the `mini-p' argument has | 478 | choose-completion-string-functions where the `mini-p' argument has |
| 499 | been replaced by a `base-position' argument, and where the `base-size' | 479 | been replaced by a `base-position' argument, and where the `base-size' |
| 500 | argument is now always nil. | 480 | argument is now always nil. |
| 501 | 481 | ||
| 482 | *** New function `completion-in-region' to use the standard completion | ||
| 483 | facilities on a particular region of text. | ||
| 484 | +++ | ||
| 485 | *** The 4th arg to all-completions (aka hide-spaces) is declared obsolete. | ||
| 486 | |||
| 487 | *** completion-annotate-function specifies how to compute annotations | ||
| 488 | for completions displayed in *Completions*. | ||
| 489 | |||
| 490 | ** Minibuffer changes | ||
| 491 | --- | ||
| 492 | *** read-file-name-predicate is obsolete. It was used to pass the predicate | ||
| 493 | to read-file-name-internal because read-file-name-internal abused its `pred' | ||
| 494 | argument to pass the current directory, but this hack is not needed | ||
| 495 | any more. | ||
| 496 | |||
| 497 | ** Changes to file-manipulation functions | ||
| 498 | +++ | ||
| 499 | *** `delete-directory' has an optional parameter RECURSIVE. | ||
| 500 | +++ | ||
| 501 | *** New function `copy-directory', which copies a directory recursively. | ||
| 502 | |||
| 502 | ** called-interactively-p now takes one argument and replaces interactive-p | 503 | ** called-interactively-p now takes one argument and replaces interactive-p |
| 503 | which is now marked obsolete. | 504 | which is now marked obsolete. |
| 505 | |||
| 504 | ** New function set-advertised-calling-convention makes it possible | 506 | ** New function set-advertised-calling-convention makes it possible |
| 505 | to obsolete arguments as well as make some arguments mandatory. | 507 | to obsolete arguments as well as make some arguments mandatory. |
| 506 | ** eval-next-after-load is obsolete. | ||
| 507 | ** New hook `after-load-functions' run after loading an Elisp file. | ||
| 508 | 508 | ||
| 509 | ** You can control which binding is preferentially shown in menus and | 509 | ** You can control which binding is preferentially shown in menus and |
| 510 | docstrings by adding a `:advertised-binding' property to the corresponding | 510 | docstrings by adding a `:advertised-binding' property to the corresponding |
| 511 | command's symbol. That property can hold a single binding or a list | 511 | command's symbol. That property can hold a single binding or a list |
| 512 | of bindings. | 512 | of bindings. |
| 513 | 513 | ||
| 514 | ** New macro with-silent-modifications to tweak text properties without | 514 | ** Network and process changes |
| 515 | affecting the buffer's modification state. | 515 | +++ |
| 516 | ** All the default-FOO variables that hold the default value of the FOO | 516 | *** start-process-shell-command and start-file-process-shell-command |
| 517 | variable, are now declared obsolete. | 517 | now only take a single `command' argument. |
| 518 | +++ | ||
| 519 | *** The new variable `process-file-side-effects' should be set to nil | ||
| 520 | if a `process-file' call does not change a remote file. This allows | ||
| 521 | file name handlers such as Tramp to optimizations. | ||
| 522 | +++ | ||
| 523 | *** make-network-process can now also create `seqpacket' Unix sockets. | ||
| 518 | 524 | ||
| 519 | ** read-key is a function halfway between read-event and read-key-sequence. | 525 | ** Loading changes |
| 520 | It reads a single key, but obeys input and escape sequence decoding. | ||
| 521 | 526 | ||
| 522 | ** start-process-shell-command and start-file-process-shell-command | 527 | *** eval-next-after-load is obsolete. |
| 523 | now only take a single `command' argument. | 528 | |
| 529 | *** New hook `after-load-functions' run after loading an Elisp file. | ||
| 530 | |||
| 531 | ** Byte compilation changes | ||
| 532 | --- | ||
| 533 | *** Changing the file-names generated by byte-compilation by redefining | ||
| 534 | the function `byte-compile-dest-file' before loading bytecomp.el is obsolete. | ||
| 535 | Instead, customize byte-compile-dest-file-function. | ||
| 536 | --- | ||
| 537 | *** `byte-compile-warnings' has new members, `constants' and `suspicious'. | ||
| 524 | 538 | ||
| 525 | ** The variable `process-file-side-effects' shall be bound to nil, if | 539 | ** New macro with-silent-modifications to tweak text properties without |
| 526 | a `process-file' call does not change a remote file. By this, file | 540 | affecting the buffer's modification state. |
| 527 | name handlers like Tramp can apply optimizations. | ||
| 528 | 541 | ||
| 529 | +++ | 542 | +++ |
| 530 | ** Hash tables have a new printed representation that is readable. | 543 | ** Hash tables have a new printed representation that is readable. |
| 531 | The feature `hashtable-print-readable' identifies this new | 544 | The feature `hashtable-print-readable' identifies this new |
| 532 | functionality. | 545 | functionality. |
| 533 | 546 | ||
| 534 | ** New functions performing Unicode normalization are added: | 547 | ** New functions for performing Unicode normalization: |
| 535 | ucs-normalize-NFD-region, ucs-normalize-NFD-string, | 548 | ucs-normalize-NFD-region, ucs-normalize-NFD-string, |
| 536 | ucs-normalize-NFC-region, ucs-normalize-NFC-string, | 549 | ucs-normalize-NFC-region, ucs-normalize-NFC-string, |
| 537 | ucs-normalize-NFKD-region, ucs-normalize-NFKD-string, | 550 | ucs-normalize-NFKD-region, ucs-normalize-NFKD-string, |
| @@ -539,25 +552,10 @@ ucs-normalize-NFKC-region, ucs-normalize-NFKC-string, | |||
| 539 | ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string, | 552 | ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string, |
| 540 | ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string. | 553 | ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string. |
| 541 | 554 | ||
| 542 | ** completion-annotate-function specifies how to compute annotations | ||
| 543 | for completions displayed in *Completions*. | ||
| 544 | |||
| 545 | +++ | 555 | +++ |
| 546 | ** Face aliases can now be marked as obsolete, using the macro | 556 | ** Face aliases can now be marked as obsolete, using the macro |
| 547 | `define-obsolete-face-alias'. | 557 | `define-obsolete-face-alias'. |
| 548 | 558 | ||
| 549 | --- | ||
| 550 | ** Changing the file-names generated by byte-compilation by redefining | ||
| 551 | the function `byte-compile-dest-file' before loading bytecomp.el is obsolete. | ||
| 552 | Instead, customize byte-compile-dest-file-function. | ||
| 553 | |||
| 554 | --- | ||
| 555 | ** `byte-compile-warnings' has new members, `constants' and `suspicious'. | ||
| 556 | |||
| 557 | ** `delete-directory' has an optional parameter RECURSIVE. | ||
| 558 | |||
| 559 | ** New function `copy-directory', which copies a directory recursively. | ||
| 560 | |||
| 561 | +++ | 559 | +++ |
| 562 | ** New function `window-full-height-p', analogous to the full-width version. | 560 | ** New function `window-full-height-p', analogous to the full-width version. |
| 563 | 561 | ||
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 5c8f4e032b6..db395df233e 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -1418,6 +1418,21 @@ single copies. You do not need any other drivers or options. | |||
| 1418 | 1418 | ||
| 1419 | * Runtime problems on character terminals | 1419 | * Runtime problems on character terminals |
| 1420 | 1420 | ||
| 1421 | ** The meta key does not work on xterm. | ||
| 1422 | Typing M-x rings the terminal bell, and inserts a string like ";120~". | ||
| 1423 | For recent xterm versions (>= 216), Emacs uses xterm's modifyOtherKeys | ||
| 1424 | feature to generate strings for key combinations that are not | ||
| 1425 | otherwise usable. One circumstance in which this can cause problems | ||
| 1426 | is if you have specified the X resource | ||
| 1427 | |||
| 1428 | xterm*VT100.Translations | ||
| 1429 | |||
| 1430 | to contain translations that use the meta key. Then xterm will not | ||
| 1431 | use meta in modified function-keys, which confuses Emacs. To fix | ||
| 1432 | this, you can remove the X resource or put this in your init file: | ||
| 1433 | |||
| 1434 | (xterm-remove-modify-other-keys) | ||
| 1435 | |||
| 1421 | ** Emacs spontaneously displays "I-search: " at the bottom of the screen. | 1436 | ** Emacs spontaneously displays "I-search: " at the bottom of the screen. |
| 1422 | 1437 | ||
| 1423 | This means that Control-S/Control-Q (XON/XOFF) "flow control" is being | 1438 | This means that Control-S/Control-Q (XON/XOFF) "flow control" is being |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3c9888182f8..3689508aa52 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,103 @@ | |||
| 1 | 2010-03-24 Stefan Monnier <monnier@iro.umontreal.ca> | 1 | 2010-03-24 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 2 | ||
| 3 | * progmodes/make-mode.el (makefile-rule-action-regex): Backtrack less. | ||
| 4 | (makefile-make-font-lock-keywords): Adjust rule since submatch 1 may | ||
| 5 | not be present any more. | ||
| 6 | |||
| 7 | 2010-03-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 8 | |||
| 9 | * faces.el (set-face-attribute): Fix typo in docstring. | ||
| 10 | (face-valid-attribute-values): Reflow docstring. | ||
| 11 | |||
| 12 | * cedet/srecode/table.el (srecode-template-table): Fix docstring typo. | ||
| 13 | |||
| 14 | 2010-03-24 Glenn Morris <rgm@gnu.org> | ||
| 15 | |||
| 16 | * textmodes/flyspell.el (sgml-lexical-context): Autoload it (Bug#5752). | ||
| 17 | |||
| 18 | 2010-03-24 Chong Yidong <cyd@stupidchicken.com> | ||
| 19 | |||
| 20 | * indent.el (indent-for-tab-command): Doc fix. | ||
| 21 | |||
| 22 | 2010-03-24 Alan Mackenzie <acm@muc.de> | ||
| 23 | |||
| 24 | * progmodes/cc-engine.el (c-remove-stale-state-cache): | ||
| 25 | Fix off-by-one error. Fixes bug #5747. | ||
| 26 | |||
| 27 | 2010-03-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 28 | |||
| 29 | * image-dired.el (image-dired-display-thumbs): Fix typo in docstring. | ||
| 30 | (image-dired-read-comment): Doc fix. | ||
| 31 | |||
| 32 | * json.el (json-object-type, json-array-type, json-key-type) | ||
| 33 | (json-false, json-null, json-read-number): | ||
| 34 | * minibuffer.el (completion-in-region-functions): | ||
| 35 | * calendar/cal-tex.el (cal-tex-daily-end, cal-tex-number-weeks) | ||
| 36 | (cal-tex-cursor-week): | ||
| 37 | * emacs-lisp/trace.el (trace-function): | ||
| 38 | * eshell/em-basic.el (eshell/printnl): | ||
| 39 | * eshell/em-dirs.el (eshell-last-dir-ring, eshell-parse-drive-letter) | ||
| 40 | (eshell-read-last-dir-ring, eshell-write-last-dir-ring): | ||
| 41 | * obsolete/levents.el (allocate-event, event-key, event-object) | ||
| 42 | (event-point, event-process, event-timestamp, event-to-character) | ||
| 43 | (event-window, event-x, event-x-pixel, event-y, event-y-pixel): | ||
| 44 | * textmodes/reftex-vars.el (reftex-index-macros-builtin) | ||
| 45 | (reftex-section-levels, reftex-auto-recenter-toc, reftex-toc-mode-hook) | ||
| 46 | (reftex-cite-punctuation, reftex-search-unrecursed-path-first) | ||
| 47 | (reftex-highlight-selection): Fix typos in docstrings. | ||
| 48 | |||
| 49 | 2010-03-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 50 | |||
| 51 | * minibuffer.el (completion-in-region-functions): Fix docstring typos. | ||
| 52 | |||
| 53 | 2010-03-24 Glenn Morris <rgm@gnu.org> | ||
| 54 | |||
| 55 | * mail/rmail.el (rmail-highlight-face): Restore option deleted | ||
| 56 | 2008-02-13 without comment; mark it obsolete. | ||
| 57 | (rmail-highlight-headers): Use rmail-highlight-face once more. | ||
| 58 | |||
| 59 | 2010-03-24 Chong Yidong <cyd@stupidchicken.com> | ||
| 60 | |||
| 61 | * woman.el (woman2-process-escapes): Only consume the newline if | ||
| 62 | the filler character is on a line by itself (Bug#5729). | ||
| 63 | |||
| 64 | 2010-03-24 Kenichi Handa <handa@m17n.org> | ||
| 65 | |||
| 66 | * language/indian.el (devanagari-composable-pattern): Add more | ||
| 67 | consonants. | ||
| 68 | |||
| 69 | 2010-03-24 Michael Albinus <michael.albinus@gmx.de> | ||
| 70 | |||
| 71 | * net/trampver.el: Update release number. | ||
| 72 | |||
| 73 | 2010-03-24 Glenn Morris <rgm@gnu.org> | ||
| 74 | |||
| 75 | * Makefile.in (ELCFILES): Add cedet/semantic/imenu.el. | ||
| 76 | |||
| 77 | 2010-03-24 Michael Albinus <michael.albinus@gmx.de> | ||
| 78 | |||
| 79 | * net/tramp.el (tramp-find-executable): | ||
| 80 | Use `tramp-get-connection-buffer'. Make the regexp for checking | ||
| 81 | output of "wc -l" more robust. | ||
| 82 | (tramp-find-shell): Use another shell but /bin/sh on OpenSolaris. | ||
| 83 | (tramp-open-connection-setup-interactive-shell): Remove workaround | ||
| 84 | for OpenSolaris bug, it is not needed anymore. | ||
| 85 | |||
| 86 | 2010-03-24 Eric M. Ludlam <zappo@gnu.org> | ||
| 87 | |||
| 88 | * cedet/semantic/imenu.el: New file, from the CEDET repository | ||
| 89 | (Bug#5412). | ||
| 90 | |||
| 91 | 2010-03-24 Glenn Morris <rgm@gnu.org> | ||
| 92 | |||
| 93 | * emacs-lisp/cl-macs.el (defsubst*): Add autoload cookie. (Bug#4427) | ||
| 94 | |||
| 95 | 2010-03-24 Wilson Snyder <wsnyder@wsnyder.org> | ||
| 96 | |||
| 97 | * files.el (auto-mode-alist): Accept more verilog file patterns. | ||
| 98 | |||
| 99 | 2010-03-24 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 100 | |||
| 3 | * vc-dir.el (vc-dir-headers): Abbreviate the working dir. | 101 | * vc-dir.el (vc-dir-headers): Abbreviate the working dir. |
| 4 | 102 | ||
| 5 | 2010-03-24 Glenn Morris <rgm@gnu.org> | 103 | 2010-03-24 Glenn Morris <rgm@gnu.org> |
diff --git a/lisp/calendar/cal-tex.el b/lisp/calendar/cal-tex.el index 0e320ff8f90..bbddc1ff38c 100644 --- a/lisp/calendar/cal-tex.el +++ b/lisp/calendar/cal-tex.el | |||
| @@ -134,7 +134,7 @@ At present, this only affects `cal-tex-cursor-day'." | |||
| 134 | 134 | ||
| 135 | (defcustom cal-tex-daily-end 20 | 135 | (defcustom cal-tex-daily-end 20 |
| 136 | "The last hour of the daily LaTeX calendar page. | 136 | "The last hour of the daily LaTeX calendar page. |
| 137 | At present, this only affects `cal-tex-cursor-day'" | 137 | At present, this only affects `cal-tex-cursor-day'." |
| 138 | :type 'integer | 138 | :type 'integer |
| 139 | :group 'calendar-tex) | 139 | :group 'calendar-tex) |
| 140 | 140 | ||
| @@ -654,7 +654,7 @@ in the calendar starting in MONTH YEAR." | |||
| 654 | 654 | ||
| 655 | (defun cal-tex-number-weeks (month year n) | 655 | (defun cal-tex-number-weeks (month year n) |
| 656 | "Determine the number of weeks in a range of dates. | 656 | "Determine the number of weeks in a range of dates. |
| 657 | Compute the number of weeks in the calendar starting with MONTH and YEAR, | 657 | Compute the number of weeks in the calendar starting with MONTH and YEAR, |
| 658 | and lasting N months, including only the days in WHICH-DAYS. As it stands, | 658 | and lasting N months, including only the days in WHICH-DAYS. As it stands, |
| 659 | this is only an upper bound." | 659 | this is only an upper bound." |
| 660 | (let ((d (list month 1 year))) | 660 | (let ((d (list month 1 year))) |
| @@ -683,7 +683,7 @@ this is only an upper bound." | |||
| 683 | (defun cal-tex-cursor-week (&optional n event) | 683 | (defun cal-tex-cursor-week (&optional n event) |
| 684 | "Make a LaTeX calendar buffer for a two-page one-week calendar. | 684 | "Make a LaTeX calendar buffer for a two-page one-week calendar. |
| 685 | It applies to the week that point is in. The optional prefix | 685 | It applies to the week that point is in. The optional prefix |
| 686 | argument N specifies the number of weeks (default 1). The calendar | 686 | argument N specifies number of weeks (default 1). The calendar |
| 687 | shows holidays if `cal-tex-holidays' is non-nil (note that diary | 687 | shows holidays if `cal-tex-holidays' is non-nil (note that diary |
| 688 | entries are not shown). The calendar shows the hours 8-12am, 1-5pm." | 688 | entries are not shown). The calendar shows the hours 8-12am, 1-5pm." |
| 689 | (interactive (list (prefix-numeric-value current-prefix-arg) | 689 | (interactive (list (prefix-numeric-value current-prefix-arg) |
| @@ -1778,7 +1778,7 @@ Add trailing COMMENT if present." | |||
| 1778 | (cal-tex-comment "end framebox")) | 1778 | (cal-tex-comment "end framebox")) |
| 1779 | 1779 | ||
| 1780 | 1780 | ||
| 1781 | (defun cal-tex-b-makebox ( width position ) | 1781 | (defun cal-tex-b-makebox (width position) |
| 1782 | "Insert makebox with parameters WIDTH and POSITION (clr)." | 1782 | "Insert makebox with parameters WIDTH and POSITION (clr)." |
| 1783 | (insert "\\makebox[" width "][" position "]{" ) | 1783 | (insert "\\makebox[" width "][" position "]{" ) |
| 1784 | (cal-tex-comment)) | 1784 | (cal-tex-comment)) |
diff --git a/lisp/cedet/semantic/imenu.el b/lisp/cedet/semantic/imenu.el new file mode 100644 index 00000000000..3c73b893925 --- /dev/null +++ b/lisp/cedet/semantic/imenu.el | |||
| @@ -0,0 +1,537 @@ | |||
| 1 | ;;; semantic/imenu.el --- Use Semantic as an imenu tag generator | ||
| 2 | |||
| 3 | ;;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2010 | ||
| 4 | ;; Free Software Foundation, Inc. | ||
| 5 | |||
| 6 | ;; Author: Eric M. Ludlam <zappo@gnu.org> | ||
| 7 | ;; Maintainer: Eric Ludlam | ||
| 8 | |||
| 9 | ;; This file is part of GNU Emacs. | ||
| 10 | |||
| 11 | ;; GNU Emacs is free software: you can redistribute it and/or modify | ||
| 12 | ;; it under the terms of the GNU General Public License as published by | ||
| 13 | ;; the Free Software Foundation, either version 3 of the License, or | ||
| 14 | ;; (at your option) any later version. | ||
| 15 | |||
| 16 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 19 | ;; GNU General Public License for more details. | ||
| 20 | |||
| 21 | ;; You should have received a copy of the GNU General Public License | ||
| 22 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 23 | |||
| 24 | ;;; Commentary: | ||
| 25 | ;; | ||
| 26 | ;; This support function can be used in any buffer which supports | ||
| 27 | ;; the bovinator to create the imenu index. | ||
| 28 | ;; | ||
| 29 | ;; To use this in a buffer, do this in a hook. | ||
| 30 | ;; | ||
| 31 | ;; (add-hook 'mode-hook | ||
| 32 | ;; (lambda () | ||
| 33 | ;; (setq imenu-create-index-function 'semantic-create-imenu-index) | ||
| 34 | ;; )) | ||
| 35 | |||
| 36 | (require 'semantic) | ||
| 37 | (require 'semantic/format) | ||
| 38 | (require 'semantic/db) | ||
| 39 | (require 'semantic/db-file) | ||
| 40 | (require 'semantic/sort) | ||
| 41 | (require 'imenu) | ||
| 42 | |||
| 43 | (declare-function pulse-momentary-highlight-one-line "pulse" (o &optional face)) | ||
| 44 | (declare-function semanticdb-semantic-init-hook-fcn "db-mode") | ||
| 45 | |||
| 46 | ;; Because semantic imenu tags will hose the current imenu handling | ||
| 47 | ;; code in speedbar, force semantic/sb in. | ||
| 48 | (if (featurep 'speedbar) | ||
| 49 | (require 'semantic/sb) | ||
| 50 | (add-hook 'speedbar-load-hook (lambda () (require 'semantic/sb)))) | ||
| 51 | |||
| 52 | (defgroup semantic-imenu nil | ||
| 53 | "Semantic interface to Imenu." | ||
| 54 | :group 'semantic | ||
| 55 | :group 'imenu | ||
| 56 | ) | ||
| 57 | |||
| 58 | ;;;###autoload | ||
| 59 | (defcustom semantic-imenu-summary-function 'semantic-format-tag-abbreviate | ||
| 60 | "*Function to use when creating items in Imenu. | ||
| 61 | Some useful functions are found in `semantic-format-tag-functions'." | ||
| 62 | :group 'semantic-imenu | ||
| 63 | :type semantic-format-tag-custom-list) | ||
| 64 | (make-variable-buffer-local 'semantic-imenu-summary-function) | ||
| 65 | |||
| 66 | ;;;###autoload | ||
| 67 | (defcustom semantic-imenu-bucketize-file t | ||
| 68 | "*Non-nil if tags in a file are to be grouped into buckets." | ||
| 69 | :group 'semantic-imenu | ||
| 70 | :type 'boolean) | ||
| 71 | (make-variable-buffer-local 'semantic-imenu-bucketize-file) | ||
| 72 | |||
| 73 | (defcustom semantic-imenu-adopt-external-members t | ||
| 74 | "*Non-nil if types in a file should adopt externally defined members. | ||
| 75 | C++ and CLOS can define methods that are not in the body of a class | ||
| 76 | definition." | ||
| 77 | :group 'semantic-imenu | ||
| 78 | :type 'boolean) | ||
| 79 | |||
| 80 | (defcustom semantic-imenu-buckets-to-submenu t | ||
| 81 | "*Non-nil if buckets of tags are to be turned into submenus. | ||
| 82 | This option is ignored if `semantic-imenu-bucketize-file' is nil." | ||
| 83 | :group 'semantic-imenu | ||
| 84 | :type 'boolean) | ||
| 85 | (make-variable-buffer-local 'semantic-imenu-buckets-to-submenu) | ||
| 86 | |||
| 87 | ;;;###autoload | ||
| 88 | (defcustom semantic-imenu-expand-type-members t | ||
| 89 | "*Non-nil if types should have submenus with members in them." | ||
| 90 | :group 'semantic-imenu | ||
| 91 | :type 'boolean) | ||
| 92 | (make-variable-buffer-local 'semantic-imenu-expand-type-members) | ||
| 93 | (semantic-varalias-obsolete 'semantic-imenu-expand-type-parts | ||
| 94 | 'semantic-imenu-expand-type-members "23.2") | ||
| 95 | |||
| 96 | (defcustom semantic-imenu-bucketize-type-members t | ||
| 97 | "*Non-nil if members of a type should be grouped into buckets. | ||
| 98 | nil means to keep them in the same order. | ||
| 99 | Overriden to nil if `semantic-imenu-bucketize-file' is nil." | ||
| 100 | :group 'semantic-imenu | ||
| 101 | :type 'boolean) | ||
| 102 | (make-variable-buffer-local 'semantic-imenu-bucketize-type-parts) | ||
| 103 | (semantic-varalias-obsolete 'semantic-imenu-bucketize-type-parts | ||
| 104 | 'semantic-imenu-bucketize-type-members "23.2") | ||
| 105 | |||
| 106 | (defcustom semantic-imenu-sort-bucket-function nil | ||
| 107 | "*Function to use when sorting tags in the buckets of functions. | ||
| 108 | See `semantic-bucketize' and the FILTER argument for more details on this function." | ||
| 109 | :group 'semantic-imenu | ||
| 110 | :type '(radio (const :tag "No Sorting" nil) | ||
| 111 | (const semantic-sort-tags-by-name-increasing) | ||
| 112 | (const semantic-sort-tags-by-name-decreasing) | ||
| 113 | (const semantic-sort-tags-by-type-increasing) | ||
| 114 | (const semantic-sort-tags-by-type-decreasing) | ||
| 115 | (const semantic-sort-tags-by-name-increasing-ci) | ||
| 116 | (const semantic-sort-tags-by-name-decreasing-ci) | ||
| 117 | (const semantic-sort-tags-by-type-increasing-ci) | ||
| 118 | (const semantic-sort-tags-by-type-decreasing-ci) | ||
| 119 | (function))) | ||
| 120 | (make-variable-buffer-local 'semantic-imenu-sort-bucket-function) | ||
| 121 | |||
| 122 | (defcustom semantic-imenu-index-directory nil | ||
| 123 | "*Non nil to index the entire directory for tags. | ||
| 124 | Doesn't actually parse the entire directory, but displays tags for all files | ||
| 125 | currently listed in the current Semantic database. | ||
| 126 | This variable has no meaning if semanticdb is not active." | ||
| 127 | :group 'semantic-imenu | ||
| 128 | :type 'boolean) | ||
| 129 | |||
| 130 | (defcustom semantic-imenu-auto-rebuild-directory-indexes nil | ||
| 131 | "*If non-nil automatically rebuild directory index imenus. | ||
| 132 | That is when a directory index imenu is updated, automatically rebuild | ||
| 133 | other buffer local ones based on the same semanticdb." | ||
| 134 | :group 'semantic-imenu | ||
| 135 | :type 'boolean) | ||
| 136 | |||
| 137 | (defvar semantic-imenu-directory-current-file nil | ||
| 138 | "When building a file index, this is the file name currently being built.") | ||
| 139 | |||
| 140 | (defvar semantic-imenu-auto-rebuild-running nil | ||
| 141 | "Non-nil if `semantic-imenu-rebuild-directory-indexes' is running.") | ||
| 142 | |||
| 143 | ;;;###autoload | ||
| 144 | (defvar semantic-imenu-expandable-tag-classes '(type) | ||
| 145 | "List of expandable tag classes. | ||
| 146 | Tags of those classes will be given submenu with children. | ||
| 147 | By default, a `type' has interesting children. In Texinfo, however, a | ||
| 148 | `section' has interesting children.") | ||
| 149 | (make-variable-buffer-local 'semantic-imenu-expandable-tag-classes) | ||
| 150 | (semantic-varalias-obsolete 'semantic-imenu-expandable-token | ||
| 151 | 'semantic-imenu-expandable-tag-classes "23.2") | ||
| 152 | |||
| 153 | ;;; Code: | ||
| 154 | (defun semantic-imenu-tag-overlay (tag) | ||
| 155 | "Return the overlay belonging to tag. | ||
| 156 | If TAG doesn't have an overlay, and instead as a vector of positions, | ||
| 157 | concoct a combination of file name, and position." | ||
| 158 | (let ((o (semantic-tag-overlay tag))) | ||
| 159 | (if (not (semantic-overlay-p o)) | ||
| 160 | (let ((v (make-vector 3 nil))) | ||
| 161 | (aset v 0 semantic-imenu-directory-current-file) | ||
| 162 | (aset v 1 (aref o 0)) | ||
| 163 | (aset v 2 (aref o 1)) | ||
| 164 | v) | ||
| 165 | o))) | ||
| 166 | |||
| 167 | |||
| 168 | (defun semantic-imenu-goto-function (name position &optional rest) | ||
| 169 | "Move point associated with NAME to POSITION. | ||
| 170 | Used to override function `imenu-default-goto-function' so that we can continue | ||
| 171 | to use overlays to maintain the current position. | ||
| 172 | Optional argument REST is some extra stuff." | ||
| 173 | (require 'pulse) | ||
| 174 | (if (semantic-overlay-p position) | ||
| 175 | (let ((os (semantic-overlay-start position)) | ||
| 176 | (ob (semantic-overlay-buffer position))) | ||
| 177 | (if os | ||
| 178 | (progn | ||
| 179 | (if (not (eq ob (current-buffer))) | ||
| 180 | (switch-to-buffer ob)) | ||
| 181 | (imenu-default-goto-function name os rest) | ||
| 182 | (pulse-momentary-highlight-one-line (point)) | ||
| 183 | ) | ||
| 184 | ;; This should never happen, but check anyway. | ||
| 185 | (message "Imenu is out of date, try again. (internal bug)") | ||
| 186 | (setq imenu--index-alist nil))) | ||
| 187 | ;; When the POSITION is actually a pair of numbers in an array, then | ||
| 188 | ;; the file isn't loaded into the current buffer. | ||
| 189 | (if (vectorp position) | ||
| 190 | (let ((file (aref position 0)) | ||
| 191 | (pos (aref position 1))) | ||
| 192 | (and file (find-file file)) | ||
| 193 | (imenu-default-goto-function name pos rest) | ||
| 194 | (pulse-momentary-highlight-one-line (point)) | ||
| 195 | ) | ||
| 196 | ;; When the POSITION is the symbol 'file-only' it means that this | ||
| 197 | ;; is a directory index entry and there is no tags in this | ||
| 198 | ;; file. So just jump to the beginning of the file. | ||
| 199 | (if (eq position 'file-only) | ||
| 200 | (progn | ||
| 201 | (find-file name) | ||
| 202 | (imenu-default-goto-function name (point-min) rest) | ||
| 203 | (pulse-momentary-highlight-one-line (point)) | ||
| 204 | ) | ||
| 205 | ;; Probably POSITION don't came from a semantic imenu. Try | ||
| 206 | ;; the default imenu goto function. | ||
| 207 | (condition-case nil | ||
| 208 | (progn | ||
| 209 | (imenu-default-goto-function name position rest) | ||
| 210 | (pulse-momentary-highlight-one-line (point)) | ||
| 211 | ) | ||
| 212 | (error | ||
| 213 | (message "Semantic Imenu override problem. (Internal bug)") | ||
| 214 | (setq imenu--index-alist nil))))) | ||
| 215 | )) | ||
| 216 | |||
| 217 | (defun semantic-imenu-flush-fcn (&optional ignore) | ||
| 218 | "This function is called as a hook to clear the imenu cache. | ||
| 219 | It is cleared after any parsing. | ||
| 220 | IGNORE arguments." | ||
| 221 | (if (eq imenu-create-index-function 'semantic-create-imenu-index) | ||
| 222 | (setq imenu--index-alist nil | ||
| 223 | imenu-menubar-modified-tick 0)) | ||
| 224 | (remove-hook 'semantic-after-toplevel-cache-change-hook | ||
| 225 | 'semantic-imenu-flush-fcn t) | ||
| 226 | (remove-hook 'semantic-after-partial-cache-change-hook | ||
| 227 | 'semantic-imenu-flush-fcn t) | ||
| 228 | ) | ||
| 229 | |||
| 230 | ;;;###autoload | ||
| 231 | (defun semantic-create-imenu-index (&optional stream) | ||
| 232 | "Create an imenu index for any buffer which supports Semantic. | ||
| 233 | Uses the output of the Semantic parser to create the index. | ||
| 234 | Optional argument STREAM is an optional stream of tags used to create menus." | ||
| 235 | (setq imenu-default-goto-function 'semantic-imenu-goto-function) | ||
| 236 | (prog1 | ||
| 237 | (if (and semantic-imenu-index-directory | ||
| 238 | (featurep 'semanticdb) | ||
| 239 | (semanticdb-minor-mode-p)) | ||
| 240 | (semantic-create-imenu-directory-index | ||
| 241 | (or stream (semantic-fetch-tags-fast))) | ||
| 242 | (semantic-create-imenu-index-1 | ||
| 243 | (or stream (semantic-fetch-tags-fast)) nil)) | ||
| 244 | (semantic-make-local-hook 'semantic-after-toplevel-cache-change-hook) | ||
| 245 | (add-hook 'semantic-after-toplevel-cache-change-hook | ||
| 246 | 'semantic-imenu-flush-fcn nil t) | ||
| 247 | (semantic-make-local-hook 'semantic-after-partial-cache-change-hook) | ||
| 248 | (add-hook 'semantic-after-partial-cache-change-hook | ||
| 249 | 'semantic-imenu-flush-fcn nil t))) | ||
| 250 | |||
| 251 | (defun semantic-create-imenu-directory-index (&optional stream) | ||
| 252 | "Create an IMENU tag index based on all files active in semanticdb. | ||
| 253 | Optional argument STREAM is the stream of tags for the current buffer." | ||
| 254 | (if (not semanticdb-current-database) | ||
| 255 | (semantic-create-imenu-index-1 stream nil) | ||
| 256 | ;; We have a database, list all files, with the current file on top. | ||
| 257 | (let ((index (list | ||
| 258 | (cons (oref semanticdb-current-table file) | ||
| 259 | (or (semantic-create-imenu-index-1 stream nil) | ||
| 260 | ;; No tags in this file | ||
| 261 | 'file-only)))) | ||
| 262 | (tables (semanticdb-get-database-tables semanticdb-current-database))) | ||
| 263 | (while tables | ||
| 264 | (let ((semantic-imenu-directory-current-file | ||
| 265 | (oref (car tables) file)) | ||
| 266 | tags) | ||
| 267 | (when (and (not (eq (car tables) semanticdb-current-table)) | ||
| 268 | (semanticdb-live-p (car tables)) | ||
| 269 | (semanticdb-equivalent-mode (car tables)) | ||
| 270 | ) | ||
| 271 | (setq tags (oref (car tables) tags) | ||
| 272 | index (cons (cons semantic-imenu-directory-current-file | ||
| 273 | (or (and tags | ||
| 274 | ;; don't pass nil stream because | ||
| 275 | ;; it will use the current | ||
| 276 | ;; buffer | ||
| 277 | (semantic-create-imenu-index-1 | ||
| 278 | (oref (car tables) tags) | ||
| 279 | nil)) | ||
| 280 | ;; no tags in the file | ||
| 281 | 'file-only)) | ||
| 282 | index))) | ||
| 283 | (setq tables (cdr tables)))) | ||
| 284 | |||
| 285 | ;; If enabled automatically rebuild other imenu directory | ||
| 286 | ;; indexes based on the same Semantic database | ||
| 287 | (or (not semantic-imenu-auto-rebuild-directory-indexes) | ||
| 288 | ;; If auto rebuild already in progress does nothing | ||
| 289 | semantic-imenu-auto-rebuild-running | ||
| 290 | (unwind-protect | ||
| 291 | (progn | ||
| 292 | (setq semantic-imenu-auto-rebuild-running t) | ||
| 293 | (semantic-imenu-rebuild-directory-indexes | ||
| 294 | semanticdb-current-database)) | ||
| 295 | (setq semantic-imenu-auto-rebuild-running nil))) | ||
| 296 | |||
| 297 | (nreverse index)))) | ||
| 298 | |||
| 299 | (defun semantic-create-imenu-index-1 (stream &optional parent) | ||
| 300 | "Create an imenu index for any buffer which supports Semantic. | ||
| 301 | Uses the output of the Semantic parser to create the index. | ||
| 302 | STREAM is a stream of tags used to create menus. | ||
| 303 | Optional argument PARENT is a tag parent of STREAM." | ||
| 304 | (let ((tags stream) | ||
| 305 | (semantic-imenu-adopt-external-members | ||
| 306 | semantic-imenu-adopt-external-members)) | ||
| 307 | ;; If we should regroup, do so. | ||
| 308 | (if semantic-imenu-adopt-external-members | ||
| 309 | (setq tags (semantic-adopt-external-members tags) | ||
| 310 | ;; Don't allow recursion here. | ||
| 311 | semantic-imenu-adopt-external-members nil)) | ||
| 312 | ;; Test for bucketing vs not. | ||
| 313 | (if semantic-imenu-bucketize-file | ||
| 314 | (let ((buckets (semantic-bucketize | ||
| 315 | tags parent | ||
| 316 | semantic-imenu-sort-bucket-function)) | ||
| 317 | item name | ||
| 318 | index) | ||
| 319 | (cond | ||
| 320 | ((null buckets) | ||
| 321 | nil) | ||
| 322 | ((or (cdr-safe buckets) ;; if buckets has more than one item in it. | ||
| 323 | (not semantic-imenu-buckets-to-submenu)) ;; to force separators between buckets | ||
| 324 | (while buckets | ||
| 325 | (setq name (car (car buckets)) | ||
| 326 | item (cdr (car buckets))) | ||
| 327 | (if semantic-imenu-buckets-to-submenu | ||
| 328 | (progn | ||
| 329 | ;; Make submenus | ||
| 330 | (if item | ||
| 331 | (setq index | ||
| 332 | (cons (cons name | ||
| 333 | (semantic-create-imenu-subindex item)) | ||
| 334 | index)))) | ||
| 335 | ;; Glom everything together with "---" between | ||
| 336 | (if item | ||
| 337 | (setq index | ||
| 338 | (append index | ||
| 339 | ;; do not create a menu separator in the parent menu | ||
| 340 | ;; when creating a sub-menu | ||
| 341 | (if (memq (semantic-tag-class (car item)) | ||
| 342 | semantic-imenu-expandable-tag-classes) | ||
| 343 | (semantic-create-imenu-subindex item) | ||
| 344 | (cons | ||
| 345 | '("---") | ||
| 346 | (semantic-create-imenu-subindex item))))) | ||
| 347 | )) | ||
| 348 | (setq buckets (cdr buckets))) | ||
| 349 | (if semantic-imenu-buckets-to-submenu | ||
| 350 | (nreverse index) | ||
| 351 | index)) | ||
| 352 | (t | ||
| 353 | (setq name (car (car buckets)) | ||
| 354 | item (cdr (car buckets))) | ||
| 355 | (semantic-create-imenu-subindex item)))) | ||
| 356 | ;; Else, group everything together | ||
| 357 | (semantic-create-imenu-subindex tags)))) | ||
| 358 | |||
| 359 | (defun semantic-create-imenu-subindex (tags) | ||
| 360 | "From TAGS, create an imenu index of interesting things." | ||
| 361 | (let ((notypecheck (not semantic-imenu-expand-type-members)) | ||
| 362 | children index tag parts) | ||
| 363 | (while tags | ||
| 364 | (setq tag (car tags) | ||
| 365 | children (semantic-tag-components-with-overlays tag)) | ||
| 366 | (if (and (not notypecheck) | ||
| 367 | (memq (semantic-tag-class tag) | ||
| 368 | semantic-imenu-expandable-tag-classes) | ||
| 369 | children | ||
| 370 | ) | ||
| 371 | ;; to keep an homogeneous menu organisation, type menu items | ||
| 372 | ;; always have a sub-menu with at least the *definition* | ||
| 373 | ;; item (even if the tag has no type components) | ||
| 374 | (progn | ||
| 375 | (setq parts children) | ||
| 376 | ;; There is options which create the submenu | ||
| 377 | ;; * Type has an overlay, but children do. | ||
| 378 | ;; The type doesn't have to have it's own overlay, | ||
| 379 | ;; but a type with no overlay and no children should be | ||
| 380 | ;; invalid. | ||
| 381 | (setq index | ||
| 382 | (cons | ||
| 383 | (cons | ||
| 384 | (funcall semantic-imenu-summary-function tag) | ||
| 385 | ;; Add a menu for getting at the type definitions | ||
| 386 | (if (and parts | ||
| 387 | ;; Note to self: enable menu items for | ||
| 388 | ;; sub parts even if they are not proper | ||
| 389 | ;; tags. | ||
| 390 | (semantic-tag-p (car parts))) | ||
| 391 | (let ((submenu | ||
| 392 | (if (and semantic-imenu-bucketize-type-members | ||
| 393 | semantic-imenu-bucketize-file) | ||
| 394 | (semantic-create-imenu-index-1 parts tag) | ||
| 395 | (semantic-create-imenu-subindex parts)))) | ||
| 396 | ;; Only add a *definition* if we have a postion | ||
| 397 | ;; in that type tag. | ||
| 398 | (if (semantic-tag-with-position-p tag) | ||
| 399 | (cons | ||
| 400 | (cons "*definition*" | ||
| 401 | (semantic-imenu-tag-overlay tag)) | ||
| 402 | submenu) | ||
| 403 | submenu)) | ||
| 404 | ;; There were no parts, or something like that, so | ||
| 405 | ;; instead just put the definition here. | ||
| 406 | (if (semantic-tag-with-position-p tag) | ||
| 407 | (semantic-imenu-tag-overlay tag) | ||
| 408 | nil) | ||
| 409 | )) | ||
| 410 | index))) | ||
| 411 | (if (semantic-tag-with-position-p tag) | ||
| 412 | (setq index (cons | ||
| 413 | (cons | ||
| 414 | (funcall semantic-imenu-summary-function tag) | ||
| 415 | (semantic-imenu-tag-overlay tag)) | ||
| 416 | index)))) | ||
| 417 | (setq tags (cdr tags))) | ||
| 418 | ;; `imenu--split-submenus' sort submenus according to | ||
| 419 | ;; `imenu-sort-function' setting and split them up if they are | ||
| 420 | ;; longer than `imenu-max-items'. | ||
| 421 | (imenu--split-submenus (nreverse index)))) | ||
| 422 | |||
| 423 | ;;; directory imenu rebuilding. | ||
| 424 | ;; | ||
| 425 | (defun semantic-imenu-rebuild-directory-indexes (db) | ||
| 426 | "Rebuild directory index imenus based on Semantic database DB." | ||
| 427 | (let ((l (buffer-list)) | ||
| 428 | b) | ||
| 429 | (while l | ||
| 430 | (setq b (car l) | ||
| 431 | l (cdr l)) | ||
| 432 | (if (and (not (eq b (current-buffer))) | ||
| 433 | (buffer-live-p b)) | ||
| 434 | (with-current-buffer b | ||
| 435 | ;; If there is a buffer local Semantic index directory | ||
| 436 | ;; imenu | ||
| 437 | (when (and (eq imenu-create-index-function | ||
| 438 | 'semantic-create-imenu-index) | ||
| 439 | semanticdb-current-database | ||
| 440 | (eq semanticdb-current-database db)) | ||
| 441 | ;; Rebuild the imenu | ||
| 442 | (imenu--cleanup) | ||
| 443 | (setq imenu--index-alist nil) | ||
| 444 | (funcall | ||
| 445 | (if (fboundp 'imenu-menu-filter) | ||
| 446 | ;; XEmacs imenu | ||
| 447 | 'imenu-menu-filter | ||
| 448 | ;; Emacs imenu | ||
| 449 | 'imenu-update-menubar)))))))) | ||
| 450 | |||
| 451 | (defun semantic-imenu-semanticdb-hook () | ||
| 452 | "Function to be called from `semanticdb-mode-hook'. | ||
| 453 | Clears all imenu menus that may be depending on the database." | ||
| 454 | (require 'semantic/db-mode) | ||
| 455 | (semantic-map-buffers | ||
| 456 | #'(lambda () | ||
| 457 | ;; Set up semanticdb environment if enabled. | ||
| 458 | (if (semanticdb-minor-mode-p) | ||
| 459 | (semanticdb-semantic-init-hook-fcn)) | ||
| 460 | ;; Clear imenu cache to redraw the imenu. | ||
| 461 | (semantic-imenu-flush-fcn)))) | ||
| 462 | |||
| 463 | (add-hook 'semanticdb-mode-hook 'semantic-imenu-semanticdb-hook) | ||
| 464 | |||
| 465 | ;;; Interactive Utilities | ||
| 466 | ;; | ||
| 467 | (defun semantic-imenu-toggle-bucketize-file () | ||
| 468 | "Toggle the ability of imenu to bucketize the current file." | ||
| 469 | (interactive) | ||
| 470 | (setq semantic-imenu-bucketize-file (not semantic-imenu-bucketize-file)) | ||
| 471 | ;; Force a rescan | ||
| 472 | (setq imenu--index-alist nil)) | ||
| 473 | |||
| 474 | (defun semantic-imenu-toggle-buckets-to-submenu () | ||
| 475 | "Toggle the ability of imenu to turn buckets into submenus." | ||
| 476 | (interactive) | ||
| 477 | (setq semantic-imenu-buckets-to-submenu (not semantic-imenu-buckets-to-submenu)) | ||
| 478 | ;; Force a rescan | ||
| 479 | (setq imenu--index-alist nil)) | ||
| 480 | |||
| 481 | (defun semantic-imenu-toggle-bucketize-type-parts () | ||
| 482 | "Toggle the ability of imenu to bucketize the current file." | ||
| 483 | (interactive) | ||
| 484 | (setq semantic-imenu-bucketize-type-members (not semantic-imenu-bucketize-type-members)) | ||
| 485 | ;; Force a rescan | ||
| 486 | (setq imenu--index-alist nil)) | ||
| 487 | |||
| 488 | ;;; Which function support | ||
| 489 | ;; | ||
| 490 | ;; The which-function library will display the current function in the | ||
| 491 | ;; mode line. It tries do do this through imenu. With a semantic parsed | ||
| 492 | ;; buffer, there is a much more efficient way of doing this. | ||
| 493 | ;; Advise `which-function' so that we optionally use semantic tags | ||
| 494 | ;; instead, and get better stuff. | ||
| 495 | (require 'advice) | ||
| 496 | |||
| 497 | (defvar semantic-which-function 'semantic-default-which-function | ||
| 498 | "Function to convert semantic tags into `which-function' text.") | ||
| 499 | |||
| 500 | (defcustom semantic-which-function-use-color nil | ||
| 501 | "*Use color when displaying the current function with `which-function'." | ||
| 502 | :group 'semantic-imenu | ||
| 503 | :type 'boolean) | ||
| 504 | |||
| 505 | (defun semantic-default-which-function (taglist) | ||
| 506 | "Convert TAGLIST into a string usable by `which-function'. | ||
| 507 | Returns the first tag name in the list, unless it is a type, | ||
| 508 | in which case it concatenates them together." | ||
| 509 | (cond ((eq (length taglist) 1) | ||
| 510 | (semantic-format-tag-abbreviate | ||
| 511 | (car taglist) nil semantic-which-function-use-color)) | ||
| 512 | ((memq (semantic-tag-class (car taglist)) | ||
| 513 | semantic-imenu-expandable-tag-classes) | ||
| 514 | (concat (semantic-format-tag-name | ||
| 515 | (car taglist) nil semantic-which-function-use-color) | ||
| 516 | (car semantic-type-relation-separator-character) | ||
| 517 | ;; recurse until we no longer have a type | ||
| 518 | ;; or any tags left. | ||
| 519 | (semantic-default-which-function (cdr taglist)))) | ||
| 520 | (t (semantic-format-tag-abbreviate | ||
| 521 | (car taglist) nil semantic-which-function-use-color)))) | ||
| 522 | |||
| 523 | ;; (defadvice which-function (around semantic-which activate) | ||
| 524 | ;; "Choose the function to display via semantic if it is currently active." | ||
| 525 | ;; (if (and (featurep 'semantic) semantic--buffer-cache) | ||
| 526 | ;; (let ((ol (semantic-find-tag-by-overlay))) | ||
| 527 | ;; (setq ad-return-value (funcall semantic-which-function ol))) | ||
| 528 | ;; ad-do-it)) | ||
| 529 | |||
| 530 | (provide 'semantic/imenu) | ||
| 531 | |||
| 532 | ;; Local variables: | ||
| 533 | ;; generated-autoload-file: "loaddefs.el" | ||
| 534 | ;; generated-autoload-load-name: "semantic/imenu" | ||
| 535 | ;; End: | ||
| 536 | |||
| 537 | ;;; semantic/imenu.el ends here | ||
diff --git a/lisp/cedet/srecode/table.el b/lisp/cedet/srecode/table.el index 8da38b5f4c4..3d22922d551 100644 --- a/lisp/cedet/srecode/table.el +++ b/lisp/cedet/srecode/table.el | |||
| @@ -66,7 +66,7 @@ Format is from the `file-attributes' function.") | |||
| 66 | If this is nil, then this template table belongs to a set of generic | 66 | If this is nil, then this template table belongs to a set of generic |
| 67 | templates that can be used with no additional dictionary values. | 67 | templates that can be used with no additional dictionary values. |
| 68 | When it is non-nil, it is assumed the template macros need specialized | 68 | When it is non-nil, it is assumed the template macros need specialized |
| 69 | Emacs Lisp code to fill in the dictoinary.") | 69 | Emacs Lisp code to fill in the dictionary.") |
| 70 | (priority :initarg :priority | 70 | (priority :initarg :priority |
| 71 | :type number | 71 | :type number |
| 72 | :documentation | 72 | :documentation |
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el index 3beda28abf2..bdae05e7774 100644 --- a/lisp/emacs-lisp/cl-loaddefs.el +++ b/lisp/emacs-lisp/cl-loaddefs.el | |||
| @@ -273,8 +273,8 @@ Not documented | |||
| 273 | 273 | ||
| 274 | ;;;*** | 274 | ;;;*** |
| 275 | 275 | ||
| 276 | ;;;### (autoloads (compiler-macroexpand define-compiler-macro assert | 276 | ;;;### (autoloads (defsubst* compiler-macroexpand define-compiler-macro |
| 277 | ;;;;;; check-type typep deftype cl-struct-setf-expander defstruct | 277 | ;;;;;; assert check-type typep deftype cl-struct-setf-expander defstruct |
| 278 | ;;;;;; define-modify-macro callf2 callf letf* letf rotatef shiftf | 278 | ;;;;;; define-modify-macro callf2 callf letf* letf rotatef shiftf |
| 279 | ;;;;;; remf cl-do-pop psetf setf get-setf-method defsetf define-setf-method | 279 | ;;;;;; remf cl-do-pop psetf setf get-setf-method defsetf define-setf-method |
| 280 | ;;;;;; declare the locally multiple-value-setq multiple-value-bind | 280 | ;;;;;; declare the locally multiple-value-setq multiple-value-bind |
| @@ -282,7 +282,7 @@ Not documented | |||
| 282 | ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist | 282 | ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist |
| 283 | ;;;;;; do* do loop return-from return block etypecase typecase ecase | 283 | ;;;;;; do* do loop return-from return block etypecase typecase ecase |
| 284 | ;;;;;; case load-time-value eval-when destructuring-bind function* | 284 | ;;;;;; case load-time-value eval-when destructuring-bind function* |
| 285 | ;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "e10a7e42199c08dc39460f67dd2d424b") | 285 | ;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "273ba25f4a116c61a464dbe55f1f8c63") |
| 286 | ;;; Generated autoloads from cl-macs.el | 286 | ;;; Generated autoloads from cl-macs.el |
| 287 | 287 | ||
| 288 | (autoload 'gensym "cl-macs" "\ | 288 | (autoload 'gensym "cl-macs" "\ |
| @@ -739,6 +739,14 @@ Not documented | |||
| 739 | 739 | ||
| 740 | \(fn FORM)" nil nil) | 740 | \(fn FORM)" nil nil) |
| 741 | 741 | ||
| 742 | (autoload 'defsubst* "cl-macs" "\ | ||
| 743 | Define NAME as a function. | ||
| 744 | Like `defun', except the function is automatically declared `inline', | ||
| 745 | ARGLIST allows full Common Lisp conventions, and BODY is implicitly | ||
| 746 | surrounded by (block NAME ...). | ||
| 747 | |||
| 748 | \(fn NAME ARGLIST [DOCSTRING] BODY...)" nil (quote macro)) | ||
| 749 | |||
| 742 | ;;;*** | 750 | ;;;*** |
| 743 | 751 | ||
| 744 | ;;;### (autoloads (tree-equal nsublis sublis nsubst-if-not nsubst-if | 752 | ;;;### (autoloads (tree-equal nsublis sublis nsubst-if-not nsubst-if |
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 4e3b1fb72d9..8a60ffdf1fe 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; cl-macs.el --- Common Lisp macros | 1 | ;;; cl-macs.el --- Common Lisp macros |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 3 | ;; Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; 2009, 2010 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Dave Gillespie <daveg@synaptics.com> | 6 | ;; Author: Dave Gillespie <daveg@synaptics.com> |
| 7 | ;; Version: 2.02 | 7 | ;; Version: 2.02 |
| @@ -2596,6 +2596,7 @@ and then returning foo." | |||
| 2596 | (byte-compile-normal-call form) | 2596 | (byte-compile-normal-call form) |
| 2597 | (byte-compile-form form))) | 2597 | (byte-compile-form form))) |
| 2598 | 2598 | ||
| 2599 | ;;;###autoload | ||
| 2599 | (defmacro defsubst* (name args &rest body) | 2600 | (defmacro defsubst* (name args &rest body) |
| 2600 | "Define NAME as a function. | 2601 | "Define NAME as a function. |
| 2601 | Like `defun', except the function is automatically declared `inline', | 2602 | Like `defun', except the function is automatically declared `inline', |
diff --git a/lisp/emacs-lisp/trace.el b/lisp/emacs-lisp/trace.el index 9b143cbf18c..194afe10815 100644 --- a/lisp/emacs-lisp/trace.el +++ b/lisp/emacs-lisp/trace.el | |||
| @@ -253,7 +253,7 @@ | |||
| 253 | For every call of FUNCTION Lisp-style trace messages that display argument | 253 | For every call of FUNCTION Lisp-style trace messages that display argument |
| 254 | and return values will be inserted into BUFFER. This function generates the | 254 | and return values will be inserted into BUFFER. This function generates the |
| 255 | trace advice for FUNCTION and activates it together with any other advice | 255 | trace advice for FUNCTION and activates it together with any other advice |
| 256 | there might be!! The trace BUFFER will popup whenever FUNCTION is called. | 256 | there might be!! The trace BUFFER will popup whenever FUNCTION is called. |
| 257 | Do not use this to trace functions that switch buffers or do any other | 257 | Do not use this to trace functions that switch buffers or do any other |
| 258 | display oriented stuff, use `trace-function-background' instead." | 258 | display oriented stuff, use `trace-function-background' instead." |
| 259 | (interactive | 259 | (interactive |
diff --git a/lisp/eshell/em-basic.el b/lisp/eshell/em-basic.el index 775b67a3fa3..a4074011f58 100644 --- a/lisp/eshell/em-basic.el +++ b/lisp/eshell/em-basic.el | |||
| @@ -125,7 +125,7 @@ or `eshell-printn' for display." | |||
| 125 | (eshell-echo args output-newline))) | 125 | (eshell-echo args output-newline))) |
| 126 | 126 | ||
| 127 | (defun eshell/printnl (&rest args) | 127 | (defun eshell/printnl (&rest args) |
| 128 | "Print out each of the argument, separated by newlines." | 128 | "Print out each of the arguments, separated by newlines." |
| 129 | (let ((elems (eshell-flatten-list args))) | 129 | (let ((elems (eshell-flatten-list args))) |
| 130 | (while elems | 130 | (while elems |
| 131 | (eshell-printn (eshell-echo (list (car elems)))) | 131 | (eshell-printn (eshell-echo (list (car elems)))) |
diff --git a/lisp/eshell/em-dirs.el b/lisp/eshell/em-dirs.el index 3104bb11b17..43bc3ffaa6f 100644 --- a/lisp/eshell/em-dirs.el +++ b/lisp/eshell/em-dirs.el | |||
| @@ -178,7 +178,7 @@ thing again." | |||
| 178 | Thus, this does not include the current directory.") | 178 | Thus, this does not include the current directory.") |
| 179 | 179 | ||
| 180 | (defvar eshell-last-dir-ring nil | 180 | (defvar eshell-last-dir-ring nil |
| 181 | "The last directory that eshell was in.") | 181 | "The last directory that Eshell was in.") |
| 182 | 182 | ||
| 183 | ;;; Functions: | 183 | ;;; Functions: |
| 184 | 184 | ||
| @@ -267,7 +267,7 @@ Thus, this does not include the current directory.") | |||
| 267 | (char-to-string (char-before)))) | 267 | (char-to-string (char-before)))) |
| 268 | 268 | ||
| 269 | (defun eshell-parse-drive-letter () | 269 | (defun eshell-parse-drive-letter () |
| 270 | "An argument beginning X:[^/] is a drive letter reference." | 270 | "An argument beginning with X:[^/] is a drive letter reference." |
| 271 | (when (and (not eshell-current-argument) | 271 | (when (and (not eshell-current-argument) |
| 272 | (looking-at "\\([A-Za-z]:\\)\\([^/\\\\]\\|\\'\\)")) | 272 | (looking-at "\\([A-Za-z]:\\)\\([^/\\\\]\\|\\'\\)")) |
| 273 | (goto-char (match-end 1)) | 273 | (goto-char (match-end 1)) |
| @@ -517,7 +517,7 @@ in the minibuffer: | |||
| 517 | msg))) | 517 | msg))) |
| 518 | 518 | ||
| 519 | (defun eshell-read-last-dir-ring () | 519 | (defun eshell-read-last-dir-ring () |
| 520 | "Sets the buffer's `eshell-last-dir-ring' from a history file." | 520 | "Set the buffer's `eshell-last-dir-ring' from a history file." |
| 521 | (let ((file eshell-last-dir-ring-file-name)) | 521 | (let ((file eshell-last-dir-ring-file-name)) |
| 522 | (cond | 522 | (cond |
| 523 | ((or (null file) | 523 | ((or (null file) |
| @@ -545,7 +545,7 @@ in the minibuffer: | |||
| 545 | (setq eshell-last-dir-ring ring)))))) | 545 | (setq eshell-last-dir-ring ring)))))) |
| 546 | 546 | ||
| 547 | (defun eshell-write-last-dir-ring () | 547 | (defun eshell-write-last-dir-ring () |
| 548 | "Writes the buffer's `eshell-last-dir-ring' to a history file." | 548 | "Write the buffer's `eshell-last-dir-ring' to a history file." |
| 549 | (let ((file eshell-last-dir-ring-file-name)) | 549 | (let ((file eshell-last-dir-ring-file-name)) |
| 550 | (cond | 550 | (cond |
| 551 | ((or (null file) | 551 | ((or (null file) |
diff --git a/lisp/faces.el b/lisp/faces.el index a5bc7b1c965..900e96ed048 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -590,7 +590,7 @@ the default for new frames (this is done automatically each time an | |||
| 590 | attribute is changed on all frames). | 590 | attribute is changed on all frames). |
| 591 | 591 | ||
| 592 | ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a valid | 592 | ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a valid |
| 593 | face attribute name. All attributes can be set to `unspecified'; | 593 | face attribute name. All attributes can be set to `unspecified'; |
| 594 | this fact is not further mentioned below. | 594 | this fact is not further mentioned below. |
| 595 | 595 | ||
| 596 | The following attributes are recognized: | 596 | The following attributes are recognized: |
| @@ -988,9 +988,9 @@ Otherwise, return a single face." | |||
| 988 | (defun face-valid-attribute-values (attribute &optional frame) | 988 | (defun face-valid-attribute-values (attribute &optional frame) |
| 989 | "Return valid values for face attribute ATTRIBUTE. | 989 | "Return valid values for face attribute ATTRIBUTE. |
| 990 | The optional argument FRAME is used to determine available fonts | 990 | The optional argument FRAME is used to determine available fonts |
| 991 | and colors. If it is nil or not specified, the selected frame is | 991 | and colors. If it is nil or not specified, the selected frame is used. |
| 992 | used. Value is an alist of (NAME . VALUE) if ATTRIBUTE expects a value | 992 | Value is an alist of (NAME . VALUE) if ATTRIBUTE expects a value out |
| 993 | out of a set of discrete values. Value is `integerp' if ATTRIBUTE expects | 993 | of a set of discrete values. Value is `integerp' if ATTRIBUTE expects |
| 994 | an integer value." | 994 | an integer value." |
| 995 | (let ((valid | 995 | (let ((valid |
| 996 | (case attribute | 996 | (case attribute |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 88c2280f6a3..20a8cb63997 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2010-03-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * message.el (message-interactive): Doc fix. | ||
| 4 | (message-qmail-inject-args): Reflow. | ||
| 5 | (message-kill-to-signature): Fix typo in docstring. | ||
| 6 | |||
| 7 | * smiley.el (smiley-buffer): Fix typo in docstring. | ||
| 8 | |||
| 1 | 2010-03-24 Glenn Morris <rgm@gnu.org> | 9 | 2010-03-24 Glenn Morris <rgm@gnu.org> |
| 2 | 10 | ||
| 3 | * mail-source.el (gnus-message): Declare. | 11 | * mail-source.el (gnus-message): Declare. |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 03a4a40a66f..d64a3aa0244 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -440,7 +440,7 @@ whitespace)." | |||
| 440 | ;; Default to the value of `mail-interactive', available in all Emacsen | 440 | ;; Default to the value of `mail-interactive', available in all Emacsen |
| 441 | ;; that Gnus supports. | 441 | ;; that Gnus supports. |
| 442 | "Non-nil means when sending a message wait for and display errors. | 442 | "Non-nil means when sending a message wait for and display errors. |
| 443 | nil means let mailer mail back a message to report errors." | 443 | A value of nil means let mailer mail back a message to report errors." |
| 444 | :version "23.2" | 444 | :version "23.2" |
| 445 | :group 'message-sending | 445 | :group 'message-sending |
| 446 | :group 'message-mail | 446 | :group 'message-mail |
| @@ -861,8 +861,8 @@ If this is nil, use `user-mail-address'. If it is the symbol | |||
| 861 | 861 | ||
| 862 | (defcustom message-qmail-inject-args nil | 862 | (defcustom message-qmail-inject-args nil |
| 863 | "Arguments passed to qmail-inject programs. | 863 | "Arguments passed to qmail-inject programs. |
| 864 | This should be a list of strings, one string for each argument. It | 864 | This should be a list of strings, one string for each argument. |
| 865 | may also be a function. | 865 | It may also be a function. |
| 866 | 866 | ||
| 867 | For e.g., if you wish to set the envelope sender address so that bounces | 867 | For e.g., if you wish to set the envelope sender address so that bounces |
| 868 | go to the right place or to deal with listserv's usage of that address, you | 868 | go to the right place or to deal with listserv's usage of that address, you |
| @@ -3254,7 +3254,7 @@ or in the synonym headers, defined by `message-header-synonyms'." | |||
| 3254 | 3254 | ||
| 3255 | (defun message-kill-to-signature (&optional arg) | 3255 | (defun message-kill-to-signature (&optional arg) |
| 3256 | "Kill all text up to the signature. | 3256 | "Kill all text up to the signature. |
| 3257 | If a numberic argument or prefix arg is given, leave that number | 3257 | If a numeric argument or prefix arg is given, leave that number |
| 3258 | of lines before the signature intact." | 3258 | of lines before the signature intact." |
| 3259 | (interactive "P") | 3259 | (interactive "P") |
| 3260 | (save-excursion | 3260 | (save-excursion |
diff --git a/lisp/gnus/smiley.el b/lisp/gnus/smiley.el index 8e79dd58125..fbe71e7725f 100644 --- a/lisp/gnus/smiley.el +++ b/lisp/gnus/smiley.el | |||
| @@ -196,8 +196,8 @@ A list of images is returned." | |||
| 196 | 196 | ||
| 197 | ;;;###autoload | 197 | ;;;###autoload |
| 198 | (defun smiley-buffer (&optional buffer) | 198 | (defun smiley-buffer (&optional buffer) |
| 199 | "Run `smiley-region' at the buffer, specified in the argument or | 199 | "Run `smiley-region' at the BUFFER, specified in the argument or |
| 200 | interactively. If there's no argument, do it at the current buffer" | 200 | interactively. If there's no argument, do it at the current buffer." |
| 201 | (interactive "bBuffer to run smiley-region: ") | 201 | (interactive "bBuffer to run smiley-region: ") |
| 202 | (save-excursion | 202 | (save-excursion |
| 203 | (if buffer | 203 | (if buffer |
diff --git a/lisp/image-dired.el b/lisp/image-dired.el index 8eb1d127819..f006e2e9edd 100644 --- a/lisp/image-dired.el +++ b/lisp/image-dired.el | |||
| @@ -801,7 +801,7 @@ you have the dired buffer in the left window and the | |||
| 801 | With optional argument APPEND, append thumbnail to thumbnail buffer | 801 | With optional argument APPEND, append thumbnail to thumbnail buffer |
| 802 | instead of erasing it first. | 802 | instead of erasing it first. |
| 803 | 803 | ||
| 804 | Option argument DO-NOT-POP controls if `pop-to-buffer' should be | 804 | Optional argument DO-NOT-POP controls if `pop-to-buffer' should be |
| 805 | used or not. If non-nil, use `display-buffer' instead of | 805 | used or not. If non-nil, use `display-buffer' instead of |
| 806 | `pop-to-buffer'. This is used from functions like | 806 | `pop-to-buffer'. This is used from functions like |
| 807 | `image-dired-next-line-and-display' and | 807 | `image-dired-next-line-and-display' and |
| @@ -2113,8 +2113,7 @@ FILE-COMMENTS is an alist on the following form: | |||
| 2113 | 2113 | ||
| 2114 | (defun image-dired-read-comment (&optional file) | 2114 | (defun image-dired-read-comment (&optional file) |
| 2115 | "Read comment for an image. | 2115 | "Read comment for an image. |
| 2116 | Read comment for an image, optionally using old comment from FILE | 2116 | Optionally use old comment from FILE as initial value." |
| 2117 | as initial value." | ||
| 2118 | (let ((comment | 2117 | (let ((comment |
| 2119 | (read-string | 2118 | (read-string |
| 2120 | "Comment: " | 2119 | "Comment: " |
diff --git a/lisp/indent.el b/lisp/indent.el index 3f8353bd90c..adecbfaeb12 100644 --- a/lisp/indent.el +++ b/lisp/indent.el | |||
| @@ -85,8 +85,10 @@ special; we don't actually use them here." | |||
| 85 | (defun indent-for-tab-command (&optional arg) | 85 | (defun indent-for-tab-command (&optional arg) |
| 86 | "Indent line or region in proper way for current major mode or insert a tab. | 86 | "Indent line or region in proper way for current major mode or insert a tab. |
| 87 | Depending on `tab-always-indent', either insert a tab or indent. | 87 | Depending on `tab-always-indent', either insert a tab or indent. |
| 88 | If initial point was within line's indentation, position after | 88 | |
| 89 | the indentation. Else stay at same point in text. | 89 | In most major modes, if point was in the current line's indentation, |
| 90 | it is moved to the first non-whitespace character after indenting; | ||
| 91 | otherwise it stays at the same position in the text. | ||
| 90 | 92 | ||
| 91 | If a prefix argument is given, also rigidly indent the entire | 93 | If a prefix argument is given, also rigidly indent the entire |
| 92 | balanced expression which starts at the beginning of the current | 94 | balanced expression which starts at the beginning of the current |
diff --git a/lisp/json.el b/lisp/json.el index 39c1fd32337..6228b99f3e2 100644 --- a/lisp/json.el +++ b/lisp/json.el | |||
| @@ -62,12 +62,12 @@ | |||
| 62 | 62 | ||
| 63 | (defvar json-object-type 'alist | 63 | (defvar json-object-type 'alist |
| 64 | "Type to convert JSON objects to. | 64 | "Type to convert JSON objects to. |
| 65 | Must be one of `alist', `plist', or `hash-table'. Consider let-binding | 65 | Must be one of `alist', `plist', or `hash-table'. Consider let-binding |
| 66 | this around your call to `json-read' instead of `setq'ing it.") | 66 | this around your call to `json-read' instead of `setq'ing it.") |
| 67 | 67 | ||
| 68 | (defvar json-array-type 'vector | 68 | (defvar json-array-type 'vector |
| 69 | "Type to convert JSON arrays to. | 69 | "Type to convert JSON arrays to. |
| 70 | Must be one of `vector' or `list'. Consider let-binding this around | 70 | Must be one of `vector' or `list'. Consider let-binding this around |
| 71 | your call to `json-read' instead of `setq'ing it.") | 71 | your call to `json-read' instead of `setq'ing it.") |
| 72 | 72 | ||
| 73 | (defvar json-key-type nil | 73 | (defvar json-key-type nil |
| @@ -83,19 +83,19 @@ If nil, `json-read' will guess the type based on the value of | |||
| 83 | `plist' `keyword' | 83 | `plist' `keyword' |
| 84 | 84 | ||
| 85 | Note that values other than `string' might behave strangely for | 85 | Note that values other than `string' might behave strangely for |
| 86 | Sufficiently Weird keys. Consider let-binding this around your call to | 86 | Sufficiently Weird keys. Consider let-binding this around your call to |
| 87 | `json-read' instead of `setq'ing it.") | 87 | `json-read' instead of `setq'ing it.") |
| 88 | 88 | ||
| 89 | (defvar json-false :json-false | 89 | (defvar json-false :json-false |
| 90 | "Value to use when reading JSON `false'. | 90 | "Value to use when reading JSON `false'. |
| 91 | If this has the same value as `json-null', you might not be able to tell | 91 | If this has the same value as `json-null', you might not be able to tell |
| 92 | the difference between `false' and `null'. Consider let-binding this | 92 | the difference between `false' and `null'. Consider let-binding this |
| 93 | around your call to `json-read' instead of `setq'ing it.") | 93 | around your call to `json-read' instead of `setq'ing it.") |
| 94 | 94 | ||
| 95 | (defvar json-null nil | 95 | (defvar json-null nil |
| 96 | "Value to use when reading JSON `null'. | 96 | "Value to use when reading JSON `null'. |
| 97 | If this has the same value as `json-false', you might not be able to | 97 | If this has the same value as `json-false', you might not be able to |
| 98 | tell the difference between `false' and `null'. Consider let-binding | 98 | tell the difference between `false' and `null'. Consider let-binding |
| 99 | this around your call to `json-read' instead of `setq'ing it.") | 99 | this around your call to `json-read' instead of `setq'ing it.") |
| 100 | 100 | ||
| 101 | 101 | ||
| @@ -218,7 +218,7 @@ KEYWORD is the keyword expected." | |||
| 218 | 218 | ||
| 219 | (defun json-read-number (&optional sign) | 219 | (defun json-read-number (&optional sign) |
| 220 | "Read the JSON number following point. | 220 | "Read the JSON number following point. |
| 221 | The optional SIGN argument is for internal use. | 221 | The optional SIGN argument is for internal use. |
| 222 | 222 | ||
| 223 | N.B.: Only numbers which can fit in Emacs Lisp's native number | 223 | N.B.: Only numbers which can fit in Emacs Lisp's native number |
| 224 | representation will be parsed correctly." | 224 | representation will be parsed correctly." |
diff --git a/lisp/language/indian.el b/lisp/language/indian.el index 8d315b30404..d8d7d1a6269 100644 --- a/lisp/language/indian.el +++ b/lisp/language/indian.el | |||
| @@ -141,7 +141,7 @@ South Indian language Malayalam is supported in this language environment.")) | |||
| 141 | (defconst devanagari-composable-pattern | 141 | (defconst devanagari-composable-pattern |
| 142 | (let ((table | 142 | (let ((table |
| 143 | '(("V" . "[\u0904-\u0914\u0960-\u0961\u0972]") ; independent vowel | 143 | '(("V" . "[\u0904-\u0914\u0960-\u0961\u0972]") ; independent vowel |
| 144 | ("C" . "[\u0915-\u0939]") ; consonant | 144 | ("C" . "[\u0915-\u0939\u0958-\u095F\u097B-\u097C\u097E-\u097F]") ; consonant |
| 145 | ("R" . "\u0930") ; RA | 145 | ("R" . "\u0930") ; RA |
| 146 | ("n" . "\u093C") ; NUKTA | 146 | ("n" . "\u093C") ; NUKTA |
| 147 | ("H" . "\u094D") ; HALANT | 147 | ("H" . "\u094D") ; HALANT |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index a737b99c29e..630c729703b 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -381,6 +381,20 @@ The variable `rmail-highlighted-headers' specifies which headers." | |||
| 381 | :group 'rmail-headers | 381 | :group 'rmail-headers |
| 382 | :version "22.1") | 382 | :version "22.1") |
| 383 | 383 | ||
| 384 | ;; This was removed in Emacs 23.1 with no notification, an unnecessary | ||
| 385 | ;; incompatible change. | ||
| 386 | (defcustom rmail-highlight-face 'rmail-highlight | ||
| 387 | "Face used by Rmail for highlighting headers." | ||
| 388 | ;; Note that nil doesn't actually mean use the default face, it | ||
| 389 | ;; means use either bold or highlight. It's not worth fixing this | ||
| 390 | ;; now that this is obsolete. | ||
| 391 | :type '(choice (const :tag "Default" nil) | ||
| 392 | face) | ||
| 393 | :group 'rmail-headers) | ||
| 394 | (make-obsolete-variable 'rmail-highlight-face | ||
| 395 | "customize the face `rmail-highlight' instead." | ||
| 396 | "23.2") | ||
| 397 | |||
| 384 | (defface rmail-header-name | 398 | (defface rmail-header-name |
| 385 | '((t (:inherit font-lock-function-name-face))) | 399 | '((t (:inherit font-lock-function-name-face))) |
| 386 | "Face to use for highlighting the header names. | 400 | "Face to use for highlighting the header names. |
| @@ -2883,7 +2897,7 @@ using the coding system CODING." | |||
| 2883 | 2897 | ||
| 2884 | (defun rmail-highlight-headers () | 2898 | (defun rmail-highlight-headers () |
| 2885 | "Highlight the headers specified by `rmail-highlighted-headers'. | 2899 | "Highlight the headers specified by `rmail-highlighted-headers'. |
| 2886 | Uses the face `rmail-highlight'." | 2900 | Uses the face specified by `rmail-highlight-face'." |
| 2887 | (if rmail-highlighted-headers | 2901 | (if rmail-highlighted-headers |
| 2888 | (save-excursion | 2902 | (save-excursion |
| 2889 | (search-forward "\n\n" nil 'move) | 2903 | (search-forward "\n\n" nil 'move) |
| @@ -2891,6 +2905,11 @@ Uses the face `rmail-highlight'." | |||
| 2891 | (narrow-to-region (point-min) (point)) | 2905 | (narrow-to-region (point-min) (point)) |
| 2892 | (let ((case-fold-search t) | 2906 | (let ((case-fold-search t) |
| 2893 | (inhibit-read-only t) | 2907 | (inhibit-read-only t) |
| 2908 | ;; When rmail-highlight-face is removed, just | ||
| 2909 | ;; use 'rmail-highlight here. | ||
| 2910 | (face (or rmail-highlight-face | ||
| 2911 | (if (face-differs-from-default-p 'bold) | ||
| 2912 | 'bold 'highlight))) | ||
| 2894 | ;; List of overlays to reuse. | 2913 | ;; List of overlays to reuse. |
| 2895 | (overlays rmail-overlay-list)) | 2914 | (overlays rmail-overlay-list)) |
| 2896 | (goto-char (point-min)) | 2915 | (goto-char (point-min)) |
| @@ -2909,12 +2928,12 @@ Uses the face `rmail-highlight'." | |||
| 2909 | (progn | 2928 | (progn |
| 2910 | (setq overlay (car overlays) | 2929 | (setq overlay (car overlays) |
| 2911 | overlays (cdr overlays)) | 2930 | overlays (cdr overlays)) |
| 2912 | (overlay-put overlay 'face 'rmail-highlight) | 2931 | (overlay-put overlay 'face face) |
| 2913 | (move-overlay overlay beg (point))) | 2932 | (move-overlay overlay beg (point))) |
| 2914 | ;; Make a new overlay and add it to | 2933 | ;; Make a new overlay and add it to |
| 2915 | ;; rmail-overlay-list. | 2934 | ;; rmail-overlay-list. |
| 2916 | (setq overlay (make-overlay beg (point))) | 2935 | (setq overlay (make-overlay beg (point))) |
| 2917 | (overlay-put overlay 'face 'rmail-highlight) | 2936 | (overlay-put overlay 'face face) |
| 2918 | (setq rmail-overlay-list | 2937 | (setq rmail-overlay-list |
| 2919 | (cons overlay rmail-overlay-list)))))))))) | 2938 | (cons overlay rmail-overlay-list)))))))))) |
| 2920 | 2939 | ||
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index 4405249d981..4584aa0bbd7 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2010-03-24 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * mh-scan.el (mh-scan-cmd-note-width): Doc fix. | ||
| 4 | (mh-scan-format-mh, mh-scan-body-regexp, mh-scan-cur-msg-number-regexp) | ||
| 5 | (mh-scan-cur-msg-number-regexp, mh-scan-date-regexp) | ||
| 6 | (mh-scan-deleted-msg-regexp, mh-scan-good-msg-regexp) | ||
| 7 | (mh-scan-msg-format-regexp, mh-scan-msg-format-string) | ||
| 8 | (mh-scan-msg-number-regexp, mh-scan-rcpt-regexp) | ||
| 9 | (mh-scan-refiled-msg-regexp, mh-scan-sent-to-me-sender-regexp) | ||
| 10 | (mh-scan-subject-regexp, mh-update-scan-format) | ||
| 11 | (mh-msg-num-width-to-column): Fix typos in docstrings. | ||
| 12 | |||
| 1 | 2010-03-10 Chong Yidong <cyd@stupidchicken.com> | 13 | 2010-03-10 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 14 | ||
| 3 | * Branch for 23.2. | 15 | * Branch for 23.2. |
diff --git a/lisp/mh-e/mh-scan.el b/lisp/mh-e/mh-scan.el index fd812c80f47..5f5a84f07a6 100644 --- a/lisp/mh-e/mh-scan.el +++ b/lisp/mh-e/mh-scan.el | |||
| @@ -61,7 +61,7 @@ | |||
| 61 | "%{subject}%<{body}<<%{body}%>") | 61 | "%{subject}%<{body}<<%{body}%>") |
| 62 | "*Scan format string for MH. | 62 | "*Scan format string for MH. |
| 63 | This string is passed to the scan program via the -format | 63 | This string is passed to the scan program via the -format |
| 64 | argument. This format is identical to the default except that | 64 | argument. This format is identical to the default except that |
| 65 | additional hints for fontification have been added to the fifth | 65 | additional hints for fontification have been added to the fifth |
| 66 | column (remember that in Emacs, the first column is 0). | 66 | column (remember that in Emacs, the first column is 0). |
| 67 | 67 | ||
| @@ -109,14 +109,14 @@ non-empty Newsgroups: field is present.") | |||
| 109 | Note that the default setting of `mh-folder-font-lock-keywords' | 109 | Note that the default setting of `mh-folder-font-lock-keywords' |
| 110 | expects this expression to contain at least one parenthesized | 110 | expects this expression to contain at least one parenthesized |
| 111 | expression which matches the body text as in the default of | 111 | expression which matches the body text as in the default of |
| 112 | \"\\\\(<<\\\\([^\\n]+\\\\)?\\\\)\". If this regular expression is | 112 | \"\\\\(<<\\\\([^\\n]+\\\\)?\\\\)\". If this regular expression is |
| 113 | not correct, the body fragment will not be highlighted with the | 113 | not correct, the body fragment will not be highlighted with the |
| 114 | face `mh-folder-body'.") | 114 | face `mh-folder-body'.") |
| 115 | 115 | ||
| 116 | (defvar mh-scan-cur-msg-number-regexp "^\\( *[0-9]+\\+\\).*" | 116 | (defvar mh-scan-cur-msg-number-regexp "^\\( *[0-9]+\\+\\).*" |
| 117 | "This regular expression matches the current message. | 117 | "This regular expression matches the current message. |
| 118 | 118 | ||
| 119 | It must match from the beginning of the line. Note that the | 119 | It must match from the beginning of the line. Note that the |
| 120 | default setting of `mh-folder-font-lock-keywords' expects this | 120 | default setting of `mh-folder-font-lock-keywords' expects this |
| 121 | expression to contain at least one parenthesized expression which | 121 | expression to contain at least one parenthesized expression which |
| 122 | matches the message number as in the default of | 122 | matches the message number as in the default of |
| @@ -125,9 +125,9 @@ matches the message number as in the default of | |||
| 125 | 125 | ||
| 126 | This expression includes the leading space and current message | 126 | This expression includes the leading space and current message |
| 127 | marker \"+\" within the parenthesis since it looks better to | 127 | marker \"+\" within the parenthesis since it looks better to |
| 128 | highlight these items as well. The highlighting is done with the | 128 | highlight these items as well. The highlighting is done with the |
| 129 | face `mh-folder-cur-msg-number'. This regular expression should | 129 | face `mh-folder-cur-msg-number'. This regular expression should |
| 130 | be correct as it is needed by non-fontification functions. See | 130 | be correct as it is needed by non-fontification functions. See |
| 131 | also `mh-note-cur'.") | 131 | also `mh-note-cur'.") |
| 132 | 132 | ||
| 133 | (defvar mh-scan-date-regexp "\\([0-9][0-9]/[0-9][0-9]\\)" | 133 | (defvar mh-scan-date-regexp "\\([0-9][0-9]/[0-9][0-9]\\)" |
| @@ -137,14 +137,14 @@ It must not be anchored to the beginning or the end of the line. | |||
| 137 | Note that the default setting of `mh-folder-font-lock-keywords' | 137 | Note that the default setting of `mh-folder-font-lock-keywords' |
| 138 | expects this expression to contain only one parenthesized | 138 | expects this expression to contain only one parenthesized |
| 139 | expression which matches the date field as in the default of | 139 | expression which matches the date field as in the default of |
| 140 | \"\\\\([0-9][0-9]/[0-9][0-9]\\\\)\"}. If this regular expression | 140 | \"\\\\([0-9][0-9]/[0-9][0-9]\\\\)\"}. If this regular expression |
| 141 | is not correct, the date will not be highlighted with the face | 141 | is not correct, the date will not be highlighted with the face |
| 142 | `mh-folder-date'.") | 142 | `mh-folder-date'.") |
| 143 | 143 | ||
| 144 | (defvar mh-scan-deleted-msg-regexp "^\\( *[0-9]+\\)D" | 144 | (defvar mh-scan-deleted-msg-regexp "^\\( *[0-9]+\\)D" |
| 145 | "This regular expression matches deleted messages. | 145 | "This regular expression matches deleted messages. |
| 146 | 146 | ||
| 147 | It must match from the beginning of the line. Note that the | 147 | It must match from the beginning of the line. Note that the |
| 148 | default setting of `mh-folder-font-lock-keywords' expects this | 148 | default setting of `mh-folder-font-lock-keywords' expects this |
| 149 | expression to contain at least one parenthesized expression which | 149 | expression to contain at least one parenthesized expression which |
| 150 | matches the message number as in the default of | 150 | matches the message number as in the default of |
| @@ -152,15 +152,15 @@ matches the message number as in the default of | |||
| 152 | \"^\\\\( *[0-9]+\\\\)D\". | 152 | \"^\\\\( *[0-9]+\\\\)D\". |
| 153 | 153 | ||
| 154 | This expression includes the leading space within the parenthesis | 154 | This expression includes the leading space within the parenthesis |
| 155 | since it looks better to highlight it as well. The highlighting | 155 | since it looks better to highlight it as well. The highlighting |
| 156 | is done with the face `mh-folder-deleted'. This regular | 156 | is done with the face `mh-folder-deleted'. This regular |
| 157 | expression should be correct as it is needed by non-fontification | 157 | expression should be correct as it is needed by non-fontification |
| 158 | functions. See also `mh-note-deleted'.") | 158 | functions. See also `mh-note-deleted'.") |
| 159 | 159 | ||
| 160 | (defvar mh-scan-good-msg-regexp "^\\( *[0-9]+\\)[^D^0-9]" | 160 | (defvar mh-scan-good-msg-regexp "^\\( *[0-9]+\\)[^D^0-9]" |
| 161 | "This regular expression matches \"good\" messages. | 161 | "This regular expression matches \"good\" messages. |
| 162 | 162 | ||
| 163 | It must match from the beginning of the line. Note that the | 163 | It must match from the beginning of the line. Note that the |
| 164 | default setting of `mh-folder-font-lock-keywords' expects this | 164 | default setting of `mh-folder-font-lock-keywords' expects this |
| 165 | expression to contain at least one parenthesized expression which | 165 | expression to contain at least one parenthesized expression which |
| 166 | matches the message number as in the default of | 166 | matches the message number as in the default of |
| @@ -168,8 +168,8 @@ matches the message number as in the default of | |||
| 168 | \"^\\\\( *[0-9]+\\\\)[^D^0-9]\". | 168 | \"^\\\\( *[0-9]+\\\\)[^D^0-9]\". |
| 169 | 169 | ||
| 170 | This expression includes the leading space within the parenthesis | 170 | This expression includes the leading space within the parenthesis |
| 171 | since it looks better to highlight it as well. The highlighting | 171 | since it looks better to highlight it as well. The highlighting |
| 172 | is done with the face `mh-folder-msg-number'. This regular | 172 | is done with the face `mh-folder-msg-number'. This regular |
| 173 | expression should be correct as it is needed by non-fontification | 173 | expression should be correct as it is needed by non-fontification |
| 174 | functions.") | 174 | functions.") |
| 175 | 175 | ||
| @@ -177,21 +177,21 @@ functions.") | |||
| 177 | "This regular expression finds the message number width in a scan format. | 177 | "This regular expression finds the message number width in a scan format. |
| 178 | 178 | ||
| 179 | Note that the message number must be placed in a parenthesized | 179 | Note that the message number must be placed in a parenthesized |
| 180 | expression as in the default of \"%\\\\([0-9]*\\\\)(msg)\". This | 180 | expression as in the default of \"%\\\\([0-9]*\\\\)(msg)\". This |
| 181 | variable is only consulted if `mh-scan-format-file' is set to | 181 | variable is only consulted if `mh-scan-format-file' is set to |
| 182 | \"Use MH-E scan Format\".") | 182 | \"Use MH-E scan Format\".") |
| 183 | 183 | ||
| 184 | (defvar mh-scan-msg-format-string "%d" | 184 | (defvar mh-scan-msg-format-string "%d" |
| 185 | "This is a format string for width of the message number in a scan format. | 185 | "This is a format string for width of the message number in a scan format. |
| 186 | 186 | ||
| 187 | Use \"0%d\" for zero-filled message numbers. This variable is only | 187 | Use \"0%d\" for zero-filled message numbers. This variable is only |
| 188 | consulted if `mh-scan-format-file' is set to \"Use MH-E scan | 188 | consulted if `mh-scan-format-file' is set to \"Use MH-E scan |
| 189 | Format\".") | 189 | Format\".") |
| 190 | 190 | ||
| 191 | (defvar mh-scan-msg-number-regexp "^ *\\([0-9]+\\)" | 191 | (defvar mh-scan-msg-number-regexp "^ *\\([0-9]+\\)" |
| 192 | "This regular expression extracts the message number. | 192 | "This regular expression extracts the message number. |
| 193 | 193 | ||
| 194 | It must match from the beginning of the line. Note that the | 194 | It must match from the beginning of the line. Note that the |
| 195 | message number must be placed in a parenthesized expression as in | 195 | message number must be placed in a parenthesized expression as in |
| 196 | the default of \"^ *\\\\([0-9]+\\\\)\".") | 196 | the default of \"^ *\\\\([0-9]+\\\\)\".") |
| 197 | 197 | ||
| @@ -211,9 +211,9 @@ message number within the expression as in the default of | |||
| 211 | Note that the default setting of `mh-folder-font-lock-keywords' | 211 | Note that the default setting of `mh-folder-font-lock-keywords' |
| 212 | expects this expression to contain two parenthesized expressions. | 212 | expects this expression to contain two parenthesized expressions. |
| 213 | The first is expected to match the \"To:\" that the default scan | 213 | The first is expected to match the \"To:\" that the default scan |
| 214 | format file generates. The second is expected to match the | 214 | format file generates. The second is expected to match the |
| 215 | recipient's name as in the default of | 215 | recipient's name as in the default of |
| 216 | \"\\\\(To:\\\\)\\\\(..............\\\\)\". If this regular | 216 | \"\\\\(To:\\\\)\\\\(..............\\\\)\". If this regular |
| 217 | expression is not correct, the \"To:\" string will not be | 217 | expression is not correct, the \"To:\" string will not be |
| 218 | highlighted with the face `mh-folder-to' and the recipient will | 218 | highlighted with the face `mh-folder-to' and the recipient will |
| 219 | not be highlighted with the face `mh-folder-address'") | 219 | not be highlighted with the face `mh-folder-address'") |
| @@ -221,7 +221,7 @@ not be highlighted with the face `mh-folder-address'") | |||
| 221 | (defvar mh-scan-refiled-msg-regexp "^\\( *[0-9]+\\)\\^" | 221 | (defvar mh-scan-refiled-msg-regexp "^\\( *[0-9]+\\)\\^" |
| 222 | "This regular expression matches refiled messages. | 222 | "This regular expression matches refiled messages. |
| 223 | 223 | ||
| 224 | It must match from the beginning of the line. Note that the | 224 | It must match from the beginning of the line. Note that the |
| 225 | default setting of `mh-folder-font-lock-keywords' expects this | 225 | default setting of `mh-folder-font-lock-keywords' expects this |
| 226 | expression to contain at least one parenthesized expression which | 226 | expression to contain at least one parenthesized expression which |
| 227 | matches the message number as in the default of | 227 | matches the message number as in the default of |
| @@ -229,10 +229,10 @@ matches the message number as in the default of | |||
| 229 | \"^\\\\( *[0-9]+\\\\)\\\\^\". | 229 | \"^\\\\( *[0-9]+\\\\)\\\\^\". |
| 230 | 230 | ||
| 231 | This expression includes the leading space within the parenthesis | 231 | This expression includes the leading space within the parenthesis |
| 232 | since it looks better to highlight it as well. The highlighting | 232 | since it looks better to highlight it as well. The highlighting |
| 233 | is done with the face `mh-folder-refiled'. This regular | 233 | is done with the face `mh-folder-refiled'. This regular |
| 234 | expression should be correct as it is needed by non-fontification | 234 | expression should be correct as it is needed by non-fontification |
| 235 | functions. See also `mh-note-refiled'.") | 235 | functions. See also `mh-note-refiled'.") |
| 236 | 236 | ||
| 237 | (defvar mh-scan-sent-to-me-sender-regexp | 237 | (defvar mh-scan-sent-to-me-sender-regexp |
| 238 | "^ *[0-9]+.\\([bct]\\).....[ ]*\\(..................\\)" | 238 | "^ *[0-9]+.\\([bct]\\).....[ ]*\\(..................\\)" |
| @@ -240,7 +240,7 @@ functions. See also `mh-note-refiled'.") | |||
| 240 | 240 | ||
| 241 | Note that the default setting of `mh-folder-font-lock-keywords' | 241 | Note that the default setting of `mh-folder-font-lock-keywords' |
| 242 | expects this expression to contain at least two parenthesized | 242 | expects this expression to contain at least two parenthesized |
| 243 | expressions. The first should match the fontification hint (see | 243 | expressions. The first should match the fontification hint (see |
| 244 | `mh-scan-format-nmh') and the second should match the user name | 244 | `mh-scan-format-nmh') and the second should match the user name |
| 245 | as in the default of | 245 | as in the default of |
| 246 | 246 | ||
| @@ -255,15 +255,15 @@ highlighted with the face `mh-folder-sent-to-me-sender'.") | |||
| 255 | "^ *[0-9]+........[ ]*...................\\([Rr][Ee]\\(\\[[0-9]+\\]\\)?:\\s-*\\)*\\([^<\n]*\\)" | 255 | "^ *[0-9]+........[ ]*...................\\([Rr][Ee]\\(\\[[0-9]+\\]\\)?:\\s-*\\)*\\([^<\n]*\\)" |
| 256 | "This regular expression matches the subject. | 256 | "This regular expression matches the subject. |
| 257 | 257 | ||
| 258 | It must match from the beginning of the line. Note that the | 258 | It must match from the beginning of the line. Note that the |
| 259 | default setting of `mh-folder-font-lock-keywords' expects this | 259 | default setting of `mh-folder-font-lock-keywords' expects this |
| 260 | expression to contain at least three parenthesized expressions. | 260 | expression to contain at least three parenthesized expressions. |
| 261 | The first is expected to match the \"Re:\" string, if any, and is | 261 | The first is expected to match the \"Re:\" string, if any, and is |
| 262 | highlighted with the face `mh-folder-followup'. The second | 262 | highlighted with the face `mh-folder-followup'. The second |
| 263 | matches an optional bracketed number after \"Re:\", such as in | 263 | matches an optional bracketed number after \"Re:\", such as in |
| 264 | \"Re[2]:\" (and is thus a sub-expression of the first expression) | 264 | \"Re[2]:\" (and is thus a sub-expression of the first expression) |
| 265 | and the third is expected to match the subject line itself which | 265 | and the third is expected to match the subject line itself which |
| 266 | is highlighted with the face `mh-folder-subject'. For example, | 266 | is highlighted with the face `mh-folder-subject'. For example, |
| 267 | the default (broken on multiple lines for readability) is | 267 | the default (broken on multiple lines for readability) is |
| 268 | 268 | ||
| 269 | ^ *[0-9]+........[ ]*................... | 269 | ^ *[0-9]+........[ ]*................... |
| @@ -296,9 +296,9 @@ Note that columns in Emacs start with 0.") | |||
| 296 | (defvar mh-scan-cmd-note-width 1 | 296 | (defvar mh-scan-cmd-note-width 1 |
| 297 | "Number of columns consumed by the cmd-note field in `mh-scan-format'. | 297 | "Number of columns consumed by the cmd-note field in `mh-scan-format'. |
| 298 | 298 | ||
| 299 | This column will have one of the values: \" \", \"D\", \"^\", \"+\" and | 299 | This column will have one of the values: \" \", \"D\", \"^\", \"+\", where |
| 300 | where \" \" is the default value, | ||
| 301 | 300 | ||
| 301 | \" \" is the default value, | ||
| 302 | \"D\" is the `mh-note-deleted' character, | 302 | \"D\" is the `mh-note-deleted' character, |
| 303 | \"^\" is the `mh-note-refiled' character, and | 303 | \"^\" is the `mh-note-refiled' character, and |
| 304 | \"+\" is the `mh-note-cur' character.") | 304 | \"+\" is the `mh-note-cur' character.") |
| @@ -434,7 +434,7 @@ Note that columns in Emacs start with 0." | |||
| 434 | "Return a scan format with the (msg) width in the FMT replaced with WIDTH. | 434 | "Return a scan format with the (msg) width in the FMT replaced with WIDTH. |
| 435 | 435 | ||
| 436 | The message number width portion of the format is discovered | 436 | The message number width portion of the format is discovered |
| 437 | using `mh-scan-msg-format-regexp'. Its replacement is controlled | 437 | using `mh-scan-msg-format-regexp'. Its replacement is controlled |
| 438 | with `mh-scan-msg-format-string'." | 438 | with `mh-scan-msg-format-string'." |
| 439 | (or (and | 439 | (or (and |
| 440 | (string-match mh-scan-msg-format-regexp fmt) | 440 | (string-match mh-scan-msg-format-regexp fmt) |
| @@ -469,7 +469,7 @@ Note that columns in Emacs start with 0. | |||
| 469 | 469 | ||
| 470 | If `mh-scan-format-file' is set to \"Use MH-E scan Format\" this | 470 | If `mh-scan-format-file' is set to \"Use MH-E scan Format\" this |
| 471 | means that either `mh-scan-format-mh' or `mh-scan-format-nmh' are | 471 | means that either `mh-scan-format-mh' or `mh-scan-format-nmh' are |
| 472 | in use. This function therefore assumes that the first column is | 472 | in use. This function therefore assumes that the first column is |
| 473 | empty (to provide room for the cursor), the following WIDTH | 473 | empty (to provide room for the cursor), the following WIDTH |
| 474 | columns contain the message number, and the column for notations | 474 | columns contain the message number, and the column for notations |
| 475 | comes after that." | 475 | comes after that." |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 94effe57994..154cc37e9a1 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -1102,12 +1102,12 @@ variables.") | |||
| 1102 | (exit-minibuffer)) | 1102 | (exit-minibuffer)) |
| 1103 | 1103 | ||
| 1104 | (defvar completion-in-region-functions nil | 1104 | (defvar completion-in-region-functions nil |
| 1105 | "Wrapper hook around `complete-in-region'. | 1105 | "Wrapper hook around `completion-in-region'. |
| 1106 | The functions on this special hook are called with 5 arguments: | 1106 | The functions on this special hook are called with 5 arguments: |
| 1107 | NEXT-FUN START END COLLECTION PREDICATE. | 1107 | NEXT-FUN START END COLLECTION PREDICATE. |
| 1108 | NEXT-FUN is a function of four arguments (START END COLLECTION PREDICATE) | 1108 | NEXT-FUN is a function of four arguments (START END COLLECTION PREDICATE) |
| 1109 | that performs the default operation. The other four argument are like | 1109 | that performs the default operation. The other four arguments are like |
| 1110 | the ones passed to `complete-in-region'. The functions on this hook | 1110 | the ones passed to `completion-in-region'. The functions on this hook |
| 1111 | are expected to perform completion on START..END using COLLECTION | 1111 | are expected to perform completion on START..END using COLLECTION |
| 1112 | and PREDICATE, either by calling NEXT-FUN or by doing it themselves.") | 1112 | and PREDICATE, either by calling NEXT-FUN or by doing it themselves.") |
| 1113 | 1113 | ||
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 8a3ec552d4d..b025493b1a4 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -6295,7 +6295,7 @@ only in DIRLIST. | |||
| 6295 | Returns the absolute file name of PROGNAME, if found, and nil otherwise. | 6295 | Returns the absolute file name of PROGNAME, if found, and nil otherwise. |
| 6296 | 6296 | ||
| 6297 | This function expects to be in the right *tramp* buffer." | 6297 | This function expects to be in the right *tramp* buffer." |
| 6298 | (with-current-buffer (tramp-get-buffer vec) | 6298 | (with-current-buffer (tramp-get-connection-buffer vec) |
| 6299 | (let (result) | 6299 | (let (result) |
| 6300 | ;; Check whether the executable is in $PATH. "which(1)" does not | 6300 | ;; Check whether the executable is in $PATH. "which(1)" does not |
| 6301 | ;; report always a correct error code; therefore we check the | 6301 | ;; report always a correct error code; therefore we check the |
| @@ -6303,7 +6303,7 @@ This function expects to be in the right *tramp* buffer." | |||
| 6303 | (unless ignore-path | 6303 | (unless ignore-path |
| 6304 | (tramp-send-command vec (format "which \\%s | wc -w" progname)) | 6304 | (tramp-send-command vec (format "which \\%s | wc -w" progname)) |
| 6305 | (goto-char (point-min)) | 6305 | (goto-char (point-min)) |
| 6306 | (if (looking-at "^1$") | 6306 | (if (looking-at "^\\s-*1$") |
| 6307 | (setq result (concat "\\" progname)))) | 6307 | (setq result (concat "\\" progname)))) |
| 6308 | (unless result | 6308 | (unless result |
| 6309 | (when ignore-tilde | 6309 | (when ignore-tilde |
| @@ -6404,12 +6404,15 @@ file exists and nonzero exit status otherwise." | |||
| 6404 | (with-current-buffer (tramp-get-buffer vec) | 6404 | (with-current-buffer (tramp-get-buffer vec) |
| 6405 | (tramp-send-command vec "echo ~root" t) | 6405 | (tramp-send-command vec "echo ~root" t) |
| 6406 | (cond | 6406 | (cond |
| 6407 | ((string-match "^~root$" (buffer-string)) | 6407 | ((or (string-match "^~root$" (buffer-string)) |
| 6408 | ;; The default shell (ksh93) of OpenSolaris is buggy. | ||
| 6409 | (string-equal (tramp-get-connection-property vec "uname" "") | ||
| 6410 | "SunOS 5.11")) | ||
| 6408 | (setq shell | 6411 | (setq shell |
| 6409 | (or (tramp-find-executable | 6412 | (or (tramp-find-executable |
| 6410 | vec "bash" (tramp-get-remote-path vec) t) | 6413 | vec "bash" (tramp-get-remote-path vec) t t) |
| 6411 | (tramp-find-executable | 6414 | (tramp-find-executable |
| 6412 | vec "ksh" (tramp-get-remote-path vec) t))) | 6415 | vec "ksh" (tramp-get-remote-path vec) t t))) |
| 6413 | (unless shell | 6416 | (unless shell |
| 6414 | (tramp-error | 6417 | (tramp-error |
| 6415 | vec 'file-error | 6418 | vec 'file-error |
| @@ -6838,9 +6841,11 @@ process to set up. VEC specifies the connection." | |||
| 6838 | ;; "test foo; echo $?" to check if various conditions hold, and | 6841 | ;; "test foo; echo $?" to check if various conditions hold, and |
| 6839 | ;; there are buggy /bin/sh implementations which don't execute the | 6842 | ;; there are buggy /bin/sh implementations which don't execute the |
| 6840 | ;; "echo $?" part if the "test" part has an error. In particular, | 6843 | ;; "echo $?" part if the "test" part has an error. In particular, |
| 6841 | ;; the Solaris /bin/sh is a problem. I'm betting that all systems | 6844 | ;; the OpenSolaris /bin/sh is a problem. There are also other |
| 6842 | ;; with buggy /bin/sh implementations will have a working bash or | 6845 | ;; problems with /bin/sh of OpenSolaris, like redirection of stderr |
| 6843 | ;; ksh. Whee... | 6846 | ;; in in function declarations, or changing HISTFILE in place. |
| 6847 | ;; Therefore, OpenSolaris' /bin/sh is replaced by bash, when | ||
| 6848 | ;; detected. | ||
| 6844 | (tramp-find-shell vec) | 6849 | (tramp-find-shell vec) |
| 6845 | 6850 | ||
| 6846 | ;; Disable unexpected output. | 6851 | ;; Disable unexpected output. |
| @@ -6849,12 +6854,6 @@ process to set up. VEC specifies the connection." | |||
| 6849 | ;; Set the environment. | 6854 | ;; Set the environment. |
| 6850 | (tramp-message vec 5 "Setting default environment") | 6855 | (tramp-message vec 5 "Setting default environment") |
| 6851 | 6856 | ||
| 6852 | ;; On OpenSolaris, there is a bug when HISTFILE is changed in place | ||
| 6853 | ;; <http://bugs.opensolaris.org/view_bug.do?bug_id=6834184>. We | ||
| 6854 | ;; apply the workaround. | ||
| 6855 | (if (string-equal (tramp-get-connection-property vec "uname" "") "SunOS 5.11") | ||
| 6856 | (tramp-send-command vec "unset HISTFILE" t)) | ||
| 6857 | |||
| 6858 | (let ((env (copy-sequence tramp-remote-process-environment)) | 6857 | (let ((env (copy-sequence tramp-remote-process-environment)) |
| 6859 | unset item) | 6858 | unset item) |
| 6860 | (while env | 6859 | (while env |
diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el index 9444787fc27..c5387a26722 100644 --- a/lisp/net/trampver.el +++ b/lisp/net/trampver.el | |||
| @@ -29,7 +29,7 @@ | |||
| 29 | ;; "autoconf && ./configure" to change them. (X)Emacs version check is defined | 29 | ;; "autoconf && ./configure" to change them. (X)Emacs version check is defined |
| 30 | ;; in macro AC_EMACS_INFO of aclocal.m4; should be changed only there. | 30 | ;; in macro AC_EMACS_INFO of aclocal.m4; should be changed only there. |
| 31 | 31 | ||
| 32 | (defconst tramp-version "2.1.18-pre" | 32 | (defconst tramp-version "2.1.18-23.2" |
| 33 | "This version of Tramp.") | 33 | "This version of Tramp.") |
| 34 | 34 | ||
| 35 | (defconst tramp-bug-report-address "tramp-devel@gnu.org" | 35 | (defconst tramp-bug-report-address "tramp-devel@gnu.org" |
diff --git a/lisp/obsolete/levents.el b/lisp/obsolete/levents.el index 652994ebd7a..1715185ac05 100644 --- a/lisp/obsolete/levents.el +++ b/lisp/obsolete/levents.el | |||
| @@ -61,7 +61,7 @@ | |||
| 61 | (put 'timeout 'event-symbol-elements '(eval)) | 61 | (put 'timeout 'event-symbol-elements '(eval)) |
| 62 | 62 | ||
| 63 | (defun allocate-event () | 63 | (defun allocate-event () |
| 64 | "Returns an empty event structure. | 64 | "Return an empty event structure. |
| 65 | In this emulation, it returns nil." | 65 | In this emulation, it returns nil." |
| 66 | nil) | 66 | nil) |
| 67 | 67 | ||
| @@ -142,7 +142,7 @@ It will be the next event read after all pending events." | |||
| 142 | (nth 1 event)) | 142 | (nth 1 event)) |
| 143 | 143 | ||
| 144 | (defun event-key (event) | 144 | (defun event-key (event) |
| 145 | "Returns the KeySym of the given key-press event. | 145 | "Return the KeySym of the given key-press event. |
| 146 | The value is an ASCII printing character (not upper case) or a symbol." | 146 | The value is an ASCII printing character (not upper case) or a symbol." |
| 147 | (if (symbolp event) | 147 | (if (symbolp event) |
| 148 | (car (get event 'event-symbol-elements)) | 148 | (car (get event 'event-symbol-elements)) |
| @@ -150,11 +150,11 @@ The value is an ASCII printing character (not upper case) or a symbol." | |||
| 150 | (downcase (if (< base 32) (logior base 64) base))))) | 150 | (downcase (if (< base 32) (logior base 64) base))))) |
| 151 | 151 | ||
| 152 | (defun event-object (event) | 152 | (defun event-object (event) |
| 153 | "Returns the function argument of the given timeout, menu, or eval event." | 153 | "Return the function argument of the given timeout, menu, or eval event." |
| 154 | (nth 2 event)) | 154 | (nth 2 event)) |
| 155 | 155 | ||
| 156 | (defun event-point (event) | 156 | (defun event-point (event) |
| 157 | "Returns the character position of the given mouse-related event. | 157 | "Return the character position of the given mouse-related event. |
| 158 | If the event did not occur over a window, or did | 158 | If the event did not occur over a window, or did |
| 159 | not occur over text, then this returns nil. Otherwise, it returns an index | 159 | not occur over text, then this returns nil. Otherwise, it returns an index |
| 160 | into the buffer visible in the event's window." | 160 | into the buffer visible in the event's window." |
| @@ -201,18 +201,18 @@ or for window WINDOW if that is specified." | |||
| 201 | (window-start start-window))))) | 201 | (window-start start-window))))) |
| 202 | 202 | ||
| 203 | (defun event-process (event) | 203 | (defun event-process (event) |
| 204 | "Returns the process of the given process-output event." | 204 | "Return the process of the given process-output event." |
| 205 | (nth 1 event)) | 205 | (nth 1 event)) |
| 206 | 206 | ||
| 207 | (defun event-timestamp (event) | 207 | (defun event-timestamp (event) |
| 208 | "Returns the timestamp of the given event object. | 208 | "Return the timestamp of the given event object. |
| 209 | In Lucid Emacs, this works for any kind of event. | 209 | In Lucid Emacs, this works for any kind of event. |
| 210 | In this emulation, it returns nil for non-mouse-related events." | 210 | In this emulation, it returns nil for non-mouse-related events." |
| 211 | (and (listp event) | 211 | (and (listp event) |
| 212 | (posn-timestamp (event-end event)))) | 212 | (posn-timestamp (event-end event)))) |
| 213 | 213 | ||
| 214 | (defun event-to-character (event &optional lenient) | 214 | (defun event-to-character (event &optional lenient) |
| 215 | "Returns the closest ASCII approximation to the given event object. | 215 | "Return the closest ASCII approximation to the given event object. |
| 216 | If the event isn't a keypress, this returns nil. | 216 | If the event isn't a keypress, this returns nil. |
| 217 | If the second argument is non-nil, then this is lenient in its | 217 | If the second argument is non-nil, then this is lenient in its |
| 218 | translation; it will ignore modifier keys other than control and meta, | 218 | translation; it will ignore modifier keys other than control and meta, |
| @@ -229,25 +229,25 @@ will be returned for events which have no direct ASCII equivalent." | |||
| 229 | event nil))) | 229 | event nil))) |
| 230 | 230 | ||
| 231 | (defun event-window (event) | 231 | (defun event-window (event) |
| 232 | "Returns the window of the given mouse-related event object." | 232 | "Return the window of the given mouse-related event object." |
| 233 | (posn-window (event-end event))) | 233 | (posn-window (event-end event))) |
| 234 | 234 | ||
| 235 | (defun event-x (event) | 235 | (defun event-x (event) |
| 236 | "Returns the X position in characters of the given mouse-related event." | 236 | "Return the X position in characters of the given mouse-related event." |
| 237 | (/ (car (posn-col-row (event-end event))) | 237 | (/ (car (posn-col-row (event-end event))) |
| 238 | (frame-char-width (window-frame (event-window event))))) | 238 | (frame-char-width (window-frame (event-window event))))) |
| 239 | 239 | ||
| 240 | (defun event-x-pixel (event) | 240 | (defun event-x-pixel (event) |
| 241 | "Returns the X position in pixels of the given mouse-related event." | 241 | "Return the X position in pixels of the given mouse-related event." |
| 242 | (car (posn-col-row (event-end event)))) | 242 | (car (posn-col-row (event-end event)))) |
| 243 | 243 | ||
| 244 | (defun event-y (event) | 244 | (defun event-y (event) |
| 245 | "Returns the Y position in characters of the given mouse-related event." | 245 | "Return the Y position in characters of the given mouse-related event." |
| 246 | (/ (cdr (posn-col-row (event-end event))) | 246 | (/ (cdr (posn-col-row (event-end event))) |
| 247 | (frame-char-height (window-frame (event-window event))))) | 247 | (frame-char-height (window-frame (event-window event))))) |
| 248 | 248 | ||
| 249 | (defun event-y-pixel (event) | 249 | (defun event-y-pixel (event) |
| 250 | "Returns the Y position in pixels of the given mouse-related event." | 250 | "Return the Y position in pixels of the given mouse-related event." |
| 251 | (cdr (posn-col-row (event-end event)))) | 251 | (cdr (posn-col-row (event-end event)))) |
| 252 | 252 | ||
| 253 | (defun key-press-event-p (obj) | 253 | (defun key-press-event-p (obj) |
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el index f4a8c0bf46f..2d28d003fd5 100644 --- a/lisp/progmodes/cc-engine.el +++ b/lisp/progmodes/cc-engine.el | |||
| @@ -2624,7 +2624,7 @@ comment at the start of cc-engine.el for more info." | |||
| 2624 | (< (point-max) c-state-old-cpp-end))) | 2624 | (< (point-max) c-state-old-cpp-end))) |
| 2625 | (point-max) | 2625 | (point-max) |
| 2626 | (min (point-max) c-state-old-cpp-beg))) | 2626 | (min (point-max) c-state-old-cpp-beg))) |
| 2627 | (while (and c-state-cache (> (c-state-cache-top-lparen) upper-lim)) | 2627 | (while (and c-state-cache (>= (c-state-cache-top-lparen) upper-lim)) |
| 2628 | (setq c-state-cache (cdr c-state-cache))) | 2628 | (setq c-state-cache (cdr c-state-cache))) |
| 2629 | ;; If `upper-lim' is inside the last recorded brace pair, remove its | 2629 | ;; If `upper-lim' is inside the last recorded brace pair, remove its |
| 2630 | ;; RBrace and indicate we'll need to search backwards for a previous | 2630 | ;; RBrace and indicate we'll need to search backwards for a previous |
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el index c94d750823d..594462d5125 100644 --- a/lisp/progmodes/make-mode.el +++ b/lisp/progmodes/make-mode.el | |||
| @@ -272,7 +272,7 @@ not be enclosed in { } or ( )." | |||
| 272 | "Characters to skip to find a line that might be a dependency.") | 272 | "Characters to skip to find a line that might be a dependency.") |
| 273 | 273 | ||
| 274 | (defvar makefile-rule-action-regex | 274 | (defvar makefile-rule-action-regex |
| 275 | "^\t[ \t]*\\([-@]*\\)[ \t]*\\(\\(?:.*\\\\\n\\)*.*\\)" | 275 | "^\t[ \t]*\\(?:\\([-@]+\\)[ \t]*\\)\\(.*\\(?:\\\\\n.*\\)*\\)" |
| 276 | "Regex used to highlight rule action lines in font lock mode.") | 276 | "Regex used to highlight rule action lines in font lock mode.") |
| 277 | 277 | ||
| 278 | (defconst makefile-makepp-rule-action-regex | 278 | (defconst makefile-makepp-rule-action-regex |
| @@ -355,8 +355,9 @@ not be enclosed in { } or ( )." | |||
| 355 | (3 'font-lock-string-face prepend t)) | 355 | (3 'font-lock-string-face prepend t)) |
| 356 | 356 | ||
| 357 | ;; Rule actions. | 357 | ;; Rule actions. |
| 358 | ;; FIXME: When this spans multiple lines we need font-lock-multiline. | ||
| 358 | (makefile-match-action | 359 | (makefile-match-action |
| 359 | (1 font-lock-type-face) | 360 | (1 font-lock-type-face nil t) |
| 360 | (2 'makefile-shell prepend) | 361 | (2 'makefile-shell prepend) |
| 361 | ;; Only makepp has builtin commands. | 362 | ;; Only makepp has builtin commands. |
| 362 | (3 font-lock-builtin-face prepend t)) | 363 | (3 font-lock-builtin-face prepend t)) |
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index ee7a52a1093..e5727f41e93 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el | |||
| @@ -359,7 +359,7 @@ property of the major mode name.") | |||
| 359 | (put 'html-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify) | 359 | (put 'html-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify) |
| 360 | (put 'nxml-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify) | 360 | (put 'nxml-mode 'flyspell-mode-predicate 'sgml-mode-flyspell-verify) |
| 361 | 361 | ||
| 362 | (declare-function sgml-lexical-context "sgml-mode" &optional limit) | 362 | (autoload 'sgml-lexical-context "sgml-mode") |
| 363 | 363 | ||
| 364 | (defun sgml-mode-flyspell-verify () | 364 | (defun sgml-mode-flyspell-verify () |
| 365 | "Function used for `flyspell-generic-check-word-predicate' in SGML mode. | 365 | "Function used for `flyspell-generic-check-word-predicate' in SGML mode. |
diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el index 4ec46183776..ce0ac32492d 100644 --- a/lisp/textmodes/reftex-vars.el +++ b/lisp/textmodes/reftex-vars.el | |||
| @@ -100,22 +100,22 @@ | |||
| 100 | 100 | ||
| 101 | ("enumerate" ?i "item:" "~\\ref{%s}" item | 101 | ("enumerate" ?i "item:" "~\\ref{%s}" item |
| 102 | (regexp "items?" "Punkte?")) | 102 | (regexp "items?" "Punkte?")) |
| 103 | 103 | ||
| 104 | ("equation" ?e "eq:" "~(\\ref{%s})" t | 104 | ("equation" ?e "eq:" "~(\\ref{%s})" t |
| 105 | (regexp "equations?" "eqs?\\." "eqn\\." "Gleichung\\(en\\)?" "Gl\\.")) | 105 | (regexp "equations?" "eqs?\\." "eqn\\." "Gleichung\\(en\\)?" "Gl\\.")) |
| 106 | ("eqnarray" ?e "eq:" nil eqnarray-like) | 106 | ("eqnarray" ?e "eq:" nil eqnarray-like) |
| 107 | 107 | ||
| 108 | ("figure" ?f "fig:" "~\\ref{%s}" caption | 108 | ("figure" ?f "fig:" "~\\ref{%s}" caption |
| 109 | (regexp "figure?[sn]?" "figs?\\." "Abbildung\\(en\\)?" "Abb\\.")) | 109 | (regexp "figure?[sn]?" "figs?\\." "Abbildung\\(en\\)?" "Abb\\.")) |
| 110 | ("figure*" ?f nil nil caption) | 110 | ("figure*" ?f nil nil caption) |
| 111 | 111 | ||
| 112 | ("table" ?t "tab:" "~\\ref{%s}" caption | 112 | ("table" ?t "tab:" "~\\ref{%s}" caption |
| 113 | (regexp "tables?" "tab\\." "Tabellen?")) | 113 | (regexp "tables?" "tab\\." "Tabellen?")) |
| 114 | ("table*" ?t nil nil caption) | 114 | ("table*" ?t nil nil caption) |
| 115 | 115 | ||
| 116 | ("\\footnote[]{}" ?n "fn:" "~\\ref{%s}" 2 | 116 | ("\\footnote[]{}" ?n "fn:" "~\\ref{%s}" 2 |
| 117 | (regexp "footnotes?" "Fussnoten?")) | 117 | (regexp "footnotes?" "Fussnoten?")) |
| 118 | 118 | ||
| 119 | ("any" ?\ " " "~\\ref{%s}" nil) | 119 | ("any" ?\ " " "~\\ref{%s}" nil) |
| 120 | 120 | ||
| 121 | ;; The label macro is hard coded, but it *could* be defined like this: | 121 | ;; The label macro is hard coded, but it *could* be defined like this: |
| @@ -207,7 +207,7 @@ The following conventions are valid for all alist entries: | |||
| 207 | `?t' should point to a textual citation (citation as a noun). | 207 | `?t' should point to a textual citation (citation as a noun). |
| 208 | `?p' should point to a parenthetical citation.") | 208 | `?p' should point to a parenthetical citation.") |
| 209 | 209 | ||
| 210 | (defconst reftex-index-macros-builtin | 210 | (defconst reftex-index-macros-builtin |
| 211 | '((default "Default \\index and \\glossary macros" | 211 | '((default "Default \\index and \\glossary macros" |
| 212 | (("\\index{*}" "idx" ?i "" nil t) | 212 | (("\\index{*}" "idx" ?i "" nil t) |
| 213 | ("\\glossary{*}" "glo" ?g "" nil t))) | 213 | ("\\glossary{*}" "glo" ?g "" nil t))) |
| @@ -219,9 +219,9 @@ The following conventions are valid for all alist entries: | |||
| 219 | (Index-Shortcut "index.sty with \\shortindexingon" | 219 | (Index-Shortcut "index.sty with \\shortindexingon" |
| 220 | (("\\index[]{*}" 1 ?i "" nil t) | 220 | (("\\index[]{*}" 1 ?i "" nil t) |
| 221 | ("\\index*[]{*}" 1 ?I "" nil nil) | 221 | ("\\index*[]{*}" 1 ?I "" nil nil) |
| 222 | ("^[]{*}" 1 ?^ "" texmathp t) | 222 | ("^[]{*}" 1 ?^ "" texmathp t) |
| 223 | ("_[]{*}" 1 ?_ "" texmathp nil)))) | 223 | ("_[]{*}" 1 ?_ "" texmathp nil)))) |
| 224 | "Builtin stuff for reftex-index-macros. | 224 | "Builtin stuff for `reftex-index-macros'. |
| 225 | Lower-case symbols correspond to a style file of the same name in the LaTeX | 225 | Lower-case symbols correspond to a style file of the same name in the LaTeX |
| 226 | distribution. Mixed-case symbols are convenience aliases.") | 226 | distribution. Mixed-case symbols are convenience aliases.") |
| 227 | ) | 227 | ) |
| @@ -231,7 +231,7 @@ distribution. Mixed-case symbols are convenience aliases.") | |||
| 231 | (defgroup reftex nil | 231 | (defgroup reftex nil |
| 232 | "LaTeX label and citation support." | 232 | "LaTeX label and citation support." |
| 233 | :tag "RefTeX" | 233 | :tag "RefTeX" |
| 234 | :link '(url-link :tag "Home Page" | 234 | :link '(url-link :tag "Home Page" |
| 235 | "http://staff.science.uva.nl/~dominik/Tools/reftex/") | 235 | "http://staff.science.uva.nl/~dominik/Tools/reftex/") |
| 236 | :link '(emacs-commentary-link :tag "Commentary in reftex.el" "reftex.el") | 236 | :link '(emacs-commentary-link :tag "Commentary in reftex.el" "reftex.el") |
| 237 | :link '(custom-manual "(reftex)Top") | 237 | :link '(custom-manual "(reftex)Top") |
| @@ -280,7 +280,7 @@ the backslash). The cdr is a number indicating its level. A negative | |||
| 280 | level means the same level as the positive value, but the section will | 280 | level means the same level as the positive value, but the section will |
| 281 | never get a number. The cdr may also be a function which will be called | 281 | never get a number. The cdr may also be a function which will be called |
| 282 | to after the section-re matched to determine the level. | 282 | to after the section-re matched to determine the level. |
| 283 | This list is also used for promotion and demption of sectioning commands. | 283 | This list is also used for promotion and demotion of sectioning commands. |
| 284 | If you are using a document class which has several sets of sectioning | 284 | If you are using a document class which has several sets of sectioning |
| 285 | commands, promotion only works correctly if this list is sorted first | 285 | commands, promotion only works correctly if this list is sorted first |
| 286 | by set, then within each set by level. The promotion commands always | 286 | by set, then within each set by level. The promotion commands always |
| @@ -318,7 +318,7 @@ are currently working in. Recentering happens whenever Emacs is idle for | |||
| 318 | more than `reftex-idle-time' seconds. | 318 | more than `reftex-idle-time' seconds. |
| 319 | 319 | ||
| 320 | Value t means, turn on immediately when RefTeX gets started. Then, | 320 | Value t means, turn on immediately when RefTeX gets started. Then, |
| 321 | recentering will work for any toc window created during the session. | 321 | recentering will work for any TOC window created during the session. |
| 322 | 322 | ||
| 323 | Value 'frame (the default) means, turn automatic recentering on only while the | 323 | Value 'frame (the default) means, turn automatic recentering on only while the |
| 324 | dedicated TOC frame does exist, and do the recentering only in that frame. So | 324 | dedicated TOC frame does exist, and do the recentering only in that frame. So |
| @@ -326,14 +326,14 @@ when creating that frame (with \"d\" key in an ordinary TOC window), the | |||
| 326 | automatic recentering is turned on. When the frame gets destroyed, automatic | 326 | automatic recentering is turned on. When the frame gets destroyed, automatic |
| 327 | recentering is turned off again. | 327 | recentering is turned off again. |
| 328 | 328 | ||
| 329 | This feature can be turned on and off from the menu | 329 | This feature can be turned on and off from the menu |
| 330 | \(Ref->Options)." | 330 | \(Ref->Options)." |
| 331 | :group 'reftex-table-of-contents-browser | 331 | :group 'reftex-table-of-contents-browser |
| 332 | :type '(choice | 332 | :type '(choice |
| 333 | (const :tag "never" nil) | 333 | (const :tag "never" nil) |
| 334 | (const :tag "always" t) | 334 | (const :tag "always" t) |
| 335 | (const :tag "in dedicated frame only" frame))) | 335 | (const :tag "in dedicated frame only" frame))) |
| 336 | 336 | ||
| 337 | (defcustom reftex-toc-split-windows-horizontally nil | 337 | (defcustom reftex-toc-split-windows-horizontally nil |
| 338 | "*Non-nil means, create TOC window by splitting window horizontally." | 338 | "*Non-nil means, create TOC window by splitting window horizontally." |
| 339 | :group 'reftex-table-of-contents-browser | 339 | :group 'reftex-table-of-contents-browser |
| @@ -407,7 +407,7 @@ When nil, follow-mode will be suspended for stuff in unvisited files." | |||
| 407 | :type 'boolean) | 407 | :type 'boolean) |
| 408 | 408 | ||
| 409 | (defcustom reftex-toc-mode-hook nil | 409 | (defcustom reftex-toc-mode-hook nil |
| 410 | "Mode hook for reftex-toc-mode." | 410 | "Mode hook for `reftex-toc-mode'." |
| 411 | :group 'reftex-table-of-contents-browser | 411 | :group 'reftex-table-of-contents-browser |
| 412 | :type 'hook) | 412 | :type 'hook) |
| 413 | 413 | ||
| @@ -425,7 +425,7 @@ When nil, follow-mode will be suspended for stuff in unvisited files." | |||
| 425 | '(amsmath endnotes fancybox floatfig longtable picinpar | 425 | '(amsmath endnotes fancybox floatfig longtable picinpar |
| 426 | rotating sidecap subfigure supertab wrapfig LaTeX) | 426 | rotating sidecap subfigure supertab wrapfig LaTeX) |
| 427 | "Default label alist specifications. LaTeX should always be the last entry. | 427 | "Default label alist specifications. LaTeX should always be the last entry. |
| 428 | The value of this variable is a list of symbols with associations in the | 428 | The value of this variable is a list of symbols with associations in the |
| 429 | constant `reftex-label-alist-builtin'. Check that constant for a full list | 429 | constant `reftex-label-alist-builtin'. Check that constant for a full list |
| 430 | of options." | 430 | of options." |
| 431 | :group 'reftex-defining-label-environments | 431 | :group 'reftex-defining-label-environments |
| @@ -624,7 +624,7 @@ list. However, builtin defaults should normally be set with the variable | |||
| 624 | (defcustom reftex-section-prefixes '((0 . "part:") (1 . "cha:") (t . "sec:")) | 624 | (defcustom reftex-section-prefixes '((0 . "part:") (1 . "cha:") (t . "sec:")) |
| 625 | "Prefixes for section labels. | 625 | "Prefixes for section labels. |
| 626 | When the label prefix given in an entry in `reftex-label-alist' contains `%S', | 626 | When the label prefix given in an entry in `reftex-label-alist' contains `%S', |
| 627 | this list is used to determine the correct prefix string depending on the | 627 | this list is used to determine the correct prefix string depending on the |
| 628 | current section level. | 628 | current section level. |
| 629 | The list is an alist, with each entry of the form (KEY . PREFIX) | 629 | The list is an alist, with each entry of the form (KEY . PREFIX) |
| 630 | Possible keys are sectioning macro names like `chapter', section levels | 630 | Possible keys are sectioning macro names like `chapter', section levels |
| @@ -686,7 +686,7 @@ non-footnote labels." | |||
| 686 | (regexp) | 686 | (regexp) |
| 687 | (repeat :tag "List" | 687 | (repeat :tag "List" |
| 688 | (string :tag "prefix (with colon)")))) | 688 | (string :tag "prefix (with colon)")))) |
| 689 | 689 | ||
| 690 | (defcustom reftex-special-environment-functions nil | 690 | (defcustom reftex-special-environment-functions nil |
| 691 | "List of functions to be called when trying to figure out current environment. | 691 | "List of functions to be called when trying to figure out current environment. |
| 692 | These are special functions to detect \"environments\" which do not | 692 | These are special functions to detect \"environments\" which do not |
| @@ -732,7 +732,7 @@ And here is the setup for RefTeX: | |||
| 732 | (let ((pos (point)) p1) | 732 | (let ((pos (point)) p1) |
| 733 | (save-excursion | 733 | (save-excursion |
| 734 | ;; Search for any of the linguex item macros at the beginning of a line | 734 | ;; Search for any of the linguex item macros at the beginning of a line |
| 735 | (if (re-search-backward | 735 | (if (re-search-backward |
| 736 | \"^[ \\t]*\\\\(\\\\\\\\\\\\(ex\\\\|a\\\\|b\\\\|c\\\\|d\\\\|e\\\\|f\\\\)g?\\\\.\\\\)\" bound t) | 736 | \"^[ \\t]*\\\\(\\\\\\\\\\\\(ex\\\\|a\\\\|b\\\\|c\\\\|d\\\\|e\\\\|f\\\\)g?\\\\.\\\\)\" bound t) |
| 737 | (progn | 737 | (progn |
| 738 | (setq p1 (match-beginning 1)) | 738 | (setq p1 (match-beginning 1)) |
| @@ -742,7 +742,7 @@ And here is the setup for RefTeX: | |||
| 742 | nil | 742 | nil |
| 743 | ;; OK, we got it | 743 | ;; OK, we got it |
| 744 | (cons \"linguex\" p1))) | 744 | (cons \"linguex\" p1))) |
| 745 | ;; Return nil for not found | 745 | ;; Return nil for not found |
| 746 | nil)))) | 746 | nil)))) |
| 747 | 747 | ||
| 748 | 3. Tell RefTeX to use this function | 748 | 3. Tell RefTeX to use this function |
| @@ -941,7 +941,7 @@ This is used to string together whole reference sets, like | |||
| 941 | 941 | ||
| 942 | (defcustom reftex-vref-is-default nil | 942 | (defcustom reftex-vref-is-default nil |
| 943 | "*Non-nil means, the varioref macro \\vref is used as default. | 943 | "*Non-nil means, the varioref macro \\vref is used as default. |
| 944 | In the selection buffer, the `v' key toggles the reference macro between | 944 | In the selection buffer, the `v' key toggles the reference macro between |
| 945 | `\\ref' and `\\vref'. The value of this variable determines the default | 945 | `\\ref' and `\\vref'. The value of this variable determines the default |
| 946 | which is active when entering the selection process. | 946 | which is active when entering the selection process. |
| 947 | Instead of nil or t, this may also be a string of type letters indicating | 947 | Instead of nil or t, this may also be a string of type letters indicating |
| @@ -952,7 +952,7 @@ the label types for which it should be true." | |||
| 952 | 952 | ||
| 953 | (defcustom reftex-fref-is-default nil | 953 | (defcustom reftex-fref-is-default nil |
| 954 | "*Non-nil means, the fancyref macro \\fref is used as default. | 954 | "*Non-nil means, the fancyref macro \\fref is used as default. |
| 955 | In the selection buffer, the `V' key toggles the reference macro between | 955 | In the selection buffer, the `V' key toggles the reference macro between |
| 956 | `\\ref', `\\fref' and `\\Fref'. The value of this variable determines | 956 | `\\ref', `\\fref' and `\\Fref'. The value of this variable determines |
| 957 | the default which is active when entering the selection process. | 957 | the default which is active when entering the selection process. |
| 958 | Instead of nil or t, this may also be a string of type letters indicating | 958 | Instead of nil or t, this may also be a string of type letters indicating |
| @@ -979,7 +979,7 @@ a label type. If you set this variable to nil, RefTeX will always prompt." | |||
| 979 | 979 | ||
| 980 | (defcustom reftex-format-ref-function nil | 980 | (defcustom reftex-format-ref-function nil |
| 981 | "Function which produces the string to insert as a reference. | 981 | "Function which produces the string to insert as a reference. |
| 982 | Normally should be nil, because the format to insert a reference can | 982 | Normally should be nil, because the format to insert a reference can |
| 983 | already be specified in `reftex-label-alist'. | 983 | already be specified in `reftex-label-alist'. |
| 984 | This hook also is used by the special commands to insert `\\vref' and `\\fref' | 984 | This hook also is used by the special commands to insert `\\vref' and `\\fref' |
| 985 | references, so even if you set this, your setting will be ignored by | 985 | references, so even if you set this, your setting will be ignored by |
| @@ -1060,13 +1060,13 @@ It is also possible to access all other BibTeX database fields: | |||
| 1060 | %i institution %j journal %k key %m month | 1060 | %i institution %j journal %k key %m month |
| 1061 | %n number %o organization %p pages %P first page | 1061 | %n number %o organization %p pages %P first page |
| 1062 | %r address %s school %u publisher %t title | 1062 | %r address %s school %u publisher %t title |
| 1063 | %v volume %y year | 1063 | %v volume %y year |
| 1064 | %B booktitle, abbreviated %T title, abbreviated | 1064 | %B booktitle, abbreviated %T title, abbreviated |
| 1065 | 1065 | ||
| 1066 | Usually, only %l is needed. The other stuff is mainly for the echo area | 1066 | Usually, only %l is needed. The other stuff is mainly for the echo area |
| 1067 | display, and for (setq reftex-comment-citations t). | 1067 | display, and for (setq reftex-comment-citations t). |
| 1068 | 1068 | ||
| 1069 | %< as a special operator kills punctuation and space around it after the | 1069 | %< as a special operator kills punctuation and space around it after the |
| 1070 | string has been formatted. | 1070 | string has been formatted. |
| 1071 | 1071 | ||
| 1072 | A pair of square brackets indicates an optional argument, and RefTeX | 1072 | A pair of square brackets indicates an optional argument, and RefTeX |
| @@ -1081,7 +1081,7 @@ will be prompted for a character to select one of the possible format | |||
| 1081 | strings. | 1081 | strings. |
| 1082 | In order to configure this variable, you can either set | 1082 | In order to configure this variable, you can either set |
| 1083 | `reftex-cite-format' directly yourself or set it to the SYMBOL of one of | 1083 | `reftex-cite-format' directly yourself or set it to the SYMBOL of one of |
| 1084 | the predefined styles. The predefined symbols are those which have an | 1084 | the predefined styles. The predefined symbols are those which have an |
| 1085 | association in the constant `reftex-cite-format-builtin'. | 1085 | association in the constant `reftex-cite-format-builtin'. |
| 1086 | E.g.: (setq reftex-cite-format 'natbib)" | 1086 | E.g.: (setq reftex-cite-format 'natbib)" |
| 1087 | :group 'reftex-citation-support | 1087 | :group 'reftex-citation-support |
| @@ -1164,8 +1164,8 @@ possible percent escapes." | |||
| 1164 | (defcustom reftex-cite-punctuation '(", " " \\& " " {\\it et al.}") | 1164 | (defcustom reftex-cite-punctuation '(", " " \\& " " {\\it et al.}") |
| 1165 | "Punctuation for formatting of name lists in citations. | 1165 | "Punctuation for formatting of name lists in citations. |
| 1166 | This is a list of 3 strings. | 1166 | This is a list of 3 strings. |
| 1167 | 1. normal names separator, like \", \" in Jones, Brown and Miller | 1167 | 1. Normal names separator, like \", \" in Jones, Brown and Miller |
| 1168 | 2. final names separator, like \" and \" in Jones, Brown and Miller | 1168 | 2. Final names separator, like \" and \" in Jones, Brown and Miller |
| 1169 | 3. The \"et al\" string, like \" {\\it et al.}\" in Jones {\\it et al.}" | 1169 | 3. The \"et al\" string, like \" {\\it et al.}\" in Jones {\\it et al.}" |
| 1170 | :group 'reftex-citation-support | 1170 | :group 'reftex-citation-support |
| 1171 | :type '(list | 1171 | :type '(list |
| @@ -1175,7 +1175,7 @@ This is a list of 3 strings. | |||
| 1175 | 1175 | ||
| 1176 | (defcustom reftex-format-cite-function nil | 1176 | (defcustom reftex-format-cite-function nil |
| 1177 | "Function which produces the string to insert as a citation. | 1177 | "Function which produces the string to insert as a citation. |
| 1178 | Normally should be nil, because the format to insert a reference can | 1178 | Normally should be nil, because the format to insert a reference can |
| 1179 | already be specified in `reftex-cite-format'. | 1179 | already be specified in `reftex-cite-format'. |
| 1180 | The function will be called with two arguments, the CITATION KEY and the | 1180 | The function will be called with two arguments, the CITATION KEY and the |
| 1181 | DEFAULT FORMAT, which is taken from `reftex-cite-format'. The function | 1181 | DEFAULT FORMAT, which is taken from `reftex-cite-format'. The function |
| @@ -1258,7 +1258,7 @@ package here." | |||
| 1258 | :group 'reftex-index-support | 1258 | :group 'reftex-index-support |
| 1259 | :set 'reftex-set-dirty | 1259 | :set 'reftex-set-dirty |
| 1260 | :type `(list | 1260 | :type `(list |
| 1261 | (repeat | 1261 | (repeat |
| 1262 | :inline t | 1262 | :inline t |
| 1263 | (list :value ("" "idx" ?a "" nil) | 1263 | (list :value ("" "idx" ?a "" nil) |
| 1264 | (string :tag "Macro with args") | 1264 | (string :tag "Macro with args") |
| @@ -1285,7 +1285,7 @@ package here." | |||
| 1285 | This is a list with (MACRO-KEY DEFAULT-TAG). | 1285 | This is a list with (MACRO-KEY DEFAULT-TAG). |
| 1286 | 1286 | ||
| 1287 | MACRO-KEY: Character identifying an index macro - see `reftex-index-macros'. | 1287 | MACRO-KEY: Character identifying an index macro - see `reftex-index-macros'. |
| 1288 | DEFAULT-TAG: This is the tag to be used if the macro requires a TAG argument. | 1288 | DEFAULT-TAG: This is the tag to be used if the macro requires a TAG argument. |
| 1289 | When this is nil and a TAG is needed, RefTeX will ask for it. | 1289 | When this is nil and a TAG is needed, RefTeX will ask for it. |
| 1290 | When this is the empty string and the TAG argument of the index | 1290 | When this is the empty string and the TAG argument of the index |
| 1291 | macro is optional, the TAG argument will be omitted." | 1291 | macro is optional, the TAG argument will be omitted." |
| @@ -1426,7 +1426,7 @@ to that section." | |||
| 1426 | 1426 | ||
| 1427 | (defcustom reftex-index-include-context nil | 1427 | (defcustom reftex-index-include-context nil |
| 1428 | "*Non-nil means, display the index definition context in the index buffer. | 1428 | "*Non-nil means, display the index definition context in the index buffer. |
| 1429 | This flag may also be toggled from the index buffer with the `c' key." | 1429 | This flag may also be toggled from the index buffer with the `c' key." |
| 1430 | :group 'reftex-index-support | 1430 | :group 'reftex-index-support |
| 1431 | :type 'boolean) | 1431 | :type 'boolean) |
| 1432 | 1432 | ||
| @@ -1449,7 +1449,7 @@ This is used when `reftex-view-crossref' is called with point in an | |||
| 1449 | argument of a macro. Note that crossref viewing for citations, | 1449 | argument of a macro. Note that crossref viewing for citations, |
| 1450 | references (both ways) and index entries is hard-coded. This variable | 1450 | references (both ways) and index entries is hard-coded. This variable |
| 1451 | is only to configure additional structures for which crossreference | 1451 | is only to configure additional structures for which crossreference |
| 1452 | viewing can be useful. Each entry has the structure | 1452 | viewing can be useful. Each entry has the structure |
| 1453 | 1453 | ||
| 1454 | \(MACRO-RE SEARCH-RE HIGHLIGHT). | 1454 | \(MACRO-RE SEARCH-RE HIGHLIGHT). |
| 1455 | 1455 | ||
| @@ -1470,7 +1470,7 @@ argument of a \\ref or \\cite macro, and no other message is being | |||
| 1470 | displayed, the echo area will display information about that cross | 1470 | displayed, the echo area will display information about that cross |
| 1471 | reference. You can also set the variable to the symbol `window'. In | 1471 | reference. You can also set the variable to the symbol `window'. In |
| 1472 | this case a small temporary window is used for the display. | 1472 | this case a small temporary window is used for the display. |
| 1473 | This feature can be turned on and off from the menu | 1473 | This feature can be turned on and off from the menu |
| 1474 | \(Ref->Options)." | 1474 | \(Ref->Options)." |
| 1475 | :group 'reftex-viewing-cross-references | 1475 | :group 'reftex-viewing-cross-references |
| 1476 | :type '(choice (const :tag "off" nil) | 1476 | :type '(choice (const :tag "off" nil) |
| @@ -1516,7 +1516,7 @@ Several entries are possible. | |||
| 1516 | - If an element is the name of an environment variable, its content is used. | 1516 | - If an element is the name of an environment variable, its content is used. |
| 1517 | - If an element starts with an exclamation mark, it is used as a command | 1517 | - If an element starts with an exclamation mark, it is used as a command |
| 1518 | to retrieve the path. A typical command with the kpathsearch library would | 1518 | to retrieve the path. A typical command with the kpathsearch library would |
| 1519 | be `!kpsewhich -show-path=.tex'. | 1519 | be `!kpsewhich -show-path=.tex'. |
| 1520 | - Otherwise the element itself is interpreted as a path. | 1520 | - Otherwise the element itself is interpreted as a path. |
| 1521 | Multiple directories can be separated by the system dependent `path-separator'. | 1521 | Multiple directories can be separated by the system dependent `path-separator'. |
| 1522 | Directories ending in `//' or `!!' will be expanded recursively. | 1522 | Directories ending in `//' or `!!' will be expanded recursively. |
| @@ -1531,7 +1531,7 @@ Several entries are possible. | |||
| 1531 | - If an element is the name of an environment variable, its content is used. | 1531 | - If an element is the name of an environment variable, its content is used. |
| 1532 | - If an element starts with an exclamation mark, it is used as a command | 1532 | - If an element starts with an exclamation mark, it is used as a command |
| 1533 | to retrieve the path. A typical command with the kpathsearch library would | 1533 | to retrieve the path. A typical command with the kpathsearch library would |
| 1534 | be `!kpsewhich -show-path=.bib'. | 1534 | be `!kpsewhich -show-path=.bib'. |
| 1535 | - Otherwise the element itself is interpreted as a path. | 1535 | - Otherwise the element itself is interpreted as a path. |
| 1536 | Multiple directories can be separated by the system dependent `path-separator'. | 1536 | Multiple directories can be separated by the system dependent `path-separator'. |
| 1537 | Directories ending in `//' or `!!' will be expanded recursively. | 1537 | Directories ending in `//' or `!!' will be expanded recursively. |
| @@ -1575,7 +1575,7 @@ Note that if you are using external file finders, this option has no effect." | |||
| 1575 | "*Non-nil means, search all specified directories before trying recursion. | 1575 | "*Non-nil means, search all specified directories before trying recursion. |
| 1576 | Thus, in a path \".//:/tex/\", search first \"./\", then \"/tex/\" and then | 1576 | Thus, in a path \".//:/tex/\", search first \"./\", then \"/tex/\" and then |
| 1577 | all subdirectories of \"./\". If this option is nil, the subdirectories of | 1577 | all subdirectories of \"./\". If this option is nil, the subdirectories of |
| 1578 | \"./\" are searched before \"/tex/\". This is mainly for speed - most of the | 1578 | \"./\" are searched before \"/tex/\". This is mainly for speed - most of the |
| 1579 | time the recursive path is for the system files and not for the user files. | 1579 | time the recursive path is for the system files and not for the user files. |
| 1580 | Set this to nil if the default makes RefTeX finding files with equal names | 1580 | Set this to nil if the default makes RefTeX finding files with equal names |
| 1581 | in wrong sequence." | 1581 | in wrong sequence." |
| @@ -1588,7 +1588,7 @@ Normally, RefTeX searches the paths given in the environment variables | |||
| 1588 | TEXINPUTS and BIBINPUTS to find TeX files and BibTeX database files. | 1588 | TEXINPUTS and BIBINPUTS to find TeX files and BibTeX database files. |
| 1589 | With this option turned on, it calls an external program specified in the | 1589 | With this option turned on, it calls an external program specified in the |
| 1590 | option `reftex-external-file-finders' instead. As a side effect, | 1590 | option `reftex-external-file-finders' instead. As a side effect, |
| 1591 | the variables `reftex-texpath-environment-variables' and | 1591 | the variables `reftex-texpath-environment-variables' and |
| 1592 | `reftex-bibpath-environment-variables' will be ignored." | 1592 | `reftex-bibpath-environment-variables' will be ignored." |
| 1593 | :group 'reftex-finding-files | 1593 | :group 'reftex-finding-files |
| 1594 | :type 'boolean) | 1594 | :type 'boolean) |
| @@ -1679,7 +1679,7 @@ list." | |||
| 1679 | (defcustom reftex-save-parse-info nil | 1679 | (defcustom reftex-save-parse-info nil |
| 1680 | "*Non-nil means, save information gathered with parsing in a file. | 1680 | "*Non-nil means, save information gathered with parsing in a file. |
| 1681 | The file MASTER.rel in the same directory as MASTER.tex is used to save the | 1681 | The file MASTER.rel in the same directory as MASTER.tex is used to save the |
| 1682 | information. When this variable is t, | 1682 | information. When this variable is t, |
| 1683 | - accessing the parsing information for the first time in an editing session | 1683 | - accessing the parsing information for the first time in an editing session |
| 1684 | will read that file (if available) instead of parsing the document. | 1684 | will read that file (if available) instead of parsing the document. |
| 1685 | - exiting Emacs or killing a buffer in reftex-mode will cause a new version | 1685 | - exiting Emacs or killing a buffer in reftex-mode will cause a new version |
| @@ -1753,7 +1753,7 @@ Normally, the text near the cursor is the selected text, and it is | |||
| 1753 | highlighted. This is the entry most keys in the selction and *toc* | 1753 | highlighted. This is the entry most keys in the selction and *toc* |
| 1754 | buffers act on. However, if you mainly use the mouse to select an | 1754 | buffers act on. However, if you mainly use the mouse to select an |
| 1755 | item, you may find it nice to have mouse-triggered highlighting | 1755 | item, you may find it nice to have mouse-triggered highlighting |
| 1756 | instead or as well. The variable may have one of these values: | 1756 | instead or as well. The variable may have one of these values: |
| 1757 | 1757 | ||
| 1758 | nil No highlighting. | 1758 | nil No highlighting. |
| 1759 | cursor Highlighting is cursor driven. | 1759 | cursor Highlighting is cursor driven. |
| @@ -1882,7 +1882,7 @@ RefTeX uses `fset' to take over the function calls. Changing the variable | |||
| 1882 | may require a restart of Emacs in order to become effective." | 1882 | may require a restart of Emacs in order to become effective." |
| 1883 | :group 'reftex-miscellaneous-configurations | 1883 | :group 'reftex-miscellaneous-configurations |
| 1884 | :group 'LaTeX | 1884 | :group 'LaTeX |
| 1885 | :type '(choice | 1885 | :type '(choice |
| 1886 | (const :tag "No plug-ins" nil) | 1886 | (const :tag "No plug-ins" nil) |
| 1887 | (const :tag "All possible plug-ins" t) | 1887 | (const :tag "All possible plug-ins" t) |
| 1888 | (list | 1888 | (list |
diff --git a/lisp/woman.el b/lisp/woman.el index b365126ecb9..79d6d84aff1 100644 --- a/lisp/woman.el +++ b/lisp/woman.el | |||
| @@ -3876,10 +3876,14 @@ Optional argument NUMERIC, if non-nil, means the argument is numeric." | |||
| 3876 | ;; The first two cases below could be merged (maybe)! | 3876 | ;; The first two cases below could be merged (maybe)! |
| 3877 | (let ((from (point))) | 3877 | (let ((from (point))) |
| 3878 | ;; Discard zero width filler character used to hide leading dots | 3878 | ;; Discard zero width filler character used to hide leading dots |
| 3879 | ;; and zero width characters. If on a line by itself, consume the | 3879 | ;; and zero width characters. |
| 3880 | ;; newline as well, as this may interfere with (Bug#3651). | 3880 | (while (re-search-forward "\\\\[&|^]" to t) |
| 3881 | (while (re-search-forward "\\\\[&|^]\n?" to t) | 3881 | (woman-delete-match 0) |
| 3882 | (woman-delete-match 0)) | 3882 | ;; If on a line by itself, consume newline as well (Bug#3651). |
| 3883 | (and (eq (char-before (match-beginning 0)) ?\n) | ||
| 3884 | (eq (char-after (match-beginning 0)) ?\n) | ||
| 3885 | (delete-char 1))) | ||
| 3886 | |||
| 3883 | (goto-char from) | 3887 | (goto-char from) |
| 3884 | ;; Interrupt text processing -- CONTINUE current text with the | 3888 | ;; Interrupt text processing -- CONTINUE current text with the |
| 3885 | ;; next text line (after any control lines, unless processing to | 3889 | ;; next text line (after any control lines, unless processing to |
diff --git a/nextstep/Cocoa/Emacs.base/Contents/Info.plist b/nextstep/Cocoa/Emacs.base/Contents/Info.plist index c32b85f6b0d..f064a1248ea 100644 --- a/nextstep/Cocoa/Emacs.base/Contents/Info.plist +++ b/nextstep/Cocoa/Emacs.base/Contents/Info.plist | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | <!-- | 1 | <!-- |
| 2 | Copyright (C) 2008, 2009 Free Software Foundation, Inc. | 2 | Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is part of GNU Emacs. | 4 | This file is part of GNU Emacs. |
| 5 | 5 | ||
diff --git a/src/ChangeLog b/src/ChangeLog index 82a06956800..a2e5262c02b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,29 @@ | |||
| 1 | 2010-03-24 Jan Djärv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * frame.c (x_get_arg): Handle RES_TYPE_BOOLEAN_NUMBER (bug #5736). | ||
| 4 | |||
| 5 | * xfns.c (Fx_create_frame): Make menuBar a RES_TYPE_BOOLEAN_NUMBER. | ||
| 6 | |||
| 7 | * dispextern.h (resource_types): RES_TYPE_BOOLEAN_NUMBER is new. | ||
| 8 | |||
| 9 | 2010-03-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 10 | |||
| 11 | * xfns.c (Fx_create_frame) [USE_LUCID]: Add BLOCK_INPUT around | ||
| 12 | XLoadQueryFont. | ||
| 13 | |||
| 14 | 2010-03-24 Kenichi Handa <handa@m17n.org> | ||
| 15 | |||
| 16 | * coding.c (decode_coding_ccl): Fix previous change for the | ||
| 17 | multibyte case. | ||
| 18 | (encode_coding_ccl): Don't setup ccl program here. Fix for the | ||
| 19 | case that the output buffer is fullfilled. | ||
| 20 | (encode_coding): Setup ccl program here. | ||
| 21 | |||
| 22 | 2010-03-24 Andreas Politz <politza@fh-trier.de> (tiny change) | ||
| 23 | |||
| 24 | * editfns.c (Fformat): Account for string precision when computing | ||
| 25 | field width (Bug#5710). | ||
| 26 | |||
| 1 | 2010-03-23 Dan Nicolaescu <dann@ics.uci.edu> | 27 | 2010-03-23 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 28 | ||
| 3 | * s/gnu-linux.h (LIBS_SYSTEM): Remove, same as default. | 29 | * s/gnu-linux.h (LIBS_SYSTEM): Remove, same as default. |
diff --git a/src/ChangeLog.7 b/src/ChangeLog.7 index 30ac527215f..6cc3d0f9e3e 100644 --- a/src/ChangeLog.7 +++ b/src/ChangeLog.7 | |||
| @@ -7154,9 +7154,9 @@ | |||
| 7154 | (ENCODE_ISO_CHARACTER): Bug of handling return value of unify_char | 7154 | (ENCODE_ISO_CHARACTER): Bug of handling return value of unify_char |
| 7155 | fixed. | 7155 | fixed. |
| 7156 | (DECODE_SJIS_BIG5_CHARACTER): New macro. | 7156 | (DECODE_SJIS_BIG5_CHARACTER): New macro. |
| 7157 | (decode_coding_sjis_big5): Handle character unificatoin table. | 7157 | (decode_coding_sjis_big5): Handle character unification table. |
| 7158 | Use macro DECODE_SJIS_BIG5_CHARACTER. | 7158 | Use macro DECODE_SJIS_BIG5_CHARACTER. |
| 7159 | (encode_coding_sjis_big5): Handle character unificatoin table. | 7159 | (encode_coding_sjis_big5): Handle character unification table. |
| 7160 | Use macro ENCODE_SJIS_BIG5_CHARACTER. | 7160 | Use macro ENCODE_SJIS_BIG5_CHARACTER. |
| 7161 | (setup_coding_system): Handle members | 7161 | (setup_coding_system): Handle members |
| 7162 | character_unification_table_for_decode and | 7162 | character_unification_table_for_decode and |
diff --git a/src/coding.c b/src/coding.c index df81eaba16e..bdc37cb7c53 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -5245,7 +5245,7 @@ decode_coding_ccl (coding) | |||
| 5245 | int multibytep = coding->src_multibyte; | 5245 | int multibytep = coding->src_multibyte; |
| 5246 | struct ccl_program *ccl = &coding->spec.ccl->ccl; | 5246 | struct ccl_program *ccl = &coding->spec.ccl->ccl; |
| 5247 | int source_charbuf[1024]; | 5247 | int source_charbuf[1024]; |
| 5248 | int source_byteidx[1024]; | 5248 | int source_byteidx[1025]; |
| 5249 | Lisp_Object attrs, charset_list; | 5249 | Lisp_Object attrs, charset_list; |
| 5250 | 5250 | ||
| 5251 | CODING_GET_INFO (coding, attrs, charset_list); | 5251 | CODING_GET_INFO (coding, attrs, charset_list); |
| @@ -5256,11 +5256,14 @@ decode_coding_ccl (coding) | |||
| 5256 | int i = 0; | 5256 | int i = 0; |
| 5257 | 5257 | ||
| 5258 | if (multibytep) | 5258 | if (multibytep) |
| 5259 | while (i < 1024 && p < src_end) | 5259 | { |
| 5260 | { | 5260 | while (i < 1024 && p < src_end) |
| 5261 | source_byteidx[i] = p - src; | 5261 | { |
| 5262 | source_charbuf[i++] = STRING_CHAR_ADVANCE (p); | 5262 | source_byteidx[i] = p - src; |
| 5263 | } | 5263 | source_charbuf[i++] = STRING_CHAR_ADVANCE (p); |
| 5264 | } | ||
| 5265 | source_byteidx[i] = p - src; | ||
| 5266 | } | ||
| 5264 | else | 5267 | else |
| 5265 | while (i < 1024 && p < src_end) | 5268 | while (i < 1024 && p < src_end) |
| 5266 | source_charbuf[i++] = *p++; | 5269 | source_charbuf[i++] = *p++; |
| @@ -5270,7 +5273,7 @@ decode_coding_ccl (coding) | |||
| 5270 | ccl_driver (ccl, source_charbuf, charbuf, i, charbuf_end - charbuf, | 5273 | ccl_driver (ccl, source_charbuf, charbuf, i, charbuf_end - charbuf, |
| 5271 | charset_list); | 5274 | charset_list); |
| 5272 | charbuf += ccl->produced; | 5275 | charbuf += ccl->produced; |
| 5273 | if (multibytep && ccl->consumed < i) | 5276 | if (multibytep) |
| 5274 | src += source_byteidx[ccl->consumed]; | 5277 | src += source_byteidx[ccl->consumed]; |
| 5275 | else | 5278 | else |
| 5276 | src += ccl->consumed; | 5279 | src += ccl->consumed; |
| @@ -5304,7 +5307,7 @@ static int | |||
| 5304 | encode_coding_ccl (coding) | 5307 | encode_coding_ccl (coding) |
| 5305 | struct coding_system *coding; | 5308 | struct coding_system *coding; |
| 5306 | { | 5309 | { |
| 5307 | struct ccl_program ccl; | 5310 | struct ccl_program *ccl = &coding->spec.ccl->ccl; |
| 5308 | int multibytep = coding->dst_multibyte; | 5311 | int multibytep = coding->dst_multibyte; |
| 5309 | int *charbuf = coding->charbuf; | 5312 | int *charbuf = coding->charbuf; |
| 5310 | int *charbuf_end = charbuf + coding->charbuf_used; | 5313 | int *charbuf_end = charbuf + coding->charbuf_used; |
| @@ -5315,35 +5318,34 @@ encode_coding_ccl (coding) | |||
| 5315 | Lisp_Object attrs, charset_list; | 5318 | Lisp_Object attrs, charset_list; |
| 5316 | 5319 | ||
| 5317 | CODING_GET_INFO (coding, attrs, charset_list); | 5320 | CODING_GET_INFO (coding, attrs, charset_list); |
| 5318 | setup_ccl_program (&ccl, CODING_CCL_ENCODER (coding)); | 5321 | if (coding->consumed_char == coding->src_chars |
| 5319 | 5322 | && coding->mode & CODING_MODE_LAST_BLOCK) | |
| 5320 | ccl.last_block = coding->mode & CODING_MODE_LAST_BLOCK; | 5323 | ccl->last_block = 1; |
| 5321 | ccl.dst_multibyte = coding->dst_multibyte; | ||
| 5322 | 5324 | ||
| 5323 | while (charbuf < charbuf_end) | 5325 | while (charbuf < charbuf_end) |
| 5324 | { | 5326 | { |
| 5325 | ccl_driver (&ccl, charbuf, destination_charbuf, | 5327 | ccl_driver (ccl, charbuf, destination_charbuf, |
| 5326 | charbuf_end - charbuf, 1024, charset_list); | 5328 | charbuf_end - charbuf, 1024, charset_list); |
| 5327 | if (multibytep) | 5329 | if (multibytep) |
| 5328 | { | 5330 | { |
| 5329 | ASSURE_DESTINATION (ccl.produced * 2); | 5331 | ASSURE_DESTINATION (ccl->produced * 2); |
| 5330 | for (i = 0; i < ccl.produced; i++) | 5332 | for (i = 0; i < ccl->produced; i++) |
| 5331 | EMIT_ONE_BYTE (destination_charbuf[i] & 0xFF); | 5333 | EMIT_ONE_BYTE (destination_charbuf[i] & 0xFF); |
| 5332 | } | 5334 | } |
| 5333 | else | 5335 | else |
| 5334 | { | 5336 | { |
| 5335 | ASSURE_DESTINATION (ccl.produced); | 5337 | ASSURE_DESTINATION (ccl->produced); |
| 5336 | for (i = 0; i < ccl.produced; i++) | 5338 | for (i = 0; i < ccl->produced; i++) |
| 5337 | *dst++ = destination_charbuf[i] & 0xFF; | 5339 | *dst++ = destination_charbuf[i] & 0xFF; |
| 5338 | produced_chars += ccl.produced; | 5340 | produced_chars += ccl->produced; |
| 5339 | } | 5341 | } |
| 5340 | charbuf += ccl.consumed; | 5342 | charbuf += ccl->consumed; |
| 5341 | if (ccl.status == CCL_STAT_QUIT | 5343 | if (ccl->status == CCL_STAT_QUIT |
| 5342 | || ccl.status == CCL_STAT_INVALID_CMD) | 5344 | || ccl->status == CCL_STAT_INVALID_CMD) |
| 5343 | break; | 5345 | break; |
| 5344 | } | 5346 | } |
| 5345 | 5347 | ||
| 5346 | switch (ccl.status) | 5348 | switch (ccl->status) |
| 5347 | { | 5349 | { |
| 5348 | case CCL_STAT_SUSPEND_BY_SRC: | 5350 | case CCL_STAT_SUSPEND_BY_SRC: |
| 5349 | record_conversion_result (coding, CODING_RESULT_INSUFFICIENT_SRC); | 5351 | record_conversion_result (coding, CODING_RESULT_INSUFFICIENT_SRC); |
| @@ -7534,6 +7536,7 @@ encode_coding (coding) | |||
| 7534 | Lisp_Object attrs; | 7536 | Lisp_Object attrs; |
| 7535 | Lisp_Object translation_table; | 7537 | Lisp_Object translation_table; |
| 7536 | int max_lookup; | 7538 | int max_lookup; |
| 7539 | struct ccl_spec cclspec; | ||
| 7537 | 7540 | ||
| 7538 | attrs = CODING_ID_ATTRS (coding->id); | 7541 | attrs = CODING_ID_ATTRS (coding->id); |
| 7539 | if (coding->encoder == encode_coding_raw_text) | 7542 | if (coding->encoder == encode_coding_raw_text) |
| @@ -7555,6 +7558,11 @@ encode_coding (coding) | |||
| 7555 | 7558 | ||
| 7556 | ALLOC_CONVERSION_WORK_AREA (coding); | 7559 | ALLOC_CONVERSION_WORK_AREA (coding); |
| 7557 | 7560 | ||
| 7561 | if (coding->encoder == encode_coding_ccl) | ||
| 7562 | { | ||
| 7563 | coding->spec.ccl = &cclspec; | ||
| 7564 | setup_ccl_program (&cclspec.ccl, CODING_CCL_ENCODER (coding)); | ||
| 7565 | } | ||
| 7558 | do { | 7566 | do { |
| 7559 | coding_set_source (coding); | 7567 | coding_set_source (coding); |
| 7560 | consume_chars (coding, translation_table, max_lookup); | 7568 | consume_chars (coding, translation_table, max_lookup); |
diff --git a/src/config.in b/src/config.in index ef2c25c85d0..e1837e74560 100644 --- a/src/config.in +++ b/src/config.in | |||
| @@ -318,10 +318,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 318 | /* Define to 1 if you have the <kerberos/krb.h> header file. */ | 318 | /* Define to 1 if you have the <kerberos/krb.h> header file. */ |
| 319 | #undef HAVE_KERBEROS_KRB_H | 319 | #undef HAVE_KERBEROS_KRB_H |
| 320 | 320 | ||
| 321 | /* Define to 1 if `e_text' is member of `krb5_error'. */ | 321 | /* Define to 1 if `e_text' is a member of `krb5_error'. */ |
| 322 | #undef HAVE_KRB5_ERROR_E_TEXT | 322 | #undef HAVE_KRB5_ERROR_E_TEXT |
| 323 | 323 | ||
| 324 | /* Define to 1 if `text' is member of `krb5_error'. */ | 324 | /* Define to 1 if `text' is a member of `krb5_error'. */ |
| 325 | #undef HAVE_KRB5_ERROR_TEXT | 325 | #undef HAVE_KRB5_ERROR_TEXT |
| 326 | 326 | ||
| 327 | /* Define to 1 if you have the <krb5.h> header file. */ | 327 | /* Define to 1 if you have the <krb5.h> header file. */ |
| @@ -615,25 +615,25 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 615 | /* Define to 1 if you have the `strsignal' function. */ | 615 | /* Define to 1 if you have the `strsignal' function. */ |
| 616 | #undef HAVE_STRSIGNAL | 616 | #undef HAVE_STRSIGNAL |
| 617 | 617 | ||
| 618 | /* Define to 1 if `ifr_addr' is member of `struct ifreq'. */ | 618 | /* Define to 1 if `ifr_addr' is a member of `struct ifreq'. */ |
| 619 | #undef HAVE_STRUCT_IFREQ_IFR_ADDR | 619 | #undef HAVE_STRUCT_IFREQ_IFR_ADDR |
| 620 | 620 | ||
| 621 | /* Define to 1 if `ifr_broadaddr' is member of `struct ifreq'. */ | 621 | /* Define to 1 if `ifr_broadaddr' is a member of `struct ifreq'. */ |
| 622 | #undef HAVE_STRUCT_IFREQ_IFR_BROADADDR | 622 | #undef HAVE_STRUCT_IFREQ_IFR_BROADADDR |
| 623 | 623 | ||
| 624 | /* Define to 1 if `ifr_flags' is member of `struct ifreq'. */ | 624 | /* Define to 1 if `ifr_flags' is a member of `struct ifreq'. */ |
| 625 | #undef HAVE_STRUCT_IFREQ_IFR_FLAGS | 625 | #undef HAVE_STRUCT_IFREQ_IFR_FLAGS |
| 626 | 626 | ||
| 627 | /* Define to 1 if `ifr_hwaddr' is member of `struct ifreq'. */ | 627 | /* Define to 1 if `ifr_hwaddr' is a member of `struct ifreq'. */ |
| 628 | #undef HAVE_STRUCT_IFREQ_IFR_HWADDR | 628 | #undef HAVE_STRUCT_IFREQ_IFR_HWADDR |
| 629 | 629 | ||
| 630 | /* Define to 1 if `ifr_netmask' is member of `struct ifreq'. */ | 630 | /* Define to 1 if `ifr_netmask' is a member of `struct ifreq'. */ |
| 631 | #undef HAVE_STRUCT_IFREQ_IFR_NETMASK | 631 | #undef HAVE_STRUCT_IFREQ_IFR_NETMASK |
| 632 | 632 | ||
| 633 | /* Define to 1 if `n_un.n_name' is member of `struct nlist'. */ | 633 | /* Define to 1 if `n_un.n_name' is a member of `struct nlist'. */ |
| 634 | #undef HAVE_STRUCT_NLIST_N_UN_N_NAME | 634 | #undef HAVE_STRUCT_NLIST_N_UN_N_NAME |
| 635 | 635 | ||
| 636 | /* Define to 1 if `tm_zone' is member of `struct tm'. */ | 636 | /* Define to 1 if `tm_zone' is a member of `struct tm'. */ |
| 637 | #undef HAVE_STRUCT_TM_TM_ZONE | 637 | #undef HAVE_STRUCT_TM_TM_ZONE |
| 638 | 638 | ||
| 639 | /* Define to 1 if `struct utimbuf' is declared by <utime.h>. */ | 639 | /* Define to 1 if `struct utimbuf' is declared by <utime.h>. */ |
| @@ -860,6 +860,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 860 | /* Define to the one symbol short name of this package. */ | 860 | /* Define to the one symbol short name of this package. */ |
| 861 | #undef PACKAGE_TARNAME | 861 | #undef PACKAGE_TARNAME |
| 862 | 862 | ||
| 863 | /* Define to the home page for this package. */ | ||
| 864 | #undef PACKAGE_URL | ||
| 865 | |||
| 863 | /* Define to the version of this package. */ | 866 | /* Define to the version of this package. */ |
| 864 | #undef PACKAGE_VERSION | 867 | #undef PACKAGE_VERSION |
| 865 | 868 | ||
| @@ -919,6 +922,28 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 919 | /* Define to 1 if using the Motif X toolkit. */ | 922 | /* Define to 1 if using the Motif X toolkit. */ |
| 920 | #undef USE_MOTIF | 923 | #undef USE_MOTIF |
| 921 | 924 | ||
| 925 | /* Enable extensions on AIX 3, Interix. */ | ||
| 926 | #ifndef _ALL_SOURCE | ||
| 927 | # undef _ALL_SOURCE | ||
| 928 | #endif | ||
| 929 | /* Enable GNU extensions on systems that have them. */ | ||
| 930 | #ifndef _GNU_SOURCE | ||
| 931 | # undef _GNU_SOURCE | ||
| 932 | #endif | ||
| 933 | /* Enable threading extensions on Solaris. */ | ||
| 934 | #ifndef _POSIX_PTHREAD_SEMANTICS | ||
| 935 | # undef _POSIX_PTHREAD_SEMANTICS | ||
| 936 | #endif | ||
| 937 | /* Enable extensions on HP NonStop. */ | ||
| 938 | #ifndef _TANDEM_SOURCE | ||
| 939 | # undef _TANDEM_SOURCE | ||
| 940 | #endif | ||
| 941 | /* Enable general extensions on Solaris. */ | ||
| 942 | #ifndef __EXTENSIONS__ | ||
| 943 | # undef __EXTENSIONS__ | ||
| 944 | #endif | ||
| 945 | |||
| 946 | |||
| 922 | /* Define to 1 if we should use toolkit scroll bars. */ | 947 | /* Define to 1 if we should use toolkit scroll bars. */ |
| 923 | #undef USE_TOOLKIT_SCROLL_BARS | 948 | #undef USE_TOOLKIT_SCROLL_BARS |
| 924 | 949 | ||
| @@ -954,28 +979,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 954 | /* Define to 1 if you need to in order for `stat' and other things to work. */ | 979 | /* Define to 1 if you need to in order for `stat' and other things to work. */ |
| 955 | #undef _POSIX_SOURCE | 980 | #undef _POSIX_SOURCE |
| 956 | 981 | ||
| 957 | /* Enable extensions on AIX 3, Interix. */ | ||
| 958 | #ifndef _ALL_SOURCE | ||
| 959 | # undef _ALL_SOURCE | ||
| 960 | #endif | ||
| 961 | /* Enable GNU extensions on systems that have them. */ | ||
| 962 | #ifndef _GNU_SOURCE | ||
| 963 | # undef _GNU_SOURCE | ||
| 964 | #endif | ||
| 965 | /* Enable threading extensions on Solaris. */ | ||
| 966 | #ifndef _POSIX_PTHREAD_SEMANTICS | ||
| 967 | # undef _POSIX_PTHREAD_SEMANTICS | ||
| 968 | #endif | ||
| 969 | /* Enable extensions on HP NonStop. */ | ||
| 970 | #ifndef _TANDEM_SOURCE | ||
| 971 | # undef _TANDEM_SOURCE | ||
| 972 | #endif | ||
| 973 | /* Enable general extensions on Solaris. */ | ||
| 974 | #ifndef __EXTENSIONS__ | ||
| 975 | # undef __EXTENSIONS__ | ||
| 976 | #endif | ||
| 977 | |||
| 978 | |||
| 979 | /* Define to rpl_ if the getopt replacement functions and variables should be | 982 | /* Define to rpl_ if the getopt replacement functions and variables should be |
| 980 | used. */ | 983 | used. */ |
| 981 | #undef __GETOPT_PREFIX | 984 | #undef __GETOPT_PREFIX |
diff --git a/src/dispextern.h b/src/dispextern.h index 01ba3f54181..22d44fc9083 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -3122,7 +3122,8 @@ enum resource_types | |||
| 3122 | RES_TYPE_FLOAT, | 3122 | RES_TYPE_FLOAT, |
| 3123 | RES_TYPE_BOOLEAN, | 3123 | RES_TYPE_BOOLEAN, |
| 3124 | RES_TYPE_STRING, | 3124 | RES_TYPE_STRING, |
| 3125 | RES_TYPE_SYMBOL | 3125 | RES_TYPE_SYMBOL, |
| 3126 | RES_TYPE_BOOLEAN_NUMBER | ||
| 3126 | }; | 3127 | }; |
| 3127 | 3128 | ||
| 3128 | extern Lisp_Object x_get_arg P_ ((Display_Info *, Lisp_Object, | 3129 | extern Lisp_Object x_get_arg P_ ((Display_Info *, Lisp_Object, |
diff --git a/src/frame.c b/src/frame.c index 40930af594c..757ed8f01a3 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -4005,6 +4005,13 @@ x_get_arg (dpyinfo, alist, param, attribute, class, type) | |||
| 4005 | case RES_TYPE_NUMBER: | 4005 | case RES_TYPE_NUMBER: |
| 4006 | return make_number (atoi (SDATA (tem))); | 4006 | return make_number (atoi (SDATA (tem))); |
| 4007 | 4007 | ||
| 4008 | case RES_TYPE_BOOLEAN_NUMBER: | ||
| 4009 | if (!strcmp (SDATA (tem), "on") | ||
| 4010 | || !strcmp (SDATA (tem), "true")) | ||
| 4011 | return make_number (1); | ||
| 4012 | return make_number (atoi (SDATA (tem))); | ||
| 4013 | break; | ||
| 4014 | |||
| 4008 | case RES_TYPE_FLOAT: | 4015 | case RES_TYPE_FLOAT: |
| 4009 | return make_float (atof (SDATA (tem))); | 4016 | return make_float (atof (SDATA (tem))); |
| 4010 | 4017 | ||
diff --git a/src/xfns.c b/src/xfns.c index 45bea1e4ec2..ae5858ccfb5 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -3347,7 +3347,9 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3347 | #ifdef USE_LUCID | 3347 | #ifdef USE_LUCID |
| 3348 | /* Prevent lwlib/xlwmenu.c from crashing because of a bug | 3348 | /* Prevent lwlib/xlwmenu.c from crashing because of a bug |
| 3349 | whereby it fails to get any font. */ | 3349 | whereby it fails to get any font. */ |
| 3350 | BLOCK_INPUT; | ||
| 3350 | xlwmenu_default_font = XLoadQueryFont (FRAME_X_DISPLAY (f), "fixed"); | 3351 | xlwmenu_default_font = XLoadQueryFont (FRAME_X_DISPLAY (f), "fixed"); |
| 3352 | UNBLOCK_INPUT; | ||
| 3351 | #endif | 3353 | #endif |
| 3352 | 3354 | ||
| 3353 | /* Frame contents get displaced if an embedded X window has a border. */ | 3355 | /* Frame contents get displaced if an embedded X window has a border. */ |
| @@ -3421,7 +3423,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3421 | init_frame_faces (f); | 3423 | init_frame_faces (f); |
| 3422 | 3424 | ||
| 3423 | x_default_parameter (f, parms, Qmenu_bar_lines, make_number (1), | 3425 | x_default_parameter (f, parms, Qmenu_bar_lines, make_number (1), |
| 3424 | "menuBar", "MenuBar", RES_TYPE_NUMBER); | 3426 | "menuBar", "MenuBar", RES_TYPE_BOOLEAN_NUMBER); |
| 3425 | x_default_parameter (f, parms, Qtool_bar_lines, make_number (1), | 3427 | x_default_parameter (f, parms, Qtool_bar_lines, make_number (1), |
| 3426 | "toolBar", "ToolBar", RES_TYPE_NUMBER); | 3428 | "toolBar", "ToolBar", RES_TYPE_NUMBER); |
| 3427 | x_default_parameter (f, parms, Qbuffer_predicate, Qnil, | 3429 | x_default_parameter (f, parms, Qbuffer_predicate, Qnil, |
diff --git a/test/cedet/tests/testjavacomp.java b/test/cedet/tests/testjavacomp.java index feffe660e04..3c2c2ef4ebe 100644 --- a/test/cedet/tests/testjavacomp.java +++ b/test/cedet/tests/testjavacomp.java | |||
| @@ -1,23 +1,23 @@ | |||
| 1 | /** testjavacomp.java --- | 1 | /** testjavacomp.java --- |
| 2 | * | 2 | * |
| 3 | * Copyright (C) 2009 Eric M. Ludlam | 3 | * Copyright (C) 2009, 2010 Free Software Foundation, Inc. |
| 4 | * | 4 | * |
| 5 | * Author: Eric M. Ludlam <eric@siege-engine.com> | 5 | * Author: Eric M. Ludlam <eric@siege-engine.com> |
| 6 | * | 6 | * |
| 7 | * This program is free software; you can redistribute it and/or | 7 | * This file is part of GNU Emacs. |
| 8 | * modify it under the terms of the GNU General Public License as | 8 | * |
| 9 | * published by the Free Software Foundation; either version 2, or (at | 9 | * GNU Emacs is free software: you can redistribute it and/or modify |
| 10 | * your option) any later version. | 10 | * it under the terms of the GNU General Public License as published by |
| 11 | * | 11 | * the Free Software Foundation, either version 3 of the License, or |
| 12 | * This program is distributed in the hope that it will be useful, but | 12 | * (at your option) any later version. |
| 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | 13 | * |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 | * GNU Emacs is distributed in the hope that it will be useful, |
| 15 | * General Public License for more details. | 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 16 | * | 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 17 | * GNU General Public License for more details. | ||
| 18 | * | ||
| 17 | * You should have received a copy of the GNU General Public License | 19 | * You should have received a copy of the GNU General Public License |
| 18 | * along with this program; see the file COPYING. If not, write to | 20 | * along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 19 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | * Boston, MA 02110-1301, USA. | ||
| 21 | */ | 21 | */ |
| 22 | 22 | ||
| 23 | package tests.testjavacomp; | 23 | package tests.testjavacomp; |
diff --git a/test/cedet/tests/testpolymorph.cpp b/test/cedet/tests/testpolymorph.cpp index 51f933cf7fd..329f4d598f4 100644 --- a/test/cedet/tests/testpolymorph.cpp +++ b/test/cedet/tests/testpolymorph.cpp | |||
| @@ -1,23 +1,23 @@ | |||
| 1 | /** testpolymorph.cpp --- A sequence of polymorphism examples. | 1 | /** testpolymorph.cpp --- A sequence of polymorphism examples. |
| 2 | * | 2 | * |
| 3 | * Copyright (C) 2009 Eric M. Ludlam | 3 | * Copyright (C) 2009, 2010 Free Software Foundation, Inc. |
| 4 | * | 4 | * |
| 5 | * Author: Eric M. Ludlam <eric@siege-engine.com> | 5 | * Author: Eric M. Ludlam <eric@siege-engine.com> |
| 6 | * | 6 | * |
| 7 | * This program is free software; you can redistribute it and/or | 7 | * This file is part of GNU Emacs. |
| 8 | * modify it under the terms of the GNU General Public License as | ||
| 9 | * published by the Free Software Foundation; either version 2, or (at | ||
| 10 | * your option) any later version. | ||
| 11 | * | 8 | * |
| 12 | * This program is distributed in the hope that it will be useful, but | 9 | * GNU Emacs is free software: you can redistribute it and/or modify |
| 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | 10 | * it under the terms of the GNU General Public License as published by |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 11 | * the Free Software Foundation, either version 3 of the License, or |
| 15 | * General Public License for more details. | 12 | * (at your option) any later version. |
| 13 | * | ||
| 14 | * GNU Emacs is distributed in the hope that it will be useful, | ||
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | * GNU General Public License for more details. | ||
| 16 | * | 18 | * |
| 17 | * You should have received a copy of the GNU General Public License | 19 | * You should have received a copy of the GNU General Public License |
| 18 | * along with this program; see the file COPYING. If not, write to | 20 | * along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 19 | * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | ||
| 20 | * Boston, MA 02110-1301, USA. | ||
| 21 | */ | 21 | */ |
| 22 | 22 | ||
| 23 | #include <cmath> | 23 | #include <cmath> |