diff options
| author | Karoly Lorentey | 2004-09-10 13:06:10 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-09-10 13:06:10 +0000 |
| commit | fd15a4daca3b32487b751006a5e7be7732fdf9ea (patch) | |
| tree | b53e804e340b981462b1cba73be9a1ccd8667f0e | |
| parent | d8d26438090eae0b8f518ad740ab4b821efdf540 (diff) | |
| parent | cbd5542a3ccf044c601318f288d9b022f53b1de2 (diff) | |
| download | emacs-fd15a4daca3b32487b751006a5e7be7732fdf9ea.tar.gz emacs-fd15a4daca3b32487b751006a5e7be7732fdf9ea.zip | |
Merged in changes from CVS trunk.
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-529
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-530
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-531
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-532
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-533
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-534
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-535
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-536
sync-tree with gnus--rel--5.10
* miles@gnu.org--gnu-2004/gnus--devo--0--patch-2
Add {arch}/=cvs-sync-make-log
* miles@gnu.org--gnu-2004/gnus--rel--5.8--base-0
Import from Gnus CVS branch V5-8
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-1
{arch}/=tagging-method: Add CVS and autoconf grot to junk regexp
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-2
Use explicit tags for autoconf input files
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-3
Remove RCS keywords
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-4
Fix copied explicit id-tags
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-5
Add {arch}/=cvs-sync-make-log
* miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-6
configure.in: Use ifelse instead of m4_if for arch-tag: comment
* miles@gnu.org--gnu-2004/gnus--rel--5.10--base-0
tag of miles@gnu.org--gnu-2004/gnus--rel--5.8--base-0
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-1
Gnus 5.10, from CVS branch v5-10
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-2
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-3
Use explicit tags for autoconf input files
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-4
sync-tree with gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-5
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-6
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-7
Remove RCS keywords
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-8
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-9
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-10
Add {arch}/=cvs-sync-make-log
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-11
Merge from gnus--rel--5.8
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-12
Update from CVS: make.bat: Fix line endings around arch-tag.
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-13
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-14
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-15
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-16
Update from CVS
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-17
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-242
73 files changed, 1094 insertions, 600 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog index c3e082a096f..5bc0ae4cfb9 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2004-09-09 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 2 | |||
| 3 | * MORE.STUFF (EDB): Update entry. | ||
| 4 | |||
| 5 | 2004-09-07 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 6 | |||
| 7 | * e/eterm.ti: Add `op' entry to enable colors in term. | ||
| 8 | * e/eterm: Regenerate. | ||
| 9 | |||
| 1 | 2004-09-04 Eric S. Raymond <esr@thyrsus.com> | 10 | 2004-09-04 Eric S. Raymond <esr@thyrsus.com> |
| 2 | 11 | ||
| 3 | * PROBLEMS: More reorganization to exile old stuff to the | 12 | * PROBLEMS: More reorganization to exile old stuff to the |
diff --git a/etc/MORE.STUFF b/etc/MORE.STUFF index 8cd1443d8c0..4dcdafe8152 100644 --- a/etc/MORE.STUFF +++ b/etc/MORE.STUFF | |||
| @@ -140,9 +140,7 @@ Several are for Debian GNU/Linux in particular. | |||
| 140 | * Dismal: spreadsheet: | 140 | * Dismal: spreadsheet: |
| 141 | <URL:http://acs.ist.psu.edu/dismal/dismal.html> | 141 | <URL:http://acs.ist.psu.edu/dismal/dismal.html> |
| 142 | 142 | ||
| 143 | * EDB: database: | 143 | * EDB: database: <URL:http://www.glug.org/people/ttn/software/edb/> |
| 144 | <URL:http://sdg.lcs.mit.edu/%7Emernst/software/edb-mrp.tar.gz> | ||
| 145 | Not maintained? | ||
| 146 | 144 | ||
| 147 | * Ee: categorizing information manager: | 145 | * Ee: categorizing information manager: |
| 148 | <URL:http://www.jurta.org/emacs/ee/> | 146 | <URL:http://www.jurta.org/emacs/ee/> |
| @@ -242,11 +242,47 @@ that configure outputs and -o options so you see at a glance where you are. | |||
| 242 | 242 | ||
| 243 | The new file etc/compilation.txt gives examples of each type of message. | 243 | The new file etc/compilation.txt gives examples of each type of message. |
| 244 | 244 | ||
| 245 | ** M-x grep has been adapted to new compile | 245 | ** Compilation mode enhancements: |
| 246 | |||
| 247 | *** New user option `compilation-environment'. | ||
| 248 | This option allows you to specify environment variables for inferior | ||
| 249 | compilation processes without affecting the environment that all | ||
| 250 | subprocesses inherit. | ||
| 251 | |||
| 252 | ** Grep has been decoupled from compilation mode setup. | ||
| 253 | |||
| 254 | *** There's a new separate package grep.el. | ||
| 255 | |||
| 256 | *** M-x grep has been adapted to new compile | ||
| 246 | 257 | ||
| 247 | Hits are fontified in green, and hits in binary files in orange. Grep buffers | 258 | Hits are fontified in green, and hits in binary files in orange. Grep buffers |
| 248 | can be saved and automatically revisited with the new Grep mode. | 259 | can be saved and automatically revisited with the new Grep mode. |
| 249 | 260 | ||
| 261 | *** Grep commands now have their own submenu and customization group. | ||
| 262 | |||
| 263 | *** The new variables `grep-window-height', `grep-auto-highlight', and | ||
| 264 | `grep-scroll-output' can be used to override the corresponding | ||
| 265 | compilation mode settings for grep commands. | ||
| 266 | |||
| 267 | *** New option `grep-highlight-matches' highlightes matches in *grep* | ||
| 268 | buffer. It uses a special feature of some grep programs which accept | ||
| 269 | --color option to output markers around matches. When going to the next | ||
| 270 | match with `next-error' the exact match is highlighted in the source | ||
| 271 | buffer. Otherwise, if `grep-highlight-matches' is nil, the whole | ||
| 272 | source line is highlighted. | ||
| 273 | |||
| 274 | *** New key bindings in grep output window: | ||
| 275 | SPC and DEL scrolls window up and down. C-n and C-p moves to next and | ||
| 276 | previous match in the grep window. RET jumps to the source line of | ||
| 277 | the current match. `n' and `p' shows next and previous match in | ||
| 278 | other window, but does not switch buffer. `{' and `}' jumps to the | ||
| 279 | previous or next file in the grep output. TAB also jumps to the next | ||
| 280 | file. | ||
| 281 | |||
| 282 | ** New options `next-error-highlight' and `next-error-highlight-no-select' | ||
| 283 | specify the method of highlighting of the corresponding source line | ||
| 284 | in new face `next-error'. | ||
| 285 | |||
| 250 | ** A new minor mode `next-error-follow-minor-mode' can be used in | 286 | ** A new minor mode `next-error-follow-minor-mode' can be used in |
| 251 | compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the | 287 | compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the |
| 252 | modes that can use `next-error'). In this mode, cursor motion in the | 288 | modes that can use `next-error'). In this mode, cursor motion in the |
| @@ -1136,6 +1172,16 @@ and to type `C-f' at the end of the search string in the minibuffer. | |||
| 1136 | search string used as the string to replace. | 1172 | search string used as the string to replace. |
| 1137 | 1173 | ||
| 1138 | +++ | 1174 | +++ |
| 1175 | ** New user option `isearch-resume-enabled'. | ||
| 1176 | This option can be disabled, to avoid the normal behavior of isearch | ||
| 1177 | which puts calls to `isearch-resume' in the command history. | ||
| 1178 | |||
| 1179 | +++ | ||
| 1180 | ** New user option `history-delete-duplicates'. | ||
| 1181 | If set to t when adding a new history element, all previous identical | ||
| 1182 | elements are deleted. | ||
| 1183 | |||
| 1184 | +++ | ||
| 1139 | ** Yanking text now discards certain text properties that can | 1185 | ** Yanking text now discards certain text properties that can |
| 1140 | be inconvenient when you did not expect them. The variable | 1186 | be inconvenient when you did not expect them. The variable |
| 1141 | `yank-excluded-properties' specifies which ones. Insertion | 1187 | `yank-excluded-properties' specifies which ones. Insertion |
| @@ -1803,11 +1849,6 @@ from the file name or buffer contents. | |||
| 1803 | +++ | 1849 | +++ |
| 1804 | ** `xml-mode' is now an alias for `sgml-mode', which has XML support. | 1850 | ** `xml-mode' is now an alias for `sgml-mode', which has XML support. |
| 1805 | 1851 | ||
| 1806 | +++ | ||
| 1807 | ** New user option `isearch-resume-enabled'. | ||
| 1808 | This option can be disabled, to avoid the normal behavior of isearch | ||
| 1809 | which puts calls to `isearch-resume' in the command history. | ||
| 1810 | |||
| 1811 | --- | 1852 | --- |
| 1812 | ** Lisp mode now uses font-lock-doc-face for the docstrings. | 1853 | ** Lisp mode now uses font-lock-doc-face for the docstrings. |
| 1813 | 1854 | ||
| @@ -1873,42 +1914,6 @@ parts is, by contrast, slightly highlighted. | |||
| 1873 | When loading many files, for instance with `emacs *', Emacs normally | 1914 | When loading many files, for instance with `emacs *', Emacs normally |
| 1874 | displays a buffer menu. This option turns the buffer menu off. | 1915 | displays a buffer menu. This option turns the buffer menu off. |
| 1875 | 1916 | ||
| 1876 | ** Compilation mode enhancements: | ||
| 1877 | |||
| 1878 | *** New user option `compilation-environment'. | ||
| 1879 | This option allows you to specify environment variables for inferior | ||
| 1880 | compilation processes without affecting the environment that all | ||
| 1881 | subprocesses inherit. | ||
| 1882 | |||
| 1883 | *** New options `next-error-highlight' and `next-error-highlight-no-select' | ||
| 1884 | specify the method of highlighting of the corresponding source line | ||
| 1885 | in new face `next-error'. | ||
| 1886 | |||
| 1887 | ** Grep has been decoupled from compilation mode setup. | ||
| 1888 | |||
| 1889 | *** There's a new separate package grep.el. | ||
| 1890 | |||
| 1891 | *** Grep commands now have their own submenu and customization group. | ||
| 1892 | |||
| 1893 | *** The new variables `grep-window-height', `grep-auto-highlight', and | ||
| 1894 | `grep-scroll-output' can be used to override the corresponding | ||
| 1895 | compilation mode settings for grep commands. | ||
| 1896 | |||
| 1897 | *** New option `grep-highlight-matches' highlightes matches in *grep* | ||
| 1898 | buffer. It uses a special feature of some grep programs which accept | ||
| 1899 | --color option to output markers around matches. When going to the next | ||
| 1900 | match with `next-error' the exact match is highlighted in the source | ||
| 1901 | buffer. Otherwise, if `grep-highlight-matches' is nil, the whole | ||
| 1902 | source line is highlighted. | ||
| 1903 | |||
| 1904 | *** New key bindings in grep output window: | ||
| 1905 | SPC and DEL scrolls window up and down. C-n and C-p moves to next and | ||
| 1906 | previous match in the grep window. RET jumps to the source line of | ||
| 1907 | the current match. `n' and `p' shows next and previous match in | ||
| 1908 | other window, but does not switch buffer. `{' and `}' jumps to the | ||
| 1909 | previous or next file in the grep output. TAB also jumps to the next | ||
| 1910 | file. | ||
| 1911 | |||
| 1912 | --- | 1917 | --- |
| 1913 | ** Rmail now displays 5-digit message ids in its summary buffer. | 1918 | ** Rmail now displays 5-digit message ids in its summary buffer. |
| 1914 | 1919 | ||
| @@ -2227,6 +2232,10 @@ configuration files. | |||
| 2227 | * Lisp Changes in Emacs 21.4 | 2232 | * Lisp Changes in Emacs 21.4 |
| 2228 | 2233 | ||
| 2229 | +++ | 2234 | +++ |
| 2235 | ** `auto-save-file-format' has been renamed to | ||
| 2236 | `buffer-auto-save-file-format' and made into a permanent local. | ||
| 2237 | |||
| 2238 | +++ | ||
| 2230 | ** Both the variable and the function `disabled-command-hook' have | 2239 | ** Both the variable and the function `disabled-command-hook' have |
| 2231 | been renamed to `disabled-command-function'. The variable | 2240 | been renamed to `disabled-command-function'. The variable |
| 2232 | `disabled-command-hook' has been kept as an obsolete alias. | 2241 | `disabled-command-hook' has been kept as an obsolete alias. |
| @@ -2402,6 +2411,11 @@ height) of the specified image. | |||
| 2402 | The form `(+ EXPR ...)' adds up the value of the expressions. | 2411 | The form `(+ EXPR ...)' adds up the value of the expressions. |
| 2403 | The form `(- EXPR ...)' negates or subtracts the value of the expressions. | 2412 | The form `(- EXPR ...)' negates or subtracts the value of the expressions. |
| 2404 | 2413 | ||
| 2414 | ** Normally, the cursor is displayed at the end of any overlay and | ||
| 2415 | text property string that may be present at the current window | ||
| 2416 | position. The cursor may now be placed on any character of such | ||
| 2417 | strings by giving that character a non-nil `cursor' text property. | ||
| 2418 | |||
| 2405 | ** New macro with-local-quit temporarily sets inhibit-quit to nil for use | 2419 | ** New macro with-local-quit temporarily sets inhibit-quit to nil for use |
| 2406 | around potentially blocking or long-running code in timers | 2420 | around potentially blocking or long-running code in timers |
| 2407 | and post-command-hooks. | 2421 | and post-command-hooks. |
| @@ -2877,6 +2891,15 @@ can start with this line: | |||
| 2877 | 2891 | ||
| 2878 | #!/usr/bin/emacs --script | 2892 | #!/usr/bin/emacs --script |
| 2879 | 2893 | ||
| 2894 | ** The option --directory DIR now modifies `load-path' immediately. | ||
| 2895 | Directories are added to the front of `load-path' in the order they | ||
| 2896 | appear on the command line. For example, with this command line: | ||
| 2897 | |||
| 2898 | emacs -batch -L .. -L /tmp --eval "(require 'foo)" | ||
| 2899 | |||
| 2900 | Emacs looks for library `foo' in the parent directory, then in /tmp, then | ||
| 2901 | in the other directories in `load-path'. (-L is short for --directory.) | ||
| 2902 | |||
| 2880 | +++ | 2903 | +++ |
| 2881 | ** A function's docstring can now hold the function's usage info on | 2904 | ** A function's docstring can now hold the function's usage info on |
| 2882 | its last line. It should match the regexp "\n\n(fn.*)\\'". | 2905 | its last line. It should match the regexp "\n\n(fn.*)\\'". |
| @@ -270,8 +270,6 @@ to the FSF. | |||
| 270 | list in a menu, let you select one of the values, and put it into some | 270 | list in a menu, let you select one of the values, and put it into some |
| 271 | other variable, without changing the value of `values'. | 271 | other variable, without changing the value of `values'. |
| 272 | 272 | ||
| 273 | ** Fix skip-chars-{for,back}ward to allow character classes. | ||
| 274 | |||
| 275 | ** (Controlled by a flag) make open and close syntax match exactly, | 273 | ** (Controlled by a flag) make open and close syntax match exactly, |
| 276 | i.e. `(' doesn't match `]'. | 274 | i.e. `(' doesn't match `]'. |
| 277 | 275 | ||
diff --git a/etc/e/eterm b/etc/e/eterm index f75543ddb6b..f16d63a1c22 100644 --- a/etc/e/eterm +++ b/etc/e/eterm | |||
| Binary files differ | |||
diff --git a/etc/e/eterm.ti b/etc/e/eterm.ti index 914fbf8b6e3..16c3878955c 100644 --- a/etc/e/eterm.ti +++ b/etc/e/eterm.ti | |||
| @@ -15,7 +15,7 @@ eterm, | |||
| 15 | smso=\E[7m,rmso=\E[m, | 15 | smso=\E[7m,rmso=\E[m, |
| 16 | smul=\E[4m,rmul=\E[m, | 16 | smul=\E[4m,rmul=\E[m, |
| 17 | rev=\E[7m,bold=\E[1m,sgr0=\E[m, | 17 | rev=\E[7m,bold=\E[1m,sgr0=\E[m, |
| 18 | invis=\E[8m, | 18 | invis=\E[8m,op=\E[39;49m, |
| 19 | setab=\E[%p1%{40}%+%dm, setaf=\E[%p1%{30}%+%dm, | 19 | setab=\E[%p1%{40}%+%dm, setaf=\E[%p1%{30}%+%dm, |
| 20 | bel=^G,xenl,am, | 20 | bel=^G,xenl,am, |
| 21 | 21 | ||
diff --git a/etc/etags.1 b/etc/etags.1 index 5b95b6c10ce..8aa2fd51750 100644 --- a/etc/etags.1 +++ b/etc/etags.1 | |||
| @@ -266,7 +266,8 @@ Instead of generating a tag file, write a cross reference (in | |||
| 266 | \fBcxref\fP format) to standard output. Only \fBctags\fP accepts this option. | 266 | \fBcxref\fP format) to standard output. Only \fBctags\fP accepts this option. |
| 267 | .TP | 267 | .TP |
| 268 | .B \-h, \-H, \-\-help | 268 | .B \-h, \-H, \-\-help |
| 269 | Print usage information. | 269 | Print usage information. Followed by one or more \-\-language=LANG |
| 270 | prints detailed information about how tags are created for LANG. | ||
| 270 | .TP | 271 | .TP |
| 271 | .B \-V, \-\-version | 272 | .B \-V, \-\-version |
| 272 | Print the current version of the program (same as the version of the | 273 | Print the current version of the program (same as the version of the |
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 4764871fa54..909a5717bcc 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2004-09-08 Francesco Potort,Al(B <pot@gnu.org> | ||
| 2 | |||
| 3 | * etags.c: [LONG_OPTIONS]: make it TRUE (ifdef) or FALSE (ifndef) | ||
| 4 | for ease of use. | ||
| 5 | |||
| 1 | 2004-07-17 Richard M. Stallman <rms@gnu.org> | 6 | 2004-07-17 Richard M. Stallman <rms@gnu.org> |
| 2 | 7 | ||
| 3 | * emacsclient.c (quote_file_name): Pass COPY thru %s to output it. | 8 | * emacsclient.c (quote_file_name): Pass COPY thru %s to output it. |
diff --git a/lib-src/etags.c b/lib-src/etags.c index 829fc97fbfd..094c81e91a0 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c | |||
| @@ -35,7 +35,7 @@ | |||
| 35 | * | 35 | * |
| 36 | */ | 36 | */ |
| 37 | 37 | ||
| 38 | char pot_etags_version[] = "@(#) pot revision number is 16.56"; | 38 | char pot_etags_version[] = "@(#) pot revision number is 16.58"; |
| 39 | 39 | ||
| 40 | #define TRUE 1 | 40 | #define TRUE 1 |
| 41 | #define FALSE 0 | 41 | #define FALSE 0 |
| @@ -76,6 +76,13 @@ char pot_etags_version[] = "@(#) pot revision number is 16.56"; | |||
| 76 | # define _GNU_SOURCE 1 /* enables some compiler checks on GNU */ | 76 | # define _GNU_SOURCE 1 /* enables some compiler checks on GNU */ |
| 77 | #endif | 77 | #endif |
| 78 | 78 | ||
| 79 | #ifdef LONG_OPTIONS | ||
| 80 | # undef LONG_OPTIONS | ||
| 81 | # define LONG_OPTIONS TRUE | ||
| 82 | #else | ||
| 83 | # define LONG_OPTIONS FALSE | ||
| 84 | #endif | ||
| 85 | |||
| 79 | /* WIN32_NATIVE is for Xemacs. | 86 | /* WIN32_NATIVE is for Xemacs. |
| 80 | MSDOS, WINDOWSNT, DOS_NT are for Emacs. */ | 87 | MSDOS, WINDOWSNT, DOS_NT are for Emacs. */ |
| 81 | #ifdef WIN32_NATIVE | 88 | #ifdef WIN32_NATIVE |
| @@ -147,7 +154,7 @@ char pot_etags_version[] = "@(#) pot revision number is 16.56"; | |||
| 147 | # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) | 154 | # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) |
| 148 | #endif | 155 | #endif |
| 149 | 156 | ||
| 150 | #ifdef LONG_OPTIONS | 157 | #if LONG_OPTIONS |
| 151 | # include <getopt.h> | 158 | # include <getopt.h> |
| 152 | #else | 159 | #else |
| 153 | # define getopt_long(argc,argv,optstr,lopts,lind) getopt (argc, argv, optstr) | 160 | # define getopt_long(argc,argv,optstr,lopts,lind) getopt (argc, argv, optstr) |
| @@ -465,7 +472,7 @@ static bool need_filebuf; /* some regexes are multi-line */ | |||
| 465 | # define need_filebuf FALSE | 472 | # define need_filebuf FALSE |
| 466 | #endif /* ETAGS_REGEXPS */ | 473 | #endif /* ETAGS_REGEXPS */ |
| 467 | 474 | ||
| 468 | #ifdef LONG_OPTIONS | 475 | #if LONG_OPTIONS |
| 469 | static struct option longopts[] = | 476 | static struct option longopts[] = |
| 470 | { | 477 | { |
| 471 | { "packages-only", no_argument, &packages_only, TRUE }, | 478 | { "packages-only", no_argument, &packages_only, TRUE }, |
| @@ -845,12 +852,11 @@ print_help (argbuffer) | |||
| 845 | printf ("Usage: %s [options] [[regex-option ...] file-name] ...\n\ | 852 | printf ("Usage: %s [options] [[regex-option ...] file-name] ...\n\ |
| 846 | \n\ | 853 | \n\ |
| 847 | These are the options accepted by %s.\n", progname, progname); | 854 | These are the options accepted by %s.\n", progname, progname); |
| 848 | #ifdef LONG_OPTIONS | 855 | if (LONG_OPTIONS) |
| 849 | puts ("You may use unambiguous abbreviations for the long option names."); | 856 | puts ("You may use unambiguous abbreviations for the long option names."); |
| 850 | #else | 857 | else |
| 851 | puts ("Long option names do not work with this executable, as it is not\n\ | 858 | puts ("Long option names do not work with this executable, as it is not\n\ |
| 852 | linked with GNU getopt."); | 859 | linked with GNU getopt."); |
| 853 | #endif /* LONG_OPTIONS */ | ||
| 854 | puts (" A - as file name means read names from stdin (one per line).\n\ | 860 | puts (" A - as file name means read names from stdin (one per line).\n\ |
| 855 | Absolute names are stored in the output file as they are.\n\ | 861 | Absolute names are stored in the output file as they are.\n\ |
| 856 | Relative ones are stored relative to the output file's directory.\n"); | 862 | Relative ones are stored relative to the output file's directory.\n"); |
| @@ -1158,9 +1164,8 @@ main (argc, argv) | |||
| 1158 | #ifdef ETAGS_REGEXPS | 1164 | #ifdef ETAGS_REGEXPS |
| 1159 | optstring = "-r:Rc:"; | 1165 | optstring = "-r:Rc:"; |
| 1160 | #endif /* ETAGS_REGEXPS */ | 1166 | #endif /* ETAGS_REGEXPS */ |
| 1161 | #ifndef LONG_OPTIONS | 1167 | if (LONG_OPTIONS) |
| 1162 | optstring = optstring + 1; | 1168 | optstring += 1; |
| 1163 | #endif /* LONG_OPTIONS */ | ||
| 1164 | optstring = concat (optstring, | 1169 | optstring = concat (optstring, |
| 1165 | "Cf:Il:o:SVhH", | 1170 | "Cf:Il:o:SVhH", |
| 1166 | (CTAGS) ? "BxdtTuvw" : "aDi:"); | 1171 | (CTAGS) ? "BxdtTuvw" : "aDi:"); |
| @@ -6475,14 +6480,8 @@ pfatal (s1) | |||
| 6475 | static void | 6480 | static void |
| 6476 | suggest_asking_for_help () | 6481 | suggest_asking_for_help () |
| 6477 | { | 6482 | { |
| 6478 | 6483 | fprintf (stderr, "\tTry `%s %s' for a complete list of options.\n", | |
| 6479 | #ifdef LONG_OPTIONS | 6484 | progname, LONG_OPTIONS ? "--help" : "-h"); |
| 6480 | fprintf (stderr, "\tTry `%s %s' for a complete list of options.\n", | ||
| 6481 | progname, "--help"); | ||
| 6482 | #else | ||
| 6483 | fprintf (stderr, "\tTry `%s %s' for a complete list of options.\n", | ||
| 6484 | progname, "-h"); | ||
| 6485 | #endif | ||
| 6486 | exit (EXIT_FAILURE); | 6485 | exit (EXIT_FAILURE); |
| 6487 | } | 6486 | } |
| 6488 | 6487 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index dbc91232333..6d466b5a791 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,151 @@ | |||
| 1 | 2004-09-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * progmodes/grep.el (grep-mode): Remove unnecessary autoload. | ||
| 4 | |||
| 5 | 2004-09-09 Kim F. Storm <storm@cua.dk> | ||
| 6 | |||
| 7 | * kmacro.el (kmacro-bind-to-key): Associate dedicated macro | ||
| 8 | counter and format with binding. | ||
| 9 | (kmacro-name-last-macro): New defun. Like name-last-kbd-macro, but | ||
| 10 | the declared macro uses own macro counter and format. Give symbol | ||
| 11 | kmacro property. | ||
| 12 | (kmacro-keymap): Bind kmacro-name-last-macro to n. | ||
| 13 | (kmacro-start-macro, kmacro-end-macro, kmacro-call-macro) | ||
| 14 | (kmacro-end-and-call-macro): Doc fix. | ||
| 15 | |||
| 16 | 2004-09-09 Lars Hansen <larsh@math.ku.dk> | ||
| 17 | |||
| 18 | * desktop.el (desktop-clear-preserve-buffers): | ||
| 19 | Remove make-obsolete-variable. | ||
| 20 | |||
| 21 | 2004-09-08 Stefan <monnier@iro.umontreal.ca> | ||
| 22 | |||
| 23 | * vc-arch.el (vc-arch-state): Fix parsing for `names' method. | ||
| 24 | |||
| 25 | 2004-09-08 Juri Linkov <juri@jurta.org> | ||
| 26 | |||
| 27 | * replace.el (perform-replace): Use `query-replace-descr'. | ||
| 28 | |||
| 29 | * cus-start.el (history-delete-duplicates): Specify customization. | ||
| 30 | |||
| 31 | * diff-mode.el (diff-mode-map): | ||
| 32 | * progmodes/compile.el (compilation-mode-map): | ||
| 33 | * progmodes/grep.el (grep-mode-map): | ||
| 34 | * replace.el (occur-mode-map): Rename `next-error-follow-mode' | ||
| 35 | to `next-error-follow-minor-mode'. | ||
| 36 | |||
| 37 | 2004-09-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 38 | |||
| 39 | * isearch.el (isearch-lazy-highlight-update): Take into account | ||
| 40 | the case of zero-length match at the search bound. | ||
| 41 | |||
| 42 | 2004-09-08 Kim F. Storm <storm@cua.dk> | ||
| 43 | |||
| 44 | * emulation/cua-rect.el (cua--highlight-rectangle): Fix last | ||
| 45 | change. Use zero width overlays when necessary. | ||
| 46 | |||
| 47 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 48 | |||
| 49 | * subr.el (split-string): Docfix. | ||
| 50 | |||
| 51 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 52 | |||
| 53 | * emacs-lisp/bytecomp.el (byte-compile-generate-call-tree): Doc fix. | ||
| 54 | (display-call-tree): Ensure newline after caller/calls blocks. | ||
| 55 | |||
| 56 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 57 | |||
| 58 | * startup.el (command-line-1): Make option | ||
| 59 | --directory/-L modify `load-path' straight away. | ||
| 60 | |||
| 61 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 62 | |||
| 63 | * progmodes/grep.el (grep-mode): Use normal autoload cookie. | ||
| 64 | |||
| 65 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 66 | |||
| 67 | * emacs-lisp/autoload.el (make-autoload): | ||
| 68 | Handle `define-compilation-mode'. | ||
| 69 | |||
| 70 | * emacs-lisp/lisp-mode.el (define-compilation-mode): | ||
| 71 | Specify `doc-string-elt' property. | ||
| 72 | |||
| 73 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 74 | |||
| 75 | * bs.el (bs-mode): Doc fix. | ||
| 76 | |||
| 77 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 78 | |||
| 79 | * info.el (Info-insert-dir): Fix temp buffer leak bug. | ||
| 80 | |||
| 81 | 2004-09-08 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 82 | |||
| 83 | * play/blackbox.el (bb-trace-ray): Avoid double tracing. | ||
| 84 | |||
| 85 | 2004-09-08 Kenichi Handa <handa@m17n.org> | ||
| 86 | |||
| 87 | * ps-mule.el: Fix old function calls (ps-mule-chars-in-string -> | ||
| 88 | length, ps-mule-string-char -> aref, ps-mule-next-index -> 1+, | ||
| 89 | ps-mule-next-point -> 1+). | ||
| 90 | |||
| 91 | * composite.el (encode-composition-rule): Add autoload cooky. | ||
| 92 | |||
| 93 | 2004-09-07 Luc Teirlinck <teirllm@auburn.edu> | ||
| 94 | |||
| 95 | * format.el (buffer-auto-save-file-format): Make it permanent local. | ||
| 96 | |||
| 97 | 2004-09-07 Kim F. Storm <storm@cua.dk> | ||
| 98 | |||
| 99 | * emacs-lisp/authors.el (authors-aliases): Add more aliases. | ||
| 100 | (authors-fixed-entries): Fix typo. | ||
| 101 | (authors-canonical-author-name): Compact multiple spaces. | ||
| 102 | Ignore trivial names (e.g. only first name). | ||
| 103 | |||
| 104 | * term.el (term-window-width): Only use full window width on | ||
| 105 | window system if overflow-newline-into-fringe is enabled. | ||
| 106 | (term-mode): Don't disable overflow-newline-into-fringe. | ||
| 107 | |||
| 108 | 2004-09-07 Stefan <monnier@iro.umontreal.ca> | ||
| 109 | |||
| 110 | * term/xterm.el (function-key-map): Add bindings for C- and S- cursor | ||
| 111 | motion as seen on my Mac OS X xterms. | ||
| 112 | |||
| 113 | * newcomment.el (uncomment-region-default, comment-region-default): | ||
| 114 | New functions extracted from uncomment-region and comment-region. | ||
| 115 | (comment-region, comment-region-function, uncomment-region) | ||
| 116 | (uncomment-region-function): Use them. | ||
| 117 | |||
| 118 | * pcvs-util.el (cvs-string-prefix-p): Use compare-strings. | ||
| 119 | |||
| 120 | * pcvs-info.el (cvs-states): Allow `ignore' on NEED-UPDATE. | ||
| 121 | It's not crucial but can make sense at times. | ||
| 122 | |||
| 123 | * vc-arch.el (vc-arch-workfile-version): Handle the special case before | ||
| 124 | the first commit. | ||
| 125 | |||
| 126 | * vc.el (vc-buffer-context, vc-restore-buffer-context): | ||
| 127 | Disable obsolete code. | ||
| 128 | |||
| 129 | 2004-09-07 Juri Linkov <juri@jurta.org> | ||
| 130 | |||
| 131 | * progmodes/grep.el (grep-highlight-matches): Change default from | ||
| 132 | `t' to `auto-detect', and type from `boolean' to `choice'. Doc fix. | ||
| 133 | (grep-compute-defaults): Set `grep-highlight-matches' to `t' | ||
| 134 | if grep option `--color' is available, or to `nil' otherwise. | ||
| 135 | (grep-process-setup): Call `grep-compute-defaults' if | ||
| 136 | `grep-highlight-matches' is not computed. Set env-vars only | ||
| 137 | if `grep-highlight-matches' is `t'. | ||
| 138 | (grep-use-null-device): Remove redundant type `boolean' (`choice' | ||
| 139 | is already defined). | ||
| 140 | |||
| 141 | * progmodes/compile.el (compilation-start): Use copy of | ||
| 142 | `process-environment' created by `copy-sequence' to not | ||
| 143 | modify env-vars in the global `process-environment'. | ||
| 144 | |||
| 145 | 2004-09-06 Eli Zaretskii <eliz@gnu.org> | ||
| 146 | |||
| 147 | * simple.el (next-error-follow-minor-mode): Fix last change. | ||
| 148 | |||
| 1 | 2004-09-05 Luc Teirlinck <teirllm@auburn.edu> | 149 | 2004-09-05 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 150 | ||
| 3 | * textmodes/paragraphs.el (use-hard-newlines): Make it into a | 151 | * textmodes/paragraphs.el (use-hard-newlines): Make it into a |
| @@ -45,8 +193,7 @@ | |||
| 45 | (next-error-follow-mode-post-command-hook): New functions. | 193 | (next-error-follow-mode-post-command-hook): New functions. |
| 46 | (next-error-follow-last-line): New defvar. | 194 | (next-error-follow-last-line): New defvar. |
| 47 | 195 | ||
| 48 | * diff-mode.el (diff-mode-map): Bind | 196 | * diff-mode.el (diff-mode-map): Bind next-error-follow-mode. |
| 49 | toggle-next-error-follow-mode. | ||
| 50 | * progmodes/compile.el (compilation-mode-map): Likewise. | 197 | * progmodes/compile.el (compilation-mode-map): Likewise. |
| 51 | * progmodes/grep.el (grep-mode-map): Likewise. | 198 | * progmodes/grep.el (grep-mode-map): Likewise. |
| 52 | * replace.el (occur-mode-map): Likewise. | 199 | * replace.el (occur-mode-map): Likewise. |
diff --git a/lisp/bs.el b/lisp/bs.el index 29258119974..76d8d25051f 100644 --- a/lisp/bs.el +++ b/lisp/bs.el | |||
| @@ -628,8 +628,8 @@ For faster navigation each digit key is a digit argument. | |||
| 628 | \\[bs-tmp-select-other-window] -- make another window display that buffer and | 628 | \\[bs-tmp-select-other-window] -- make another window display that buffer and |
| 629 | remain in Buffer Selection Menu. | 629 | remain in Buffer Selection Menu. |
| 630 | \\[bs-mouse-select] -- select current line's buffer and other marked buffers. | 630 | \\[bs-mouse-select] -- select current line's buffer and other marked buffers. |
| 631 | \\[bs-save] -- save current line's buffer immediatly. | 631 | \\[bs-save] -- save current line's buffer immediately. |
| 632 | \\[bs-delete] -- kill current line's buffer immediatly. | 632 | \\[bs-delete] -- kill current line's buffer immediately. |
| 633 | \\[bs-toggle-readonly] -- toggle read-only status of current line's buffer. | 633 | \\[bs-toggle-readonly] -- toggle read-only status of current line's buffer. |
| 634 | \\[bs-clear-modified] -- clear modified-flag on that buffer. | 634 | \\[bs-clear-modified] -- clear modified-flag on that buffer. |
| 635 | \\[bs-mark-current] -- mark current line's buffer to be displayed. | 635 | \\[bs-mark-current] -- mark current line's buffer to be displayed. |
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el index 1ccaab1c6a3..33a8c3ec3f5 100644 --- a/lisp/buff-menu.el +++ b/lisp/buff-menu.el | |||
| @@ -638,14 +638,11 @@ For more information, see the function `buffer-menu'." | |||
| 638 | (mapcar | 638 | (mapcar |
| 639 | (lambda (buffer) | 639 | (lambda (buffer) |
| 640 | (with-current-buffer buffer | 640 | (with-current-buffer buffer |
| 641 | (save-window-excursion | 641 | (setq name (buffer-name) |
| 642 | (setq name (buffer-name) | 642 | mode (concat (format-mode-line mode-name nil nil buffer) |
| 643 | mode (progn | 643 | (if mode-line-process |
| 644 | (set-window-buffer (selected-window) buffer) | 644 | (format-mode-line mode-line-process nil nil buffer))) |
| 645 | (concat (format-mode-line mode-name) | 645 | file (buffer-file-name)) |
| 646 | (if mode-line-process | ||
| 647 | (format-mode-line mode-line-process)))) | ||
| 648 | file (buffer-file-name))) | ||
| 649 | (cond | 646 | (cond |
| 650 | ;; Don't mention internal buffers. | 647 | ;; Don't mention internal buffers. |
| 651 | ((and (string= (substring name 0 1) " ") (null file))) | 648 | ((and (string= (substring name 0 1) " ") (null file))) |
diff --git a/lisp/composite.el b/lisp/composite.el index 8361e2ad9e3..4f9faf2ccfa 100644 --- a/lisp/composite.el +++ b/lisp/composite.el | |||
| @@ -77,12 +77,16 @@ follows (the point `*' corresponds to both reference points): | |||
| 77 | +----+-----+ <--- new descent | 77 | +----+-----+ <--- new descent |
| 78 | ") | 78 | ") |
| 79 | 79 | ||
| 80 | ;; Encode composition rule RULE into an integer value. RULE is a cons | ||
| 81 | ;; of global and new reference point symbols. | ||
| 82 | ;; This must be compatible with C macro COMPOSITION_ENCODE_RULE | ||
| 83 | ;; defined in composite.h. | ||
| 84 | 80 | ||
| 81 | ;;;###autoload | ||
| 85 | (defun encode-composition-rule (rule) | 82 | (defun encode-composition-rule (rule) |
| 83 | "Encode composition rule RULE into an integer value. | ||
| 84 | RULE is a cons of global and new reference point symbols | ||
| 85 | \(see reference-point-alist)." | ||
| 86 | |||
| 87 | ;; This must be compatible with C macro COMPOSITION_ENCODE_RULE | ||
| 88 | ;; defined in composite.h. | ||
| 89 | |||
| 86 | (if (and (integerp rule) (< rule 144)) | 90 | (if (and (integerp rule) (< rule 144)) |
| 87 | ;; Already encoded. | 91 | ;; Already encoded. |
| 88 | rule | 92 | rule |
diff --git a/lisp/cus-start.el b/lisp/cus-start.el index c9ce8f8474c..e764a70c9a2 100644 --- a/lisp/cus-start.el +++ b/lisp/cus-start.el | |||
| @@ -168,6 +168,7 @@ | |||
| 168 | (history-length minibuffer | 168 | (history-length minibuffer |
| 169 | (choice (const :tag "Infinite" t) | 169 | (choice (const :tag "Infinite" t) |
| 170 | integer)) | 170 | integer)) |
| 171 | (history-delete-duplicates minibuffer boolean) | ||
| 171 | (minibuffer-prompt-properties | 172 | (minibuffer-prompt-properties |
| 172 | minibuffer | 173 | minibuffer |
| 173 | (list | 174 | (list |
diff --git a/lisp/desktop.el b/lisp/desktop.el index 3888262f02f..64e8770ffd0 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el | |||
| @@ -171,13 +171,13 @@ This is useful for truncating history lists, for example." | |||
| 171 | :type 'hook | 171 | :type 'hook |
| 172 | :group 'desktop) | 172 | :group 'desktop) |
| 173 | 173 | ||
| 174 | (defcustom desktop-globals-to-save '( | 174 | (defcustom desktop-globals-to-save |
| 175 | desktop-missing-file-warning | 175 | '(desktop-missing-file-warning |
| 176 | tags-file-name | 176 | tags-file-name |
| 177 | tags-table-list | 177 | tags-table-list |
| 178 | search-ring | 178 | search-ring |
| 179 | regexp-search-ring | 179 | regexp-search-ring |
| 180 | register-alist) | 180 | register-alist) |
| 181 | "List of global variables saved by `desktop-save'. | 181 | "List of global variables saved by `desktop-save'. |
| 182 | An element may be variable name (a symbol) or a cons cell of the form | 182 | An element may be variable name (a symbol) or a cons cell of the form |
| 183 | \(VAR . MAX-SIZE), which means to truncate VAR's value to at most | 183 | \(VAR . MAX-SIZE), which means to truncate VAR's value to at most |
| @@ -186,13 +186,13 @@ Feature: Saving `kill-ring' implies saving `kill-ring-yank-pointer'." | |||
| 186 | :type '(repeat (restricted-sexp :match-alternatives (symbolp consp))) | 186 | :type '(repeat (restricted-sexp :match-alternatives (symbolp consp))) |
| 187 | :group 'desktop) | 187 | :group 'desktop) |
| 188 | 188 | ||
| 189 | (defcustom desktop-globals-to-clear '( | 189 | (defcustom desktop-globals-to-clear |
| 190 | kill-ring | 190 | '(kill-ring |
| 191 | kill-ring-yank-pointer | 191 | kill-ring-yank-pointer |
| 192 | search-ring | 192 | search-ring |
| 193 | search-ring-yank-pointer | 193 | search-ring-yank-pointer |
| 194 | regexp-search-ring | 194 | regexp-search-ring |
| 195 | regexp-search-ring-yank-pointer) | 195 | regexp-search-ring-yank-pointer) |
| 196 | "List of global variables to clear by `desktop-clear'. | 196 | "List of global variables to clear by `desktop-clear'. |
| 197 | An element may be variable name (a symbol) or a cons cell of the form | 197 | An element may be variable name (a symbol) or a cons cell of the form |
| 198 | \(VAR . FORM). Symbols are set to nil and for cons cells VAR is set | 198 | \(VAR . FORM). Symbols are set to nil and for cons cells VAR is set |
| @@ -202,29 +202,27 @@ to the value obtained by evaluateing FORM." | |||
| 202 | 202 | ||
| 203 | (defcustom desktop-clear-preserve-buffers-regexp | 203 | (defcustom desktop-clear-preserve-buffers-regexp |
| 204 | "^\\(\\*scratch\\*\\|\\*Messages\\*\\|\\*tramp/.+\\*\\)$" | 204 | "^\\(\\*scratch\\*\\|\\*Messages\\*\\|\\*tramp/.+\\*\\)$" |
| 205 | "Regexp identifying buffers that `desktop-clear' should not delete." | 205 | "Regexp identifying buffers that `desktop-clear' should not delete. |
| 206 | See also `desktop-clear-preserve-buffers'." | ||
| 206 | :type 'regexp | 207 | :type 'regexp |
| 207 | :group 'desktop) | 208 | :group 'desktop) |
| 208 | 209 | ||
| 209 | ;; Maintained for backward compatibility | ||
| 210 | (defcustom desktop-clear-preserve-buffers nil | 210 | (defcustom desktop-clear-preserve-buffers nil |
| 211 | "*List of buffer names that `desktop-clear' should not delete. | 211 | "*List of buffer names that `desktop-clear' should not delete. |
| 212 | This variable is maintained for backward compatibility only." | 212 | See also `desktop-clear-preserve-buffers-regexp'." |
| 213 | :type '(repeat string) | 213 | :type '(repeat string) |
| 214 | :group 'desktop) | 214 | :group 'desktop) |
| 215 | (make-obsolete-variable 'desktop-clear-preserve-buffers | 215 | |
| 216 | 'desktop-clear-preserve-buffers-regexp) | 216 | (defcustom desktop-locals-to-save |
| 217 | 217 | '(desktop-locals-to-save ; Itself! Think it over. | |
| 218 | (defcustom desktop-locals-to-save '( | 218 | truncate-lines |
| 219 | desktop-locals-to-save ; Itself! Think it over. | 219 | case-fold-search |
| 220 | truncate-lines | 220 | case-replace |
| 221 | case-fold-search | 221 | fill-column |
| 222 | case-replace | 222 | overwrite-mode |
| 223 | fill-column | 223 | change-log-default-name |
| 224 | overwrite-mode | 224 | line-number-mode |
| 225 | change-log-default-name | 225 | buffer-file-coding-system) |
| 226 | line-number-mode | ||
| 227 | buffer-file-coding-system) | ||
| 228 | "List of local variables to save for each buffer. | 226 | "List of local variables to save for each buffer. |
| 229 | The variables are saved only when they really are local." | 227 | The variables are saved only when they really are local." |
| 230 | :type '(repeat symbol) | 228 | :type '(repeat symbol) |
| @@ -282,11 +280,11 @@ DESKTOP-BUFFER-MISC.") | |||
| 282 | (make-obsolete-variable 'desktop-buffer-misc-functions | 280 | (make-obsolete-variable 'desktop-buffer-misc-functions |
| 283 | 'desktop-save-buffer) | 281 | 'desktop-save-buffer) |
| 284 | 282 | ||
| 285 | (defcustom desktop-buffer-mode-handlers '( | 283 | (defcustom desktop-buffer-mode-handlers |
| 286 | (dired-mode . dired-restore-desktop-buffer) | 284 | '((dired-mode . dired-restore-desktop-buffer) |
| 287 | (rmail-mode . rmail-restore-desktop-buffer) | 285 | (rmail-mode . rmail-restore-desktop-buffer) |
| 288 | (mh-folder-mode . mh-restore-desktop-buffer) | 286 | (mh-folder-mode . mh-restore-desktop-buffer) |
| 289 | (Info-mode . Info-restore-desktop-buffer)) | 287 | (Info-mode . Info-restore-desktop-buffer)) |
| 290 | "Alist of major mode specific functions to restore a desktop buffer. | 288 | "Alist of major mode specific functions to restore a desktop buffer. |
| 291 | Functions are called by `desktop-read'. List elements must have the form | 289 | Functions are called by `desktop-read'. List elements must have the form |
| 292 | \(MAJOR-MODE . RESTORE-BUFFER-FUNCTION). | 290 | \(MAJOR-MODE . RESTORE-BUFFER-FUNCTION). |
| @@ -580,8 +578,7 @@ See also `desktop-base-file-name'." | |||
| 580 | (let ((filename (expand-file-name desktop-base-file-name dirname)) | 578 | (let ((filename (expand-file-name desktop-base-file-name dirname)) |
| 581 | (info | 579 | (info |
| 582 | (mapcar | 580 | (mapcar |
| 583 | (function | 581 | #'(lambda (b) |
| 584 | (lambda (b) | ||
| 585 | (set-buffer b) | 582 | (set-buffer b) |
| 586 | (list | 583 | (list |
| 587 | (desktop-file-name (buffer-file-name) dirname) | 584 | (desktop-file-name (buffer-file-name) dirname) |
| @@ -618,7 +615,7 @@ See also `desktop-base-file-name'." | |||
| 618 | (when (member (car locals) loclist) | 615 | (when (member (car locals) loclist) |
| 619 | (setq ll (cons (car locals) ll))))) | 616 | (setq ll (cons (car locals) ll))))) |
| 620 | (setq locals (cdr locals))) | 617 | (setq locals (cdr locals))) |
| 621 | ll)))) | 618 | ll))) |
| 622 | (buffer-list))) | 619 | (buffer-list))) |
| 623 | (buf (get-buffer-create "*desktop*"))) | 620 | (buf (get-buffer-create "*desktop*"))) |
| 624 | (set-buffer buf) | 621 | (set-buffer buf) |
| @@ -639,19 +636,15 @@ See also `desktop-base-file-name'." | |||
| 639 | " kill-ring))\n")) | 636 | " kill-ring))\n")) |
| 640 | 637 | ||
| 641 | (insert "\n;; Buffer section -- buffers listed in same order as in buffer list:\n") | 638 | (insert "\n;; Buffer section -- buffers listed in same order as in buffer list:\n") |
| 642 | (mapcar | 639 | (mapcar #'(lambda (l) |
| 643 | (function | 640 | (if (apply 'desktop-save-buffer-p l) |
| 644 | (lambda (l) | 641 | (progn |
| 645 | (if (apply 'desktop-save-buffer-p l) | 642 | (insert "(desktop-create-buffer " desktop-file-version) |
| 646 | (progn | 643 | (mapcar #'(lambda (e) |
| 647 | (insert "(desktop-create-buffer " desktop-file-version) | 644 | (insert "\n " (desktop-value-to-string e))) |
| 648 | (mapcar | 645 | l) |
| 649 | (function | 646 | (insert ")\n\n")))) |
| 650 | (lambda (e) | 647 | info) |
| 651 | (insert "\n " (desktop-value-to-string e)))) | ||
| 652 | l) | ||
| 653 | (insert ")\n\n"))))) | ||
| 654 | info) | ||
| 655 | (setq default-directory dirname) | 648 | (setq default-directory dirname) |
| 656 | (when (file-exists-p filename) (delete-file filename)) | 649 | (when (file-exists-p filename) (delete-file filename)) |
| 657 | (let ((coding-system-for-write 'emacs-mule)) | 650 | (let ((coding-system-for-write 'emacs-mule)) |
| @@ -816,18 +809,18 @@ directory DIRNAME." | |||
| 816 | (defvar desktop-first-buffer) ;; Dynamically bound in `desktop-read' | 809 | (defvar desktop-first-buffer) ;; Dynamically bound in `desktop-read' |
| 817 | ) | 810 | ) |
| 818 | 811 | ||
| 819 | (defun desktop-create-buffer ( | 812 | (defun desktop-create-buffer |
| 820 | desktop-file-version | 813 | (desktop-file-version |
| 821 | desktop-buffer-file-name | 814 | desktop-buffer-file-name |
| 822 | desktop-buffer-name | 815 | desktop-buffer-name |
| 823 | desktop-buffer-major-mode | 816 | desktop-buffer-major-mode |
| 824 | desktop-buffer-minor-modes | 817 | desktop-buffer-minor-modes |
| 825 | desktop-buffer-point | 818 | desktop-buffer-point |
| 826 | desktop-buffer-mark | 819 | desktop-buffer-mark |
| 827 | desktop-buffer-read-only | 820 | desktop-buffer-read-only |
| 828 | desktop-buffer-misc | 821 | desktop-buffer-misc |
| 829 | &optional | 822 | &optional |
| 830 | desktop-buffer-locals) | 823 | desktop-buffer-locals) |
| 831 | ;; Just to silence the byte compiler. Bound locally in `desktop-read'. | 824 | ;; Just to silence the byte compiler. Bound locally in `desktop-read'. |
| 832 | (eval-when-compile | 825 | (eval-when-compile |
| 833 | (defvar desktop-buffer-ok-count) | 826 | (defvar desktop-buffer-ok-count) |
| @@ -835,21 +828,21 @@ directory DIRNAME." | |||
| 835 | ;; To make desktop files with relative file names possible, we cannot | 828 | ;; To make desktop files with relative file names possible, we cannot |
| 836 | ;; allow `default-directory' to change. Therefore we save current buffer. | 829 | ;; allow `default-directory' to change. Therefore we save current buffer. |
| 837 | (save-current-buffer | 830 | (save-current-buffer |
| 838 | (let ( | 831 | (let ((buffer-list (buffer-list)) |
| 839 | (buffer-list (buffer-list)) | 832 | (result |
| 840 | (result | 833 | (condition-case err |
| 841 | (condition-case err | 834 | (funcall (or (cdr (assq desktop-buffer-major-mode |
| 842 | (funcall (or (cdr (assq desktop-buffer-major-mode desktop-buffer-mode-handlers)) | 835 | desktop-buffer-mode-handlers)) |
| 843 | 'desktop-restore-file-buffer) | 836 | 'desktop-restore-file-buffer) |
| 844 | desktop-buffer-file-name | 837 | desktop-buffer-file-name |
| 845 | desktop-buffer-name | 838 | desktop-buffer-name |
| 846 | desktop-buffer-misc) | 839 | desktop-buffer-misc) |
| 847 | (error | 840 | (error |
| 848 | (message "Desktop: Can't load buffer %s: %s" | 841 | (message "Desktop: Can't load buffer %s: %s" |
| 849 | desktop-buffer-name (error-message-string err)) | 842 | desktop-buffer-name |
| 850 | (when desktop-missing-file-warning (sit-for 1)) | 843 | (error-message-string err)) |
| 851 | nil))) | 844 | (when desktop-missing-file-warning (sit-for 1)) |
| 852 | ) | 845 | nil)))) |
| 853 | (if (bufferp result) | 846 | (if (bufferp result) |
| 854 | (setq desktop-buffer-ok-count (1+ desktop-buffer-ok-count)) | 847 | (setq desktop-buffer-ok-count (1+ desktop-buffer-ok-count)) |
| 855 | (setq desktop-buffer-fail-count (1+ desktop-buffer-fail-count)) | 848 | (setq desktop-buffer-fail-count (1+ desktop-buffer-fail-count)) |
| @@ -867,17 +860,14 @@ directory DIRNAME." | |||
| 867 | (unless (equal (buffer-name) desktop-buffer-name) | 860 | (unless (equal (buffer-name) desktop-buffer-name) |
| 868 | (rename-buffer desktop-buffer-name)) | 861 | (rename-buffer desktop-buffer-name)) |
| 869 | ;; minor modes | 862 | ;; minor modes |
| 870 | (cond ( | 863 | (cond ((equal '(t) desktop-buffer-minor-modes) ; backwards compatible |
| 871 | ;; backwards compatible | 864 | (auto-fill-mode 1)) |
| 872 | (equal '(t) desktop-buffer-minor-modes) | 865 | ((equal '(nil) desktop-buffer-minor-modes) ; backwards compatible |
| 873 | (auto-fill-mode 1))( | 866 | (auto-fill-mode 0)) |
| 874 | (equal '(nil) desktop-buffer-minor-modes) | 867 | (t |
| 875 | (auto-fill-mode 0))( | 868 | (mapcar #'(lambda (minor-mode) |
| 876 | t | 869 | (when (functionp minor-mode) (funcall minor-mode 1))) |
| 877 | (mapcar | 870 | desktop-buffer-minor-modes))) |
| 878 | #'(lambda (minor-mode) | ||
| 879 | (when (functionp minor-mode) (funcall minor-mode 1))) | ||
| 880 | desktop-buffer-minor-modes))) | ||
| 881 | ;; Even though point and mark are non-nil when written by `desktop-save' | 871 | ;; Even though point and mark are non-nil when written by `desktop-save' |
| 882 | ;; they may be modified by handlers wanting to set point or mark themselves. | 872 | ;; they may be modified by handlers wanting to set point or mark themselves. |
| 883 | (when desktop-buffer-point | 873 | (when desktop-buffer-point |
diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el index f31ab092189..21b1c6446e5 100644 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el | |||
| @@ -140,7 +140,7 @@ when editing big diffs)." | |||
| 140 | ("\C-c\C-s" . diff-split-hunk) | 140 | ("\C-c\C-s" . diff-split-hunk) |
| 141 | ("\C-c\C-a" . diff-apply-hunk) | 141 | ("\C-c\C-a" . diff-apply-hunk) |
| 142 | ("\C-c\C-t" . diff-test-hunk) | 142 | ("\C-c\C-t" . diff-test-hunk) |
| 143 | ("\C-c\C-f" . next-error-follow-mode)) | 143 | ("\C-c\C-f" . next-error-follow-minor-mode)) |
| 144 | "Keymap for `diff-mode'. See also `diff-mode-shared-map'.") | 144 | "Keymap for `diff-mode'. See also `diff-mode-shared-map'.") |
| 145 | 145 | ||
| 146 | (easy-menu-define diff-mode-menu diff-mode-map | 146 | (easy-menu-define diff-mode-menu diff-mode-map |
diff --git a/lisp/emacs-lisp/authors.el b/lisp/emacs-lisp/authors.el index 3d0936a8c46..5ab42c06e8e 100644 --- a/lisp/emacs-lisp/authors.el +++ b/lisp/emacs-lisp/authors.el | |||
| @@ -52,18 +52,23 @@ files.") | |||
| 52 | ("David Gillespie" "Dave Gillespie") | 52 | ("David Gillespie" "Dave Gillespie") |
| 53 | ("David K,Ae(Bgedal" "David K..edal") | 53 | ("David K,Ae(Bgedal" "David K..edal") |
| 54 | ("David M. Koppelman" "David M. Koppelman, Koppel@Ee.Lsu.Edu") | 54 | ("David M. Koppelman" "David M. Koppelman, Koppel@Ee.Lsu.Edu") |
| 55 | ("David M. Smith" "David Smith") | 55 | ("David M. Smith" "David Smith" "David M Smith") |
| 56 | ("Ed L. Cashin" "Ed L Cashin") | ||
| 56 | ("Edward M. Reingold" "Ed Reingold" "Edward M Reingold" | 57 | ("Edward M. Reingold" "Ed Reingold" "Edward M Reingold" |
| 57 | "Reingold Edward M") | 58 | "Reingold Edward M") |
| 58 | ("Eli Zaretskii" "eliz") | 59 | ("Eli Zaretskii" "eliz") |
| 60 | ; ("Emilio C. Lopes" "Emilio Lopes") | ||
| 61 | ("Era Eriksson" "Era@Iki.Fi") | ||
| 59 | ("Eric M. Ludlam" "Eric Ludlam") | 62 | ("Eric M. Ludlam" "Eric Ludlam") |
| 60 | ("Eric S. Raymond" "Eric Raymond") | 63 | ("Eric S. Raymond" "Eric Raymond") |
| 61 | ("Eric Youngdale" "(Eric Youngdale at youngdale@v6550c.nrl.navy.mil)") | 64 | ("Eric Youngdale" "(Eric Youngdale at youngdale@v6550c.nrl.navy.mil)") |
| 65 | ("Francis J. Wright" "Dr Francis J. Wright" "Francis Wright") | ||
| 62 | ("Fran,Ag(Bois Pinard" "Francois Pinard") | 66 | ("Fran,Ag(Bois Pinard" "Francois Pinard") |
| 63 | ("Francesco Potort,Al(B" "Francesco Potorti" "Francesco Potorti`") | 67 | ("Francesco Potort,Al(B" "Francesco Potorti" "Francesco Potorti`") |
| 64 | ("Frederic Pierresteguy" "Fred Pierresteguy") | 68 | ("Frederic Pierresteguy" "Fred Pierresteguy") |
| 65 | ("Geoff Voelker" "voelker") | 69 | ("Geoff Voelker" "voelker") |
| 66 | ("Hallvard B. Furuseth" "Hallvard B Furuseth") | 70 | ("Hallvard B. Furuseth" "Hallvard B Furuseth") |
| 71 | ("Hrvoje Nik,B9(Bi,Bf(B" "Hrvoje Niksic") | ||
| 67 | (nil "(afs@hplb.hpl.hp.com)") | 72 | (nil "(afs@hplb.hpl.hp.com)") |
| 68 | (nil "<Use-Author-Address-Header@\\[127.1\\]>") | 73 | (nil "<Use-Author-Address-Header@\\[127.1\\]>") |
| 69 | (nil "Code Extracted") | 74 | (nil "Code Extracted") |
| @@ -71,25 +76,33 @@ files.") | |||
| 71 | (nil "ISO-2022-JP") | 76 | (nil "ISO-2022-JP") |
| 72 | ("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn") | 77 | ("Jaeyoun Chung" "Jae-youn Chung" "Jae-you Chung" "Chung Jae-youn") |
| 73 | ("Jan Dj,Ad(Brv" "Jan D." "Jan Djarv") | 78 | ("Jan Dj,Ad(Brv" "Jan D." "Jan Djarv") |
| 74 | ("Jay K. Adams" "jka@ece.cmu.edu") | 79 | ("Jay K. Adams" "jka@ece.cmu.edu" "Jay Adams") |
| 75 | ("Jay R. Adams" "Jay Adams") | 80 | ("J,Ai(Br,At(Bme Marant" "J,bi(Br,bt(Bme Marant" "Jerome Marant") |
| 76 | ("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen") | 81 | ("Jens-Ulrik Holger Petersen" "Jens-Ulrik Petersen") |
| 77 | ("Jonathan I. Kamens" "Jonathan Kamens") | 82 | ("Jonathan I. Kamens" "Jonathan Kamens") |
| 78 | ("Joseph Arceneaux" "Joe Arceneaux") | 83 | ("Joseph Arceneaux" "Joe Arceneaux") |
| 79 | ("K. Shane Hartman" "Shane Hartman") | 84 | ("K. Shane Hartman" "Shane Hartman") |
| 80 | ("Kai Gro,A_(Bjohann" "Kai Grossjohann" "Kai Gro,b_(Bjohann" | 85 | ("Kai Gro,A_(Bjohann" "Kai Grossjohann" "Kai Gro,b_(Bjohann" |
| 81 | "Kai.Grossjohann@Cs.Uni-Dortmund.De") | 86 | "Kai.Grossjohann@Cs.Uni-Dortmund.De" |
| 87 | "Kai.Grossjohann@Gmx.Net") | ||
| 82 | ("Karl Berry" "K. Berry") | 88 | ("Karl Berry" "K. Berry") |
| 89 | ("Kazushi Marukawa" "Kazushi") | ||
| 83 | ("Ken Manheimer" "Kenneth Manheimer") | 90 | ("Ken Manheimer" "Kenneth Manheimer") |
| 84 | ("Kenichi Handa" "Ken'ichi Handa" "Kenichi HANDA") | 91 | ("Kenichi Handa" "Ken'ichi Handa" "Kenichi HANDA") |
| 85 | ("Kim F. Storm" "Kim Storm") | 92 | ("Kim F. Storm" "Kim Storm") |
| 93 | ("Kyle Jones" "Kyle E. Jones") | ||
| 86 | ("Marcus G. Daniels" "Marcus Daniels") | 94 | ("Marcus G. Daniels" "Marcus Daniels") |
| 95 | ("Mark D. Baushke" "Mark D Baushke") | ||
| 96 | ("Martin Lorentzon" "Martin Lorentzson") | ||
| 97 | ("Matt Swift" "Matthew Swift") | ||
| 87 | ("Michael D. Ernst" "Michael Ernst") | 98 | ("Michael D. Ernst" "Michael Ernst") |
| 88 | ("Michael I. Bushnell" "Michael I Bushnell" "Michael I. Bushnell, P/Bsg") | 99 | ("Michael I. Bushnell" "Michael I Bushnell" "Michael I. Bushnell, P/Bsg") |
| 89 | ("Paul Eggert" "eggert") | 100 | ("Paul Eggert" "eggert") |
| 90 | ("Paul Reilly" "(pmr@legacy.pajato.com)") | 101 | ("Paul Reilly" "(pmr@legacy.pajato.com)") |
| 91 | ("Pavel Jan,Bm(Bk" "Pavel Jan,Am(Bk Ml.") | 102 | ("Pavel Jan,Bm(Bk" "Pavel Jan,Am(Bk Ml." "Pavel Jan,Am(Bk" "Pavel@Janik.Cz") |
| 92 | ("Per Abrahamsen" "Per Abhiddenware") | 103 | ("Per Abrahamsen" "Per Abhiddenware") |
| 104 | ("Peter S. Galbraith" "Peter Galbraith") | ||
| 105 | ("Peter Runestig" "Peter 'luna' Runestig") | ||
| 93 | ("Peter S. Galbraith" "Peter S Galbraith") | 106 | ("Peter S. Galbraith" "Peter S Galbraith") |
| 94 | ("Richard M. Stallman" "Richard M. Stallman,,," "Richard Stallman" | 107 | ("Richard M. Stallman" "Richard M. Stallman,,," "Richard Stallman" |
| 95 | "rms" "rms@gnu.org") | 108 | "rms" "rms@gnu.org") |
| @@ -97,9 +110,11 @@ files.") | |||
| 97 | ("Roland B. Roberts" "Roland B Roberts" "Roland Roberts") | 110 | ("Roland B. Roberts" "Roland B Roberts" "Roland Roberts") |
| 98 | ("Rui-Tao Dong" "Rui-Tao Dong ~{6-Hpln~}") | 111 | ("Rui-Tao Dong" "Rui-Tao Dong ~{6-Hpln~}") |
| 99 | ("Sam Steingold" "Sam Shteingold") | 112 | ("Sam Steingold" "Sam Shteingold") |
| 113 | ("Stefan Monnier" "Stefan") | ||
| 100 | ("Stephen A. Wood" "(saw@cebaf.gov)") | 114 | ("Stephen A. Wood" "(saw@cebaf.gov)") |
| 101 | ("Steven L. Baur" "SL Baur" "Steven L Baur") | 115 | ("Steven L. Baur" "SL Baur" "Steven L Baur") |
| 102 | ("Takaaki Ota" "Tak Ota") | 116 | ("Takaaki Ota" "Tak Ota") |
| 117 | ("Teodor Zlatanov" "Ted Zlatanov") | ||
| 103 | ("Torbj,Av(Brn Axelsson" "Torbjvrn Axelsson") | 118 | ("Torbj,Av(Brn Axelsson" "Torbjvrn Axelsson") |
| 104 | ("Torbj,Av(Brn Einarsson" "Torbj.*rn Einarsson") | 119 | ("Torbj,Av(Brn Einarsson" "Torbj.*rn Einarsson") |
| 105 | ("Toru Tomabechi" "Toru Tomabechi,") | 120 | ("Toru Tomabechi" "Toru Tomabechi,") |
| @@ -207,7 +222,7 @@ listed.") | |||
| 207 | ("Frederic Pierresteguy" :wrote "widget.c") | 222 | ("Frederic Pierresteguy" :wrote "widget.c") |
| 208 | ("Michael D. Prange" :changed "tex-mode.el") | 223 | ("Michael D. Prange" :changed "tex-mode.el") |
| 209 | ("Paul Reilly" :wrote "gux5-4r2.h" "dgux5-4r3.h") | 224 | ("Paul Reilly" :wrote "gux5-4r2.h" "dgux5-4r3.h") |
| 210 | ("Roland B Roberts" :changed "files.el" "sort.el" "vmsproc.el" | 225 | ("Roland B. Roberts" :changed "files.el" "sort.el" "vmsproc.el" |
| 211 | "buffer.h" "callproc.c" "dired.c" "process.c" "sysdep.c" "systty.h" | 226 | "buffer.h" "callproc.c" "dired.c" "process.c" "sysdep.c" "systty.h" |
| 212 | "vmspaths.h" "build.com" "compile.com" "kepteditor.com" "precomp.com" | 227 | "vmspaths.h" "build.com" "compile.com" "kepteditor.com" "precomp.com" |
| 213 | :wrote "logout.com" "mailemacs.com") | 228 | :wrote "logout.com" "mailemacs.com") |
| @@ -405,11 +420,13 @@ words in the author's name." | |||
| 405 | (setq regexps (cdr regexps)))))) | 420 | (setq regexps (cdr regexps)))))) |
| 406 | (when author | 421 | (when author |
| 407 | (setq author (replace-regexp-in-string "[ \t]*[(<].*$" "" author)) | 422 | (setq author (replace-regexp-in-string "[ \t]*[(<].*$" "" author)) |
| 408 | (setq author (replace-regexp-in-string "^[ \t]+" "" author)) | 423 | (setq author (replace-regexp-in-string "\`[ \t]+" "" author)) |
| 409 | (setq author (replace-regexp-in-string "[ \t]+$" "" author)) | 424 | (setq author (replace-regexp-in-string "[ \t]+$" "" author)) |
| 425 | (setq author (replace-regexp-in-string "[ \t]+" " " author)) | ||
| 426 | (unless (string-match "[-, \t]" author) | ||
| 427 | (setq author "")) | ||
| 410 | (capitalize author))) | 428 | (capitalize author))) |
| 411 | 429 | ||
| 412 | |||
| 413 | (defun authors-scan-change-log (log-file table) | 430 | (defun authors-scan-change-log (log-file table) |
| 414 | "Scan change log LOG-FILE for author information. | 431 | "Scan change log LOG-FILE for author information. |
| 415 | 432 | ||
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 21843c9601d..5a5eb55a2a2 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el | |||
| @@ -86,6 +86,7 @@ or macro definition or a defcustom)." | |||
| 86 | 86 | ||
| 87 | ;; For special function-like operators, use the `autoload' function. | 87 | ;; For special function-like operators, use the `autoload' function. |
| 88 | ((memq car '(defun define-skeleton defmacro define-derived-mode | 88 | ((memq car '(defun define-skeleton defmacro define-derived-mode |
| 89 | define-compilation-mode | ||
| 89 | define-generic-mode easy-mmode-define-minor-mode | 90 | define-generic-mode easy-mmode-define-minor-mode |
| 90 | easy-mmode-define-global-mode | 91 | easy-mmode-define-global-mode |
| 91 | define-minor-mode defun* defmacro*)) | 92 | define-minor-mode defun* defmacro*)) |
| @@ -94,7 +95,8 @@ or macro definition or a defcustom)." | |||
| 94 | (args (case car | 95 | (args (case car |
| 95 | ((defun defmacro defun* defmacro*) (nth 2 form)) | 96 | ((defun defmacro defun* defmacro*) (nth 2 form)) |
| 96 | ((define-skeleton) '(&optional str arg)) | 97 | ((define-skeleton) '(&optional str arg)) |
| 97 | ((define-generic-mode define-derived-mode) nil) | 98 | ((define-generic-mode define-derived-mode |
| 99 | define-compilation-mode) nil) | ||
| 98 | (t))) | 100 | (t))) |
| 99 | (body (nthcdr (get car 'doc-string-elt) form)) | 101 | (body (nthcdr (get car 'doc-string-elt) form)) |
| 100 | (doc (if (stringp (car body)) (pop body)))) | 102 | (doc (if (stringp (car body)) (pop body)))) |
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 0a12f6fae9f..2b0a8e698a6 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -354,7 +354,7 @@ Elements of the list may be be: | |||
| 354 | 354 | ||
| 355 | (defcustom byte-compile-generate-call-tree nil | 355 | (defcustom byte-compile-generate-call-tree nil |
| 356 | "*Non-nil means collect call-graph information when compiling. | 356 | "*Non-nil means collect call-graph information when compiling. |
| 357 | This records functions were called and from where. | 357 | This records which functions were called and from where. |
| 358 | If the value is t, compilation displays the call graph when it finishes. | 358 | If the value is t, compilation displays the call graph when it finishes. |
| 359 | If the value is neither t nor nil, compilation asks you whether to display | 359 | If the value is neither t nor nil, compilation asks you whether to display |
| 360 | the graph. | 360 | the graph. |
| @@ -3878,15 +3878,18 @@ invoked interactively." | |||
| 3878 | (mapconcat 'symbol-name callers ", ") | 3878 | (mapconcat 'symbol-name callers ", ") |
| 3879 | "<top level>")) | 3879 | "<top level>")) |
| 3880 | (let ((fill-prefix " ")) | 3880 | (let ((fill-prefix " ")) |
| 3881 | (fill-region-as-paragraph p (point))))) | 3881 | (fill-region-as-paragraph p (point))) |
| 3882 | (unless (= 0 (current-column)) | ||
| 3883 | (insert "\n")))) | ||
| 3882 | (if calls | 3884 | (if calls |
| 3883 | (progn | 3885 | (progn |
| 3884 | (insert " calls:\n") | 3886 | (insert " calls:\n") |
| 3885 | (setq p (point)) | 3887 | (setq p (point)) |
| 3886 | (insert " " (mapconcat 'symbol-name calls ", ")) | 3888 | (insert " " (mapconcat 'symbol-name calls ", ")) |
| 3887 | (let ((fill-prefix " ")) | 3889 | (let ((fill-prefix " ")) |
| 3888 | (fill-region-as-paragraph p (point))))) | 3890 | (fill-region-as-paragraph p (point))) |
| 3889 | (insert "\n") | 3891 | (unless (= 0 (current-column)) |
| 3892 | (insert "\n")))) | ||
| 3890 | (setq rest (cdr rest))) | 3893 | (setq rest (cdr rest))) |
| 3891 | 3894 | ||
| 3892 | (message "Generating call tree...(finding uncalled functions...)") | 3895 | (message "Generating call tree...(finding uncalled functions...)") |
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index e2aac327ddc..700fc5f80a8 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el | |||
| @@ -129,6 +129,7 @@ | |||
| 129 | (put 'defsubst 'doc-string-elt 3) | 129 | (put 'defsubst 'doc-string-elt 3) |
| 130 | (put 'define-skeleton 'doc-string-elt 2) | 130 | (put 'define-skeleton 'doc-string-elt 2) |
| 131 | (put 'define-derived-mode 'doc-string-elt 4) | 131 | (put 'define-derived-mode 'doc-string-elt 4) |
| 132 | (put 'define-compilation-mode 'doc-string-elt 3) | ||
| 132 | (put 'easy-mmode-define-minor-mode 'doc-string-elt 2) | 133 | (put 'easy-mmode-define-minor-mode 'doc-string-elt 2) |
| 133 | (put 'define-minor-mode 'doc-string-elt 2) | 134 | (put 'define-minor-mode 'doc-string-elt 2) |
| 134 | (put 'define-generic-mode 'doc-string-elt 7) | 135 | (put 'define-generic-mode 'doc-string-elt 7) |
| @@ -489,7 +490,7 @@ If CHAR is not a character, return nil." | |||
| 489 | (and string | 490 | (and string |
| 490 | (= (car (read-from-string string)) char) | 491 | (= (car (read-from-string string)) char) |
| 491 | string)))) | 492 | string)))) |
| 492 | 493 | ||
| 493 | 494 | ||
| 494 | (defun eval-last-sexp-1 (eval-last-sexp-arg-internal) | 495 | (defun eval-last-sexp-1 (eval-last-sexp-arg-internal) |
| 495 | "Evaluate sexp before point; print value in minibuffer. | 496 | "Evaluate sexp before point; print value in minibuffer. |
diff --git a/lisp/emulation/cua-rect.el b/lisp/emulation/cua-rect.el index 3270b7fd62c..10d369fa042 100644 --- a/lisp/emulation/cua-rect.el +++ b/lisp/emulation/cua-rect.el | |||
| @@ -778,7 +778,6 @@ If command is repeated at same position, delete the rectangle." | |||
| 778 | '(lambda (s e l r v) | 778 | '(lambda (s e l r v) |
| 779 | (let ((rface (if v 'cua-rectangle-face 'cua-rectangle-noselect-face)) | 779 | (let ((rface (if v 'cua-rectangle-face 'cua-rectangle-noselect-face)) |
| 780 | overlay bs ms as) | 780 | overlay bs ms as) |
| 781 | (if (= s e) (setq e (1+ e))) | ||
| 782 | (when (cua--rectangle-virtual-edges) | 781 | (when (cua--rectangle-virtual-edges) |
| 783 | (let ((lb (line-beginning-position)) | 782 | (let ((lb (line-beginning-position)) |
| 784 | (le (line-end-position)) | 783 | (le (line-end-position)) |
diff --git a/lisp/format.el b/lisp/format.el index f3a5ae2d581..62b957452b0 100644 --- a/lisp/format.el +++ b/lisp/format.el | |||
| @@ -37,7 +37,7 @@ | |||
| 37 | ;; change this variable, or use `format-write-file'. | 37 | ;; change this variable, or use `format-write-file'. |
| 38 | ;; | 38 | ;; |
| 39 | ;; Auto-save files are normally created in the same format as the visited | 39 | ;; Auto-save files are normally created in the same format as the visited |
| 40 | ;; file, but the variable `auto-save-file-format' can be set to a | 40 | ;; file, but the variable `buffer-auto-save-file-format' can be set to a |
| 41 | ;; particularly fast or otherwise preferred format to be used for | 41 | ;; particularly fast or otherwise preferred format to be used for |
| 42 | ;; auto-saving (or nil to do no encoding on auto-save files, but then you | 42 | ;; auto-saving (or nil to do no encoding on auto-save files, but then you |
| 43 | ;; risk losing any text-properties in the buffer). | 43 | ;; risk losing any text-properties in the buffer). |
| @@ -62,6 +62,7 @@ | |||
| 62 | ;;; Code: | 62 | ;;; Code: |
| 63 | 63 | ||
| 64 | (put 'buffer-file-format 'permanent-local t) | 64 | (put 'buffer-file-format 'permanent-local t) |
| 65 | (put 'buffer-auto-save-file-format 'permanent-local t) | ||
| 65 | 66 | ||
| 66 | (defvar format-alist | 67 | (defvar format-alist |
| 67 | '((text/enriched "Extended MIME text/enriched format." | 68 | '((text/enriched "Extended MIME text/enriched format." |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 83c74fe118d..0f0f4697c47 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,7 +1,35 @@ | |||
| 1 | 2004-09-08 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 2 | |||
| 3 | * nntp.el (nntp): New customization group. | ||
| 4 | (nntp-authinfo-file): Added customization group. | ||
| 5 | |||
| 6 | * mml2015.el (mml2015-unabbrev-trust-alist): Added customization | ||
| 7 | group. | ||
| 8 | |||
| 9 | * mml-sec.el (mml-signencrypt-style-alist): Ditto. | ||
| 10 | |||
| 11 | * gnus.el (to-address, to-list, subscribed) | ||
| 12 | (large-newsgroup-initial): Ditto. | ||
| 13 | |||
| 14 | * flow-fill.el (fill-flowed-display-column) | ||
| 15 | (fill-flowed-encode-column): Ditto. | ||
| 16 | |||
| 17 | 2004-09-06 Stefan <monnier@iro.umontreal.ca> | ||
| 18 | |||
| 19 | * message.el (message-tokenize-header, message-send-mail-with-qmail): | ||
| 20 | Use point-min rather than 1. | ||
| 21 | (message-send-mail): Use buffer-size rather than point-max. | ||
| 22 | |||
| 23 | * gnus-sum.el (gnus-summary-search-article-forward): | ||
| 24 | Signal a specific `search-failed' rather than a generic `error'. | ||
| 25 | |||
| 26 | * gnus-salt.el (gnus-pick-mouse-pick-region): Switch 1 => point-min. | ||
| 27 | (gnus-generate-vertical-tree): Usue `bobp' rather than compare to 1. | ||
| 28 | (gnus-highlight-selected-tree): Use point-min rather than 1 and 2. | ||
| 29 | |||
| 1 | 2004-09-03 Katsumi Yamaoka <yamaoka@jpl.org> | 30 | 2004-09-03 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 31 | ||
| 3 | * gnus-sum.el (gnus-summary-insert-subject): Remove list | 32 | * gnus-sum.el (gnus-summary-insert-subject): Remove list identifiers. |
| 4 | identifiers. | ||
| 5 | 33 | ||
| 6 | From Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp> (tiny change). | 34 | From Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp> (tiny change). |
| 7 | * spam-stat.el (spam-stat-reduce-size): Set spam-stat-dirty. | 35 | * spam-stat.el (spam-stat-reduce-size): Set spam-stat-dirty. |
diff --git a/lisp/gnus/flow-fill.el b/lisp/gnus/flow-fill.el index c3602cc9b44..9f2ae5c98bd 100644 --- a/lisp/gnus/flow-fill.el +++ b/lisp/gnus/flow-fill.el | |||
| @@ -56,6 +56,7 @@ | |||
| 56 | (defcustom fill-flowed-display-column 'fill-column | 56 | (defcustom fill-flowed-display-column 'fill-column |
| 57 | "Column beyond which format=flowed lines are wrapped, when displayed. | 57 | "Column beyond which format=flowed lines are wrapped, when displayed. |
| 58 | This can be a Lisp expression or an integer." | 58 | This can be a Lisp expression or an integer." |
| 59 | :group 'mime-display | ||
| 59 | :type '(choice (const :tag "Standard `fill-column'" fill-column) | 60 | :type '(choice (const :tag "Standard `fill-column'" fill-column) |
| 60 | (const :tag "Fit Window" (- (window-width) 5)) | 61 | (const :tag "Fit Window" (- (window-width) 5)) |
| 61 | (sexp) | 62 | (sexp) |
| @@ -65,6 +66,7 @@ This can be a Lisp expression or an integer." | |||
| 65 | "Column beyond which format=flowed lines are wrapped, in outgoing messages. | 66 | "Column beyond which format=flowed lines are wrapped, in outgoing messages. |
| 66 | This can be a Lisp expression or an integer. | 67 | This can be a Lisp expression or an integer. |
| 67 | RFC 2646 suggests 66 characters for readability." | 68 | RFC 2646 suggests 66 characters for readability." |
| 69 | :group 'mime-display | ||
| 68 | :type '(choice (const :tag "Standard fill-column" fill-column) | 70 | :type '(choice (const :tag "Standard fill-column" fill-column) |
| 69 | (const :tag "RFC 2646 default (66)" 66) | 71 | (const :tag "RFC 2646 default (66)" 66) |
| 70 | (sexp) | 72 | (sexp) |
diff --git a/lisp/gnus/gnus-salt.el b/lisp/gnus/gnus-salt.el index d9720c819b2..0f4984112f5 100644 --- a/lisp/gnus/gnus-salt.el +++ b/lisp/gnus/gnus-salt.el | |||
| @@ -230,7 +230,7 @@ This must be bound to a button-down mouse event." | |||
| 230 | (let* ((echo-keystrokes 0) | 230 | (let* ((echo-keystrokes 0) |
| 231 | (start-posn (event-start start-event)) | 231 | (start-posn (event-start start-event)) |
| 232 | (start-point (posn-point start-posn)) | 232 | (start-point (posn-point start-posn)) |
| 233 | (start-line (1+ (count-lines 1 start-point))) | 233 | (start-line (1+ (count-lines (point-min) start-point))) |
| 234 | (start-window (posn-window start-posn)) | 234 | (start-window (posn-window start-posn)) |
| 235 | (bounds (gnus-window-edges start-window)) | 235 | (bounds (gnus-window-edges start-window)) |
| 236 | (top (nth 1 bounds)) | 236 | (top (nth 1 bounds)) |
| @@ -266,17 +266,18 @@ This must be bound to a button-down mouse event." | |||
| 266 | ;; Are we moving within the original window? | 266 | ;; Are we moving within the original window? |
| 267 | ((and (eq (posn-window end) start-window) | 267 | ((and (eq (posn-window end) start-window) |
| 268 | (integer-or-marker-p end-point)) | 268 | (integer-or-marker-p end-point)) |
| 269 | ;; Go to START-POINT first, so that when we move to END-POINT, | 269 | ;; Go to START-POINT first, so that when we move to END-POINT, |
| 270 | ;; if it's in the middle of intangible text, | 270 | ;; if it's in the middle of intangible text, |
| 271 | ;; point jumps in the direction away from START-POINT. | 271 | ;; point jumps in the direction away from START-POINT. |
| 272 | (goto-char start-point) | 272 | (goto-char start-point) |
| 273 | (goto-char end-point) | 273 | (goto-char end-point) |
| 274 | (gnus-pick-article) | 274 | (gnus-pick-article) |
| 275 | ;; In case the user moved his mouse really fast, pick | 275 | ;; In case the user moved his mouse really fast, pick |
| 276 | ;; articles on the line between this one and the last one. | 276 | ;; articles on the line between this one and the last one. |
| 277 | (let* ((this-line (1+ (count-lines 1 end-point))) | 277 | (let* ((this-line (1+ (count-lines (point-min) end-point))) |
| 278 | (min-line (min this-line start-line)) | 278 | (min-line (min this-line start-line)) |
| 279 | (max-line (max this-line start-line))) | 279 | (max-line (max this-line start-line))) |
| 280 | ;; Why not use `forward-line'? --Stef | ||
| 280 | (while (< min-line max-line) | 281 | (while (< min-line max-line) |
| 281 | (goto-line min-line) | 282 | (goto-line min-line) |
| 282 | (gnus-pick-article) | 283 | (gnus-pick-article) |
| @@ -787,7 +788,7 @@ Two predefined functions are available: | |||
| 787 | (setq beg (point)) | 788 | (setq beg (point)) |
| 788 | (forward-char -1) | 789 | (forward-char -1) |
| 789 | ;; Draw "-" lines leftwards. | 790 | ;; Draw "-" lines leftwards. |
| 790 | (while (and (> (point) 1) | 791 | (while (and (not (bobp)) |
| 791 | (eq (char-after (1- (point))) ? )) | 792 | (eq (char-after (1- (point))) ? )) |
| 792 | (delete-char -1) | 793 | (delete-char -1) |
| 793 | (insert (car gnus-tree-parent-child-edges)) | 794 | (insert (car gnus-tree-parent-child-edges)) |
| @@ -858,7 +859,8 @@ Two predefined functions are available: | |||
| 858 | (gnus-extent-detached-p gnus-selected-tree-overlay)) | 859 | (gnus-extent-detached-p gnus-selected-tree-overlay)) |
| 859 | ;; Create a new overlay. | 860 | ;; Create a new overlay. |
| 860 | (gnus-overlay-put | 861 | (gnus-overlay-put |
| 861 | (setq gnus-selected-tree-overlay (gnus-make-overlay 1 2)) | 862 | (setq gnus-selected-tree-overlay |
| 863 | (gnus-make-overlay (point-min) (1+ (point-min)))) | ||
| 862 | 'face gnus-selected-tree-face)) | 864 | 'face gnus-selected-tree-face)) |
| 863 | ;; Move the overlay to the article. | 865 | ;; Move the overlay to the article. |
| 864 | (gnus-move-overlay | 866 | (gnus-move-overlay |
| @@ -1062,5 +1064,5 @@ The following commands are available: | |||
| 1062 | 1064 | ||
| 1063 | (provide 'gnus-salt) | 1065 | (provide 'gnus-salt) |
| 1064 | 1066 | ||
| 1065 | ;;; arch-tag: 35449164-77b3-4398-bcbd-a2e3e998f810 | 1067 | ;; arch-tag: 35449164-77b3-4398-bcbd-a2e3e998f810 |
| 1066 | ;;; gnus-salt.el ends here | 1068 | ;;; gnus-salt.el ends here |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index af5a2362194..77d5037b32d 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -8341,7 +8341,7 @@ If BACKWARD, search backward instead." | |||
| 8341 | (let ((gnus-last-article gnus-last-article)) | 8341 | (let ((gnus-last-article gnus-last-article)) |
| 8342 | (if (gnus-summary-search-article regexp backward) | 8342 | (if (gnus-summary-search-article regexp backward) |
| 8343 | (gnus-summary-show-thread) | 8343 | (gnus-summary-show-thread) |
| 8344 | (error "Search failed: \"%s\"" regexp)))) | 8344 | (signal 'search-failed (list regexp))))) |
| 8345 | 8345 | ||
| 8346 | (defun gnus-summary-search-article-backward (regexp) | 8346 | (defun gnus-summary-search-article-backward (regexp) |
| 8347 | "Search for an article containing REGEXP backward." | 8347 | "Search for an article containing REGEXP backward." |
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index 5d09c4b5c3c..eaa77f02e90 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el | |||
| @@ -1599,6 +1599,7 @@ to be desirable; see the manual for further details." | |||
| 1599 | "Return GROUP's to-address." | 1599 | "Return GROUP's to-address." |
| 1600 | :variable-document | 1600 | :variable-document |
| 1601 | "*Alist of group regexps and correspondent to-addresses." | 1601 | "*Alist of group regexps and correspondent to-addresses." |
| 1602 | :variable-group gnus-group-parameter | ||
| 1602 | :parameter-type '(gnus-email-address :tag "To Address") | 1603 | :parameter-type '(gnus-email-address :tag "To Address") |
| 1603 | :parameter-document "\ | 1604 | :parameter-document "\ |
| 1604 | This will be used when doing followups and posts. | 1605 | This will be used when doing followups and posts. |
| @@ -1625,6 +1626,7 @@ address was listed in gnus-group-split Addresses (see below).") | |||
| 1625 | "Return GROUP's to-list." | 1626 | "Return GROUP's to-list." |
| 1626 | :variable-document | 1627 | :variable-document |
| 1627 | "*Alist of group regexps and correspondent to-lists." | 1628 | "*Alist of group regexps and correspondent to-lists." |
| 1629 | :variable-group gnus-group-parameter | ||
| 1628 | :parameter-type '(gnus-email-address :tag "To List") | 1630 | :parameter-type '(gnus-email-address :tag "To List") |
| 1629 | :parameter-document "\ | 1631 | :parameter-document "\ |
| 1630 | This address will be used when doing a `a' in the group. | 1632 | This address will be used when doing a `a' in the group. |
| @@ -1643,6 +1645,7 @@ address was listed in gnus-group-split Addresses (see below).") | |||
| 1643 | "Return GROUP's subscription status." | 1645 | "Return GROUP's subscription status." |
| 1644 | :variable-document | 1646 | :variable-document |
| 1645 | "*Groups which are automatically considered subscribed." | 1647 | "*Groups which are automatically considered subscribed." |
| 1648 | :variable-group gnus-group-parameter | ||
| 1646 | :parameter-type '(const :tag "Subscribed" t) | 1649 | :parameter-type '(const :tag "Subscribed" t) |
| 1647 | :parameter-document "\ | 1650 | :parameter-document "\ |
| 1648 | Gnus assumed that you are subscribed to the To/List address. | 1651 | Gnus assumed that you are subscribed to the To/List address. |
| @@ -1749,6 +1752,7 @@ posting an article." | |||
| 1749 | "Return GROUP's initial input of the number of articles." | 1752 | "Return GROUP's initial input of the number of articles." |
| 1750 | :variable-document | 1753 | :variable-document |
| 1751 | "*Alist of group regexps and its initial input of the number of articles." | 1754 | "*Alist of group regexps and its initial input of the number of articles." |
| 1755 | :variable-group gnus-group-parameter | ||
| 1752 | :parameter-type '(choice :tag "Initial Input for Large Newsgroup" | 1756 | :parameter-type '(choice :tag "Initial Input for Large Newsgroup" |
| 1753 | (const :tag "All" nil) | 1757 | (const :tag "All" nil) |
| 1754 | (integer)) | 1758 | (integer)) |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index bd98cf0eac8..0e74da73b7d 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -1588,7 +1588,7 @@ is used by default." | |||
| 1588 | (if (not header) | 1588 | (if (not header) |
| 1589 | nil | 1589 | nil |
| 1590 | (let ((regexp (format "[%s]+" (or separator ","))) | 1590 | (let ((regexp (format "[%s]+" (or separator ","))) |
| 1591 | (beg 1) | 1591 | (beg (point-min)) |
| 1592 | (first t) | 1592 | (first t) |
| 1593 | quoted elems paren) | 1593 | quoted elems paren) |
| 1594 | (with-temp-buffer | 1594 | (with-temp-buffer |
| @@ -3722,13 +3722,13 @@ It should typically alter the sending method in some way or other." | |||
| 3722 | "content-transfer-encoding"))))))) | 3722 | "content-transfer-encoding"))))))) |
| 3723 | (message-insert-courtesy-copy)) | 3723 | (message-insert-courtesy-copy)) |
| 3724 | (if (or (not message-send-mail-partially-limit) | 3724 | (if (or (not message-send-mail-partially-limit) |
| 3725 | (< (point-max) message-send-mail-partially-limit) | 3725 | (< (buffer-size) message-send-mail-partially-limit) |
| 3726 | (not (message-y-or-n-p | 3726 | (not (message-y-or-n-p |
| 3727 | "The message size is too large, split? " | 3727 | "The message size is too large, split? " |
| 3728 | t | 3728 | t |
| 3729 | "\ | 3729 | "\ |
| 3730 | The message size, " | 3730 | The message size, " |
| 3731 | (/ (point-max) 1000) "KB, is too large. | 3731 | (/ (buffer-size) 1000) "KB, is too large. |
| 3732 | 3732 | ||
| 3733 | Some mail gateways (MTA's) bounce large messages. To avoid the | 3733 | Some mail gateways (MTA's) bounce large messages. To avoid the |
| 3734 | problem, answer `y', and the message will be split into several | 3734 | problem, answer `y', and the message will be split into several |
| @@ -3839,8 +3839,8 @@ to find out how to use this." | |||
| 3839 | (case | 3839 | (case |
| 3840 | (let ((coding-system-for-write message-send-coding-system)) | 3840 | (let ((coding-system-for-write message-send-coding-system)) |
| 3841 | (apply | 3841 | (apply |
| 3842 | 'call-process-region 1 (point-max) message-qmail-inject-program | 3842 | 'call-process-region (point-min) (point-max) |
| 3843 | nil nil nil | 3843 | message-qmail-inject-program nil nil nil |
| 3844 | ;; qmail-inject's default behaviour is to look for addresses on the | 3844 | ;; qmail-inject's default behaviour is to look for addresses on the |
| 3845 | ;; command line; if there're none, it scans the headers. | 3845 | ;; command line; if there're none, it scans the headers. |
| 3846 | ;; yes, it does The Right Thing w.r.t. Resent-To and it's kin. | 3846 | ;; yes, it does The Right Thing w.r.t. Resent-To and it's kin. |
diff --git a/lisp/gnus/mml-sec.el b/lisp/gnus/mml-sec.el index f726013dc2c..c9f5cb80190 100644 --- a/lisp/gnus/mml-sec.el +++ b/lisp/gnus/mml-sec.el | |||
| @@ -83,6 +83,7 @@ Note that the output generated by using a `combined' mode is NOT | |||
| 83 | understood by all PGP implementations, in particular PGP version | 83 | understood by all PGP implementations, in particular PGP version |
| 84 | 2 does not support it! See Info node `(message)Security' for | 84 | 2 does not support it! See Info node `(message)Security' for |
| 85 | details." | 85 | details." |
| 86 | :group 'message | ||
| 86 | :type '(repeat (list (choice (const :tag "S/MIME" "smime") | 87 | :type '(repeat (list (choice (const :tag "S/MIME" "smime") |
| 87 | (const :tag "PGP" "pgp") | 88 | (const :tag "PGP" "pgp") |
| 88 | (const :tag "PGP/MIME" "pgpmime") | 89 | (const :tag "PGP/MIME" "pgpmime") |
diff --git a/lisp/gnus/mml2015.el b/lisp/gnus/mml2015.el index 995e113e02f..6c89cfbe798 100644 --- a/lisp/gnus/mml2015.el +++ b/lisp/gnus/mml2015.el | |||
| @@ -83,6 +83,7 @@ | |||
| 83 | ("TRUST_FULLY" . t) | 83 | ("TRUST_FULLY" . t) |
| 84 | ("TRUST_ULTIMATE" . t)) | 84 | ("TRUST_ULTIMATE" . t)) |
| 85 | "Map GnuPG trust output values to a boolean saying if you trust the key." | 85 | "Map GnuPG trust output values to a boolean saying if you trust the key." |
| 86 | :group 'mime-security | ||
| 86 | :type '(repeat (cons (regexp :tag "GnuPG output regexp") | 87 | :type '(repeat (cons (regexp :tag "GnuPG output regexp") |
| 87 | (boolean :tag "Trust key")))) | 88 | (boolean :tag "Trust key")))) |
| 88 | 89 | ||
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index 6b312de24e4..8a10600fcb8 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el | |||
| @@ -34,6 +34,10 @@ | |||
| 34 | 34 | ||
| 35 | (eval-when-compile (require 'cl)) | 35 | (eval-when-compile (require 'cl)) |
| 36 | 36 | ||
| 37 | (defgroup nntp nil | ||
| 38 | "NNTP access for Gnus." | ||
| 39 | :group 'gnus) | ||
| 40 | |||
| 37 | (defvoo nntp-address nil | 41 | (defvoo nntp-address nil |
| 38 | "Address of the physical nntp server.") | 42 | "Address of the physical nntp server.") |
| 39 | 43 | ||
| @@ -182,6 +186,7 @@ server there that you can connect to. See also | |||
| 182 | 186 | ||
| 183 | (defcustom nntp-authinfo-file "~/.authinfo" | 187 | (defcustom nntp-authinfo-file "~/.authinfo" |
| 184 | ".netrc-like file that holds nntp authinfo passwords." | 188 | ".netrc-like file that holds nntp authinfo passwords." |
| 189 | :group 'nntp | ||
| 185 | :type | 190 | :type |
| 186 | '(choice file | 191 | '(choice file |
| 187 | (repeat :tag "Entries" | 192 | (repeat :tag "Entries" |
diff --git a/lisp/info.el b/lisp/info.el index 802fcf1642e..b779bb41ca6 100644 --- a/lisp/info.el +++ b/lisp/info.el | |||
| @@ -1062,8 +1062,8 @@ a case-insensitive match is tried." | |||
| 1062 | ;; into the menu in the like-named node in the main buffer. | 1062 | ;; into the menu in the like-named node in the main buffer. |
| 1063 | (apply 'insert-buffer-substring (cdr node)))) | 1063 | (apply 'insert-buffer-substring (cdr node)))) |
| 1064 | (Info-dir-remove-duplicates) | 1064 | (Info-dir-remove-duplicates) |
| 1065 | ;; Kill all the buffers we just made. | 1065 | ;; Kill all the buffers we just made, including the special one excised. |
| 1066 | (mapc 'kill-buffer buffers) | 1066 | (mapc 'kill-buffer (cons buffer buffers)) |
| 1067 | (goto-char (point-min)) | 1067 | (goto-char (point-min)) |
| 1068 | (if problems | 1068 | (if problems |
| 1069 | (message "Composing main Info directory...problems encountered, see `*Messages*'") | 1069 | (message "Composing main Info directory...problems encountered, see `*Messages*'") |
diff --git a/lisp/isearch.el b/lisp/isearch.el index 572553d816a..2398d56ab5f 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -2402,7 +2402,17 @@ Attempt to do the search exactly the way the pending isearch would." | |||
| 2402 | (let ((mb (match-beginning 0)) | 2402 | (let ((mb (match-beginning 0)) |
| 2403 | (me (match-end 0))) | 2403 | (me (match-end 0))) |
| 2404 | (if (= mb me) ;zero-length match | 2404 | (if (= mb me) ;zero-length match |
| 2405 | (forward-char 1) | 2405 | (if isearch-forward |
| 2406 | (if (= mb (if isearch-lazy-highlight-wrapped | ||
| 2407 | isearch-lazy-highlight-start | ||
| 2408 | (window-end))) | ||
| 2409 | (setq found nil) | ||
| 2410 | (forward-char 1)) | ||
| 2411 | (if (= mb (if isearch-lazy-highlight-wrapped | ||
| 2412 | isearch-lazy-highlight-end | ||
| 2413 | (window-start))) | ||
| 2414 | (setq found nil) | ||
| 2415 | (forward-char -1))) | ||
| 2406 | 2416 | ||
| 2407 | ;; non-zero-length match | 2417 | ;; non-zero-length match |
| 2408 | (let ((ov (make-overlay mb me))) | 2418 | (let ((ov (make-overlay mb me))) |
| @@ -2412,19 +2422,20 @@ Attempt to do the search exactly the way the pending isearch would." | |||
| 2412 | (push ov isearch-lazy-highlight-overlays))) | 2422 | (push ov isearch-lazy-highlight-overlays))) |
| 2413 | (if isearch-forward | 2423 | (if isearch-forward |
| 2414 | (setq isearch-lazy-highlight-end (point)) | 2424 | (setq isearch-lazy-highlight-end (point)) |
| 2415 | (setq isearch-lazy-highlight-start (point)))) | 2425 | (setq isearch-lazy-highlight-start (point))))) |
| 2416 | 2426 | ||
| 2417 | ;; not found | 2427 | ;; not found or zero-length match at the search bound |
| 2418 | (if isearch-lazy-highlight-wrapped | 2428 | (if (not found) |
| 2419 | (setq looping nil | 2429 | (if isearch-lazy-highlight-wrapped |
| 2420 | nomore t) | 2430 | (setq looping nil |
| 2421 | (setq isearch-lazy-highlight-wrapped t) | 2431 | nomore t) |
| 2422 | (if isearch-forward | 2432 | (setq isearch-lazy-highlight-wrapped t) |
| 2423 | (progn | 2433 | (if isearch-forward |
| 2424 | (setq isearch-lazy-highlight-end (window-start)) | 2434 | (progn |
| 2425 | (goto-char (window-start))) | 2435 | (setq isearch-lazy-highlight-end (window-start)) |
| 2426 | (setq isearch-lazy-highlight-start (window-end)) | 2436 | (goto-char (window-start))) |
| 2427 | (goto-char (window-end))))))) | 2437 | (setq isearch-lazy-highlight-start (window-end)) |
| 2438 | (goto-char (window-end))))))) | ||
| 2428 | (unless nomore | 2439 | (unless nomore |
| 2429 | (setq isearch-lazy-highlight-timer | 2440 | (setq isearch-lazy-highlight-timer |
| 2430 | (run-at-time isearch-lazy-highlight-interval nil | 2441 | (run-at-time isearch-lazy-highlight-interval nil |
diff --git a/lisp/kmacro.el b/lisp/kmacro.el index a129ab53cef..9e3271d01cc 100644 --- a/lisp/kmacro.el +++ b/lisp/kmacro.el | |||
| @@ -204,7 +204,7 @@ macro to be executed before appending to it." | |||
| 204 | 204 | ||
| 205 | ;; naming and binding | 205 | ;; naming and binding |
| 206 | (define-key map "b" 'kmacro-bind-to-key) | 206 | (define-key map "b" 'kmacro-bind-to-key) |
| 207 | (define-key map "n" 'name-last-kbd-macro) | 207 | (define-key map "n" 'kmacro-name-last-macro) |
| 208 | map) | 208 | map) |
| 209 | "Keymap for keyboard macro commands.") | 209 | "Keymap for keyboard macro commands.") |
| 210 | (defalias 'kmacro-keymap kmacro-keymap) | 210 | (defalias 'kmacro-keymap kmacro-keymap) |
| @@ -539,8 +539,8 @@ Displays the selected macro in the echo area." | |||
| 539 | The commands are recorded even as they are executed. | 539 | The commands are recorded even as they are executed. |
| 540 | Use \\[kmacro-end-macro] to finish recording and make the macro available. | 540 | Use \\[kmacro-end-macro] to finish recording and make the macro available. |
| 541 | Use \\[kmacro-end-and-call-macro] to execute the macro. | 541 | Use \\[kmacro-end-and-call-macro] to execute the macro. |
| 542 | Use \\[name-last-kbd-macro] to give it a permanent name. | 542 | |
| 543 | Non-nil arg (prefix arg) means append to last macro defined; | 543 | Non-nil arg (prefix arg) means append to last macro defined. |
| 544 | 544 | ||
| 545 | With \\[universal-argument] prefix, append to last keyboard macro | 545 | With \\[universal-argument] prefix, append to last keyboard macro |
| 546 | defined. Depending on `kmacro-execute-before-append', this may begin | 546 | defined. Depending on `kmacro-execute-before-append', this may begin |
| @@ -551,7 +551,10 @@ defining the macro. | |||
| 551 | 551 | ||
| 552 | Use \\[kmacro-insert-counter] to insert (and increment) the macro counter. | 552 | Use \\[kmacro-insert-counter] to insert (and increment) the macro counter. |
| 553 | The counter value can be set or modified via \\[kmacro-set-counter] and \\[kmacro-add-counter]. | 553 | The counter value can be set or modified via \\[kmacro-set-counter] and \\[kmacro-add-counter]. |
| 554 | The format of the counter can be modified via \\[kmacro-set-format]." | 554 | The format of the counter can be modified via \\[kmacro-set-format]. |
| 555 | |||
| 556 | Use \\[kmacro-name-last-macro] to give it a permanent name. | ||
| 557 | Use \\[kmacro-bind-to-key] to bind it to a key sequence." | ||
| 555 | (interactive "P") | 558 | (interactive "P") |
| 556 | (if (or defining-kbd-macro executing-kbd-macro) | 559 | (if (or defining-kbd-macro executing-kbd-macro) |
| 557 | (message "Already defining keyboard macro.") | 560 | (message "Already defining keyboard macro.") |
| @@ -585,7 +588,7 @@ The format of the counter can be modified via \\[kmacro-set-format]." | |||
| 585 | "Finish defining a keyboard macro. | 588 | "Finish defining a keyboard macro. |
| 586 | The definition was started by \\[kmacro-start-macro]. | 589 | The definition was started by \\[kmacro-start-macro]. |
| 587 | The macro is now available for use via \\[kmacro-call-macro], | 590 | The macro is now available for use via \\[kmacro-call-macro], |
| 588 | or it can be given a name with \\[name-last-kbd-macro] and then invoked | 591 | or it can be given a name with \\[kmacro-name-last-macro] and then invoked |
| 589 | under that name. | 592 | under that name. |
| 590 | 593 | ||
| 591 | With numeric arg, repeat macro now that many times, | 594 | With numeric arg, repeat macro now that many times, |
| @@ -609,7 +612,7 @@ command. See `kmacro-call-repeat-key' and `kmacro-call-repeat-with-arg' | |||
| 609 | for details on how to adjust or disable this behaviour. | 612 | for details on how to adjust or disable this behaviour. |
| 610 | 613 | ||
| 611 | To make a macro permanent so you can call it even after defining | 614 | To make a macro permanent so you can call it even after defining |
| 612 | others, use \\[name-last-kbd-macro]." | 615 | others, use \\[kmacro-name-last-macro]." |
| 613 | (interactive "p") | 616 | (interactive "p") |
| 614 | (let ((repeat-key (and (null no-repeat) | 617 | (let ((repeat-key (and (null no-repeat) |
| 615 | (> (length (this-single-command-keys)) 1) | 618 | (> (length (this-single-command-keys)) 1) |
| @@ -707,7 +710,7 @@ With numeric prefix ARG, repeat macro that many times. | |||
| 707 | Zero argument means repeat until there is an error. | 710 | Zero argument means repeat until there is an error. |
| 708 | 711 | ||
| 709 | To give a macro a permanent name, so you can call it | 712 | To give a macro a permanent name, so you can call it |
| 710 | even after defining other macros, use \\[name-last-kbd-macro]." | 713 | even after defining other macros, use \\[kmacro-name-last-macro]." |
| 711 | (interactive "P") | 714 | (interactive "P") |
| 712 | (if defining-kbd-macro | 715 | (if defining-kbd-macro |
| 713 | (kmacro-end-macro nil)) | 716 | (kmacro-end-macro nil)) |
| @@ -771,10 +774,38 @@ may be shaded by a local key binding." | |||
| 771 | (yes-or-no-p (format "%s runs command %S. Bind anyway? " | 774 | (yes-or-no-p (format "%s runs command %S. Bind anyway? " |
| 772 | (format-kbd-macro key-seq) | 775 | (format-kbd-macro key-seq) |
| 773 | cmd)))) | 776 | cmd)))) |
| 774 | (define-key global-map key-seq last-kbd-macro) | 777 | (define-key global-map key-seq |
| 778 | `(lambda (&optional arg) | ||
| 779 | "Keyboard macro." | ||
| 780 | (interactive "p") | ||
| 781 | (kmacro-exec-ring-item ',(kmacro-ring-head) arg))) | ||
| 775 | (message "Keyboard macro bound to %s" (format-kbd-macro key-seq)))))) | 782 | (message "Keyboard macro bound to %s" (format-kbd-macro key-seq)))))) |
| 776 | 783 | ||
| 777 | 784 | ||
| 785 | (defun kmacro-name-last-macro (symbol) | ||
| 786 | "Assign a name to the last keyboard macro defined. | ||
| 787 | Argument SYMBOL is the name to define. | ||
| 788 | The symbol's function definition becomes the keyboard macro string. | ||
| 789 | Such a \"function\" cannot be called from Lisp, but it is a valid editor command." | ||
| 790 | (interactive "SName for last kbd macro: ") | ||
| 791 | (or last-kbd-macro | ||
| 792 | (error "No keyboard macro defined")) | ||
| 793 | (and (fboundp symbol) | ||
| 794 | (not (get symbol 'kmacro)) | ||
| 795 | (not (stringp (symbol-function symbol))) | ||
| 796 | (not (vectorp (symbol-function symbol))) | ||
| 797 | (error "Function %s is already defined and not a keyboard macro" | ||
| 798 | symbol)) | ||
| 799 | (if (string-equal symbol "") | ||
| 800 | (error "No command name given")) | ||
| 801 | (fset symbol | ||
| 802 | `(lambda (&optional arg) | ||
| 803 | "Keyboard macro." | ||
| 804 | (interactive "p") | ||
| 805 | (kmacro-exec-ring-item ',(kmacro-ring-head) arg))) | ||
| 806 | (put symbol 'kmacro t)) | ||
| 807 | |||
| 808 | |||
| 778 | (defun kmacro-view-macro (&optional arg) | 809 | (defun kmacro-view-macro (&optional arg) |
| 779 | "Display the last keyboard macro. | 810 | "Display the last keyboard macro. |
| 780 | If repeated, it shows previous elements in the macro ring." | 811 | If repeated, it shows previous elements in the macro ring." |
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index dd1062da816..e48186d8b3b 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog | |||
| @@ -1,16 +1,20 @@ | |||
| 1 | 2004-09-07 Stefan <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * mh-inc.el (mh-inc-spool-list): Correctly declare the external var. | ||
| 4 | |||
| 1 | 2004-08-21 Bill Wohler <wohler@newt.com> | 5 | 2004-08-21 Bill Wohler <wohler@newt.com> |
| 2 | 6 | ||
| 3 | * Released MH-E version 7.82. | 7 | * Released MH-E version 7.82. |
| 4 | 8 | ||
| 5 | * MH-E-NEWS, README: Updated for release 7.82. | 9 | * MH-E-NEWS, README: Updated for release 7.82. |
| 6 | 10 | ||
| 7 | * mh-e.el (Version, mh-version): Updated for release 7.82. | 11 | * mh-e.el (Version, mh-version): Update for release 7.82. |
| 8 | 12 | ||
| 9 | 2004-08-24 Bill Wohler <wohler@newt.com> | 13 | 2004-08-24 Bill Wohler <wohler@newt.com> |
| 10 | 14 | ||
| 11 | * mh-init.el (mh-variant-set): Changed MH to mh as that's what is | 15 | * mh-init.el (mh-variant-set): Change MH to mh as that's what is |
| 12 | emitted by `mh-variant-mh-info' (closes SF #1014781). | 16 | emitted by `mh-variant-mh-info' (closes SF #1014781). |
| 13 | (mh-variant-p): Added mu-mh to docstring. | 17 | (mh-variant-p): Add mu-mh to docstring. |
| 14 | 18 | ||
| 15 | 2004-08-23 Satyaki Das <satyaki@theforce.stanford.edu> | 19 | 2004-08-23 Satyaki Das <satyaki@theforce.stanford.edu> |
| 16 | 20 | ||
| @@ -31,21 +35,21 @@ | |||
| 31 | 35 | ||
| 32 | 2004-08-21 Bill Wohler <wohler@newt.com> | 36 | 2004-08-21 Bill Wohler <wohler@newt.com> |
| 33 | 37 | ||
| 34 | * mh-e.el (Version, mh-version): Added +cvs to release number. | 38 | * mh-e.el (Version, mh-version): Add +cvs to release number. |
| 35 | 39 | ||
| 36 | 2004-08-21 Bill Wohler <wohler@newt.com> | 40 | 2004-08-21 Bill Wohler <wohler@newt.com> |
| 37 | 41 | ||
| 38 | * Released MH-E version 7.81. | 42 | * Released MH-E version 7.81. |
| 39 | 43 | ||
| 40 | * MH-E-NEWS, README: Updated for release 7.81. | 44 | * MH-E-NEWS, README: Updated for release 7.81. |
| 41 | 45 | ||
| 42 | * mh-e.el (Version, mh-version): Updated for release 7.81. | 46 | * mh-e.el (Version, mh-version): Update for release 7.81. |
| 43 | 47 | ||
| 44 | 2004-08-21 Bill Wohler <wohler@newt.com> | 48 | 2004-08-21 Bill Wohler <wohler@newt.com> |
| 45 | 49 | ||
| 46 | * release-utils (variable_changes): Check for checked-out | 50 | * release-utils (variable_changes): Check for checked-out |
| 47 | directory before proceeding. Remove temporary files. Renamed | 51 | directory before proceeding. Remove temporary files. |
| 48 | --variable-update flag to --variable-changes. | 52 | Rename --variable-update flag to --variable-changes. |
| 49 | 53 | ||
| 50 | 2004-08-16 Mark D. Baushke <mdb@gnu.org> | 54 | 2004-08-16 Mark D. Baushke <mdb@gnu.org> |
| 51 | 55 | ||
diff --git a/lisp/mh-e/mh-inc.el b/lisp/mh-e/mh-inc.el index 42ca018506f..682b8aa7c53 100644 --- a/lisp/mh-e/mh-inc.el +++ b/lisp/mh-e/mh-inc.el | |||
| @@ -74,7 +74,7 @@ | |||
| 74 | "] inc " folder " folder\n")))) | 74 | "] inc " folder " folder\n")))) |
| 75 | 75 | ||
| 76 | ;; Avoid compiler warning | 76 | ;; Avoid compiler warning |
| 77 | (eval-when-compile (defvar mh-inc-spool-list)) | 77 | (defvar mh-inc-spool-list) |
| 78 | 78 | ||
| 79 | (defun mh-inc-spool-make () | 79 | (defun mh-inc-spool-make () |
| 80 | "Make all commands and defines keys for contents of `mh-inc-spool-list'." | 80 | "Make all commands and defines keys for contents of `mh-inc-spool-list'." |
| @@ -98,10 +98,10 @@ This is called after 'customize is used to alter `mh-inc-spool-list'." | |||
| 98 | 98 | ||
| 99 | (provide 'mh-inc) | 99 | (provide 'mh-inc) |
| 100 | 100 | ||
| 101 | ;;; Local Variables: | 101 | ;; Local Variables: |
| 102 | ;;; indent-tabs-mode: nil | 102 | ;; indent-tabs-mode: nil |
| 103 | ;;; sentence-end-double-space: nil | 103 | ;; sentence-end-double-space: nil |
| 104 | ;;; End: | 104 | ;; End: |
| 105 | 105 | ||
| 106 | ;;; arch-tag: 3713cf2a-6082-4cb4-8ce2-99d9acaba835 | 106 | ;; arch-tag: 3713cf2a-6082-4cb4-8ce2-99d9acaba835 |
| 107 | ;;; mh-inc.el ends here | 107 | ;;; mh-inc.el ends here |
diff --git a/lisp/newcomment.el b/lisp/newcomment.el index f4d4dc860d5..3a63636b757 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; newcomment.el --- (un)comment regions of buffers | 1 | ;;; newcomment.el --- (un)comment regions of buffers |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1999,2000,2003,2004 Free Software Foundation Inc. | 3 | ;; Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation Inc. |
| 4 | 4 | ||
| 5 | ;; Author: code extracted from Emacs-20's simple.el | 5 | ;; Author: code extracted from Emacs-20's simple.el |
| 6 | ;; Maintainer: Stefan Monnier <monnier@cs.yale.edu> | 6 | ;; Maintainer: Stefan Monnier <monnier@cs.yale.edu> |
| @@ -137,7 +137,7 @@ The function has no args. | |||
| 137 | Applicable at least in modes for languages like fixed-format Fortran where | 137 | Applicable at least in modes for languages like fixed-format Fortran where |
| 138 | comments always start in column zero.") | 138 | comments always start in column zero.") |
| 139 | 139 | ||
| 140 | (defvar comment-region-function nil | 140 | (defvar comment-region-function 'comment-region-default |
| 141 | "Function to comment a region. | 141 | "Function to comment a region. |
| 142 | Its args are the same as those of `comment-region', but BEG and END are | 142 | Its args are the same as those of `comment-region', but BEG and END are |
| 143 | guaranteed to be correctly ordered. It is called within `save-excursion'. | 143 | guaranteed to be correctly ordered. It is called within `save-excursion'. |
| @@ -145,7 +145,7 @@ guaranteed to be correctly ordered. It is called within `save-excursion'. | |||
| 145 | Applicable at least in modes for languages like fixed-format Fortran where | 145 | Applicable at least in modes for languages like fixed-format Fortran where |
| 146 | comments always start in column zero.") | 146 | comments always start in column zero.") |
| 147 | 147 | ||
| 148 | (defvar uncomment-region-function nil | 148 | (defvar uncomment-region-function 'uncomment-region-default |
| 149 | "Function to uncomment a region. | 149 | "Function to uncomment a region. |
| 150 | Its args are the same as those of `uncomment-region', but BEG and END are | 150 | Its args are the same as those of `uncomment-region', but BEG and END are |
| 151 | guaranteed to be correctly ordered. It is called within `save-excursion'. | 151 | guaranteed to be correctly ordered. It is called within `save-excursion'. |
| @@ -368,12 +368,12 @@ and raises an error or returns nil if NOERROR is non-nil." | |||
| 368 | (if comment-use-global-state (syntax-ppss pt)) | 368 | (if comment-use-global-state (syntax-ppss pt)) |
| 369 | t))) | 369 | t))) |
| 370 | (when (and (nth 8 s) (nth 3 s) (not comment-use-global-state)) | 370 | (when (and (nth 8 s) (nth 3 s) (not comment-use-global-state)) |
| 371 | ;; The search ended inside a string. Try to see if it | 371 | ;; The search ended at eol inside a string. Try to see if it |
| 372 | ;; works better when we assume that pt is inside a string. | 372 | ;; works better when we assume that pt is inside a string. |
| 373 | (setq s (parse-partial-sexp | 373 | (setq s (parse-partial-sexp |
| 374 | pt (or limit (point-max)) nil nil | 374 | pt (or limit (point-max)) nil nil |
| 375 | (list nil nil nil (nth 3 s) nil nil nil nil) | 375 | (list nil nil nil (nth 3 s) nil nil nil nil) |
| 376 | t))) | 376 | t))) |
| 377 | (if (not (and (nth 8 s) (not (nth 3 s)))) | 377 | (if (not (and (nth 8 s) (not (nth 3 s)))) |
| 378 | (unless noerror (error "No comment")) | 378 | (unless noerror (error "No comment")) |
| 379 | ;; We found the comment. | 379 | ;; We found the comment. |
| @@ -710,105 +710,108 @@ comment markers." | |||
| 710 | (interactive "*r\nP") | 710 | (interactive "*r\nP") |
| 711 | (comment-normalize-vars) | 711 | (comment-normalize-vars) |
| 712 | (when (> beg end) (setq beg (prog1 end (setq end beg)))) | 712 | (when (> beg end) (setq beg (prog1 end (setq end beg)))) |
| 713 | 713 | ;; Bind `comment-use-global-state' to nil. While uncommenting a region | |
| 714 | ;; Bind `comment-use-global-state' to nil. While uncommenting a | 714 | ;; (which works a line at a time), a comment can appear to be |
| 715 | ;; (which works a line at a time) region a comment can appear to be | ||
| 716 | ;; included in a mult-line string, but it is actually not. | 715 | ;; included in a mult-line string, but it is actually not. |
| 717 | (let ((comment-use-global-state nil)) | 716 | (let ((comment-use-global-state nil)) |
| 718 | (save-excursion | 717 | (save-excursion |
| 719 | (if uncomment-region-function | 718 | (funcall uncomment-region-function beg end arg)))) |
| 720 | (funcall uncomment-region-function beg end arg) | 719 | |
| 721 | (goto-char beg) | 720 | (defun uncomment-region-default (beg end &optional arg) |
| 722 | (setq end (copy-marker end)) | 721 | "Uncomment each line in the BEG .. END region. |
| 723 | (let* ((numarg (prefix-numeric-value arg)) | 722 | The numeric prefix ARG can specify a number of chars to remove from the |
| 724 | (ccs comment-continue) | 723 | comment markers." |
| 725 | (srei (comment-padright ccs 're)) | 724 | (goto-char beg) |
| 726 | (csre (comment-padright comment-start 're)) | 725 | (setq end (copy-marker end)) |
| 727 | (sre (and srei (concat "^\\s-*?\\(" srei "\\)"))) | 726 | (let* ((numarg (prefix-numeric-value arg)) |
| 728 | spt) | 727 | (ccs comment-continue) |
| 729 | (while (and (< (point) end) | 728 | (srei (comment-padright ccs 're)) |
| 730 | (setq spt (comment-search-forward end t))) | 729 | (csre (comment-padright comment-start 're)) |
| 731 | (let ((ipt (point)) | 730 | (sre (and srei (concat "^\\s-*?\\(" srei "\\)"))) |
| 732 | ;; Find the end of the comment. | 731 | spt) |
| 733 | (ept (progn | 732 | (while (and (< (point) end) |
| 734 | (goto-char spt) | 733 | (setq spt (comment-search-forward end t))) |
| 735 | (unless (or (comment-forward) | 734 | (let ((ipt (point)) |
| 736 | ;; Allow non-terminated comments. | 735 | ;; Find the end of the comment. |
| 737 | (eobp)) | 736 | (ept (progn |
| 738 | (error "Can't find the comment end")) | 737 | (goto-char spt) |
| 739 | (point))) | 738 | (unless (or (comment-forward) |
| 740 | (box nil) | 739 | ;; Allow non-terminated comments. |
| 741 | (box-equal nil)) ;Whether we might be using `=' for boxes. | 740 | (eobp)) |
| 742 | (save-restriction | 741 | (error "Can't find the comment end")) |
| 743 | (narrow-to-region spt ept) | 742 | (point))) |
| 743 | (box nil) | ||
| 744 | (box-equal nil)) ;Whether we might be using `=' for boxes. | ||
| 745 | (save-restriction | ||
| 746 | (narrow-to-region spt ept) | ||
| 744 | 747 | ||
| 745 | ;; Remove the comment-start. | 748 | ;; Remove the comment-start. |
| 746 | (goto-char ipt) | 749 | (goto-char ipt) |
| 747 | (skip-syntax-backward " ") | 750 | (skip-syntax-backward " ") |
| 748 | ;; A box-comment starts with a looong comment-start marker. | 751 | ;; A box-comment starts with a looong comment-start marker. |
| 749 | (when (and (or (and (= (- (point) (point-min)) 1) | 752 | (when (and (or (and (= (- (point) (point-min)) 1) |
| 750 | (setq box-equal t) | 753 | (setq box-equal t) |
| 751 | (looking-at "=\\{7\\}") | 754 | (looking-at "=\\{7\\}") |
| 752 | (not (eq (char-before (point-max)) ?\n)) | 755 | (not (eq (char-before (point-max)) ?\n)) |
| 753 | (skip-chars-forward "=")) | 756 | (skip-chars-forward "=")) |
| 754 | (> (- (point) (point-min) (length comment-start)) 7)) | 757 | (> (- (point) (point-min) (length comment-start)) 7)) |
| 755 | (> (count-lines (point-min) (point-max)) 2)) | 758 | (> (count-lines (point-min) (point-max)) 2)) |
| 756 | (setq box t)) | 759 | (setq box t)) |
| 757 | ;; Skip the padding. Padding can come from comment-padding and/or | 760 | ;; Skip the padding. Padding can come from comment-padding and/or |
| 758 | ;; from comment-start, so we first check comment-start. | 761 | ;; from comment-start, so we first check comment-start. |
| 759 | (if (or (save-excursion (goto-char (point-min)) (looking-at csre)) | 762 | (if (or (save-excursion (goto-char (point-min)) (looking-at csre)) |
| 760 | (looking-at (regexp-quote comment-padding))) | 763 | (looking-at (regexp-quote comment-padding))) |
| 761 | (goto-char (match-end 0))) | 764 | (goto-char (match-end 0))) |
| 762 | (when (and sre (looking-at (concat "\\s-*\n\\s-*" srei))) | 765 | (when (and sre (looking-at (concat "\\s-*\n\\s-*" srei))) |
| 763 | (goto-char (match-end 0))) | 766 | (goto-char (match-end 0))) |
| 764 | (if (null arg) (delete-region (point-min) (point)) | 767 | (if (null arg) (delete-region (point-min) (point)) |
| 765 | (skip-syntax-backward " ") | 768 | (skip-syntax-backward " ") |
| 766 | (delete-char (- numarg)) | 769 | (delete-char (- numarg)) |
| 767 | (unless (or (bobp) | 770 | (unless (or (bobp) |
| 768 | (save-excursion (goto-char (point-min)) | 771 | (save-excursion (goto-char (point-min)) |
| 769 | (looking-at comment-start-skip))) | 772 | (looking-at comment-start-skip))) |
| 770 | ;; If there's something left but it doesn't look like | 773 | ;; If there's something left but it doesn't look like |
| 771 | ;; a comment-start any more, just remove it. | 774 | ;; a comment-start any more, just remove it. |
| 772 | (delete-region (point-min) (point)))) | 775 | (delete-region (point-min) (point)))) |
| 773 | 776 | ||
| 774 | ;; Remove the end-comment (and leading padding and such). | 777 | ;; Remove the end-comment (and leading padding and such). |
| 775 | (goto-char (point-max)) (comment-enter-backward) | 778 | (goto-char (point-max)) (comment-enter-backward) |
| 776 | ;; Check for special `=' used sometimes in comment-box. | 779 | ;; Check for special `=' used sometimes in comment-box. |
| 777 | (when (and box-equal (not (eq (char-before (point-max)) ?\n))) | 780 | (when (and box-equal (not (eq (char-before (point-max)) ?\n))) |
| 778 | (let ((pos (point))) | 781 | (let ((pos (point))) |
| 779 | ;; skip `=' but only if there are at least 7. | 782 | ;; skip `=' but only if there are at least 7. |
| 780 | (when (> (skip-chars-backward "=") -7) (goto-char pos)))) | 783 | (when (> (skip-chars-backward "=") -7) (goto-char pos)))) |
| 781 | (unless (looking-at "\\(\n\\|\\s-\\)*\\'") | 784 | (unless (looking-at "\\(\n\\|\\s-\\)*\\'") |
| 782 | (when (and (bolp) (not (bobp))) (backward-char)) | 785 | (when (and (bolp) (not (bobp))) (backward-char)) |
| 783 | (if (null arg) (delete-region (point) (point-max)) | 786 | (if (null arg) (delete-region (point) (point-max)) |
| 784 | (skip-syntax-forward " ") | 787 | (skip-syntax-forward " ") |
| 785 | (delete-char numarg) | 788 | (delete-char numarg) |
| 786 | (unless (or (eobp) (looking-at comment-end-skip)) | 789 | (unless (or (eobp) (looking-at comment-end-skip)) |
| 787 | ;; If there's something left but it doesn't look like | 790 | ;; If there's something left but it doesn't look like |
| 788 | ;; a comment-end any more, just remove it. | 791 | ;; a comment-end any more, just remove it. |
| 789 | (delete-region (point) (point-max))))) | 792 | (delete-region (point) (point-max))))) |
| 790 | 793 | ||
| 791 | ;; Unquote any nested end-comment. | 794 | ;; Unquote any nested end-comment. |
| 792 | (comment-quote-nested comment-start comment-end t) | 795 | (comment-quote-nested comment-start comment-end t) |
| 793 | 796 | ||
| 794 | ;; Eliminate continuation markers as well. | 797 | ;; Eliminate continuation markers as well. |
| 795 | (when sre | 798 | (when sre |
| 796 | (let* ((cce (comment-string-reverse (or comment-continue | 799 | (let* ((cce (comment-string-reverse (or comment-continue |
| 797 | comment-start))) | 800 | comment-start))) |
| 798 | (erei (and box (comment-padleft cce 're))) | 801 | (erei (and box (comment-padleft cce 're))) |
| 799 | (ere (and erei (concat "\\(" erei "\\)\\s-*$")))) | 802 | (ere (and erei (concat "\\(" erei "\\)\\s-*$")))) |
| 800 | (goto-char (point-min)) | 803 | (goto-char (point-min)) |
| 801 | (while (progn | 804 | (while (progn |
| 802 | (if (and ere (re-search-forward | 805 | (if (and ere (re-search-forward |
| 803 | ere (line-end-position) t)) | 806 | ere (line-end-position) t)) |
| 804 | (replace-match "" t t nil (if (match-end 2) 2 1)) | 807 | (replace-match "" t t nil (if (match-end 2) 2 1)) |
| 805 | (setq ere nil)) | 808 | (setq ere nil)) |
| 806 | (forward-line 1) | 809 | (forward-line 1) |
| 807 | (re-search-forward sre (line-end-position) t)) | 810 | (re-search-forward sre (line-end-position) t)) |
| 808 | (replace-match "" t t nil (if (match-end 2) 2 1))))) | 811 | (replace-match "" t t nil (if (match-end 2) 2 1))))) |
| 809 | ;; Go to the end for the next comment. | 812 | ;; Go to the end for the next comment. |
| 810 | (goto-char (point-max))))))) | 813 | (goto-char (point-max)))))) |
| 811 | (set-marker end nil)))) | 814 | (set-marker end nil)) |
| 812 | 815 | ||
| 813 | (defun comment-make-extra-lines (cs ce ccs cce min-indent max-indent &optional block) | 816 | (defun comment-make-extra-lines (cs ce ccs cce min-indent max-indent &optional block) |
| 814 | "Make the leading and trailing extra lines. | 817 | "Make the leading and trailing extra lines. |
| @@ -971,59 +974,61 @@ The strings used as comment starts are built from | |||
| 971 | (interactive "*r\nP") | 974 | (interactive "*r\nP") |
| 972 | (comment-normalize-vars) | 975 | (comment-normalize-vars) |
| 973 | (if (> beg end) (let (mid) (setq mid beg beg end end mid))) | 976 | (if (> beg end) (let (mid) (setq mid beg beg end end mid))) |
| 977 | (save-excursion | ||
| 978 | ;; FIXME: maybe we should call uncomment depending on ARG. | ||
| 979 | (funcall comment-region-function beg end arg))) | ||
| 980 | |||
| 981 | (defun comment-region-default (beg end &optional arg) | ||
| 974 | (let* ((numarg (prefix-numeric-value arg)) | 982 | (let* ((numarg (prefix-numeric-value arg)) |
| 975 | (add comment-add) | 983 | (add comment-add) |
| 976 | (style (cdr (assoc comment-style comment-styles))) | 984 | (style (cdr (assoc comment-style comment-styles))) |
| 977 | (lines (nth 2 style)) | 985 | (lines (nth 2 style)) |
| 978 | (block (nth 1 style)) | 986 | (block (nth 1 style)) |
| 979 | (multi (nth 0 style))) | 987 | (multi (nth 0 style))) |
| 980 | (save-excursion | 988 | ;; we use `chars' instead of `syntax' because `\n' might be |
| 981 | (if comment-region-function | 989 | ;; of end-comment syntax rather than of whitespace syntax. |
| 982 | (funcall comment-region-function beg end arg) | 990 | ;; sanitize BEG and END |
| 983 | ;; we use `chars' instead of `syntax' because `\n' might be | 991 | (goto-char beg) (skip-chars-forward " \t\n\r") (beginning-of-line) |
| 984 | ;; of end-comment syntax rather than of whitespace syntax. | 992 | (setq beg (max beg (point))) |
| 985 | ;; sanitize BEG and END | 993 | (goto-char end) (skip-chars-backward " \t\n\r") (end-of-line) |
| 986 | (goto-char beg) (skip-chars-forward " \t\n\r") (beginning-of-line) | 994 | (setq end (min end (point))) |
| 987 | (setq beg (max beg (point))) | 995 | (if (>= beg end) (error "Nothing to comment")) |
| 988 | (goto-char end) (skip-chars-backward " \t\n\r") (end-of-line) | 996 | |
| 989 | (setq end (min end (point))) | 997 | ;; sanitize LINES |
| 990 | (if (>= beg end) (error "Nothing to comment")) | 998 | (setq lines |
| 991 | 999 | (and | |
| 992 | ;; sanitize LINES | 1000 | lines ;; multi |
| 993 | (setq lines | 1001 | (progn (goto-char beg) (beginning-of-line) |
| 994 | (and | 1002 | (skip-syntax-forward " ") |
| 995 | lines ;; multi | 1003 | (>= (point) beg)) |
| 996 | (progn (goto-char beg) (beginning-of-line) | 1004 | (progn (goto-char end) (end-of-line) (skip-syntax-backward " ") |
| 997 | (skip-syntax-forward " ") | 1005 | (<= (point) end)) |
| 998 | (>= (point) beg)) | 1006 | (or block (not (string= "" comment-end))) |
| 999 | (progn (goto-char end) (end-of-line) (skip-syntax-backward " ") | 1007 | (or block (progn (goto-char beg) (search-forward "\n" end t))))) |
| 1000 | (<= (point) end)) | 1008 | |
| 1001 | (or block (not (string= "" comment-end))) | 1009 | ;; don't add end-markers just because the user asked for `block' |
| 1002 | (or block (progn (goto-char beg) (search-forward "\n" end t)))))) | 1010 | (unless (or lines (string= "" comment-end)) (setq block nil)) |
| 1003 | 1011 | ||
| 1004 | ;; don't add end-markers just because the user asked for `block' | 1012 | (cond |
| 1005 | (unless (or lines (string= "" comment-end)) (setq block nil)) | 1013 | ((consp arg) (uncomment-region beg end)) |
| 1006 | 1014 | ((< numarg 0) (uncomment-region beg end (- numarg))) | |
| 1007 | (cond | 1015 | (t |
| 1008 | ((consp arg) (uncomment-region beg end)) | 1016 | (setq numarg (if (and (null arg) (= (length comment-start) 1)) |
| 1009 | ((< numarg 0) (uncomment-region beg end (- numarg))) | 1017 | add (1- numarg))) |
| 1010 | (t | 1018 | (comment-region-internal |
| 1011 | (setq numarg (if (and (null arg) (= (length comment-start) 1)) | 1019 | beg end |
| 1012 | add (1- numarg))) | 1020 | (let ((s (comment-padright comment-start numarg))) |
| 1013 | (comment-region-internal | 1021 | (if (string-match comment-start-skip s) s |
| 1014 | beg end | 1022 | (comment-padright comment-start))) |
| 1015 | (let ((s (comment-padright comment-start numarg))) | 1023 | (let ((s (comment-padleft comment-end numarg))) |
| 1016 | (if (string-match comment-start-skip s) s | 1024 | (and s (if (string-match comment-end-skip s) s |
| 1017 | (comment-padright comment-start))) | 1025 | (comment-padright comment-end)))) |
| 1018 | (let ((s (comment-padleft comment-end numarg))) | 1026 | (if multi (comment-padright comment-continue numarg)) |
| 1019 | (and s (if (string-match comment-end-skip s) s | 1027 | (if multi |
| 1020 | (comment-padright comment-end)))) | 1028 | (comment-padleft (comment-string-reverse comment-continue) numarg)) |
| 1021 | (if multi (comment-padright comment-continue numarg)) | 1029 | block |
| 1022 | (if multi | 1030 | lines |
| 1023 | (comment-padleft (comment-string-reverse comment-continue) numarg)) | 1031 | (nth 3 style)))))) |
| 1024 | block | ||
| 1025 | lines | ||
| 1026 | (nth 3 style))))))) | ||
| 1027 | 1032 | ||
| 1028 | (defun comment-box (beg end &optional arg) | 1033 | (defun comment-box (beg end &optional arg) |
| 1029 | "Comment out the BEG .. END region, putting it inside a box. | 1034 | "Comment out the BEG .. END region, putting it inside a box. |
| @@ -1198,5 +1203,5 @@ unless optional argument SOFT is non-nil." | |||
| 1198 | 1203 | ||
| 1199 | (provide 'newcomment) | 1204 | (provide 'newcomment) |
| 1200 | 1205 | ||
| 1201 | ;;; arch-tag: 01e3320a-00c8-44ea-a696-8f8e7354c858 | 1206 | ;; arch-tag: 01e3320a-00c8-44ea-a696-8f8e7354c858 |
| 1202 | ;;; newcomment.el ends here | 1207 | ;;; newcomment.el ends here |
diff --git a/lisp/pcvs-info.el b/lisp/pcvs-info.el index a26b99445c8..77e165b2462 100644 --- a/lisp/pcvs-info.el +++ b/lisp/pcvs-info.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; pcvs-info.el --- internal representation of a fileinfo entry | 1 | ;;; pcvs-info.el --- internal representation of a fileinfo entry |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2004 | 3 | ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; 2000, 2004 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Stefan Monnier <monnier@cs.yale.edu> | 6 | ;; Author: Stefan Monnier <monnier@cs.yale.edu> |
| 7 | ;; Keywords: pcl-cvs | 7 | ;; Keywords: pcl-cvs |
| @@ -274,7 +274,7 @@ to confuse some users sometimes." | |||
| 274 | ;;;; | 274 | ;;;; |
| 275 | 275 | ||
| 276 | (defconst cvs-states | 276 | (defconst cvs-states |
| 277 | `((NEED-UPDATE update diff) | 277 | `((NEED-UPDATE update diff ignore) |
| 278 | (UP-TO-DATE update nil remove diff safe-rm revert) | 278 | (UP-TO-DATE update nil remove diff safe-rm revert) |
| 279 | (MODIFIED update commit undo remove diff merge diff-base) | 279 | (MODIFIED update commit undo remove diff merge diff-base) |
| 280 | (ADDED update commit remove) | 280 | (ADDED update commit remove) |
| @@ -471,5 +471,5 @@ DIR can also be a file." | |||
| 471 | 471 | ||
| 472 | (provide 'pcvs-info) | 472 | (provide 'pcvs-info) |
| 473 | 473 | ||
| 474 | ;;; arch-tag: d85dde07-bdc2-400a-882f-92f398c7b0ba | 474 | ;; arch-tag: d85dde07-bdc2-400a-882f-92f398c7b0ba |
| 475 | ;;; pcvs-info.el ends here | 475 | ;;; pcvs-info.el ends here |
diff --git a/lisp/pcvs-util.el b/lisp/pcvs-util.el index 3380077c74a..5d9d0d215af 100644 --- a/lisp/pcvs-util.el +++ b/lisp/pcvs-util.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; pcvs-util.el --- utility functions for PCL-CVS -*- byte-compile-dynamic: t -*- | 1 | ;;; pcvs-util.el --- utility functions for PCL-CVS -*- byte-compile-dynamic: t -*- |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1991,92,93,94,95,96,97,98,99, 2000,01,04 | 3 | ;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; 2000, 2001, 2004 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Stefan Monnier <monnier@cs.yale.edu> | 6 | ;; Author: Stefan Monnier <monnier@cs.yale.edu> |
| 7 | ;; Keywords: pcl-cvs | 7 | ;; Keywords: pcl-cvs |
| @@ -180,9 +180,7 @@ arguments. If ARGS is not a list, no argument will be passed." | |||
| 180 | 180 | ||
| 181 | (defun cvs-string-prefix-p (str1 str2) | 181 | (defun cvs-string-prefix-p (str1 str2) |
| 182 | "Tell whether STR1 is a prefix of STR2." | 182 | "Tell whether STR1 is a prefix of STR2." |
| 183 | (let ((length1 (length str1))) | 183 | (eq t (compare-strings str2 nil (length str1) str1 nil nil))) |
| 184 | (and (>= (length str2) length1) | ||
| 185 | (string= str1 (substring str2 0 length1))))) | ||
| 186 | 184 | ||
| 187 | ;; (string->strings (strings->string X)) == X | 185 | ;; (string->strings (strings->string X)) == X |
| 188 | (defun cvs-strings->string (strings &optional separator) | 186 | (defun cvs-strings->string (strings &optional separator) |
| @@ -392,5 +390,5 @@ and reset it unless READ-ONLY is non-nil." | |||
| 392 | 390 | ||
| 393 | (provide 'pcvs-util) | 391 | (provide 'pcvs-util) |
| 394 | 392 | ||
| 395 | ;;; arch-tag: 3b2588bb-2ae3-4f1f-bf5b-dea91b1f8a59 | 393 | ;; arch-tag: 3b2588bb-2ae3-4f1f-bf5b-dea91b1f8a59 |
| 396 | ;;; pcvs-util.el ends here | 394 | ;;; pcvs-util.el ends here |
diff --git a/lisp/play/blackbox.el b/lisp/play/blackbox.el index f3933e7ccd2..4d6cbfbeaf8 100644 --- a/lisp/play/blackbox.el +++ b/lisp/play/blackbox.el | |||
| @@ -335,34 +335,35 @@ a reflection." | |||
| 335 | (bb-update-board (propertize "O" 'help-echo "Placed ball")))))) | 335 | (bb-update-board (propertize "O" 'help-echo "Placed ball")))))) |
| 336 | 336 | ||
| 337 | (defun bb-trace-ray (x y) | 337 | (defun bb-trace-ray (x y) |
| 338 | (let ((result (bb-trace-ray-2 | 338 | (when (= (following-char) 32) |
| 339 | t | 339 | (let ((result (bb-trace-ray-2 |
| 340 | x | 340 | t |
| 341 | (cond | 341 | x |
| 342 | ((= x -1) 1) | 342 | (cond |
| 343 | ((= x 8) -1) | 343 | ((= x -1) 1) |
| 344 | (t 0)) | 344 | ((= x 8) -1) |
| 345 | y | 345 | (t 0)) |
| 346 | (cond | 346 | y |
| 347 | ((= y -1) 1) | 347 | (cond |
| 348 | ((= y 8) -1) | 348 | ((= y -1) 1) |
| 349 | (t 0))))) | 349 | ((= y 8) -1) |
| 350 | (cond | 350 | (t 0))))) |
| 351 | ((eq result 'hit) | 351 | (cond |
| 352 | (bb-update-board (propertize "H" 'help-echo "Hit")) | 352 | ((eq result 'hit) |
| 353 | (setq bb-score (1+ bb-score))) | 353 | (bb-update-board (propertize "H" 'help-echo "Hit")) |
| 354 | ((equal result (cons x y)) | 354 | (setq bb-score (1+ bb-score))) |
| 355 | (bb-update-board (propertize "R" 'help-echo "Reflection")) | 355 | ((equal result (cons x y)) |
| 356 | (setq bb-score (1+ bb-score))) | 356 | (bb-update-board (propertize "R" 'help-echo "Reflection")) |
| 357 | (t | 357 | (setq bb-score (1+ bb-score))) |
| 358 | (setq bb-detour-count (1+ bb-detour-count)) | 358 | (t |
| 359 | (bb-update-board (propertize (format "%d" bb-detour-count) | 359 | (setq bb-detour-count (1+ bb-detour-count)) |
| 360 | 'help-echo "Detour")) | 360 | (bb-update-board (propertize (format "%d" bb-detour-count) |
| 361 | (save-excursion | 361 | 'help-echo "Detour")) |
| 362 | (bb-goto result) | 362 | (save-excursion |
| 363 | (bb-update-board (propertize (format "%d" bb-detour-count) | 363 | (bb-goto result) |
| 364 | 'help-echo "Detour"))) | 364 | (bb-update-board (propertize (format "%d" bb-detour-count) |
| 365 | (setq bb-score (+ bb-score 2)))))) | 365 | 'help-echo "Detour"))) |
| 366 | (setq bb-score (+ bb-score 2))))))) | ||
| 366 | 367 | ||
| 367 | (defun bb-trace-ray-2 (first x dx y dy) | 368 | (defun bb-trace-ray-2 (first x dx y dy) |
| 368 | (cond | 369 | (cond |
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 076ffcc8159..8ae2a7abe76 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -878,7 +878,7 @@ Returns the compilation buffer created." | |||
| 878 | ;; Set the EMACS variable, but | 878 | ;; Set the EMACS variable, but |
| 879 | ;; don't override users' setting of $EMACS. | 879 | ;; don't override users' setting of $EMACS. |
| 880 | (unless (getenv "EMACS") '("EMACS=t")) | 880 | (unless (getenv "EMACS") '("EMACS=t")) |
| 881 | process-environment)) | 881 | (copy-sequence process-environment))) |
| 882 | (thisdir default-directory) | 882 | (thisdir default-directory) |
| 883 | outwin outbuf) | 883 | outwin outbuf) |
| 884 | (with-current-buffer | 884 | (with-current-buffer |
| @@ -1059,7 +1059,7 @@ exited abnormally with code %d\n" | |||
| 1059 | (set-keymap-parent map compilation-minor-mode-map) | 1059 | (set-keymap-parent map compilation-minor-mode-map) |
| 1060 | (define-key map " " 'scroll-up) | 1060 | (define-key map " " 'scroll-up) |
| 1061 | (define-key map "\^?" 'scroll-down) | 1061 | (define-key map "\^?" 'scroll-down) |
| 1062 | (define-key map "\C-c\C-f" 'next-error-follow-mode) | 1062 | (define-key map "\C-c\C-f" 'next-error-follow-minor-mode) |
| 1063 | 1063 | ||
| 1064 | ;; Set up the menu-bar | 1064 | ;; Set up the menu-bar |
| 1065 | (define-key map [menu-bar compilation] | 1065 | (define-key map [menu-bar compilation] |
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index e4cd0c59dac..4d9e05109a8 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el | |||
| @@ -64,8 +64,8 @@ will be parsed and highlighted as soon as you try to move to them." | |||
| 64 | :version "21.4" | 64 | :version "21.4" |
| 65 | :group 'grep) | 65 | :group 'grep) |
| 66 | 66 | ||
| 67 | (defcustom grep-highlight-matches t | 67 | (defcustom grep-highlight-matches 'auto-detect |
| 68 | "*Non-nil to use special markers to highlight grep matches. | 68 | "If t, use special markers to highlight grep matches. |
| 69 | 69 | ||
| 70 | Some grep programs are able to surround matches with special | 70 | Some grep programs are able to surround matches with special |
| 71 | markers in grep output. Such markers can be used to highlight | 71 | markers in grep output. Such markers can be used to highlight |
| @@ -74,8 +74,13 @@ matches in grep mode. | |||
| 74 | This option sets the environment variable GREP_COLOR to specify | 74 | This option sets the environment variable GREP_COLOR to specify |
| 75 | markers for highlighting and GREP_OPTIONS to add the --color | 75 | markers for highlighting and GREP_OPTIONS to add the --color |
| 76 | option in front of any explicit grep options before starting | 76 | option in front of any explicit grep options before starting |
| 77 | the grep." | 77 | the grep. |
| 78 | :type 'boolean | 78 | |
| 79 | The default value of this variable is set up by `grep-compute-defaults'; | ||
| 80 | call that function before using this variable in your program." | ||
| 81 | :type '(choice (const :tag "Do not highlight matches with grep markers" nil) | ||
| 82 | (const :tag "Highlight matches with grep markers" t) | ||
| 83 | (other :tag "Not Set" auto-detect)) | ||
| 79 | :version "21.4" | 84 | :version "21.4" |
| 80 | :group 'grep) | 85 | :group 'grep) |
| 81 | 86 | ||
| @@ -110,7 +115,6 @@ necessary if the grep program used supports the `-H' option. | |||
| 110 | 115 | ||
| 111 | The default value of this variable is set up by `grep-compute-defaults'; | 116 | The default value of this variable is set up by `grep-compute-defaults'; |
| 112 | call that function before using this variable in your program." | 117 | call that function before using this variable in your program." |
| 113 | :type 'boolean | ||
| 114 | :type '(choice (const :tag "Do Not Append Null Device" nil) | 118 | :type '(choice (const :tag "Do Not Append Null Device" nil) |
| 115 | (const :tag "Append Null Device" t) | 119 | (const :tag "Append Null Device" t) |
| 116 | (other :tag "Not Set" auto-detect)) | 120 | (other :tag "Not Set" auto-detect)) |
| @@ -181,7 +185,7 @@ See `compilation-error-screen-columns'" | |||
| 181 | (let ((map (cons 'keymap compilation-minor-mode-map))) | 185 | (let ((map (cons 'keymap compilation-minor-mode-map))) |
| 182 | (define-key map " " 'scroll-up) | 186 | (define-key map " " 'scroll-up) |
| 183 | (define-key map "\^?" 'scroll-down) | 187 | (define-key map "\^?" 'scroll-down) |
| 184 | (define-key map "\C-c\C-f" 'next-error-follow-mode) | 188 | (define-key map "\C-c\C-f" 'next-error-follow-minor-mode) |
| 185 | 189 | ||
| 186 | ;; This is intolerable -- rms | 190 | ;; This is intolerable -- rms |
| 187 | ;;; (define-key map [remap next-line] 'compilation-next-error) | 191 | ;;; (define-key map [remap next-line] 'compilation-next-error) |
| @@ -333,7 +337,9 @@ This variable's value takes effect when `grep-compute-defaults' is called.") | |||
| 333 | (defun grep-process-setup () | 337 | (defun grep-process-setup () |
| 334 | "Setup compilation variables and buffer for `grep'. | 338 | "Setup compilation variables and buffer for `grep'. |
| 335 | Set up `compilation-exit-message-function' and run `grep-setup-hook'." | 339 | Set up `compilation-exit-message-function' and run `grep-setup-hook'." |
| 336 | (when grep-highlight-matches | 340 | (unless (or (not grep-highlight-matches) (eq grep-highlight-matches t)) |
| 341 | (grep-compute-defaults)) | ||
| 342 | (when (eq grep-highlight-matches t) | ||
| 337 | ;; Modify `process-environment' locally bound in `compilation-start' | 343 | ;; Modify `process-environment' locally bound in `compilation-start' |
| 338 | (setenv "GREP_OPTIONS" (concat (getenv "GREP_OPTIONS") " --color=always")) | 344 | (setenv "GREP_OPTIONS" (concat (getenv "GREP_OPTIONS") " --color=always")) |
| 339 | (setenv "GREP_COLOR" "01;41")) | 345 | (setenv "GREP_COLOR" "01;41")) |
| @@ -415,7 +421,18 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'." | |||
| 415 | (format "%s <D> <X> -type f <F> -print | xargs %s <R>" | 421 | (format "%s <D> <X> -type f <F> -print | xargs %s <R>" |
| 416 | find-program gcmd)) | 422 | find-program gcmd)) |
| 417 | (t (format "%s <D> <X> -type f <F> -exec %s <R> {} %s \\;" | 423 | (t (format "%s <D> <X> -type f <F> -exec %s <R> {} %s \\;" |
| 418 | find-program gcmd null-device))))))) | 424 | find-program gcmd null-device)))))) |
| 425 | (unless (or (not grep-highlight-matches) (eq grep-highlight-matches t)) | ||
| 426 | (setq grep-highlight-matches | ||
| 427 | (with-temp-buffer | ||
| 428 | (and (equal (condition-case nil | ||
| 429 | (call-process grep-program nil t nil "--help") | ||
| 430 | (error nil)) | ||
| 431 | 0) | ||
| 432 | (progn | ||
| 433 | (goto-char (point-min)) | ||
| 434 | (search-forward "--color" nil t)) | ||
| 435 | t))))) | ||
| 419 | 436 | ||
| 420 | (defun grep-default-command () | 437 | (defun grep-default-command () |
| 421 | (let ((tag-default | 438 | (let ((tag-default |
| @@ -483,7 +500,6 @@ temporarily highlight in visited source lines." | |||
| 483 | command-args) | 500 | command-args) |
| 484 | 'grep-mode nil highlight-regexp))) | 501 | 'grep-mode nil highlight-regexp))) |
| 485 | 502 | ||
| 486 | ;;;###autoload (autoload 'grep-mode "grep" nil t) | ||
| 487 | (define-compilation-mode grep-mode "Grep" | 503 | (define-compilation-mode grep-mode "Grep" |
| 488 | "Sets `grep-last-buffer' and `compilation-window-height'." | 504 | "Sets `grep-last-buffer' and `compilation-window-height'." |
| 489 | (setq grep-last-buffer (current-buffer)) | 505 | (setq grep-last-buffer (current-buffer)) |
| @@ -599,5 +615,5 @@ those sub directories of DIR." | |||
| 599 | 615 | ||
| 600 | (provide 'grep) | 616 | (provide 'grep) |
| 601 | 617 | ||
| 602 | ;;; arch-tag: 5a5b9169-a79d-4f38-9c38-f69615f39c4d | 618 | ;; arch-tag: 5a5b9169-a79d-4f38-9c38-f69615f39c4d |
| 603 | ;;; grep.el ends here | 619 | ;;; grep.el ends here |
diff --git a/lisp/ps-mule.el b/lisp/ps-mule.el index fe9d7350398..ec7b3b22fca 100644 --- a/lisp/ps-mule.el +++ b/lisp/ps-mule.el | |||
| @@ -418,21 +418,21 @@ See also `ps-mule-font-info-database-bdf'.") | |||
| 418 | 418 | ||
| 419 | (defun ps-mule-encode-bit (string delta) | 419 | (defun ps-mule-encode-bit (string delta) |
| 420 | (let* ((dim (charset-dimension (char-charset (string-to-char string)))) | 420 | (let* ((dim (charset-dimension (char-charset (string-to-char string)))) |
| 421 | (len (* (ps-mule-chars-in-string string) dim)) | 421 | (len (* (length string) dim)) |
| 422 | (str (make-string len 0)) | 422 | (str (make-string len 0)) |
| 423 | (i 0) | 423 | (i 0) |
| 424 | (j 0)) | 424 | (j 0)) |
| 425 | (if (= dim 1) | 425 | (if (= dim 1) |
| 426 | (while (< j len) | 426 | (while (< j len) |
| 427 | (aset str j | 427 | (aset str j |
| 428 | (+ (nth 1 (split-char (ps-mule-string-char string i))) delta)) | 428 | (+ (nth 1 (split-char (aref string i))) delta)) |
| 429 | (setq i (ps-mule-next-index string i) | 429 | (setq i (1+ i) |
| 430 | j (1+ j))) | 430 | j (1+ j))) |
| 431 | (while (< j len) | 431 | (while (< j len) |
| 432 | (let ((split (split-char (ps-mule-string-char string i)))) | 432 | (let ((split (split-char (aref string i)))) |
| 433 | (aset str j (+ (nth 1 split) delta)) | 433 | (aset str j (+ (nth 1 split) delta)) |
| 434 | (aset str (1+ j) (+ (nth 2 split) delta)) | 434 | (aset str (1+ j) (+ (nth 2 split) delta)) |
| 435 | (setq i (ps-mule-next-index string i) | 435 | (setq i (1+ i) |
| 436 | j (+ j 2))))) | 436 | j (+ j 2))))) |
| 437 | str)) | 437 | str)) |
| 438 | 438 | ||
| @@ -468,13 +468,13 @@ See also `ps-mule-font-info-database-bdf'.") | |||
| 468 | 468 | ||
| 469 | ;; Special encoding for mule-unicode-* characters. | 469 | ;; Special encoding for mule-unicode-* characters. |
| 470 | (defun ps-mule-encode-ucs2 (string) | 470 | (defun ps-mule-encode-ucs2 (string) |
| 471 | (let* ((len (ps-mule-chars-in-string string)) | 471 | (let* ((len (length string)) |
| 472 | (str (make-string (* 2 len) 0)) | 472 | (str (make-string (* 2 len) 0)) |
| 473 | (i 0) | 473 | (i 0) |
| 474 | (j 0) | 474 | (j 0) |
| 475 | ch hi lo) | 475 | ch hi lo) |
| 476 | (while (< i len) | 476 | (while (< i len) |
| 477 | (setq ch (encode-char (ps-mule-string-char string i) 'ucs) | 477 | (setq ch (encode-char (aref string i) 'ucs) |
| 478 | hi (lsh ch -8) | 478 | hi (lsh ch -8) |
| 479 | lo (logand ch 255)) | 479 | lo (logand ch 255)) |
| 480 | (aset str j hi) | 480 | (aset str j hi) |
| @@ -796,7 +796,7 @@ the sequence." | |||
| 796 | (cons from ps-width-remaining) | 796 | (cons from ps-width-remaining) |
| 797 | (cons (if composition | 797 | (cons (if composition |
| 798 | (nth 1 composition) | 798 | (nth 1 composition) |
| 799 | (ps-mule-next-point from)) | 799 | (1+ from)) |
| 800 | run-width))) | 800 | run-width))) |
| 801 | ;; We assume that all characters in this range have the same width. | 801 | ;; We assume that all characters in this range have the same width. |
| 802 | (setq char-width (* char-width (charset-width ps-mule-current-charset))) | 802 | (setq char-width (* char-width (charset-width ps-mule-current-charset))) |
| @@ -849,7 +849,7 @@ the sequence." | |||
| 849 | 849 | ||
| 850 | ;; This case is obsolete for Emacs 21. | 850 | ;; This case is obsolete for Emacs 21. |
| 851 | ((eq ps-mule-current-charset 'composition) | 851 | ((eq ps-mule-current-charset 'composition) |
| 852 | (ps-mule-plot-composition from (ps-mule-next-point from) bg-color)) | 852 | (ps-mule-plot-composition from (1+ from) bg-color)) |
| 853 | 853 | ||
| 854 | (t | 854 | (t |
| 855 | ;; No way to print this charset. Just show a vacant box of an | 855 | ;; No way to print this charset. Just show a vacant box of an |
diff --git a/lisp/replace.el b/lisp/replace.el index 5976a1bcb91..0c0ee821c67 100644 --- a/lisp/replace.el +++ b/lisp/replace.el | |||
| @@ -618,7 +618,7 @@ end of the buffer." | |||
| 618 | (define-key map "g" 'revert-buffer) | 618 | (define-key map "g" 'revert-buffer) |
| 619 | (define-key map "q" 'quit-window) | 619 | (define-key map "q" 'quit-window) |
| 620 | (define-key map "z" 'kill-this-buffer) | 620 | (define-key map "z" 'kill-this-buffer) |
| 621 | (define-key map "\C-c\C-f" 'next-error-follow-mode) | 621 | (define-key map "\C-c\C-f" 'next-error-follow-minor-mode) |
| 622 | map) | 622 | map) |
| 623 | "Keymap for `occur-mode'.") | 623 | "Keymap for `occur-mode'.") |
| 624 | 624 | ||
| @@ -1393,7 +1393,9 @@ make, or the user didn't cancel the call." | |||
| 1393 | ;; Bind message-log-max so we don't fill up the message log | 1393 | ;; Bind message-log-max so we don't fill up the message log |
| 1394 | ;; with a bunch of identical messages. | 1394 | ;; with a bunch of identical messages. |
| 1395 | (let ((message-log-max nil)) | 1395 | (let ((message-log-max nil)) |
| 1396 | (message message from-string next-replacement)) | 1396 | (message message |
| 1397 | (query-replace-descr from-string) | ||
| 1398 | (query-replace-descr next-replacement))) | ||
| 1397 | (setq key (read-event)) | 1399 | (setq key (read-event)) |
| 1398 | ;; Necessary in case something happens during read-event | 1400 | ;; Necessary in case something happens during read-event |
| 1399 | ;; that clobbers the match data. | 1401 | ;; that clobbers the match data. |
diff --git a/lisp/simple.el b/lisp/simple.el index 9784a7bb2c8..14fa1931e40 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -259,7 +259,7 @@ When turned on, cursor motion in the compilation, grep, occur or diff | |||
| 259 | buffer causes automatic display of the corresponding source code | 259 | buffer causes automatic display of the corresponding source code |
| 260 | location." | 260 | location." |
| 261 | nil " Fol" nil | 261 | nil " Fol" nil |
| 262 | (if (not next-error-follow-mode) | 262 | (if (not next-error-follow-minor-mode) |
| 263 | (remove-hook 'post-command-hook 'next-error-follow-mode-post-command-hook t) | 263 | (remove-hook 'post-command-hook 'next-error-follow-mode-post-command-hook t) |
| 264 | (add-hook 'post-command-hook 'next-error-follow-mode-post-command-hook nil t) | 264 | (add-hook 'post-command-hook 'next-error-follow-mode-post-command-hook nil t) |
| 265 | (make-variable-buffer-local 'next-error-follow-last-line))) | 265 | (make-variable-buffer-local 'next-error-follow-last-line))) |
diff --git a/lisp/startup.el b/lisp/startup.el index 922c1cd3b5d..841ecedf6ce 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -1485,12 +1485,19 @@ normal otherwise." | |||
| 1485 | (file-count 0) | 1485 | (file-count 0) |
| 1486 | first-file-buffer | 1486 | first-file-buffer |
| 1487 | tem | 1487 | tem |
| 1488 | ;; The directories listed in --directory/-L options will *appear* | 1488 | ;; This approach loses for "-batch -L DIR --eval "(require foo)", |
| 1489 | ;; at the front of `load-path' in the order they appear on the | 1489 | ;; if foo is intended to be found in DIR. |
| 1490 | ;; command-line. We cannot do this by *placing* them at the front | 1490 | ;; |
| 1491 | ;; in the order they appear, so we need this variable to hold them, | 1491 | ;; ;; The directories listed in --directory/-L options will *appear* |
| 1492 | ;; temporarily. | 1492 | ;; ;; at the front of `load-path' in the order they appear on the |
| 1493 | extra-load-path | 1493 | ;; ;; command-line. We cannot do this by *placing* them at the front |
| 1494 | ;; ;; in the order they appear, so we need this variable to hold them, | ||
| 1495 | ;; ;; temporarily. | ||
| 1496 | ;; extra-load-path | ||
| 1497 | ;; | ||
| 1498 | ;; To DTRT we keep track of the splice point and modify `load-path' | ||
| 1499 | ;; straight away upon any --directory/-L option. | ||
| 1500 | splice | ||
| 1494 | just-files ;; t if this follows the magic -- option. | 1501 | just-files ;; t if this follows the magic -- option. |
| 1495 | ;; This includes our standard options' long versions | 1502 | ;; This includes our standard options' long versions |
| 1496 | ;; and long versions of what's on command-switch-alist. | 1503 | ;; and long versions of what's on command-switch-alist. |
| @@ -1559,15 +1566,15 @@ normal otherwise." | |||
| 1559 | 1566 | ||
| 1560 | ((member argi '("-eval" "-execute")) | 1567 | ((member argi '("-eval" "-execute")) |
| 1561 | (eval (read (or argval (pop command-line-args-left))))) | 1568 | (eval (read (or argval (pop command-line-args-left))))) |
| 1562 | ;; Set the default directory as specified in -L. | ||
| 1563 | 1569 | ||
| 1564 | ((member argi '("-L" "-directory")) | 1570 | ((member argi '("-L" "-directory")) |
| 1565 | (setq tem (or argval (pop command-line-args-left))) | 1571 | (setq tem (expand-file-name |
| 1566 | ;; We will reverse `extra-load-path' and prepend it to | 1572 | (command-line-normalize-file-name |
| 1567 | ;; `load-path' after all the arguments have been processed. | 1573 | (or argval (pop command-line-args-left))))) |
| 1568 | (push | 1574 | (cond (splice (setcdr splice (cons tem (cdr splice))) |
| 1569 | (expand-file-name (command-line-normalize-file-name tem)) | 1575 | (setq splice (cdr splice))) |
| 1570 | extra-load-path)) | 1576 | (t (setq load-path (cons tem load-path) |
| 1577 | splice load-path)))) | ||
| 1571 | 1578 | ||
| 1572 | ((member argi '("-l" "-load")) | 1579 | ((member argi '("-l" "-load")) |
| 1573 | (let* ((file (command-line-normalize-file-name | 1580 | (let* ((file (command-line-normalize-file-name |
| @@ -1648,10 +1655,6 @@ normal otherwise." | |||
| 1648 | (move-to-column (1- column))) | 1655 | (move-to-column (1- column))) |
| 1649 | (setq column 0)))))))) | 1656 | (setq column 0)))))))) |
| 1650 | 1657 | ||
| 1651 | ;; See --directory/-L option above. | ||
| 1652 | (when extra-load-path | ||
| 1653 | (setq load-path (append (nreverse extra-load-path) load-path))) | ||
| 1654 | |||
| 1655 | ;; If 3 or more files visited, and not all visible, | 1658 | ;; If 3 or more files visited, and not all visible, |
| 1656 | ;; show user what they all are. But leave the last one current. | 1659 | ;; show user what they all are. But leave the last one current. |
| 1657 | (and (> file-count 2) | 1660 | (and (> file-count 2) |
diff --git a/lisp/subr.el b/lisp/subr.el index 6676a6b7794..86ccd22f338 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -2127,7 +2127,7 @@ likely to have undesired semantics.") | |||
| 2127 | ;; expression leads to the equivalent implementation that if SEPARATORS | 2127 | ;; expression leads to the equivalent implementation that if SEPARATORS |
| 2128 | ;; is defaulted, OMIT-NULLS is treated as t. | 2128 | ;; is defaulted, OMIT-NULLS is treated as t. |
| 2129 | (defun split-string (string &optional separators omit-nulls) | 2129 | (defun split-string (string &optional separators omit-nulls) |
| 2130 | "Splits STRING into substrings bounded by matches for SEPARATORS. | 2130 | "Split STRING into substrings bounded by matches for SEPARATORS. |
| 2131 | 2131 | ||
| 2132 | The beginning and end of STRING, and each match for SEPARATORS, are | 2132 | The beginning and end of STRING, and each match for SEPARATORS, are |
| 2133 | splitting points. The substrings matching SEPARATORS are removed, and | 2133 | splitting points. The substrings matching SEPARATORS are removed, and |
diff --git a/lisp/term.el b/lisp/term.el index 9866db7e29c..590a9b0a1d5 100644 --- a/lisp/term.el +++ b/lisp/term.el | |||
| @@ -925,7 +925,7 @@ is buffer-local.") | |||
| 925 | (defun term-window-width () | 925 | (defun term-window-width () |
| 926 | (if (featurep 'xemacs) | 926 | (if (featurep 'xemacs) |
| 927 | (1- (window-width)) | 927 | (1- (window-width)) |
| 928 | (if window-system | 928 | (if (and window-system overflow-newline-into-fringe) |
| 929 | (window-width) | 929 | (window-width) |
| 930 | (1- (window-width))))) | 930 | (1- (window-width))))) |
| 931 | 931 | ||
| @@ -988,8 +988,6 @@ Entry to this mode runs the hooks on `term-mode-hook'." | |||
| 988 | (make-local-variable 'term-width) | 988 | (make-local-variable 'term-width) |
| 989 | (setq term-width (term-window-width)) | 989 | (setq term-width (term-window-width)) |
| 990 | (setq term-height (1- (window-height))) | 990 | (setq term-height (1- (window-height))) |
| 991 | (term-ifnot-xemacs | ||
| 992 | (set (make-local-variable 'overflow-newline-into-fringe) nil)) | ||
| 993 | (make-local-variable 'term-terminal-parameter) | 991 | (make-local-variable 'term-terminal-parameter) |
| 994 | (make-local-variable 'term-saved-cursor) | 992 | (make-local-variable 'term-saved-cursor) |
| 995 | (make-local-variable 'term-last-input-start) | 993 | (make-local-variable 'term-last-input-start) |
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el index e05b2f27324..042df933989 100644 --- a/lisp/term/xterm.el +++ b/lisp/term/xterm.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; xterm.el --- define function key sequences and standard colors for xterm | 1 | ;;; xterm.el --- define function key sequences and standard colors for xterm |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995, 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1995, 2002, 2004 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: FSF | 5 | ;; Author: FSF |
| 6 | ;; Keywords: terminals | 6 | ;; Keywords: terminals |
| @@ -53,6 +53,16 @@ | |||
| 53 | (define-key map "\e[24~" [f12]) | 53 | (define-key map "\e[24~" [f12]) |
| 54 | (define-key map "\e[29~" [print]) | 54 | (define-key map "\e[29~" [print]) |
| 55 | 55 | ||
| 56 | (define-key map "\e[1;2A" [S-up]) | ||
| 57 | (define-key map "\e[1;2B" [S-down]) | ||
| 58 | (define-key map "\e[1;2C" [S-right]) | ||
| 59 | (define-key map "\e[1;2D" [S-left]) | ||
| 60 | |||
| 61 | (define-key map "\e[1;5A" [C-up]) | ||
| 62 | (define-key map "\e[1;5B" [C-down]) | ||
| 63 | (define-key map "\e[1;5C" [C-right]) | ||
| 64 | (define-key map "\e[1;5D" [C-left]) | ||
| 65 | |||
| 56 | (define-key map "\e[2;2~" [S-insert]) | 66 | (define-key map "\e[2;2~" [S-insert]) |
| 57 | (define-key map "\e[3;2~" [S-delete]) | 67 | (define-key map "\e[3;2~" [S-delete]) |
| 58 | (define-key map "\e[5;2~" [S-prior]) | 68 | (define-key map "\e[5;2~" [S-prior]) |
| @@ -238,5 +248,5 @@ versions of xterm." | |||
| 238 | ;; This recomputes all the default faces given the colors we've just set up. | 248 | ;; This recomputes all the default faces given the colors we've just set up. |
| 239 | (tty-set-up-initial-frame-faces) | 249 | (tty-set-up-initial-frame-faces) |
| 240 | 250 | ||
| 241 | ;;; arch-tag: 12e7ebdd-1e6c-4b25-b0f9-35ace25e855a | 251 | ;; arch-tag: 12e7ebdd-1e6c-4b25-b0f9-35ace25e855a |
| 242 | ;;; xterm.el ends here | 252 | ;;; xterm.el ends here |
diff --git a/lisp/vc-arch.el b/lisp/vc-arch.el index 5f24599241c..c4c484a9347 100644 --- a/lisp/vc-arch.el +++ b/lisp/vc-arch.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; vc-arch.el --- VC backend for the Arch version-control system | 1 | ;;; vc-arch.el --- VC backend for the Arch version-control system |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1995,98,99,2000,01,02,03,2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: FSF (see vc.el for full credits) | 6 | ;; Author: FSF (see vc.el for full credits) |
| 6 | ;; Maintainer: Stefan Monnier <monnier@gnu.org> | 7 | ;; Maintainer: Stefan Monnier <monnier@gnu.org> |
| @@ -253,9 +254,13 @@ Return non-nil if FILE is unchanged." | |||
| 253 | (with-current-buffer (find-file-noselect sigfile) | 254 | (with-current-buffer (find-file-noselect sigfile) |
| 254 | (goto-char (point-min)) | 255 | (goto-char (point-min)) |
| 255 | (while (and (search-forward id nil 'move) | 256 | (while (and (search-forward id nil 'move) |
| 256 | (progn (goto-char (- (match-beginning 0) 2)) | 257 | (save-excursion |
| 257 | ;; Ignore E_ entries used for foo.id files. | 258 | (goto-char (- (match-beginning 0) 2)) |
| 258 | (or (not (bolp)) (looking-at "E_"))))) | 259 | ;; For `names', the lines start with `?./foo/bar'. |
| 260 | ;; For others there's 2 chars before the ./foo/bar. | ||
| 261 | (or (not (or (bolp) (looking-at "\n?"))) | ||
| 262 | ;; Ignore E_ entries used for foo.id files. | ||
| 263 | (looking-at "E_"))))) | ||
| 259 | (if (eobp) | 264 | (if (eobp) |
| 260 | ;; ID not found. | 265 | ;; ID not found. |
| 261 | (if (equal (file-name-nondirectory sigfile) | 266 | (if (equal (file-name-nondirectory sigfile) |
| @@ -303,7 +308,9 @@ Return non-nil if FILE is unchanged." | |||
| 303 | (or (not sealed) (eq (aref file 0) ?v)) | 308 | (or (not sealed) (eq (aref file 0) ?v)) |
| 304 | (>= tmp rev-nb)) | 309 | (>= tmp rev-nb)) |
| 305 | (setq rev-nb tmp rev file))) | 310 | (setq rev-nb tmp rev file))) |
| 306 | (concat defbranch "--" rev))))) | 311 | ;; Use "none-000" if the tree hasn't yet been committed on the |
| 312 | ;; default branch. We'll then get "Arch:000[branch]" on the mode-line. | ||
| 313 | (concat defbranch "--" (or rev "none-000")))))) | ||
| 307 | 314 | ||
| 308 | 315 | ||
| 309 | (defcustom vc-arch-mode-line-rewrite | 316 | (defcustom vc-arch-mode-line-rewrite |
| @@ -418,5 +425,5 @@ Return non-nil if FILE is unchanged." | |||
| 418 | 425 | ||
| 419 | (provide 'vc-arch) | 426 | (provide 'vc-arch) |
| 420 | 427 | ||
| 421 | ;;; arch-tag: a35c7c1c-5237-429d-88ef-3d718fd2e704 | 428 | ;; arch-tag: a35c7c1c-5237-429d-88ef-3d718fd2e704 |
| 422 | ;;; vc-arch.el ends here | 429 | ;;; vc-arch.el ends here |
diff --git a/lisp/vc-rcs.el b/lisp/vc-rcs.el index 5d020e93b6d..0a161bb9288 100644 --- a/lisp/vc-rcs.el +++ b/lisp/vc-rcs.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; vc-rcs.el --- support for RCS version-control | 1 | ;;; vc-rcs.el --- support for RCS version-control |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1992,93,94,95,96,97,98,99,2000,2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
| 4 | ;; 2000, 2001, 2004 Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: FSF (see vc.el for full credits) | 6 | ;; Author: FSF (see vc.el for full credits) |
| 6 | ;; Maintainer: Andre Spiegel <spiegel@gnu.org> | 7 | ;; Maintainer: Andre Spiegel <spiegel@gnu.org> |
| @@ -208,7 +209,7 @@ When VERSION is given, perform check for that version." | |||
| 208 | (vc-file-getprop file 'vc-checkout-model))))) | 209 | (vc-file-getprop file 'vc-checkout-model))))) |
| 209 | 210 | ||
| 210 | (defun vc-rcs-workfile-unchanged-p (file) | 211 | (defun vc-rcs-workfile-unchanged-p (file) |
| 211 | "RCS-specific implementation of vc-workfile-unchanged-p." | 212 | "RCS-specific implementation of `vc-workfile-unchanged-p'." |
| 212 | ;; Try to use rcsdiff --brief. If rcsdiff does not understand that, | 213 | ;; Try to use rcsdiff --brief. If rcsdiff does not understand that, |
| 213 | ;; do a double take and remember the fact for the future | 214 | ;; do a double take and remember the fact for the future |
| 214 | (let* ((version (concat "-r" (vc-workfile-version file))) | 215 | (let* ((version (concat "-r" (vc-workfile-version file))) |
| @@ -786,5 +787,5 @@ variable `vc-rcs-release' is set to the returned value." | |||
| 786 | 787 | ||
| 787 | (provide 'vc-rcs) | 788 | (provide 'vc-rcs) |
| 788 | 789 | ||
| 789 | ;;; arch-tag: 759b4916-5b0d-431d-b647-b185b8c652cf | 790 | ;; arch-tag: 759b4916-5b0d-431d-b647-b185b8c652cf |
| 790 | ;;; vc-rcs.el ends here | 791 | ;;; vc-rcs.el ends here |
diff --git a/lisp/vc-sccs.el b/lisp/vc-sccs.el index a630c1f3d67..b691775f63b 100644 --- a/lisp/vc-sccs.el +++ b/lisp/vc-sccs.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; vc-sccs.el --- support for SCCS version-control | 1 | ;;; vc-sccs.el --- support for SCCS version-control |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1992,93,94,95,96,97,98,99,2000,2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
| 4 | ;; 2000, 2001, 2004 Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: FSF (see vc.el for full credits) | 6 | ;; Author: FSF (see vc.el for full credits) |
| 6 | ;; Maintainer: Andre Spiegel <spiegel@gnu.org> | 7 | ;; Maintainer: Andre Spiegel <spiegel@gnu.org> |
| @@ -150,7 +151,7 @@ For a description of possible values, see `vc-check-master-templates'." | |||
| 150 | 'locking) | 151 | 'locking) |
| 151 | 152 | ||
| 152 | (defun vc-sccs-workfile-unchanged-p (file) | 153 | (defun vc-sccs-workfile-unchanged-p (file) |
| 153 | "SCCS-specific implementation of vc-workfile-unchanged-p." | 154 | "SCCS-specific implementation of `vc-workfile-unchanged-p'." |
| 154 | (zerop (apply 'vc-do-command nil 1 "vcdiff" (vc-name file) | 155 | (zerop (apply 'vc-do-command nil 1 "vcdiff" (vc-name file) |
| 155 | (list "--brief" "-q" | 156 | (list "--brief" "-q" |
| 156 | (concat "-r" (vc-workfile-version file)))))) | 157 | (concat "-r" (vc-workfile-version file)))))) |
| @@ -397,5 +398,5 @@ If NAME is nil or a version number string it's just passed through." | |||
| 397 | 398 | ||
| 398 | (provide 'vc-sccs) | 399 | (provide 'vc-sccs) |
| 399 | 400 | ||
| 400 | ;;; arch-tag: d751dee3-d7b3-47e1-95e3-7ae98c052041 | 401 | ;; arch-tag: d751dee3-d7b3-47e1-95e3-7ae98c052041 |
| 401 | ;;; vc-sccs.el ends here | 402 | ;;; vc-sccs.el ends here |
diff --git a/lisp/vc.el b/lisp/vc.el index 1b4e2409550..edb2c789f52 100644 --- a/lisp/vc.el +++ b/lisp/vc.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; vc.el --- drive a version-control system from within Emacs | 1 | ;;; vc.el --- drive a version-control system from within Emacs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1992,93,94,95,96,97,98,2000,01,2003,2004 | 3 | ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; 2000, 2001, 2003, 2004 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: FSF (see below for full credits) | 6 | ;; Author: FSF (see below for full credits) |
| 7 | ;; Maintainer: Andre Spiegel <spiegel@gnu.org> | 7 | ;; Maintainer: Andre Spiegel <spiegel@gnu.org> |
| @@ -394,7 +394,7 @@ | |||
| 394 | ;; | 394 | ;; |
| 395 | ;; Return the hostname that the backend will have to contact | 395 | ;; Return the hostname that the backend will have to contact |
| 396 | ;; in order to operate on a file in DIRNAME. If the return value | 396 | ;; in order to operate on a file in DIRNAME. If the return value |
| 397 | ;; is nil, it is means that the repository is local. | 397 | ;; is nil, it means that the repository is local. |
| 398 | ;; This function is used in `vc-stay-local-p' which backends can use | 398 | ;; This function is used in `vc-stay-local-p' which backends can use |
| 399 | ;; for their convenience. | 399 | ;; for their convenience. |
| 400 | ;; | 400 | ;; |
| @@ -1017,28 +1017,32 @@ Used by `vc-restore-buffer-context' to later restore the context." | |||
| 1017 | (vc-position-context (mark-marker)))) | 1017 | (vc-position-context (mark-marker)))) |
| 1018 | ;; Make the right thing happen in transient-mark-mode. | 1018 | ;; Make the right thing happen in transient-mark-mode. |
| 1019 | (mark-active nil) | 1019 | (mark-active nil) |
| 1020 | ;; We may want to reparse the compilation buffer after revert | 1020 | ;; The new compilation code does not use compilation-error-list any |
| 1021 | (reparse (and (boundp 'compilation-error-list) ;compile loaded | 1021 | ;; more, so the code below is now ineffective and might as well |
| 1022 | ;; Construct a list; each elt is nil or a buffer | 1022 | ;; be disabled. -- Stef |
| 1023 | ;; iff that buffer is a compilation output buffer | 1023 | ;; ;; We may want to reparse the compilation buffer after revert |
| 1024 | ;; that contains markers into the current buffer. | 1024 | ;; (reparse (and (boundp 'compilation-error-list) ;compile loaded |
| 1025 | (save-current-buffer | 1025 | ;; ;; Construct a list; each elt is nil or a buffer |
| 1026 | (mapcar (lambda (buffer) | 1026 | ;; ;; iff that buffer is a compilation output buffer |
| 1027 | (set-buffer buffer) | 1027 | ;; ;; that contains markers into the current buffer. |
| 1028 | (let ((errors (or | 1028 | ;; (save-current-buffer |
| 1029 | compilation-old-error-list | 1029 | ;; (mapcar (lambda (buffer) |
| 1030 | compilation-error-list)) | 1030 | ;; (set-buffer buffer) |
| 1031 | (buffer-error-marked-p nil)) | 1031 | ;; (let ((errors (or |
| 1032 | (while (and (consp errors) | 1032 | ;; compilation-old-error-list |
| 1033 | (not buffer-error-marked-p)) | 1033 | ;; compilation-error-list)) |
| 1034 | (and (markerp (cdr (car errors))) | 1034 | ;; (buffer-error-marked-p nil)) |
| 1035 | (eq buffer | 1035 | ;; (while (and (consp errors) |
| 1036 | (marker-buffer | 1036 | ;; (not buffer-error-marked-p)) |
| 1037 | (cdr (car errors)))) | 1037 | ;; (and (markerp (cdr (car errors))) |
| 1038 | (setq buffer-error-marked-p t)) | 1038 | ;; (eq buffer |
| 1039 | (setq errors (cdr errors))) | 1039 | ;; (marker-buffer |
| 1040 | (if buffer-error-marked-p buffer))) | 1040 | ;; (cdr (car errors)))) |
| 1041 | (buffer-list)))))) | 1041 | ;; (setq buffer-error-marked-p t)) |
| 1042 | ;; (setq errors (cdr errors))) | ||
| 1043 | ;; (if buffer-error-marked-p buffer))) | ||
| 1044 | ;; (buffer-list))))) | ||
| 1045 | (reparse nil)) | ||
| 1042 | (list point-context mark-context reparse))) | 1046 | (list point-context mark-context reparse))) |
| 1043 | 1047 | ||
| 1044 | (defun vc-restore-buffer-context (context) | 1048 | (defun vc-restore-buffer-context (context) |
| @@ -1047,23 +1051,26 @@ CONTEXT is that which `vc-buffer-context' returns." | |||
| 1047 | (let ((point-context (nth 0 context)) | 1051 | (let ((point-context (nth 0 context)) |
| 1048 | (mark-context (nth 1 context)) | 1052 | (mark-context (nth 1 context)) |
| 1049 | (reparse (nth 2 context))) | 1053 | (reparse (nth 2 context))) |
| 1050 | ;; Reparse affected compilation buffers. | 1054 | ;; The new compilation code does not use compilation-error-list any |
| 1051 | (while reparse | 1055 | ;; more, so the code below is now ineffective and might as well |
| 1052 | (if (car reparse) | 1056 | ;; be disabled. -- Stef |
| 1053 | (with-current-buffer (car reparse) | 1057 | ;; ;; Reparse affected compilation buffers. |
| 1054 | (let ((compilation-last-buffer (current-buffer)) ;select buffer | 1058 | ;; (while reparse |
| 1055 | ;; Record the position in the compilation buffer of | 1059 | ;; (if (car reparse) |
| 1056 | ;; the last error next-error went to. | 1060 | ;; (with-current-buffer (car reparse) |
| 1057 | (error-pos (marker-position | 1061 | ;; (let ((compilation-last-buffer (current-buffer)) ;select buffer |
| 1058 | (car (car-safe compilation-error-list))))) | 1062 | ;; ;; Record the position in the compilation buffer of |
| 1059 | ;; Reparse the error messages as far as they were parsed before. | 1063 | ;; ;; the last error next-error went to. |
| 1060 | (compile-reinitialize-errors '(4) compilation-parsing-end) | 1064 | ;; (error-pos (marker-position |
| 1061 | ;; Move the pointer up to find the error we were at before | 1065 | ;; (car (car-safe compilation-error-list))))) |
| 1062 | ;; reparsing. Now next-error should properly go to the next one. | 1066 | ;; ;; Reparse the error messages as far as they were parsed before. |
| 1063 | (while (and compilation-error-list | 1067 | ;; (compile-reinitialize-errors '(4) compilation-parsing-end) |
| 1064 | (/= error-pos (car (car compilation-error-list)))) | 1068 | ;; ;; Move the pointer up to find the error we were at before |
| 1065 | (setq compilation-error-list (cdr compilation-error-list)))))) | 1069 | ;; ;; reparsing. Now next-error should properly go to the next one. |
| 1066 | (setq reparse (cdr reparse))) | 1070 | ;; (while (and compilation-error-list |
| 1071 | ;; (/= error-pos (car (car compilation-error-list)))) | ||
| 1072 | ;; (setq compilation-error-list (cdr compilation-error-list)))))) | ||
| 1073 | ;; (setq reparse (cdr reparse))) | ||
| 1067 | 1074 | ||
| 1068 | ;; if necessary, restore point and mark | 1075 | ;; if necessary, restore point and mark |
| 1069 | (if (not (vc-context-matches-p (point) point-context)) | 1076 | (if (not (vc-context-matches-p (point) point-context)) |
| @@ -3705,5 +3712,5 @@ Invoke FUNC f ARGS on each VC-managed file f underneath it." | |||
| 3705 | ;; | 3712 | ;; |
| 3706 | ;; Thus, there is no explicit recovery code. | 3713 | ;; Thus, there is no explicit recovery code. |
| 3707 | 3714 | ||
| 3708 | ;;; arch-tag: ca82c1de-3091-4e26-af92-460abc6213a6 | 3715 | ;; arch-tag: ca82c1de-3091-4e26-af92-460abc6213a6 |
| 3709 | ;;; vc.el ends here | 3716 | ;;; vc.el ends here |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 234cc779019..56edf46be59 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2004-09-08 Juri Linkov <juri@jurta.org> | ||
| 2 | |||
| 3 | * minibuf.texi (Minibuffer History): Add `history-delete-duplicates'. | ||
| 4 | |||
| 5 | 2004-09-07 Luc Teirlinck <teirllm@auburn.edu> | ||
| 6 | |||
| 7 | * locals.texi (Standard Buffer-Local Variables): Add | ||
| 8 | `buffer-auto-save-file-format'. | ||
| 9 | * internals.texi (Buffer Internals): Describe new | ||
| 10 | auto_save_file_format field of the buffer structure. | ||
| 11 | * files.texi (Format Conversion): `auto-save-file-format' has been | ||
| 12 | renamed `buffer-auto-save-file-format'. | ||
| 13 | |||
| 1 | 2004-08-27 Luc Teirlinck <teirllm@auburn.edu> | 14 | 2004-08-27 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 15 | ||
| 3 | * abbrevs.texi (Abbrev Expansion): `abbrev-start-location' can be | 16 | * abbrevs.texi (Abbrev Expansion): `abbrev-start-location' can be |
diff --git a/lispref/files.texi b/lispref/files.texi index 4fe2d8567d3..2e6a5bcee00 100644 --- a/lispref/files.texi +++ b/lispref/files.texi | |||
| @@ -2825,7 +2825,7 @@ The argument @var{format} is a list of format names. If @var{format} is | |||
| 2825 | @key{RET} for @var{format} specifies @code{nil}. | 2825 | @key{RET} for @var{format} specifies @code{nil}. |
| 2826 | @end deffn | 2826 | @end deffn |
| 2827 | 2827 | ||
| 2828 | @defvar auto-save-file-format | 2828 | @defvar buffer-auto-save-file-format |
| 2829 | This variable specifies the format to use for auto-saving. Its value is | 2829 | This variable specifies the format to use for auto-saving. Its value is |
| 2830 | a list of format names, just like the value of | 2830 | a list of format names, just like the value of |
| 2831 | @code{buffer-file-format}; however, it is used instead of | 2831 | @code{buffer-file-format}; however, it is used instead of |
diff --git a/lispref/internals.texi b/lispref/internals.texi index 3d75b04ca65..a4c641a40a8 100644 --- a/lispref/internals.texi +++ b/lispref/internals.texi | |||
| @@ -1094,6 +1094,9 @@ The value of @code{buffer-file-coding-system} in this buffer. | |||
| 1094 | @item file_format | 1094 | @item file_format |
| 1095 | The value of @code{buffer-file-format} in this buffer. | 1095 | The value of @code{buffer-file-format} in this buffer. |
| 1096 | 1096 | ||
| 1097 | @item auto_save_file_format | ||
| 1098 | The value of @code{buffer-auto-save-file-format} in this buffer. | ||
| 1099 | |||
| 1097 | @item pt_marker | 1100 | @item pt_marker |
| 1098 | In an indirect buffer, or a buffer that is the base of an indirect | 1101 | In an indirect buffer, or a buffer that is the base of an indirect |
| 1099 | buffer, this holds a marker that records point for this buffer when the | 1102 | buffer, this holds a marker that records point for this buffer when the |
diff --git a/lispref/locals.texi b/lispref/locals.texi index a6c7f04301e..21473ab0e09 100644 --- a/lispref/locals.texi +++ b/lispref/locals.texi | |||
| @@ -21,6 +21,9 @@ use, but we don't try to list them all here. | |||
| 21 | @item auto-fill-function | 21 | @item auto-fill-function |
| 22 | @xref{Auto Filling}. | 22 | @xref{Auto Filling}. |
| 23 | 23 | ||
| 24 | @item buffer-auto-save-file-format | ||
| 25 | @xref{Format Conversion}. | ||
| 26 | |||
| 24 | @item buffer-auto-save-file-name | 27 | @item buffer-auto-save-file-name |
| 25 | @xref{Auto-Saving}. | 28 | @xref{Auto-Saving}. |
| 26 | 29 | ||
diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi index 7b762a654e6..1b076c5837d 100644 --- a/lispref/minibuf.texi +++ b/lispref/minibuf.texi | |||
| @@ -450,7 +450,8 @@ delete old elements if the list gets too long. The variable | |||
| 450 | @code{history-length} specifies the maximum length for most history | 450 | @code{history-length} specifies the maximum length for most history |
| 451 | lists. To specify a different maximum length for a particular history | 451 | lists. To specify a different maximum length for a particular history |
| 452 | list, put the length in the @code{history-length} property of the | 452 | list, put the length in the @code{history-length} property of the |
| 453 | history list symbol. | 453 | history list symbol. The variable @code{history-delete-duplicates} |
| 454 | specifies whether to delete duplicates in history. | ||
| 454 | 455 | ||
| 455 | @defvar history-length | 456 | @defvar history-length |
| 456 | The value of this variable specifies the maximum length for all | 457 | The value of this variable specifies the maximum length for all |
| @@ -459,6 +460,11 @@ value is @code{t}, that means there no maximum (don't delete old | |||
| 459 | elements). | 460 | elements). |
| 460 | @end defvar | 461 | @end defvar |
| 461 | 462 | ||
| 463 | @defvar history-delete-duplicates | ||
| 464 | If the value of this variable is @code{t}, that means when adding a | ||
| 465 | new history element, all previous identical elements are deleted. | ||
| 466 | @end defvar | ||
| 467 | |||
| 462 | Here are some of the standard minibuffer history list variables: | 468 | Here are some of the standard minibuffer history list variables: |
| 463 | 469 | ||
| 464 | @defvar minibuffer-history | 470 | @defvar minibuffer-history |
diff --git a/man/ChangeLog b/man/ChangeLog index ec3c763c1b6..01cc1575517 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2004-09-09 Kim F. Storm <storm@cua.dk> | ||
| 2 | |||
| 3 | * kmacro.texi (Save Keyboard Macro): Replace `name-last-kbd-macro' | ||
| 4 | with new `kmacro-name-last-macro'. | ||
| 5 | |||
| 6 | 2004-09-09 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 7 | |||
| 8 | * makefile.w32-in (sieve, pgg): Use $(infodir). | ||
| 9 | |||
| 10 | 2004-09-08 Juri Linkov <juri@jurta.org> | ||
| 11 | |||
| 12 | * mini.texi (Minibuffer History): Add `history-delete-duplicates'. | ||
| 13 | |||
| 14 | 2004-09-08 Dhruva Krishnamurthy <dhruva.krishnamurthy@gmail.com> (tiny change) | ||
| 15 | |||
| 16 | * makefile.w32-in: Fix PGG and Sieve entries. | ||
| 17 | |||
| 1 | 2004-09-03 Juri Linkov <juri@jurta.org> | 18 | 2004-09-03 Juri Linkov <juri@jurta.org> |
| 2 | 19 | ||
| 3 | * search.texi (Incremental Search): Update wording for M-%. | 20 | * search.texi (Incremental Search): Update wording for M-%. |
diff --git a/man/kmacro.texi b/man/kmacro.texi index bad186f88b2..c07602bc77f 100644 --- a/man/kmacro.texi +++ b/man/kmacro.texi | |||
| @@ -62,7 +62,7 @@ When this point is reached during macro execution, ask for confirmation | |||
| 62 | (@code{kbd-macro-query}). | 62 | (@code{kbd-macro-query}). |
| 63 | @item C-x C-k n | 63 | @item C-x C-k n |
| 64 | Give a command name (for the duration of the session) to the most | 64 | Give a command name (for the duration of the session) to the most |
| 65 | recently defined keyboard macro (@code{name-last-kbd-macro}). | 65 | recently defined keyboard macro (@code{kmacro-name-last-macro}). |
| 66 | @item C-x C-k b | 66 | @item C-x C-k b |
| 67 | Bind the most recently defined keyboard macro to a key sequence (for | 67 | Bind the most recently defined keyboard macro to a key sequence (for |
| 68 | the duration of the session) (@code{kmacro-bind-to-key}). | 68 | the duration of the session) (@code{kmacro-bind-to-key}). |
| @@ -361,10 +361,10 @@ register as a counter, incrementing it on each repetition of the macro. | |||
| 361 | @section Naming and Saving Keyboard Macros | 361 | @section Naming and Saving Keyboard Macros |
| 362 | 362 | ||
| 363 | @cindex saving keyboard macros | 363 | @cindex saving keyboard macros |
| 364 | @findex name-last-kbd-macro | 364 | @findex kmacro-name-last-macro |
| 365 | @kindex C-x C-k n | 365 | @kindex C-x C-k n |
| 366 | If you wish to save a keyboard macro for later use, you can give it | 366 | If you wish to save a keyboard macro for later use, you can give it |
| 367 | a name using @kbd{C-x C-k n} (@code{name-last-kbd-macro}). | 367 | a name using @kbd{C-x C-k n} (@code{kmacro-name-last-macro}). |
| 368 | This reads a name as an argument using the minibuffer and defines that | 368 | This reads a name as an argument using the minibuffer and defines that |
| 369 | name to execute the last keyboard macro, in its current form. (If you | 369 | name to execute the last keyboard macro, in its current form. (If you |
| 370 | later add to the definition of this macro, that does not alter the | 370 | later add to the definition of this macro, that does not alter the |
diff --git a/man/makefile.w32-in b/man/makefile.w32-in index 758b9dbd9da..09f314dbf47 100644 --- a/man/makefile.w32-in +++ b/man/makefile.w32-in | |||
| @@ -198,22 +198,26 @@ gnus.dvi: gnus.texi | |||
| 198 | $(ENVADD) $(TEXI2DVI) gnustmp.texi | 198 | $(ENVADD) $(TEXI2DVI) gnustmp.texi |
| 199 | cp gnustmp.dvi $*.dvi | 199 | cp gnustmp.dvi $*.dvi |
| 200 | rm gnustmp.* | 200 | rm gnustmp.* |
| 201 | # | ||
| 201 | $(infodir)/message: message.texi | 202 | $(infodir)/message: message.texi |
| 202 | $(MAKEINFO) message.texi | 203 | $(MAKEINFO) message.texi |
| 203 | message.dvi: message.texi | 204 | message.dvi: message.texi |
| 204 | $(ENVADD) $(TEXI2DVI) $(srcdir)/message.texi | 205 | $(ENVADD) $(TEXI2DVI) $(srcdir)/message.texi |
| 206 | # | ||
| 205 | $(infodir)/emacs-mime: emacs-mime.texi | 207 | $(infodir)/emacs-mime: emacs-mime.texi |
| 206 | $(MAKEINFO) emacs-mime.texi | 208 | $(MAKEINFO) emacs-mime.texi |
| 207 | emacs-mime.dvi: emacs-mime.texi | 209 | emacs-mime.dvi: emacs-mime.texi |
| 208 | $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-mime.texi | 210 | $(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-mime.texi |
| 209 | ../info/sieve: sieve.texi | 211 | # |
| 210 | cd $(srcdir); $(MAKEINFO) sieve.texi | 212 | $(infodir)/sieve: sieve.texi |
| 213 | $(MAKEINFO) sieve.texi | ||
| 211 | sieve.dvi: sieve.texi | 214 | sieve.dvi: sieve.texi |
| 212 | $(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi | 215 | $(ENVADD) $(TEXI2DVI) $(srcdir)/sieve.texi |
| 213 | ../info/pgg: pgg.texi | 216 | # |
| 214 | cd $(srcdir); $(MAKEINFO) pgg.texi | 217 | $(infodir)/pgg: pgg.texi |
| 218 | $(MAKEINFO) pgg.texi | ||
| 215 | pgg.dvi: pgg.texi | 219 | pgg.dvi: pgg.texi |
| 216 | $(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi | 220 | $(ENVADD) $(TEXI2DVI) $(srcdir)/pgg.texi |
| 217 | 221 | ||
| 218 | $(infodir)/mh-e: mh-e.texi | 222 | $(infodir)/mh-e: mh-e.texi |
| 219 | $(MAKEINFO) mh-e.texi | 223 | $(MAKEINFO) mh-e.texi |
diff --git a/man/mini.texi b/man/mini.texi index 040306ba041..ec82c6d4f88 100644 --- a/man/mini.texi +++ b/man/mini.texi | |||
| @@ -511,6 +511,12 @@ is deleted each time an element is added. If the value of | |||
| 511 | @code{history-length} is @code{t}, though, there is no maximum length | 511 | @code{history-length} is @code{t}, though, there is no maximum length |
| 512 | and elements are never deleted. | 512 | and elements are never deleted. |
| 513 | 513 | ||
| 514 | @vindex history-delete-duplicates | ||
| 515 | The variable @code{history-delete-duplicates} specifies whether to | ||
| 516 | delete duplicates in history. If the value of @code{history-delete-duplicates} | ||
| 517 | is @code{t}, that means when adding a new history element, all | ||
| 518 | previous identical elements are deleted. | ||
| 519 | |||
| 514 | @node Repetition | 520 | @node Repetition |
| 515 | @section Repeating Minibuffer Commands | 521 | @section Repeating Minibuffer Commands |
| 516 | @cindex command history | 522 | @cindex command history |
diff --git a/src/ChangeLog b/src/ChangeLog index 8fd72a29c29..bdc2d2d7e20 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,6 +1,57 @@ | |||
| 1 | 2004-09-09 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (decode_mode_spec): Use current buffer for most purposes. | ||
| 4 | |||
| 5 | 2004-09-08 Richard M. Stallman <rms@gnu.org> | ||
| 6 | |||
| 7 | * window.c (Fset_window_buffer): Doc fix. | ||
| 8 | |||
| 9 | * xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use. | ||
| 10 | |||
| 11 | 2004-09-08 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 12 | |||
| 13 | * minibuf.c (history_delete_duplicates): New variable. | ||
| 14 | (read_minibuf): Use it. | ||
| 15 | (syms_of_minibuf): Create the corresponding lisp variable. | ||
| 16 | |||
| 17 | 2004-09-08 Kim F. Storm <storm@cua.dk> | ||
| 18 | |||
| 19 | * xdisp.c (set_cursor_from_row): Also look at 'cursor' property in | ||
| 20 | overlay just before point. | ||
| 21 | |||
| 22 | 2004-09-07 Luc Teirlinck <teirllm@auburn.edu> | ||
| 23 | |||
| 24 | * buffer.h (struct buffer): Add auto_save_file_format field. | ||
| 25 | * buffer.c (reset_buffer, init_buffer_once): Handle | ||
| 26 | auto_save_file_format field. | ||
| 27 | (syms_of_buffer): Add DEFVAR_PER_BUFFER for | ||
| 28 | `buffer-auto-save-file-format'. | ||
| 29 | * fileio.c: Delete declaration for removed Vauto_save_file_format. | ||
| 30 | (build_annotations): Adapt to replacement of | ||
| 31 | `auto-save-file-format' with the new buffer-local variable | ||
| 32 | `buffer-auto-save-file-format'. | ||
| 33 | (syms_of_fileio): Delete DEFVAR_LISP for auto-save-file-format. | ||
| 34 | |||
| 35 | 2004-09-07 Jason Rumney <jasonr@gnu.org> | ||
| 36 | |||
| 37 | * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c. | ||
| 38 | |||
| 39 | * w32fns.c (w32_wnd_proc) [WM_MEASUREITEM, WM_DRAWITEM]: Handle | ||
| 40 | Unicode menu titles. | ||
| 41 | |||
| 42 | 2004-09-07 Kim F. Storm <storm@cua.dk> | ||
| 43 | |||
| 44 | * xdisp.c (set_cursor_from_row): Fix last change. Only use 'cursor' | ||
| 45 | property from text property or overlay strings at point. | ||
| 46 | |||
| 47 | 2004-09-07 Stefan <monnier@iro.umontreal.ca> | ||
| 48 | |||
| 49 | * xmenu.c (update_submenu_strings): YAILOM. | ||
| 50 | (set_frame_menubar): Make sure last_i is initialized. | ||
| 51 | |||
| 1 | 2004-09-03 Jason Rumney <jasonr@gnu.org> | 52 | 2004-09-03 Jason Rumney <jasonr@gnu.org> |
| 2 | 53 | ||
| 3 | * w32menu.c (_widget_value): Added lname and lkey. | 54 | * w32menu.c (_widget_value): Add lname and lkey. |
| 4 | (digest_single_submenu): Set lname and lkey in widget_value | 55 | (digest_single_submenu): Set lname and lkey in widget_value |
| 5 | instead of name and key. | 56 | instead of name and key. |
| 6 | (update_submenu_strings): New function. | 57 | (update_submenu_strings): New function. |
| @@ -12,7 +63,7 @@ | |||
| 12 | UTF-8 if Unicode API is available. | 63 | UTF-8 if Unicode API is available. |
| 13 | (utf8to16): New function. | 64 | (utf8to16): New function. |
| 14 | (add_menu_item): Use it when calling Unicode API. | 65 | (add_menu_item): Use it when calling Unicode API. |
| 15 | 66 | ||
| 16 | 2004-09-03 Kim F. Storm <storm@cua.dk> | 67 | 2004-09-03 Kim F. Storm <storm@cua.dk> |
| 17 | 68 | ||
| 18 | * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property | 69 | * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property |
| @@ -22,14 +73,14 @@ | |||
| 22 | 2004-09-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 73 | 2004-09-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 23 | 74 | ||
| 24 | * macfns.c (x_real_positions): Save the current window port and | 75 | * macfns.c (x_real_positions): Save the current window port and |
| 25 | set a new one before obtaining the global coordinate. Use | 76 | set a new one before obtaining the global coordinate. |
| 26 | FRAME_MAC_WINDOW. | 77 | Use FRAME_MAC_WINDOW. |
| 27 | (x_set_name, x_set_title): Encode title to UTF8. Use | 78 | (x_set_name, x_set_title): Encode title to UTF8. |
| 28 | SetWindowTitleWithCFString. | 79 | Use SetWindowTitleWithCFString. |
| 29 | (Fx_server_version): Get correct OS version. | 80 | (Fx_server_version): Get correct OS version. |
| 30 | 81 | ||
| 31 | * macmenu.c (add_menu_item): Remove unused variable `i'. Don't | 82 | * macmenu.c (add_menu_item): Remove unused variable `i'. |
| 32 | let separator items destroy refence constants of other menu items. | 83 | Don't let separator items destroy refence constants of other menu items. |
| 33 | 84 | ||
| 34 | * macterm.c (x_update_end): Move SetPortWindowPort to inside | 85 | * macterm.c (x_update_end): Move SetPortWindowPort to inside |
| 35 | BLOCK_INPUT. | 86 | BLOCK_INPUT. |
| @@ -40,8 +91,8 @@ | |||
| 40 | 91 | ||
| 41 | * s/darwin.h (LIBS_CARBON): New define to specify libraries for | 92 | * s/darwin.h (LIBS_CARBON): New define to specify libraries for |
| 42 | Carbon support. | 93 | Carbon support. |
| 43 | (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++. Use | 94 | (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++. |
| 44 | LIBS_CARBON. | 95 | Use LIBS_CARBON. |
| 45 | 96 | ||
| 46 | 2004-09-02 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 97 | 2004-09-02 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 47 | 98 | ||
| @@ -56,7 +107,7 @@ | |||
| 56 | 107 | ||
| 57 | 2004-08-30 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 108 | 2004-08-30 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 58 | 109 | ||
| 59 | * macmenu.c (_widget_value): Added lname and lkey. | 110 | * macmenu.c (_widget_value): Add lname and lkey. |
| 60 | (single_submenu): Set lname and lkey in widget_value | 111 | (single_submenu): Set lname and lkey in widget_value |
| 61 | instead of name and key. | 112 | instead of name and key. |
| 62 | (update_submenu_strings): New function. | 113 | (update_submenu_strings): New function. |
diff --git a/src/buffer.c b/src/buffer.c index bade501b1a7..c70831e155f 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -694,6 +694,7 @@ reset_buffer (b) | |||
| 694 | b->mark_active = Qnil; | 694 | b->mark_active = Qnil; |
| 695 | b->point_before_scroll = Qnil; | 695 | b->point_before_scroll = Qnil; |
| 696 | b->file_format = Qnil; | 696 | b->file_format = Qnil; |
| 697 | b->auto_save_file_format = Qt; | ||
| 697 | b->last_selected_window = Qnil; | 698 | b->last_selected_window = Qnil; |
| 698 | XSETINT (b->display_count, 0); | 699 | XSETINT (b->display_count, 0); |
| 699 | b->display_time = Qnil; | 700 | b->display_time = Qnil; |
| @@ -4962,6 +4963,7 @@ init_buffer_once () | |||
| 4962 | buffer_defaults.undo_list = Qnil; | 4963 | buffer_defaults.undo_list = Qnil; |
| 4963 | buffer_defaults.mark_active = Qnil; | 4964 | buffer_defaults.mark_active = Qnil; |
| 4964 | buffer_defaults.file_format = Qnil; | 4965 | buffer_defaults.file_format = Qnil; |
| 4966 | buffer_defaults.auto_save_file_format = Qt; | ||
| 4965 | buffer_defaults.overlays_before = NULL; | 4967 | buffer_defaults.overlays_before = NULL; |
| 4966 | buffer_defaults.overlays_after = NULL; | 4968 | buffer_defaults.overlays_after = NULL; |
| 4967 | buffer_defaults.overlay_center = BEG; | 4969 | buffer_defaults.overlay_center = BEG; |
| @@ -5020,6 +5022,7 @@ init_buffer_once () | |||
| 5020 | XSETINT (buffer_local_flags.file_truename, -1); | 5022 | XSETINT (buffer_local_flags.file_truename, -1); |
| 5021 | XSETINT (buffer_local_flags.invisibility_spec, -1); | 5023 | XSETINT (buffer_local_flags.invisibility_spec, -1); |
| 5022 | XSETINT (buffer_local_flags.file_format, -1); | 5024 | XSETINT (buffer_local_flags.file_format, -1); |
| 5025 | XSETINT (buffer_local_flags.auto_save_file_format, -1); | ||
| 5023 | XSETINT (buffer_local_flags.display_count, -1); | 5026 | XSETINT (buffer_local_flags.display_count, -1); |
| 5024 | XSETINT (buffer_local_flags.display_time, -1); | 5027 | XSETINT (buffer_local_flags.display_time, -1); |
| 5025 | XSETINT (buffer_local_flags.enable_multibyte_characters, -1); | 5028 | XSETINT (buffer_local_flags.enable_multibyte_characters, -1); |
| @@ -5830,6 +5833,13 @@ functions; it should only affect their performance. */); | |||
| 5830 | Formats are defined by `format-alist'. This variable is | 5833 | Formats are defined by `format-alist'. This variable is |
| 5831 | set when a file is visited. */); | 5834 | set when a file is visited. */); |
| 5832 | 5835 | ||
| 5836 | DEFVAR_PER_BUFFER ("buffer-auto-save-file-format", | ||
| 5837 | ¤t_buffer->auto_save_file_format, Qnil, | ||
| 5838 | doc: /* *Format in which to write auto-save files. | ||
| 5839 | Should be a list of symbols naming formats that are defined in `format-alist'. | ||
| 5840 | If it is t, which is the default, auto-save files are written in the | ||
| 5841 | same format as a regular save would use. */); | ||
| 5842 | |||
| 5833 | DEFVAR_PER_BUFFER ("buffer-invisibility-spec", | 5843 | DEFVAR_PER_BUFFER ("buffer-invisibility-spec", |
| 5834 | ¤t_buffer->invisibility_spec, Qnil, | 5844 | ¤t_buffer->invisibility_spec, Qnil, |
| 5835 | doc: /* Invisibility spec of this buffer. | 5845 | doc: /* Invisibility spec of this buffer. |
diff --git a/src/buffer.h b/src/buffer.h index e59211d4111..bcb293a2e85 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -666,6 +666,9 @@ struct buffer | |||
| 666 | /* List of symbols naming the file format used for visited file. */ | 666 | /* List of symbols naming the file format used for visited file. */ |
| 667 | Lisp_Object file_format; | 667 | Lisp_Object file_format; |
| 668 | 668 | ||
| 669 | /* List of symbols naming the file format used for auto-save file. */ | ||
| 670 | Lisp_Object auto_save_file_format; | ||
| 671 | |||
| 669 | /* True if the newline position cache and width run cache are | 672 | /* True if the newline position cache and width run cache are |
| 670 | enabled. See search.c and indent.c. */ | 673 | enabled. See search.c and indent.c. */ |
| 671 | Lisp_Object cache_long_line_scans; | 674 | Lisp_Object cache_long_line_scans; |
diff --git a/src/fileio.c b/src/fileio.c index 707b6e96d86..e95205d7489 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -175,9 +175,6 @@ Lisp_Object Vdefault_file_name_coding_system; | |||
| 175 | whose I/O is done with a special handler. */ | 175 | whose I/O is done with a special handler. */ |
| 176 | Lisp_Object Vfile_name_handler_alist; | 176 | Lisp_Object Vfile_name_handler_alist; |
| 177 | 177 | ||
| 178 | /* Format for auto-save files */ | ||
| 179 | Lisp_Object Vauto_save_file_format; | ||
| 180 | |||
| 181 | /* Lisp functions for translating file formats */ | 178 | /* Lisp functions for translating file formats */ |
| 182 | Lisp_Object Qformat_decode, Qformat_annotate_function; | 179 | Lisp_Object Qformat_decode, Qformat_annotate_function; |
| 183 | 180 | ||
| @@ -5374,8 +5371,8 @@ build_annotations (start, end) | |||
| 5374 | } | 5371 | } |
| 5375 | 5372 | ||
| 5376 | /* Now do the same for annotation functions implied by the file-format */ | 5373 | /* Now do the same for annotation functions implied by the file-format */ |
| 5377 | if (auto_saving && (!EQ (Vauto_save_file_format, Qt))) | 5374 | if (auto_saving && (!EQ (current_buffer->auto_save_file_format, Qt))) |
| 5378 | p = Vauto_save_file_format; | 5375 | p = current_buffer->auto_save_file_format; |
| 5379 | else | 5376 | else |
| 5380 | p = current_buffer->file_format; | 5377 | p = current_buffer->file_format; |
| 5381 | for (i = 0; CONSP (p); p = XCDR (p), ++i) | 5378 | for (i = 0; CONSP (p); p = XCDR (p), ++i) |
| @@ -6493,13 +6490,6 @@ instead use `file-name-coding-system' to get a constant encoding | |||
| 6493 | of file names regardless of the current language environment. */); | 6490 | of file names regardless of the current language environment. */); |
| 6494 | Vdefault_file_name_coding_system = Qnil; | 6491 | Vdefault_file_name_coding_system = Qnil; |
| 6495 | 6492 | ||
| 6496 | DEFVAR_LISP ("auto-save-file-format", &Vauto_save_file_format, | ||
| 6497 | doc: /* *Format in which to write auto-save files. | ||
| 6498 | Should be a list of symbols naming formats that are defined in `format-alist'. | ||
| 6499 | If it is t, which is the default, auto-save files are written in the | ||
| 6500 | same format as a regular save would use. */); | ||
| 6501 | Vauto_save_file_format = Qt; | ||
| 6502 | |||
| 6503 | Qformat_decode = intern ("format-decode"); | 6493 | Qformat_decode = intern ("format-decode"); |
| 6504 | staticpro (&Qformat_decode); | 6494 | staticpro (&Qformat_decode); |
| 6505 | Qformat_annotate_function = intern ("format-annotate-function"); | 6495 | Qformat_annotate_function = intern ("format-annotate-function"); |
diff --git a/src/minibuf.c b/src/minibuf.c index 3d2c6c3a475..a569daaefee 100644 --- a/src/minibuf.c +++ b/src/minibuf.c | |||
| @@ -62,6 +62,10 @@ Lisp_Object Vcompletion_auto_help; | |||
| 62 | 62 | ||
| 63 | Lisp_Object Qhistory_length, Vhistory_length; | 63 | Lisp_Object Qhistory_length, Vhistory_length; |
| 64 | 64 | ||
| 65 | /* No duplicates in history. */ | ||
| 66 | |||
| 67 | int history_delete_duplicates; | ||
| 68 | |||
| 65 | /* Fread_minibuffer leaves the input here as a string. */ | 69 | /* Fread_minibuffer leaves the input here as a string. */ |
| 66 | 70 | ||
| 67 | Lisp_Object last_minibuf_string; | 71 | Lisp_Object last_minibuf_string; |
| @@ -754,6 +758,7 @@ read_minibuf (map, initial, prompt, backup_n, expflag, | |||
| 754 | { | 758 | { |
| 755 | Lisp_Object length; | 759 | Lisp_Object length; |
| 756 | 760 | ||
| 761 | if (history_delete_duplicates) Fdelete (histstring, histval); | ||
| 757 | histval = Fcons (histstring, histval); | 762 | histval = Fcons (histstring, histval); |
| 758 | Fset (Vminibuffer_history_variable, histval); | 763 | Fset (Vminibuffer_history_variable, histval); |
| 759 | 764 | ||
| @@ -2673,6 +2678,12 @@ just after a new element is inserted. Setting the history-length | |||
| 2673 | property of a history variable overrides this default. */); | 2678 | property of a history variable overrides this default. */); |
| 2674 | XSETFASTINT (Vhistory_length, 30); | 2679 | XSETFASTINT (Vhistory_length, 30); |
| 2675 | 2680 | ||
| 2681 | DEFVAR_BOOL ("history-delete-duplicates", &history_delete_duplicates, | ||
| 2682 | doc: /* *Non-nil means to delete duplicates in history. | ||
| 2683 | If set to t when adding a new history element, all previous identical | ||
| 2684 | elements are deleted. */); | ||
| 2685 | history_delete_duplicates = 0; | ||
| 2686 | |||
| 2676 | DEFVAR_LISP ("completion-auto-help", &Vcompletion_auto_help, | 2687 | DEFVAR_LISP ("completion-auto-help", &Vcompletion_auto_help, |
| 2677 | doc: /* *Non-nil means automatically provide help for invalid completion input. */); | 2688 | doc: /* *Non-nil means automatically provide help for invalid completion input. */); |
| 2678 | Vcompletion_auto_help = Qt; | 2689 | Vcompletion_auto_help = Qt; |
diff --git a/src/w32fns.c b/src/w32fns.c index e60385c8129..5cfc4adb0af 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -260,6 +260,7 @@ typedef BOOL (WINAPI * TrackMouseEvent_Proc) | |||
| 260 | 260 | ||
| 261 | TrackMouseEvent_Proc track_mouse_event_fn = NULL; | 261 | TrackMouseEvent_Proc track_mouse_event_fn = NULL; |
| 262 | ClipboardSequence_Proc clipboard_sequence_fn = NULL; | 262 | ClipboardSequence_Proc clipboard_sequence_fn = NULL; |
| 263 | extern AppendMenuW_Proc unicode_append_menu; | ||
| 263 | 264 | ||
| 264 | /* W95 mousewheel handler */ | 265 | /* W95 mousewheel handler */ |
| 265 | unsigned int msh_mousewheel = 0; | 266 | unsigned int msh_mousewheel = 0; |
| @@ -3457,7 +3458,13 @@ w32_wnd_proc (hwnd, msg, wParam, lParam) | |||
| 3457 | pMis->itemHeight = GetSystemMetrics (SM_CYMENUSIZE); | 3458 | pMis->itemHeight = GetSystemMetrics (SM_CYMENUSIZE); |
| 3458 | if (title) | 3459 | if (title) |
| 3459 | { | 3460 | { |
| 3460 | GetTextExtentPoint32 (hdc, title, strlen (title), &size); | 3461 | if (unicode_append_menu) |
| 3462 | GetTextExtentPoint32W (hdc, (WCHAR *) title, | ||
| 3463 | wcslen ((WCHAR *) title), | ||
| 3464 | &size); | ||
| 3465 | else | ||
| 3466 | GetTextExtentPoint32 (hdc, title, strlen (title), &size); | ||
| 3467 | |||
| 3461 | pMis->itemWidth = size.cx; | 3468 | pMis->itemWidth = size.cx; |
| 3462 | if (pMis->itemHeight < size.cy) | 3469 | if (pMis->itemHeight < size.cy) |
| 3463 | pMis->itemHeight = size.cy; | 3470 | pMis->itemHeight = size.cy; |
| @@ -3495,13 +3502,22 @@ w32_wnd_proc (hwnd, msg, wParam, lParam) | |||
| 3495 | menu_font = CreateFontIndirect (&menu_logfont); | 3502 | menu_font = CreateFontIndirect (&menu_logfont); |
| 3496 | old_font = SelectObject (hdc, menu_font); | 3503 | old_font = SelectObject (hdc, menu_font); |
| 3497 | 3504 | ||
| 3498 | /* Always draw title as if not selected. */ | 3505 | /* Always draw title as if not selected. */ |
| 3499 | ExtTextOut (hdc, | 3506 | if (unicode_append_menu) |
| 3500 | pDis->rcItem.left | 3507 | ExtTextOutW (hdc, |
| 3501 | + GetSystemMetrics (SM_CXMENUCHECK), | 3508 | pDis->rcItem.left |
| 3502 | pDis->rcItem.top, | 3509 | + GetSystemMetrics (SM_CXMENUCHECK), |
| 3503 | ETO_OPAQUE, &pDis->rcItem, | 3510 | pDis->rcItem.top, |
| 3504 | title, strlen (title), NULL); | 3511 | ETO_OPAQUE, &pDis->rcItem, |
| 3512 | (WCHAR *) title, | ||
| 3513 | wcslen ((WCHAR *) title), NULL); | ||
| 3514 | else | ||
| 3515 | ExtTextOut (hdc, | ||
| 3516 | pDis->rcItem.left | ||
| 3517 | + GetSystemMetrics (SM_CXMENUCHECK), | ||
| 3518 | pDis->rcItem.top, | ||
| 3519 | ETO_OPAQUE, &pDis->rcItem, | ||
| 3520 | title, strlen (title), NULL); | ||
| 3505 | 3521 | ||
| 3506 | SelectObject (hdc, old_font); | 3522 | SelectObject (hdc, old_font); |
| 3507 | DeleteObject (menu_font); | 3523 | DeleteObject (menu_font); |
diff --git a/src/w32menu.c b/src/w32menu.c index f3f3eb785b0..4553895d829 100644 --- a/src/w32menu.c +++ b/src/w32menu.c | |||
| @@ -143,11 +143,6 @@ typedef BOOL (WINAPI * SetMenuItemInfoA_Proc) ( | |||
| 143 | IN UINT, | 143 | IN UINT, |
| 144 | IN BOOL, | 144 | IN BOOL, |
| 145 | IN LPCMENUITEMINFOA); | 145 | IN LPCMENUITEMINFOA); |
| 146 | typedef BOOL (WINAPI * AppendMenuW_Proc) ( | ||
| 147 | IN HMENU, | ||
| 148 | IN UINT, | ||
| 149 | IN UINT_PTR, | ||
| 150 | IN LPCWSTR); | ||
| 151 | 146 | ||
| 152 | GetMenuItemInfoA_Proc get_menu_item_info = NULL; | 147 | GetMenuItemInfoA_Proc get_menu_item_info = NULL; |
| 153 | SetMenuItemInfoA_Proc set_menu_item_info = NULL; | 148 | SetMenuItemInfoA_Proc set_menu_item_info = NULL; |
diff --git a/src/w32term.h b/src/w32term.h index 284458d4270..ca843ddbfb2 100644 --- a/src/w32term.h +++ b/src/w32term.h | |||
| @@ -736,6 +736,11 @@ EXFUN (Fx_display_grayscale_p, 1); | |||
| 736 | ? BDF_1D_FONT : BDF_2D_FONT)) | 736 | ? BDF_1D_FONT : BDF_2D_FONT)) |
| 737 | 737 | ||
| 738 | typedef DWORD (WINAPI * ClipboardSequence_Proc) (); | 738 | typedef DWORD (WINAPI * ClipboardSequence_Proc) (); |
| 739 | typedef BOOL (WINAPI * AppendMenuW_Proc) ( | ||
| 740 | IN HMENU, | ||
| 741 | IN UINT, | ||
| 742 | IN UINT_PTR, | ||
| 743 | IN LPCWSTR); | ||
| 739 | 744 | ||
| 740 | /* arch-tag: f201d05a-1240-4fc5-8ea4-ca24d4ee5671 | 745 | /* arch-tag: f201d05a-1240-4fc5-8ea4-ca24d4ee5671 |
| 741 | (do not change this comment) */ | 746 | (do not change this comment) */ |
diff --git a/src/window.c b/src/window.c index 8a704bdc298..c64e8557b56 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -3059,7 +3059,9 @@ BUFFER can be a buffer or the name of an existing buffer. | |||
| 3059 | Optional third arg KEEP-MARGINS non-nil means that WINDOW's current | 3059 | Optional third arg KEEP-MARGINS non-nil means that WINDOW's current |
| 3060 | display margins, fringe widths, and scroll bar settings are maintained; | 3060 | display margins, fringe widths, and scroll bar settings are maintained; |
| 3061 | the default is to reset these from BUFFER's local settings or the frame | 3061 | the default is to reset these from BUFFER's local settings or the frame |
| 3062 | defaults. */) | 3062 | defaults. |
| 3063 | |||
| 3064 | This function runs the hook `window-scroll-functions'. */) | ||
| 3063 | (window, buffer, keep_margins) | 3065 | (window, buffer, keep_margins) |
| 3064 | register Lisp_Object window, buffer, keep_margins; | 3066 | register Lisp_Object window, buffer, keep_margins; |
| 3065 | { | 3067 | { |
diff --git a/src/xdisp.c b/src/xdisp.c index 6a12cb57551..9953e65d070 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -10655,6 +10655,7 @@ set_cursor_from_row (w, row, matrix, delta, delta_bytes, dy, dvpos) | |||
| 10655 | int string_before_pos; | 10655 | int string_before_pos; |
| 10656 | int x = row->x; | 10656 | int x = row->x; |
| 10657 | int cursor_x = x; | 10657 | int cursor_x = x; |
| 10658 | int cursor_from_overlay_pos = 0; | ||
| 10658 | int pt_old = PT - delta; | 10659 | int pt_old = PT - delta; |
| 10659 | 10660 | ||
| 10660 | /* Skip over glyphs not having an object at the start of the row. | 10661 | /* Skip over glyphs not having an object at the start of the row. |
| @@ -10680,6 +10681,12 @@ set_cursor_from_row (w, row, matrix, delta, delta_bytes, dy, dvpos) | |||
| 10680 | string_start = NULL; | 10681 | string_start = NULL; |
| 10681 | x += glyph->pixel_width; | 10682 | x += glyph->pixel_width; |
| 10682 | ++glyph; | 10683 | ++glyph; |
| 10684 | if (cursor_from_overlay_pos | ||
| 10685 | && last_pos > cursor_from_overlay_pos) | ||
| 10686 | { | ||
| 10687 | cursor_from_overlay_pos = 0; | ||
| 10688 | cursor = 0; | ||
| 10689 | } | ||
| 10683 | } | 10690 | } |
| 10684 | else | 10691 | else |
| 10685 | { | 10692 | { |
| @@ -10689,10 +10696,21 @@ set_cursor_from_row (w, row, matrix, delta, delta_bytes, dy, dvpos) | |||
| 10689 | /* Skip all glyphs from string. */ | 10696 | /* Skip all glyphs from string. */ |
| 10690 | do | 10697 | do |
| 10691 | { | 10698 | { |
| 10699 | int pos; | ||
| 10692 | if ((cursor == NULL || glyph > cursor) | 10700 | if ((cursor == NULL || glyph > cursor) |
| 10693 | && !NILP (Fget_char_property (make_number ((glyph)->charpos), | 10701 | && !NILP (Fget_char_property (make_number ((glyph)->charpos), |
| 10694 | Qcursor, (glyph)->object))) | 10702 | Qcursor, (glyph)->object)) |
| 10703 | && (pos = string_buffer_position (w, glyph->object, | ||
| 10704 | string_before_pos), | ||
| 10705 | (pos == 0 /* From overlay */ | ||
| 10706 | || pos == pt_old))) | ||
| 10695 | { | 10707 | { |
| 10708 | /* Estimate overlay buffer position from the buffer | ||
| 10709 | positions of the glyphs before and after the overlay. | ||
| 10710 | Add 1 to last_pos so that if point corresponds to the | ||
| 10711 | glyph right after the overlay, we still use a 'cursor' | ||
| 10712 | property found in that overlay. */ | ||
| 10713 | cursor_from_overlay_pos = pos == 0 ? last_pos+1 : 0; | ||
| 10696 | cursor = glyph; | 10714 | cursor = glyph; |
| 10697 | cursor_x = x; | 10715 | cursor_x = x; |
| 10698 | } | 10716 | } |
| @@ -15775,15 +15793,16 @@ store_mode_line_string (string, lisp_string, copy_string, field_width, precision | |||
| 15775 | 15793 | ||
| 15776 | 15794 | ||
| 15777 | DEFUN ("format-mode-line", Fformat_mode_line, Sformat_mode_line, | 15795 | DEFUN ("format-mode-line", Fformat_mode_line, Sformat_mode_line, |
| 15778 | 0, 3, 0, | 15796 | 0, 4, 0, |
| 15779 | doc: /* Return the mode-line of selected window as a string. | 15797 | doc: /* Return the mode-line of selected window as a string. |
| 15780 | First optional arg FORMAT specifies a different format string (see | 15798 | First optional arg FORMAT specifies a different format string (see |
| 15781 | `mode-line-format' for details) to use. If FORMAT is t, return | 15799 | `mode-line-format' for details) to use. If FORMAT is t, return |
| 15782 | the buffer's header-line. Second optional arg WINDOW specifies a | 15800 | the buffer's header-line. Second optional arg WINDOW specifies a |
| 15783 | different window to use as the context for the formatting. | 15801 | different window to use as the context for the formatting. |
| 15784 | If third optional arg NO-PROPS is non-nil, string is not propertized. */) | 15802 | If third optional arg NO-PROPS is non-nil, string is not propertized. |
| 15785 | (format, window, no_props) | 15803 | Fourth optional arg BUFFER specifies which buffer to use. */) |
| 15786 | Lisp_Object format, window, no_props; | 15804 | (format, window, no_props, buffer) |
| 15805 | Lisp_Object format, window, no_props, buffer; | ||
| 15787 | { | 15806 | { |
| 15788 | struct it it; | 15807 | struct it it; |
| 15789 | int len; | 15808 | int len; |
| @@ -15795,12 +15814,16 @@ If third optional arg NO-PROPS is non-nil, string is not propertized. */) | |||
| 15795 | window = selected_window; | 15814 | window = selected_window; |
| 15796 | CHECK_WINDOW (window); | 15815 | CHECK_WINDOW (window); |
| 15797 | w = XWINDOW (window); | 15816 | w = XWINDOW (window); |
| 15798 | CHECK_BUFFER (w->buffer); | ||
| 15799 | 15817 | ||
| 15800 | if (XBUFFER (w->buffer) != current_buffer) | 15818 | if (NILP (buffer)) |
| 15819 | buffer = w->buffer; | ||
| 15820 | |||
| 15821 | CHECK_BUFFER (buffer); | ||
| 15822 | |||
| 15823 | if (XBUFFER (buffer) != current_buffer) | ||
| 15801 | { | 15824 | { |
| 15802 | old_buffer = current_buffer; | 15825 | old_buffer = current_buffer; |
| 15803 | set_buffer_internal_1 (XBUFFER (w->buffer)); | 15826 | set_buffer_internal_1 (XBUFFER (buffer)); |
| 15804 | } | 15827 | } |
| 15805 | 15828 | ||
| 15806 | if (NILP (format) || EQ (format, Qt)) | 15829 | if (NILP (format) || EQ (format, Qt)) |
| @@ -16103,7 +16126,10 @@ decode_mode_spec_coding (coding_system, buf, eol_flag) | |||
| 16103 | generated by character C. PRECISION >= 0 means don't return a | 16126 | generated by character C. PRECISION >= 0 means don't return a |
| 16104 | string longer than that value. FIELD_WIDTH > 0 means pad the | 16127 | string longer than that value. FIELD_WIDTH > 0 means pad the |
| 16105 | string returned with spaces to that value. Return 1 in *MULTIBYTE | 16128 | string returned with spaces to that value. Return 1 in *MULTIBYTE |
| 16106 | if the result is multibyte text. */ | 16129 | if the result is multibyte text. |
| 16130 | |||
| 16131 | Note we operate on the current buffer for most purposes, | ||
| 16132 | the exception being w->base_line_pos. */ | ||
| 16107 | 16133 | ||
| 16108 | static char lots_of_dashes[] = "--------------------------------------------------------------------------------------------------------------------------------------------"; | 16134 | static char lots_of_dashes[] = "--------------------------------------------------------------------------------------------------------------------------------------------"; |
| 16109 | 16135 | ||
| @@ -16117,7 +16143,7 @@ decode_mode_spec (w, c, field_width, precision, multibyte) | |||
| 16117 | Lisp_Object obj; | 16143 | Lisp_Object obj; |
| 16118 | struct frame *f = XFRAME (WINDOW_FRAME (w)); | 16144 | struct frame *f = XFRAME (WINDOW_FRAME (w)); |
| 16119 | char *decode_mode_spec_buf = f->decode_mode_spec_buffer; | 16145 | char *decode_mode_spec_buf = f->decode_mode_spec_buffer; |
| 16120 | struct buffer *b = XBUFFER (w->buffer); | 16146 | struct buffer *b = current_buffer; |
| 16121 | 16147 | ||
| 16122 | obj = Qnil; | 16148 | obj = Qnil; |
| 16123 | *multibyte = 0; | 16149 | *multibyte = 0; |
| @@ -16419,7 +16445,7 @@ decode_mode_spec (w, c, field_width, precision, multibyte) | |||
| 16419 | 16445 | ||
| 16420 | case 's': | 16446 | case 's': |
| 16421 | /* status of process */ | 16447 | /* status of process */ |
| 16422 | obj = Fget_buffer_process (w->buffer); | 16448 | obj = Fget_buffer_process (Fcurrent_buffer ()); |
| 16423 | if (NILP (obj)) | 16449 | if (NILP (obj)) |
| 16424 | return "no process"; | 16450 | return "no process"; |
| 16425 | #ifdef subprocesses | 16451 | #ifdef subprocesses |
diff --git a/src/xmenu.c b/src/xmenu.c index aa963935262..5c3d5804355 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* X Communication module for terminals which understand the X protocol. | 1 | /* X Communication module for terminals which understand the X protocol. |
| 2 | Copyright (C) 1986, 88, 93, 94, 96, 99, 2000, 2001, 2003 | 2 | Copyright (C) 1986, 1988, 1993, 1994, 1996, 1999, 2000, 2001, 2003, 2004 |
| 3 | Free Software Foundation, Inc. | 3 | Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| @@ -1801,7 +1801,7 @@ update_submenu_strings (first_wv) | |||
| 1801 | 1801 | ||
| 1802 | for (wv = first_wv; wv; wv = wv->next) | 1802 | for (wv = first_wv; wv; wv = wv->next) |
| 1803 | { | 1803 | { |
| 1804 | if (wv->lname && ! NILP (wv->lname)) | 1804 | if (STRINGP (wv->lname)) |
| 1805 | { | 1805 | { |
| 1806 | wv->name = SDATA (wv->lname); | 1806 | wv->name = SDATA (wv->lname); |
| 1807 | 1807 | ||
| @@ -1815,7 +1815,7 @@ update_submenu_strings (first_wv) | |||
| 1815 | } | 1815 | } |
| 1816 | } | 1816 | } |
| 1817 | 1817 | ||
| 1818 | if (wv->lkey && ! NILP (wv->lkey)) | 1818 | if (STRINGP (wv->lkey)) |
| 1819 | wv->key = SDATA (wv->lkey); | 1819 | wv->key = SDATA (wv->lkey); |
| 1820 | 1820 | ||
| 1821 | if (wv->contents) | 1821 | if (wv->contents) |
| @@ -1888,7 +1888,7 @@ set_frame_menubar (f, first_time, deep_p) | |||
| 1888 | #endif | 1888 | #endif |
| 1889 | Lisp_Object items; | 1889 | Lisp_Object items; |
| 1890 | widget_value *wv, *first_wv, *prev_wv = 0; | 1890 | widget_value *wv, *first_wv, *prev_wv = 0; |
| 1891 | int i, last_i; | 1891 | int i, last_i = 0; |
| 1892 | int *submenu_start, *submenu_end; | 1892 | int *submenu_start, *submenu_end; |
| 1893 | int *submenu_top_level_items, *submenu_n_panes; | 1893 | int *submenu_top_level_items, *submenu_n_panes; |
| 1894 | 1894 | ||