diff options
| author | Miles Bader | 2004-07-06 02:57:15 +0000 |
|---|---|---|
| committer | Miles Bader | 2004-07-06 02:57:15 +0000 |
| commit | 094194de121c8b93c7b183182cb0853ec54fe1aa (patch) | |
| tree | 1f547e97064f160344acc2e97efbd727636b7255 | |
| parent | f3265da9821318b9b06c641a8a8d4a3380d4039b (diff) | |
| parent | 8e975df9c8dee54225ebc71ccf7a7746e05fae2d (diff) | |
| download | emacs-094194de121c8b93c7b183182cb0853ec54fe1aa.tar.gz emacs-094194de121c8b93c7b183182cb0853ec54fe1aa.zip | |
Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-22
Merge from emacs--cvs-trunk--0
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-431
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-441
Update from CVS
43 files changed, 1917 insertions, 395 deletions
| @@ -1,3 +1,7 @@ | |||
| 1 | 2004-07-05 Andreas Schwab <schwab@suse.de> | ||
| 2 | |||
| 3 | * Makefile.in (install-arch-indep): Remove .arch-inventory files. | ||
| 4 | |||
| 1 | 2004-06-21 Kenichi Handa <handa@m17n.org> | 5 | 2004-06-21 Kenichi Handa <handa@m17n.org> |
| 2 | 6 | ||
| 3 | * make-dist: Link leim-ext.el into tempdir. | 7 | * make-dist: Link leim-ext.el into tempdir. |
diff --git a/Makefile.in b/Makefile.in index 760f7d34f77..35cc2798e32 100644 --- a/Makefile.in +++ b/Makefile.in | |||
| @@ -415,6 +415,7 @@ install-arch-indep: mkdir info | |||
| 415 | rm -rf $${subdir}/RCS ; \ | 415 | rm -rf $${subdir}/RCS ; \ |
| 416 | rm -rf $${subdir}/CVS ; \ | 416 | rm -rf $${subdir}/CVS ; \ |
| 417 | rm -f $${subdir}/.cvsignore ; \ | 417 | rm -f $${subdir}/.cvsignore ; \ |
| 418 | rm -f $${subdir}/.arch-inventory ; \ | ||
| 418 | rm -f $${subdir}/\#* ; \ | 419 | rm -f $${subdir}/\#* ; \ |
| 419 | rm -f $${subdir}/.\#* ; \ | 420 | rm -f $${subdir}/.\#* ; \ |
| 420 | rm -f $${subdir}/*~ ; \ | 421 | rm -f $${subdir}/*~ ; \ |
| @@ -1000,10 +1000,11 @@ a match if part of it has a read-only property. | |||
| 1000 | `replace-regexp' allow \,expr to be used in a replacement string, | 1000 | `replace-regexp' allow \,expr to be used in a replacement string, |
| 1001 | where expr is an arbitrary Lisp expression evaluated at replacement | 1001 | where expr is an arbitrary Lisp expression evaluated at replacement |
| 1002 | time. In many cases, this will be more convenient than using | 1002 | time. In many cases, this will be more convenient than using |
| 1003 | `query-replace-regexp-eval'. All regular expression replacement | 1003 | `query-replace-regexp-eval'. `\#' in a replacement string now refers |
| 1004 | commands now allow `\?' in the replacement string to specify a | 1004 | to the count of replacements already made by the replacement command. |
| 1005 | position where the replacement string can be edited for each | 1005 | All regular expression replacement commands now allow `\?' in the |
| 1006 | replacement. | 1006 | replacement string to specify a position where the replacement string |
| 1007 | can be edited for each replacement. | ||
| 1007 | 1008 | ||
| 1008 | +++ | 1009 | +++ |
| 1009 | ** Emacs normally highlights mouse sensitive text whenever the mouse | 1010 | ** Emacs normally highlights mouse sensitive text whenever the mouse |
| @@ -1162,6 +1163,16 @@ command `isearch-yank-word-or-char'. To restore the old behavior, | |||
| 1162 | bind C-w to `isearch-yank-word' in `isearch-mode-map'. | 1163 | bind C-w to `isearch-yank-word' in `isearch-mode-map'. |
| 1163 | 1164 | ||
| 1164 | +++ | 1165 | +++ |
| 1166 | ** C-M-w deletes and C-M-y grabs a character in isearch mode. | ||
| 1167 | Another method to grab a character is to enter the minibuffer by `M-e' | ||
| 1168 | and to type `C-f' at the end of the search string in the minibuffer. | ||
| 1169 | |||
| 1170 | +++ | ||
| 1171 | ** M-% and C-M-% typed in isearch mode invoke `query-replace' and | ||
| 1172 | `query-replace-regexp' with the current search string inserted | ||
| 1173 | in the minibuffer as initial input for the string to replace. | ||
| 1174 | |||
| 1175 | +++ | ||
| 1165 | ** Yanking text now discards certain text properties that can | 1176 | ** Yanking text now discards certain text properties that can |
| 1166 | be inconvenient when you did not expect them. The variable | 1177 | be inconvenient when you did not expect them. The variable |
| 1167 | `yank-excluded-properties' specifies which ones. Insertion | 1178 | `yank-excluded-properties' specifies which ones. Insertion |
| @@ -1910,6 +1921,8 @@ subprocesses inherit. | |||
| 1910 | 1921 | ||
| 1911 | ** Grep has been decoupled from compilation mode setup. | 1922 | ** Grep has been decoupled from compilation mode setup. |
| 1912 | 1923 | ||
| 1924 | *** There's a new separate package grep.el. | ||
| 1925 | |||
| 1913 | *** Grep commands now have their own submenu and customization group. | 1926 | *** Grep commands now have their own submenu and customization group. |
| 1914 | 1927 | ||
| 1915 | *** The new variables `grep-window-height', `grep-auto-highlight', and | 1928 | *** The new variables `grep-window-height', `grep-auto-highlight', and |
| @@ -2003,6 +2016,12 @@ to view diffs or log entries directly from vc-annotate-mode: | |||
| 2003 | between the local version of the file and yesterday's head revision | 2016 | between the local version of the file and yesterday's head revision |
| 2004 | in the repository. | 2017 | in the repository. |
| 2005 | 2018 | ||
| 2019 | +++ | ||
| 2020 | ** In pcl-cvs mode, there is a new `d r' command to view the changes | ||
| 2021 | anyone has committed to the repository since you last executed | ||
| 2022 | "checkout", "update" or "commit". That means using cvs diff options | ||
| 2023 | -rBASE -rHEAD. | ||
| 2024 | |||
| 2006 | 2025 | ||
| 2007 | * New modes and packages in Emacs 21.4 | 2026 | * New modes and packages in Emacs 21.4 |
| 2008 | 2027 | ||
| @@ -2280,6 +2299,10 @@ arg is non-nil. | |||
| 2280 | modification times. Magic file name handlers can handle this | 2299 | modification times. Magic file name handlers can handle this |
| 2281 | operation. | 2300 | operation. |
| 2282 | 2301 | ||
| 2302 | ** file-remote-p now returns an identifier for the remote system, | ||
| 2303 | if the file is indeed remote. (Before, the return value was t in | ||
| 2304 | this case.) | ||
| 2305 | |||
| 2283 | ** The display space :width and :align-to text properties are now | 2306 | ** The display space :width and :align-to text properties are now |
| 2284 | supported on text terminals. | 2307 | supported on text terminals. |
| 2285 | 2308 | ||
| @@ -273,6 +273,28 @@ to the FSF. | |||
| 273 | the definition of `file-attributes' and `directory-files-and-attributes' | 273 | the definition of `file-attributes' and `directory-files-and-attributes' |
| 274 | and from the calls. | 274 | and from the calls. |
| 275 | 275 | ||
| 276 | ** Re-design language environment handling so that Emacs can fit | ||
| 277 | better to a users locale (e.g. ja_JP.UTF-8). | ||
| 278 | |||
| 279 | ** Eliminate the current restriction on header printing by ps-print. | ||
| 280 | Currently, a header can contain only single 1-byte charset in | ||
| 281 | addition to ASCII. | ||
| 282 | |||
| 283 | ** In ps-print, provide an user friendly interface to specify fonts. | ||
| 284 | |||
| 285 | ** OpenType font support for various complex scripts (e.g. Devanagari). | ||
| 286 | As X protocal doesn't provide a way to access OpenType Layout Tables | ||
| 287 | in a OpenType font of a server side, we need a way to utilize local | ||
| 288 | fonts (perhaps by directly using the Freetype library or indirectly | ||
| 289 | via Xft library). | ||
| 290 | |||
| 291 | ** Enhance word boundary detection for such a script that doesn't use | ||
| 292 | space at word boundary (e.g. Thai). | ||
| 293 | |||
| 294 | ** Include a better Japanese input method in the distribution. | ||
| 295 | Currently, most Japanese users are using external packages | ||
| 296 | (e.g. tamago, anthy) or an input method via XIM. | ||
| 297 | |||
| 276 | * Internal changes | 298 | * Internal changes |
| 277 | 299 | ||
| 278 | ** Replace gmalloc.c with the modified Doug Lea code from the current | 300 | ** Replace gmalloc.c with the modified Doug Lea code from the current |
diff --git a/leim/ChangeLog b/leim/ChangeLog index 33440199708..146bc897098 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2004-07-01 David Kastrup <dak@gnu.org> | ||
| 2 | |||
| 3 | * quail/greek.el ("((") ("))"): add quotation mark shorthands. | ||
| 4 | |||
| 5 | 2004-06-30 Andreas Schwab <schwab@suse.de> | ||
| 6 | |||
| 7 | * Makefile.in (${CHINESE-TIT:.elc=.el}): Depend on changed.tit to | ||
| 8 | serialize parallel builds. | ||
| 9 | (${MISC:.elc=.el}): Depend on changed.misc. | ||
| 10 | |||
| 1 | 2004-06-05 Kenichi Handa <handa@m17n.org> | 11 | 2004-06-05 Kenichi Handa <handa@m17n.org> |
| 2 | 12 | ||
| 3 | * Makefile.in (leim-list.el): Depend on leim-ext.el. Append the | 13 | * Makefile.in (leim-list.el): Depend on leim-ext.el. Append the |
diff --git a/leim/Makefile.in b/leim/Makefile.in index 1c13ff0613b..daa5b550cf2 100644 --- a/leim/Makefile.in +++ b/leim/Makefile.in | |||
| @@ -174,6 +174,9 @@ TIT-SOURCES= \ | |||
| 174 | ${srcdir}/CXTERM-DIC/TONEPY.tit \ | 174 | ${srcdir}/CXTERM-DIC/TONEPY.tit \ |
| 175 | ${srcdir}/CXTERM-DIC/ZOZY.tit | 175 | ${srcdir}/CXTERM-DIC/ZOZY.tit |
| 176 | 176 | ||
| 177 | ${CHINESE-TIT:.elc=.el}: changed.tit | ||
| 178 | @true | ||
| 179 | |||
| 177 | changed.tit: ${TIT-SOURCES} | 180 | changed.tit: ${TIT-SOURCES} |
| 178 | ${RUN-EMACS} -l ${buildlisppath}/international/titdic-cnv \ | 181 | ${RUN-EMACS} -l ${buildlisppath}/international/titdic-cnv \ |
| 179 | -f batch-titdic-convert -dir quail ${srcdir}/CXTERM-DIC; \ | 182 | -f batch-titdic-convert -dir quail ${srcdir}/CXTERM-DIC; \ |
| @@ -187,6 +190,9 @@ MISC-SOURCES= \ | |||
| 187 | ${srcdir}/MISC-DIC/pinyin.map \ | 190 | ${srcdir}/MISC-DIC/pinyin.map \ |
| 188 | ${srcdir}/MISC-DIC/ziranma.cin | 191 | ${srcdir}/MISC-DIC/ziranma.cin |
| 189 | 192 | ||
| 193 | ${MISC:.elc=.el}: changed.misc | ||
| 194 | @true | ||
| 195 | |||
| 190 | changed.misc: ${MISC-SOURCES} | 196 | changed.misc: ${MISC-SOURCES} |
| 191 | ${RUN-EMACS} -l ${buildlisppath}/international/titdic-cnv \ | 197 | ${RUN-EMACS} -l ${buildlisppath}/international/titdic-cnv \ |
| 192 | -f batch-miscdic-convert -dir quail ${srcdir}/MISC-DIC; \ | 198 | -f batch-miscdic-convert -dir quail ${srcdir}/MISC-DIC; \ |
diff --git a/leim/quail/greek.el b/leim/quail/greek.el index a0c75df5d4b..2055962c722 100644 --- a/leim/quail/greek.el +++ b/leim/quail/greek.el | |||
| @@ -485,6 +485,8 @@ nil t t nil nil nil nil nil nil nil t) | |||
| 485 | ("\"" ?,A((B) ; dialytika | 485 | ("\"" ?,A((B) ; dialytika |
| 486 | ("|" ?$,1&Z(B) ; ypogegrammeni | 486 | ("|" ?$,1&Z(B) ; ypogegrammeni |
| 487 | ("''" ?$,1q}(B) ; koronis | 487 | ("''" ?$,1q}(B) ; koronis |
| 488 | ("((" ?,A+(B) ; #x00ab | ||
| 489 | ("))" ?,A;(B) ; #x00bb | ||
| 488 | 490 | ||
| 489 | ("A" ?$,1&q(B) | 491 | ("A" ?$,1&q(B) |
| 490 | ("B" ?$,1&r(B) | 492 | ("B" ?$,1&r(B) |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index effae29fc8f..92552debee2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,105 @@ | |||
| 1 | 2004-07-05 Stefan <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * replace.el (query-replace-descr): New fun. | ||
| 4 | (query-replace-read-from, query-replace-read-args): Default to the | ||
| 5 | previous from&to. | ||
| 6 | (query-replace-read-to): Quote the `from' string when displaying it. | ||
| 7 | (query-replace-regexp-eval): Immediately check read-only status. | ||
| 8 | Use query-replace-read-from to get the \n checking. | ||
| 9 | Quote the `from' string when displaying it. | ||
| 10 | (map-query-replace-regexp, occur-read-primary-args): | ||
| 11 | Quote the `from' string when displaying it. | ||
| 12 | |||
| 13 | * isearch.el (isearch-query-replace): Pass the regexp-ness and | ||
| 14 | delimited-ness of the search to query-replace. | ||
| 15 | |||
| 16 | * replace.el (query-replace-read-from, query-replace-read-to): | ||
| 17 | New funs extracted from query-replace-read-args. | ||
| 18 | (query-replace-read-args): Use them. | ||
| 19 | |||
| 20 | * replace.el (query-replace-interactive, query-replace-read-args): | ||
| 21 | Remove the `initial' special value. | ||
| 22 | (query-replace-regexp-eval, map-query-replace-regexp): Simplify. | ||
| 23 | (occur-engine): Remove unused var `matchend'. | ||
| 24 | |||
| 25 | * isearch.el (isearch-query-replace, isearch-query-replace-regexp): | ||
| 26 | Use the search string without prompting. | ||
| 27 | |||
| 28 | 2004-07-05 Kenichi Handa <handa@m17n.org> | ||
| 29 | |||
| 30 | * international/mule.el (decode-coding-inserted-region): | ||
| 31 | Set last-coding-system-used only when coding is nil. | ||
| 32 | |||
| 33 | 2004-07-03 Eli Zaretskii <eliz@gnu.org> | ||
| 34 | |||
| 35 | * progmodes/grep.el (grep-compute-defaults, grep-command) | ||
| 36 | (grep-program, find-program, grep-find-use-xargs, grep-history) | ||
| 37 | (grep-find-history, grep-tag-default, grep-find-command) | ||
| 38 | (grep-regexp-alist, grep-process-setup, grep-compute-defaults): | ||
| 39 | Add autoload cookies, for unbundled packages that load `compile' | ||
| 40 | and expect all grep-related symbols to become defined. | ||
| 41 | |||
| 42 | 2004-07-03 KOSEKI Yoshinori <kose@meadowy.org> | ||
| 43 | |||
| 44 | * iimage.el (turn-on-iimage-mode, iimage-mode): Add autoload cookies. | ||
| 45 | (iimage-mode-image-search-path): New user option to search the | ||
| 46 | image file. | ||
| 47 | (iimage-locate-file): New funcion. Emacs21.3 or earlier does not | ||
| 48 | have locate-file. | ||
| 49 | (iimage-mode-buffer): Use it. | ||
| 50 | |||
| 51 | 2004-07-03 Nick Roberts <nickrob@gnu.org> | ||
| 52 | |||
| 53 | * progmodes/gdb-ui.el (gdb-goto-breakpoint): String match more | ||
| 54 | carefully. | ||
| 55 | (gdb-delete-breakpoint, gdb-toggle-breakpoint): Handle gdbmi. | ||
| 56 | |||
| 57 | 2004-07-03 Juri Linkov <juri@jurta.org> | ||
| 58 | |||
| 59 | * replace.el (query-replace-read-args): Swallow space after 'foo, | ||
| 60 | not after (quote foo). Match space only immediately after symbol, | ||
| 61 | not anywhere in the whole string. | ||
| 62 | |||
| 63 | 2004-07-02 Richard M. Stallman <rms@gnu.org> | ||
| 64 | |||
| 65 | * replace.el (query-replace-read-args): Swallow space after | ||
| 66 | symbols, not after closeparens. But avoid error if string ends there. | ||
| 67 | |||
| 68 | * progmodes/python.el (python-beginning-of-statement): | ||
| 69 | Exit the loop if backward-up-list gets error. | ||
| 70 | |||
| 71 | * textmodes/enriched.el (enriched-encode): Bind inhibit-read-only. | ||
| 72 | |||
| 73 | 2004-07-02 Andre Spiegel <spiegel@gnu.org> | ||
| 74 | |||
| 75 | * vc-rcs.el (vc-rcs-checkout-model): Look at the version headers | ||
| 76 | only if vc-consult-headers is non-nil. | ||
| 77 | |||
| 78 | 2004-07-02 Juri Linkov <juri@jurta.org> | ||
| 79 | |||
| 80 | * pcvs.el (cvs-mode-diff-repository): New command. | ||
| 81 | |||
| 82 | * pcvs-defs.el (cvs-mode-diff-map): Bind r to cvs-mode-diff-repository. | ||
| 83 | |||
| 84 | 2004-07-01 Juri Linkov <juri@jurta.org> | ||
| 85 | |||
| 86 | * isearch.el (isearch-mode-map): Bind C-M-w to isearch-del-char, | ||
| 87 | C-M-y to isearch-yank-char. Bind M-% to isearch-query-replace, | ||
| 88 | C-M-% to isearch-query-replace-regexp. | ||
| 89 | (minibuffer-local-isearch-map): Add arrow key bindings. | ||
| 90 | Bind C-f to isearch-yank-char-in-minibuffer. | ||
| 91 | (isearch-forward): Doc fix. | ||
| 92 | (isearch-edit-string): Doc fix. | ||
| 93 | (isearch-query-replace, isearch-query-replace-regexp): New funs. | ||
| 94 | (isearch-del-char): Add optional arg. Set isearch-yank-flag to t. | ||
| 95 | (isearch-yank-char): Add optional arg. | ||
| 96 | (isearch-yank-char-in-minibuffer): New fun. | ||
| 97 | |||
| 98 | * replace.el (query-replace-interactive): Change type from boolean | ||
| 99 | to choice. Add value `initial'. | ||
| 100 | (query-replace-read-args): Handle value `initial' of | ||
| 101 | query-replace-interactive. | ||
| 102 | |||
| 1 | 2004-06-29 Kim F. Storm <storm@cua.dk> | 103 | 2004-06-29 Kim F. Storm <storm@cua.dk> |
| 2 | 104 | ||
| 3 | * progmodes/gdb-ui.el (breakpoint-enabled-bitmap-face) | 105 | * progmodes/gdb-ui.el (breakpoint-enabled-bitmap-face) |
| @@ -15,6 +117,11 @@ | |||
| 15 | 117 | ||
| 16 | * emacs-lisp/pp.el (pp-buffer): Add autoload. | 118 | * emacs-lisp/pp.el (pp-buffer): Add autoload. |
| 17 | 119 | ||
| 120 | 2004-06-28 Richard M. Stallman <rms@gnu.org> | ||
| 121 | |||
| 122 | * font-lock.el (font-lock-fontify-syntactic-keywords-region): | ||
| 123 | More changes to go with previous change in font-lock.el. | ||
| 124 | |||
| 18 | 2004-06-26 David Kastrup <dak@gnu.org> | 125 | 2004-06-26 David Kastrup <dak@gnu.org> |
| 19 | 126 | ||
| 20 | * replace.el (perform-replace): Highlight the match even in | 127 | * replace.el (perform-replace): Highlight the match even in |
| @@ -72,12 +179,11 @@ | |||
| 72 | (replace-regexp): Explain `\,', `\#' and `\?'. | 179 | (replace-regexp): Explain `\,', `\#' and `\?'. |
| 73 | (replace-match-data): New function for thorough reuse/destruction | 180 | (replace-match-data): New function for thorough reuse/destruction |
| 74 | of old match-data. | 181 | of old match-data. |
| 75 | (replace-match-maybe-edit): Function for implementing `\?' | 182 | (replace-match-maybe-edit): Function for implementing `\?' editing. |
| 76 | editing. | ||
| 77 | (perform-replace): Fix maintaining of the match stack including | 183 | (perform-replace): Fix maintaining of the match stack including |
| 78 | already matched regions, implement `\?', fix various problems | 184 | already matched regions, implement `\?', fix various problems |
| 79 | with regions while editing and other stuff. | 185 | with regions while editing and other stuff. |
| 80 | (replace-highlight): Simplified. | 186 | (replace-highlight): Simplify. |
| 81 | 187 | ||
| 82 | 2004-06-24 Daniel Pfeiffer <occitan@esperanto.org> | 188 | 2004-06-24 Daniel Pfeiffer <occitan@esperanto.org> |
| 83 | 189 | ||
| @@ -104,8 +210,7 @@ | |||
| 104 | 210 | ||
| 105 | 2004-06-21 Juanma Barranquero <lektu@terra.es> | 211 | 2004-06-21 Juanma Barranquero <lektu@terra.es> |
| 106 | 212 | ||
| 107 | * image.el (image-library-alist): Rewrite docstring in active | 213 | * image.el (image-library-alist): Rewrite docstring in active voice. |
| 108 | voice. | ||
| 109 | 214 | ||
| 110 | 2004-06-20 Richard M. Stallman <rms@gnu.org> | 215 | 2004-06-20 Richard M. Stallman <rms@gnu.org> |
| 111 | 216 | ||
| @@ -132,8 +237,8 @@ | |||
| 132 | 237 | ||
| 133 | 2004-06-18 Luc Teirlinck <teirllm@auburn.edu> | 238 | 2004-06-18 Luc Teirlinck <teirllm@auburn.edu> |
| 134 | 239 | ||
| 135 | * autorevert.el (global-auto-revert-non-file-buffers): Update | 240 | * autorevert.el (global-auto-revert-non-file-buffers): |
| 136 | docstring. | 241 | Update docstring. |
| 137 | 242 | ||
| 138 | 2004-06-19 Daniel Pfeiffer <occitan@esperanto.org> | 243 | 2004-06-19 Daniel Pfeiffer <occitan@esperanto.org> |
| 139 | 244 | ||
| @@ -154,7 +259,7 @@ | |||
| 154 | escaped character is n or t. | 259 | escaped character is n or t. |
| 155 | (query-replace-regexp): Add \, and \# interpretation to | 260 | (query-replace-regexp): Add \, and \# interpretation to |
| 156 | interactive call and document it. | 261 | interactive call and document it. |
| 157 | (query-replace-regexp-eval, replace-match-string-symbols): add \# | 262 | (query-replace-regexp-eval, replace-match-string-symbols): Add \# |
| 158 | as shortkey for replace-count. | 263 | as shortkey for replace-count. |
| 159 | (replace-quote): New function for doubling backslashes. | 264 | (replace-quote): New function for doubling backslashes. |
| 160 | 265 | ||
| @@ -184,8 +289,8 @@ | |||
| 184 | * dired-aux.el (dired-do-redisplay, dired-maybe-insert-subdir): | 289 | * dired-aux.el (dired-do-redisplay, dired-maybe-insert-subdir): |
| 185 | Add hyperlink to emacs-xtra manual to docstring. | 290 | Add hyperlink to emacs-xtra manual to docstring. |
| 186 | 291 | ||
| 187 | * autorevert.el (global-auto-revert-non-file-buffers): Add | 292 | * autorevert.el (global-auto-revert-non-file-buffers): |
| 188 | hyperlink to emacs-xtra manual to docstring, as well as an | 293 | Add hyperlink to emacs-xtra manual to docstring, as well as an |
| 189 | info-link. | 294 | info-link. |
| 190 | 295 | ||
| 191 | 2004-06-14 Juanma Barranquero <lektu@terra.es> | 296 | 2004-06-14 Juanma Barranquero <lektu@terra.es> |
| @@ -204,8 +309,7 @@ | |||
| 204 | * international/code-pages.el (windows-1256, cp1125): Fix tables | 309 | * international/code-pages.el (windows-1256, cp1125): Fix tables |
| 205 | for several characters. | 310 | for several characters. |
| 206 | 311 | ||
| 207 | * international/utf-8.el (ccl-encode-mule-utf-8): Fix previous | 312 | * international/utf-8.el (ccl-encode-mule-utf-8): Fix previous change. |
| 208 | change. | ||
| 209 | 313 | ||
| 210 | 2004-06-13 Richard M. Stallman <rms@gnu.org> | 314 | 2004-06-13 Richard M. Stallman <rms@gnu.org> |
| 211 | 315 | ||
| @@ -251,14 +355,13 @@ | |||
| 251 | 355 | ||
| 252 | 2004-06-13 Kenichi Handa <handa@m17n.org> | 356 | 2004-06-13 Kenichi Handa <handa@m17n.org> |
| 253 | 357 | ||
| 254 | * international/utf-8.el (ccl-decode-mule-utf-8): Fix previous | 358 | * international/utf-8.el (ccl-decode-mule-utf-8): Fix previous change. |
| 255 | change. | ||
| 256 | (ccl-untranslated-to-ucs): Fix typo. | 359 | (ccl-untranslated-to-ucs): Fix typo. |
| 257 | 360 | ||
| 258 | 2004-06-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) | 361 | 2004-06-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) |
| 259 | 362 | ||
| 260 | * progmodes/python.el (python-open-block-statement-p): Fix | 363 | * progmodes/python.el (python-open-block-statement-p): |
| 261 | indentation after a block opening that contains a comment. | 364 | Fix indentation after a block opening that contains a comment. |
| 262 | 365 | ||
| 263 | 2004-06-12 J,Ai(Br,At(Bme Marant <jerome@marant.org> (tiny change) | 366 | 2004-06-12 J,Ai(Br,At(Bme Marant <jerome@marant.org> (tiny change) |
| 264 | 367 | ||
| @@ -274,11 +377,10 @@ | |||
| 274 | 377 | ||
| 275 | 2004-06-12 Kenichi Handa <handa@m17n.org> | 378 | 2004-06-12 Kenichi Handa <handa@m17n.org> |
| 276 | 379 | ||
| 277 | * international/mule-cmds.el (set-language-environment): Load | 380 | * international/mule-cmds.el (set-language-environment): |
| 278 | subst tables if necessary. | 381 | Load subst tables if necessary. |
| 279 | 382 | ||
| 280 | * international/mule.el (decode-char): Load subst tables if | 383 | * international/mule.el (decode-char): Load subst tables if necessary. |
| 281 | necessary. | ||
| 282 | (encode-char): Likewise. | 384 | (encode-char): Likewise. |
| 283 | 385 | ||
| 284 | * international/utf-16.el (utf-16-decode-ucs): Handle a surrogate | 386 | * international/utf-16.el (utf-16-decode-ucs): Handle a surrogate |
| @@ -294,18 +396,17 @@ | |||
| 294 | (utf-16-decode-to-ucs): Handle pre-read character. | 396 | (utf-16-decode-to-ucs): Handle pre-read character. |
| 295 | (utf-16le-encode-loop): Handle surrogate pair. | 397 | (utf-16le-encode-loop): Handle surrogate pair. |
| 296 | (utf-16be-encode-loop): Likewise. | 398 | (utf-16be-encode-loop): Likewise. |
| 297 | (ccl-encode-mule-utf-16le-with-signature): Adjusted for the change | 399 | (ccl-encode-mule-utf-16le-with-signature): Adjust for the change |
| 298 | of utf-16le-encode-loop. | 400 | of utf-16le-encode-loop. |
| 299 | (ccl-encode-mule-utf-16be-with-signature): Adjusted for the change | 401 | (ccl-encode-mule-utf-16be-with-signature): Adjust for the change |
| 300 | of utf-16be-encode-loop. | 402 | of utf-16be-encode-loop. |
| 301 | (mule-utf-16-post-read-conversion): Call | 403 | (mule-utf-16-post-read-conversion): |
| 302 | utf-8-post-read-conversion at first. | 404 | Call utf-8-post-read-conversion at first. |
| 303 | (mule-utf-16[{le|be}], mule-utf-16{le|be}-with-signature): Include | 405 | (mule-utf-16[{le|be}], mule-utf-16{le|be}-with-signature): |
| 304 | CJK charsets in safe-charsets if utf-translate-cjk-mode is on. | 406 | Include CJK charsets in safe-charsets if utf-translate-cjk-mode is on. |
| 305 | Add post-read-conversion and pre-write-conversion. | 407 | Add post-read-conversion and pre-write-conversion. |
| 306 | 408 | ||
| 307 | * international/utf-8.el (utf-translate-cjk-charsets): New | 409 | * international/utf-8.el (utf-translate-cjk-charsets): New variable. |
| 308 | variable. | ||
| 309 | (utf-translate-cjk-unicode-range): New variable. | 410 | (utf-translate-cjk-unicode-range): New variable. |
| 310 | (utf-translate-cjk-load-tables): New function. | 411 | (utf-translate-cjk-load-tables): New function. |
| 311 | (utf-lookup-subst-table-for-decode): New function. | 412 | (utf-lookup-subst-table-for-decode): New function. |
| @@ -320,10 +421,10 @@ | |||
| 320 | (ccl-untranslated-to-ucs): Handle 2-byte encoding. Set r1 to the | 421 | (ccl-untranslated-to-ucs): Handle 2-byte encoding. Set r1 to the |
| 321 | length of encoding. Don't return r0. | 422 | length of encoding. Don't return r0. |
| 322 | (utf-8-compose): New arg hash-table. Handle 2-byte encoding. | 423 | (utf-8-compose): New arg hash-table. Handle 2-byte encoding. |
| 323 | (utf-8-post-read-conversion): Narrow to region properly. If | 424 | (utf-8-post-read-conversion): Narrow to region properly. |
| 324 | utf-translate-cjk-mode is on, load tables if necessary. Call | 425 | If utf-translate-cjk-mode is on, load tables if necessary. |
| 325 | utf-8-compose with hash-table arg if necessary. Call | 426 | Call utf-8-compose with hash-table arg if necessary. |
| 326 | XXX-compose-region instead of XXX-post-read-convesion. | 427 | Call XXX-compose-region instead of XXX-post-read-convesion. |
| 327 | (utf-8-pre-write-conversion): New function. | 428 | (utf-8-pre-write-conversion): New function. |
| 328 | (mule-utf-8): Include CJK charsets in safe-charsets if | 429 | (mule-utf-8): Include CJK charsets in safe-charsets if |
| 329 | utf-translate-cjk-mode is on. Add pre-write-conversion. | 430 | utf-translate-cjk-mode is on. Add pre-write-conversion. |
| @@ -331,8 +432,8 @@ | |||
| 331 | * international/characters.el: Temporarily set | 432 | * international/characters.el: Temporarily set |
| 332 | utf-translate-cjk-mode to nil. | 433 | utf-translate-cjk-mode to nil. |
| 333 | 434 | ||
| 334 | * language/devan-util.el (devanagari-compose-region): Add | 435 | * language/devan-util.el (devanagari-compose-region): |
| 335 | autoload cookie. | 436 | Add autoload cookie. |
| 336 | 437 | ||
| 337 | * international/ccl.el (ccl-dump-call): Fix printing the | 438 | * international/ccl.el (ccl-dump-call): Fix printing the |
| 338 | subroutine name. | 439 | subroutine name. |
| @@ -342,13 +443,12 @@ | |||
| 342 | * dired.el (dired-revert): If buffer is marked unmodified before | 443 | * dired.el (dired-revert): If buffer is marked unmodified before |
| 343 | reverting, keep it marked unmodified. | 444 | reverting, keep it marked unmodified. |
| 344 | Adapt to new conventions for commenting out code. | 445 | Adapt to new conventions for commenting out code. |
| 345 | (dired-make-relative): Adapt to new conventions for commenting out | 446 | (dired-make-relative): Adapt to new conventions for commenting out code. |
| 346 | code. | ||
| 347 | 447 | ||
| 348 | 2004-06-10 Miles Bader <miles@gnu.ai.mit.edu> | 448 | 2004-06-10 Miles Bader <miles@gnu.ai.mit.edu> |
| 349 | 449 | ||
| 350 | * eshell/esh-module.el (eshell-load-defgroups): Bind | 450 | * eshell/esh-module.el (eshell-load-defgroups): |
| 351 | `vc-handled-backends' to nil when opening files. | 451 | Bind `vc-handled-backends' to nil when opening files. |
| 352 | 452 | ||
| 353 | 2004-06-11 Juanma Barranquero <lektu@terra.es> | 453 | 2004-06-11 Juanma Barranquero <lektu@terra.es> |
| 354 | 454 | ||
| @@ -431,15 +531,15 @@ | |||
| 431 | or incorrect, autoloads. | 531 | or incorrect, autoloads. |
| 432 | 532 | ||
| 433 | * dired-aux.el (dired-kill-tree): Do not kill DIRNAME, even if it | 533 | * dired-aux.el (dired-kill-tree): Do not kill DIRNAME, even if it |
| 434 | does not end in a slash. Add optional argument KILL-ROOT. Update | 534 | does not end in a slash. Add optional argument KILL-ROOT. |
| 435 | docstring. | 535 | Update docstring. |
| 436 | (dired-do-touch, dired-clean-directory, dired-run-shell-command) | 536 | (dired-do-touch, dired-clean-directory, dired-run-shell-command) |
| 437 | (dired-query): Add autoloads. | 537 | (dired-query): Add autoloads. |
| 438 | 538 | ||
| 439 | 2004-06-08 Daniel Pfeiffer <occitan@esperanto.org> | 539 | 2004-06-08 Daniel Pfeiffer <occitan@esperanto.org> |
| 440 | 540 | ||
| 441 | * progmodes/compile.el (compilation-set-window-height): Rearrange | 541 | * progmodes/compile.el (compilation-set-window-height): |
| 442 | the save-* functions because a buffer can have several current | 542 | Rearrange the save-* functions because a buffer can have several current |
| 443 | point in different windows. | 543 | point in different windows. |
| 444 | (compilation-error-regexp-alist-alist): Recognize {standard input} | 544 | (compilation-error-regexp-alist-alist): Recognize {standard input} |
| 445 | GNU messages (for gcc --pipe) and more kinds of Oracle messages. | 545 | GNU messages (for gcc --pipe) and more kinds of Oracle messages. |
| @@ -479,8 +579,7 @@ | |||
| 479 | 579 | ||
| 480 | * format.el (format-insert-annotations) | 580 | * format.el (format-insert-annotations) |
| 481 | (format-annotate-location): Doc fixes. | 581 | (format-annotate-location): Doc fixes. |
| 482 | (format-subtract-regions): Make arguments match their use in | 582 | (format-subtract-regions): Make arguments match their use in docstring. |
| 483 | docstring. | ||
| 484 | 583 | ||
| 485 | * simple.el (kill-region): Doc fix. | 584 | * simple.el (kill-region): Doc fix. |
| 486 | 585 | ||
| @@ -566,8 +665,7 @@ | |||
| 566 | Handle `dired-subdir-switches'. | 665 | Handle `dired-subdir-switches'. |
| 567 | (dired-hide-subdir, dired-hide-all): Do not mark buffer modified. | 666 | (dired-hide-subdir, dired-hide-all): Do not mark buffer modified. |
| 568 | 667 | ||
| 569 | * dired.el (dired-subdir-switches, dired-switches-alist): | 668 | * dired.el (dired-subdir-switches, dired-switches-alist): New vars. |
| 570 | New vars. | ||
| 571 | (dired-insert-old-subdirs): Do not repeatedly delete and reinsert | 669 | (dired-insert-old-subdirs): Do not repeatedly delete and reinsert |
| 572 | subdirs if -R switch is used for a subdir. | 670 | subdirs if -R switch is used for a subdir. |
| 573 | (dired-mode): Set `dired-switches-alist'. | 671 | (dired-mode): Set `dired-switches-alist'. |
| @@ -600,7 +698,7 @@ | |||
| 600 | 698 | ||
| 601 | 2004-06-04 Mario Lang <mlang@delysid.org> | 699 | 2004-06-04 Mario Lang <mlang@delysid.org> |
| 602 | 700 | ||
| 603 | * battery.el (battery-linux-proc-acpi): mA was hardcored, but some | 701 | * battery.el (battery-linux-proc-acpi): `mA' was hardcored, but some |
| 604 | systems appear to use mW, make the code handle this. Fix a | 702 | systems appear to use mW, make the code handle this. Fix a |
| 605 | division-by-zero bug while at it, and handle kernels with | 703 | division-by-zero bug while at it, and handle kernels with |
| 606 | a slightly different layout in /proc/acpi. | 704 | a slightly different layout in /proc/acpi. |
| @@ -610,7 +708,7 @@ | |||
| 610 | * vc-svn.el (vc-svn-checkin): Use 'nconc' instead of 'list*', | 708 | * vc-svn.el (vc-svn-checkin): Use 'nconc' instead of 'list*', |
| 611 | because the latter is a CL-ism. This fixes the bug reported by | 709 | because the latter is a CL-ism. This fixes the bug reported by |
| 612 | Shawn Boyette <mdxi@collapsar.net> in | 710 | Shawn Boyette <mdxi@collapsar.net> in |
| 613 | http://lists.gnu.org/archive/html/emacs-devel/2004-05/msg00442.html. | 711 | http://lists.gnu.org/archive/html/emacs-devel/2004-05/msg00442.html. |
| 614 | 712 | ||
| 615 | 2004-06-04 Miles Bader <miles@gnu.org> | 713 | 2004-06-04 Miles Bader <miles@gnu.org> |
| 616 | 714 | ||
| @@ -647,8 +745,8 @@ | |||
| 647 | 745 | ||
| 648 | * subr.el (read-number): Use canonical format for default in prompt. | 746 | * subr.el (read-number): Use canonical format for default in prompt. |
| 649 | 747 | ||
| 650 | * minibuf-eldef.el (minibuffer-default-in-prompt-regexps): Add | 748 | * minibuf-eldef.el (minibuffer-default-in-prompt-regexps): |
| 651 | regexp for " [...]" style defaults. | 749 | Add regexp for " [...]" style defaults. |
| 652 | 750 | ||
| 653 | 2004-06-02 Romain Francoise <romain@orebokech.com> | 751 | 2004-06-02 Romain Francoise <romain@orebokech.com> |
| 654 | 752 | ||
| @@ -671,14 +769,28 @@ | |||
| 671 | empty docstring. | 769 | empty docstring. |
| 672 | 770 | ||
| 673 | * international/mule.el (register-char-codings): Make alias for | 771 | * international/mule.el (register-char-codings): Make alias for |
| 674 | `ignore'. Move docstring to obsolescence info and remove | 772 | `ignore'. Move docstring to obsolescence info and remove redundancy. |
| 675 | redundancy. | ||
| 676 | 773 | ||
| 677 | 2004-06-02 Kim F. Storm <storm@cua.dk> | 774 | 2004-06-02 Kim F. Storm <storm@cua.dk> |
| 678 | 775 | ||
| 679 | * frame.el (blink-cursor-start): Turn cursor off initially so blink | 776 | * frame.el (blink-cursor-start): Turn cursor off initially so blink |
| 680 | starts after blink-cursor-delay rather than 2*blink-cursor-delay. | 777 | starts after blink-cursor-delay rather than 2*blink-cursor-delay. |
| 681 | 778 | ||
| 779 | 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 780 | |||
| 781 | * comint.el (comint-replace-by-expanded-history-before-point): | ||
| 782 | Obey `start' as the docstring says. | ||
| 783 | (comint-send-input, comint-snapshot-last-prompt, comint-output-filter) | ||
| 784 | (comint-update-fence): Prevent font-lock from running unnecessarily. | ||
| 785 | (comint-dynamic-list-completions): Use with-current-buffer. | ||
| 786 | |||
| 787 | 2004-06-01 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 788 | |||
| 789 | * textmodes/bibtex.el (bibtex-format-entry): Fix regexps. | ||
| 790 | (bibtex-parse-strings): Bugfix, use assoc instead of assoc-string. | ||
| 791 | (bibtex-entry-update): Handle alternatives and optional fields. | ||
| 792 | (bibtex-parse-entry): Bugfix, handle empty key. | ||
| 793 | |||
| 682 | 2004-05-31 Stefan Monnier <monnier@iro.umontreal.ca> | 794 | 2004-05-31 Stefan Monnier <monnier@iro.umontreal.ca> |
| 683 | 795 | ||
| 684 | * vc-arch.el (vc-arch-state): Don't assume the file exists. | 796 | * vc-arch.el (vc-arch-state): Don't assume the file exists. |
| @@ -2763,26 +2875,6 @@ | |||
| 2763 | 2875 | ||
| 2764 | 2004-04-16 Stefan Monnier <monnier@iro.umontreal.ca> | 2876 | 2004-04-16 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2765 | 2877 | ||
| 2766 | * url/url-util.el (url-debug): Use with-current-buffer. | ||
| 2767 | |||
| 2768 | * url/url-nfs.el (url-nfs-file-attributes): Add id-format parameter. | ||
| 2769 | (url-nfs-create-wrapper): Use new backquote syntax. | ||
| 2770 | |||
| 2771 | * url/url-https.el (url-https-file-attributes): Add id-format param. | ||
| 2772 | |||
| 2773 | * url/url-http.el (url-http-head-file-attributes) | ||
| 2774 | (url-http-file-attributes): Add id-format parameter. | ||
| 2775 | |||
| 2776 | * url/url-handlers.el: Use new find-file-hook. | ||
| 2777 | (url-file-attributes): Add id-format parameter. | ||
| 2778 | |||
| 2779 | * url/url-file.el (url-file-create-wrapper): Use new backquote syntax. | ||
| 2780 | (url-file-file-attributes): Add id-format parameter. | ||
| 2781 | |||
| 2782 | * url/url-dav.el: Use with-current-buffer. | ||
| 2783 | (url-dav-process-response): Fix regexps and spurious quote. | ||
| 2784 | (url-dav-file-attributes): Add id-format param. | ||
| 2785 | |||
| 2786 | * diff-mode.el (diff-end-of-hunk): Be more careful with unified hunks. | 2878 | * diff-mode.el (diff-end-of-hunk): Be more careful with unified hunks. |
| 2787 | 2879 | ||
| 2788 | 2004-04-16 Andre Spiegel <spiegel@gnu.org> | 2880 | 2004-04-16 Andre Spiegel <spiegel@gnu.org> |
| @@ -2955,14 +3047,6 @@ | |||
| 2955 | * progmodes/compile.el (compile-goto-error): Select the buffer/window | 3047 | * progmodes/compile.el (compile-goto-error): Select the buffer/window |
| 2956 | corresponding to the event. | 3048 | corresponding to the event. |
| 2957 | 3049 | ||
| 2958 | * url/url.el (url-retrieve): Use with-current-buffer. | ||
| 2959 | |||
| 2960 | * url/url-http.el (url-http-parse-headers, url-http-file-exists-p): | ||
| 2961 | Remove unused var `version'. | ||
| 2962 | |||
| 2963 | * url/url-handlers.el (url-handler-mode): New minor mode. | ||
| 2964 | (url-setup-file-name-handlers): Remove. | ||
| 2965 | |||
| 2966 | 2004-04-12 Joe Buehler <jbuehler@hekiman.com> | 3050 | 2004-04-12 Joe Buehler <jbuehler@hekiman.com> |
| 2967 | 3051 | ||
| 2968 | * loadup.el: Add cygwin to system-type list, for unexec() support. | 3052 | * loadup.el: Add cygwin to system-type list, for unexec() support. |
| @@ -2979,9 +3063,6 @@ | |||
| 2979 | 3063 | ||
| 2980 | * help.el (describe-mode): Doc fix. | 3064 | * help.el (describe-mode): Doc fix. |
| 2981 | 3065 | ||
| 2982 | * url/url-cookie.el (url-cookie-handle-set-cookie): Replace calls | ||
| 2983 | to obsolete `assoc-ignore-case' with calls to `assoc-string'. | ||
| 2984 | |||
| 2985 | 2004-04-12 Stefan Monnier <monnier@iro.umontreal.ca> | 3066 | 2004-04-12 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2986 | 3067 | ||
| 2987 | * progmodes/compile.el (compilation-mode-font-lock-keywords): Fix test | 3068 | * progmodes/compile.el (compilation-mode-font-lock-keywords): Fix test |
| @@ -3001,42 +3082,6 @@ | |||
| 3001 | 3082 | ||
| 3002 | 2004-04-11 Dave Love <fx@gnu.org> | 3083 | 2004-04-11 Dave Love <fx@gnu.org> |
| 3003 | 3084 | ||
| 3004 | * url/url-mailto.el (url-mailto): | ||
| 3005 | * url/url-history.el (url-history-setup-save-timer): | ||
| 3006 | * url/url-cookie.el (url-cookie-setup-save-timer): Avoid warnings. | ||
| 3007 | |||
| 3008 | * url/url-file.el (url-file-build-filename): Don't use | ||
| 3009 | directory-sep-char. | ||
| 3010 | |||
| 3011 | * url/url-auth.el (url-register-auth-scheme): Fix `format' call. | ||
| 3012 | |||
| 3013 | * url/url-about.el (url-scheme-registry): Defvar. | ||
| 3014 | (url-about): Use text/plain. | ||
| 3015 | |||
| 3016 | * url/url-vars.el (cl): Don't require. | ||
| 3017 | (url): Add :version. | ||
| 3018 | (url-bug-address): Use bug-gnu-emacs. | ||
| 3019 | |||
| 3020 | * url/url-util.el (url-hexify-string): Don't give multibyte error | ||
| 3021 | for char <16. | ||
| 3022 | (mail-header-extract): Autoload. | ||
| 3023 | |||
| 3024 | * url/url-parse.el: Doc fixes. | ||
| 3025 | |||
| 3026 | * url/url-ldap.el (ldap): Require. | ||
| 3027 | (url-ldap): Fix `format' call. | ||
| 3028 | (url-ldap-certificate-formatter): Avoid warning. | ||
| 3029 | |||
| 3030 | * url/url-https.el (url-https-create-secure-wrapper): Use modern | ||
| 3031 | backquotes. | ||
| 3032 | |||
| 3033 | * url/url-dav.el (url-dav-rename-file): Fix args of `signal'. | ||
| 3034 | (url-intersection): New. | ||
| 3035 | (url-dav-supported-p): Use it. | ||
| 3036 | (url-dav-save-resource): Declare url-http-response-status special. | ||
| 3037 | |||
| 3038 | * url/url-cache.el (url-util): Require. | ||
| 3039 | |||
| 3040 | * emacs-lisp/bytecomp.el (byte-compile-cond): Fix last change. | 3085 | * emacs-lisp/bytecomp.el (byte-compile-cond): Fix last change. |
| 3041 | 3086 | ||
| 3042 | * progmodes/python.el: New file. | 3087 | * progmodes/python.el: New file. |
| @@ -3083,9 +3128,6 @@ | |||
| 3083 | 3128 | ||
| 3084 | * emacs-lisp/bytecomp.el (byte-compile-version): Variable removed. | 3129 | * emacs-lisp/bytecomp.el (byte-compile-version): Variable removed. |
| 3085 | (byte-compile-insert-header): Don't use `byte-compile-version'. | 3130 | (byte-compile-insert-header): Don't use `byte-compile-version'. |
| 3086 | * url/url-vars.el (url-version): Use the constant string "Emacs" | ||
| 3087 | instead of calculating something from the RCS `State' keyword | ||
| 3088 | [the latter is almost entirely useless anyway]. | ||
| 3089 | * forms.el (forms-version): Variable removed. | 3131 | * forms.el (forms-version): Variable removed. |
| 3090 | (forms-mode): Don't use `forms-version'. | 3132 | (forms-mode): Don't use `forms-version'. |
| 3091 | * recentf.el (recentf-version): Variable removed. | 3133 | * recentf.el (recentf-version): Variable removed. |
| @@ -3335,10 +3377,7 @@ | |||
| 3335 | 3377 | ||
| 3336 | 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca> | 3378 | 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca> |
| 3337 | 3379 | ||
| 3338 | * url: Import the URL package from its repository. | 3380 | * url/: New dir. Import the URL package from its repository. |
| 3339 | |||
| 3340 | * url/url-methods.el: | ||
| 3341 | * url/url-parse.el: Don't require url-auto. | ||
| 3342 | 3381 | ||
| 3343 | 2004-04-03 Andreas Schwab <schwab@suse.de> | 3382 | 2004-04-03 Andreas Schwab <schwab@suse.de> |
| 3344 | 3383 | ||
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el index fef9b7f811d..140f2995292 100644 --- a/lisp/ibuffer.el +++ b/lisp/ibuffer.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; ibuffer.el --- operate on buffers like dired | 1 | ;;; ibuffer.el --- operate on buffers like dired |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Colin Walters <walters@verbum.org> | 5 | ;; Author: Colin Walters <walters@verbum.org> |
| 6 | ;; Maintainer: John Paul Wallington <jpw@gnu.org> | 6 | ;; Maintainer: John Paul Wallington <jpw@gnu.org> |
diff --git a/lisp/iimage.el b/lisp/iimage.el index d138498ca3a..9b183ebb01d 100644 --- a/lisp/iimage.el +++ b/lisp/iimage.el | |||
| @@ -25,12 +25,13 @@ | |||
| 25 | 25 | ||
| 26 | ;;; Commentary: | 26 | ;;; Commentary: |
| 27 | 27 | ||
| 28 | ;; Iimage is a minor mode that display a images, when image-filename | 28 | ;; Iimage is a minor mode that displays images, when image-filename |
| 29 | ;; exists in buffer. | 29 | ;; exists in the buffer. |
| 30 | ;; http://www.netlaputa.ne.jp/~kose/Emacs/iimage.html | 30 | ;; http://www.netlaputa.ne.jp/~kose/Emacs/iimage.html |
| 31 | ;; | 31 | ;; |
| 32 | ;; Add to your `~/.emacs': | 32 | ;; Add to your `~/.emacs': |
| 33 | ;; (autoload 'iimage-mode "iimage" "SUpport Inline image minor mode." t) | 33 | ;; (autoload 'iimage-mode "iimage" "Support Inline image minor mode." t) |
| 34 | ;; (autoload 'turn-on-iimage-mode "iimage" "Turn on Inline image minor mode." t) | ||
| 34 | ;; | 35 | ;; |
| 35 | ;; ** Display images in *Info* buffer. | 36 | ;; ** Display images in *Info* buffer. |
| 36 | ;; | 37 | ;; |
| @@ -50,7 +51,7 @@ | |||
| 50 | (eval-when-compile | 51 | (eval-when-compile |
| 51 | (require 'image-file)) | 52 | (require 'image-file)) |
| 52 | 53 | ||
| 53 | (defconst iimage-version "1.0") | 54 | (defconst iimage-version "1.1") |
| 54 | (defvar iimage-mode nil) | 55 | (defvar iimage-mode nil) |
| 55 | (defvar iimage-mode-map nil) | 56 | (defvar iimage-mode-map nil) |
| 56 | 57 | ||
| @@ -89,6 +90,10 @@ image filename regex exsamples: | |||
| 89 | foo.JPG | 90 | foo.JPG |
| 90 | ") | 91 | ") |
| 91 | 92 | ||
| 93 | (defvar iimage-mode-image-search-path nil | ||
| 94 | "*List of directories to search for image files for iimage-mode.") | ||
| 95 | |||
| 96 | ;;;###autoload | ||
| 92 | (defun turn-on-iimage-mode () | 97 | (defun turn-on-iimage-mode () |
| 93 | "Unconditionally turn on iimage mode." | 98 | "Unconditionally turn on iimage mode." |
| 94 | (interactive) | 99 | (interactive) |
| @@ -99,6 +104,12 @@ image filename regex exsamples: | |||
| 99 | (interactive) | 104 | (interactive) |
| 100 | (iimage-mode 0)) | 105 | (iimage-mode 0)) |
| 101 | 106 | ||
| 107 | ;; Emacs21.3 or earlier does not heve locate-file. | ||
| 108 | (if (fboundp 'locate-file) | ||
| 109 | (defalias 'iimage-locate-file 'locate-file) | ||
| 110 | (defun iimage-locate-file (filename path) | ||
| 111 | (locate-library filename t path))) | ||
| 112 | |||
| 102 | (defun iimage-mode-buffer (arg) | 113 | (defun iimage-mode-buffer (arg) |
| 103 | "Display/Undisplay Images. | 114 | "Display/Undisplay Images. |
| 104 | With numeric ARG, display the images if and only if ARG is positive." | 115 | With numeric ARG, display the images if and only if ARG is positive." |
| @@ -113,8 +124,9 @@ With numeric ARG, display the images if and only if ARG is positive." | |||
| 113 | (dolist (pair iimage-mode-image-regex-alist) | 124 | (dolist (pair iimage-mode-image-regex-alist) |
| 114 | (while (re-search-forward (car pair) nil t) | 125 | (while (re-search-forward (car pair) nil t) |
| 115 | (if (and (setq file (match-string (cdr pair))) | 126 | (if (and (setq file (match-string (cdr pair))) |
| 116 | (setq file (expand-file-name file default-directory)) | 127 | (setq file (iimage-locate-file file |
| 117 | (file-exists-p file)) | 128 | (cons default-directory |
| 129 | iimage-mode-image-search-path)))) | ||
| 118 | (if ing | 130 | (if ing |
| 119 | (add-text-properties (match-beginning 0) (match-end 0) | 131 | (add-text-properties (match-beginning 0) (match-end 0) |
| 120 | (list 'display (create-image file))) | 132 | (list 'display (create-image file))) |
| @@ -122,6 +134,7 @@ With numeric ARG, display the images if and only if ARG is positive." | |||
| 122 | '(display))))))) | 134 | '(display))))))) |
| 123 | (set-buffer-modified-p modp))) | 135 | (set-buffer-modified-p modp))) |
| 124 | 136 | ||
| 137 | ;;;###autoload | ||
| 125 | (define-minor-mode iimage-mode | 138 | (define-minor-mode iimage-mode |
| 126 | "Toggle inline image minor mode." | 139 | "Toggle inline image minor mode." |
| 127 | nil " iImg" iimage-mode-map | 140 | nil " iImg" iimage-mode-map |
diff --git a/lisp/international/mule.el b/lisp/international/mule.el index 32f6a199268..6fc3477fd34 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el | |||
| @@ -1836,8 +1836,8 @@ of the function `insert-file-contents'." | |||
| 1836 | (coding-system-change-text-conversion coding 'raw-text))) | 1836 | (coding-system-change-text-conversion coding 'raw-text))) |
| 1837 | (setq coding nil)) | 1837 | (setq coding nil)) |
| 1838 | (if coding | 1838 | (if coding |
| 1839 | (decode-coding-region (point-min) (point-max) coding)) | 1839 | (decode-coding-region (point-min) (point-max) coding) |
| 1840 | (setq last-coding-system-used coding))))) | 1840 | (setq last-coding-system-used coding)))))) |
| 1841 | 1841 | ||
| 1842 | (defun make-translation-table (&rest args) | 1842 | (defun make-translation-table (&rest args) |
| 1843 | "Make a translation table from arguments. | 1843 | "Make a translation table from arguments. |
diff --git a/lisp/isearch.el b/lisp/isearch.el index 4d86b37cb8d..dcd5bdf9cca 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; isearch.el --- incremental search minor mode | 1 | ;;; isearch.el --- incremental search minor mode |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1992, 93, 94, 95, 96, 97, 1999, 2000, 01, 2003, 2004 | 3 | ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1999, |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; 2000, 2001, 2003, 2004 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Author: Daniel LaLiberte <liberte@cs.uiuc.edu> | 6 | ;; Author: Daniel LaLiberte <liberte@cs.uiuc.edu> |
| 7 | ;; Maintainer: FSF | 7 | ;; Maintainer: FSF |
| @@ -59,7 +59,6 @@ | |||
| 59 | 59 | ||
| 60 | ;; TODO | 60 | ;; TODO |
| 61 | ;; - Integrate the emacs 19 generalized command history. | 61 | ;; - Integrate the emacs 19 generalized command history. |
| 62 | ;; - Think about incorporating query-replace. | ||
| 63 | ;; - Hooks and options for failed search. | 62 | ;; - Hooks and options for failed search. |
| 64 | 63 | ||
| 65 | ;;; Change Log: | 64 | ;;; Change Log: |
| @@ -290,8 +289,10 @@ Default value, nil, means edit the string instead." | |||
| 290 | (define-key map " " 'isearch-whitespace-chars) | 289 | (define-key map " " 'isearch-whitespace-chars) |
| 291 | (define-key map [?\S-\ ] 'isearch-whitespace-chars) | 290 | (define-key map [?\S-\ ] 'isearch-whitespace-chars) |
| 292 | 291 | ||
| 293 | (define-key map "\C-w" 'isearch-yank-word-or-char) | 292 | (define-key map "\C-w" 'isearch-yank-word-or-char) |
| 294 | (define-key map "\C-y" 'isearch-yank-line) | 293 | (define-key map "\M-\C-w" 'isearch-del-char) |
| 294 | (define-key map "\M-\C-y" 'isearch-yank-char) | ||
| 295 | (define-key map "\C-y" 'isearch-yank-line) | ||
| 295 | 296 | ||
| 296 | ;; Define keys for regexp chars * ? |. | 297 | ;; Define keys for regexp chars * ? |. |
| 297 | ;; Nothing special for + because it matches at least once. | 298 | ;; Nothing special for + because it matches at least once. |
| @@ -332,18 +333,27 @@ Default value, nil, means edit the string instead." | |||
| 332 | (define-key map "\M-r" 'isearch-toggle-regexp) | 333 | (define-key map "\M-r" 'isearch-toggle-regexp) |
| 333 | (define-key map "\M-e" 'isearch-edit-string) | 334 | (define-key map "\M-e" 'isearch-edit-string) |
| 334 | 335 | ||
| 336 | (define-key map [?\M-%] 'isearch-query-replace) | ||
| 337 | (define-key map [?\C-\M-%] 'isearch-query-replace-regexp) | ||
| 338 | |||
| 335 | map) | 339 | map) |
| 336 | "Keymap for `isearch-mode'.") | 340 | "Keymap for `isearch-mode'.") |
| 337 | 341 | ||
| 338 | (defvar minibuffer-local-isearch-map | 342 | (defvar minibuffer-local-isearch-map |
| 339 | (let ((map (make-sparse-keymap))) | 343 | (let ((map (make-sparse-keymap))) |
| 340 | (set-keymap-parent map minibuffer-local-map) | 344 | (set-keymap-parent map minibuffer-local-map) |
| 341 | (define-key map "\r" 'isearch-nonincremental-exit-minibuffer) | 345 | (define-key map "\r" 'isearch-nonincremental-exit-minibuffer) |
| 342 | (define-key map "\M-n" 'isearch-ring-advance-edit) | 346 | (define-key map "\M-n" 'isearch-ring-advance-edit) |
| 343 | (define-key map "\M-p" 'isearch-ring-retreat-edit) | 347 | (define-key map [next] 'isearch-ring-advance-edit) |
| 348 | (define-key map [down] 'isearch-ring-advance-edit) | ||
| 349 | (define-key map "\M-p" 'isearch-ring-retreat-edit) | ||
| 350 | (define-key map [prior] 'isearch-ring-retreat-edit) | ||
| 351 | (define-key map [up] 'isearch-ring-retreat-edit) | ||
| 344 | (define-key map "\M-\t" 'isearch-complete-edit) | 352 | (define-key map "\M-\t" 'isearch-complete-edit) |
| 345 | (define-key map "\C-s" 'isearch-forward-exit-minibuffer) | 353 | (define-key map "\C-s" 'isearch-forward-exit-minibuffer) |
| 346 | (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) | 354 | (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) |
| 355 | (define-key map "\C-f" 'isearch-yank-char-in-minibuffer) | ||
| 356 | (define-key map [right] 'isearch-yank-char-in-minibuffer) | ||
| 347 | map) | 357 | map) |
| 348 | "Keymap for editing isearch strings in the minibuffer.") | 358 | "Keymap for editing isearch strings in the minibuffer.") |
| 349 | 359 | ||
| @@ -445,14 +455,14 @@ As you type characters, they add to the search string and are found. | |||
| 445 | The following non-printing keys are bound in `isearch-mode-map'. | 455 | The following non-printing keys are bound in `isearch-mode-map'. |
| 446 | 456 | ||
| 447 | Type \\[isearch-delete-char] to cancel last input item from end of search string. | 457 | Type \\[isearch-delete-char] to cancel last input item from end of search string. |
| 448 | Type \\[isearch-del-char] to cancel last character from end of search string. | ||
| 449 | Type \\[isearch-exit] to exit, leaving point at location found. | 458 | Type \\[isearch-exit] to exit, leaving point at location found. |
| 450 | Type LFD (C-j) to match end of line. | 459 | Type LFD (C-j) to match end of line. |
| 451 | Type \\[isearch-repeat-forward] to search again forward,\ | 460 | Type \\[isearch-repeat-forward] to search again forward,\ |
| 452 | \\[isearch-repeat-backward] to search again backward. | 461 | \\[isearch-repeat-backward] to search again backward. |
| 453 | Type \\[isearch-yank-char] to yank character from buffer onto end of search\ | 462 | Type \\[isearch-yank-word-or-char] to yank word from buffer onto end of search\ |
| 454 | string and search for it. | 463 | string and search for it. |
| 455 | Type \\[isearch-yank-word] to yank word from buffer onto end of search\ | 464 | Type \\[isearch-del-char] to delete character from end of search string. |
| 465 | Type \\[isearch-yank-char] to yank char from buffer onto end of search\ | ||
| 456 | string and search for it. | 466 | string and search for it. |
| 457 | Type \\[isearch-yank-line] to yank rest of line onto end of search string\ | 467 | Type \\[isearch-yank-line] to yank rest of line onto end of search string\ |
| 458 | and search for it. | 468 | and search for it. |
| @@ -788,7 +798,7 @@ The following additional command keys are active while editing. | |||
| 788 | \\[isearch-ring-retreat-edit] to replace the search string with the previous item in the search ring. | 798 | \\[isearch-ring-retreat-edit] to replace the search string with the previous item in the search ring. |
| 789 | \\[isearch-complete-edit] to complete the search string using the search ring. | 799 | \\[isearch-complete-edit] to complete the search string using the search ring. |
| 790 | \\<isearch-mode-map> | 800 | \\<isearch-mode-map> |
| 791 | If first char entered is \\[isearch-yank-word], then do word search instead." | 801 | If first char entered is \\[isearch-yank-word-or-char], then do word search instead." |
| 792 | 802 | ||
| 793 | ;; This code is very hairy for several reasons, explained in the code. | 803 | ;; This code is very hairy for several reasons, explained in the code. |
| 794 | ;; Mainly, isearch-mode must be terminated while editing and then restarted. | 804 | ;; Mainly, isearch-mode must be terminated while editing and then restarted. |
| @@ -1044,6 +1054,32 @@ Use `isearch-exit' to quit without signaling." | |||
| 1044 | (sit-for 1) | 1054 | (sit-for 1) |
| 1045 | (isearch-update)) | 1055 | (isearch-update)) |
| 1046 | 1056 | ||
| 1057 | (defun isearch-query-replace () | ||
| 1058 | "Start query-replace with string to replace from last search string." | ||
| 1059 | (interactive) | ||
| 1060 | (barf-if-buffer-read-only) | ||
| 1061 | (let ((case-fold-search isearch-case-fold-search)) | ||
| 1062 | (isearch-done) | ||
| 1063 | (isearch-clean-overlays) | ||
| 1064 | (and isearch-forward isearch-other-end (goto-char isearch-other-end)) | ||
| 1065 | (perform-replace | ||
| 1066 | isearch-string | ||
| 1067 | (query-replace-read-to isearch-string "Query replace" isearch-regexp) | ||
| 1068 | t isearch-regexp isearch-word))) | ||
| 1069 | |||
| 1070 | (defun isearch-query-replace-regexp () | ||
| 1071 | "Start query-replace-regexp with string to replace from last search string." | ||
| 1072 | (interactive) | ||
| 1073 | (let ((query-replace-interactive t) | ||
| 1074 | (case-fold-search isearch-case-fold-search)) | ||
| 1075 | ;; Put search string into the right ring | ||
| 1076 | (setq isearch-regexp t) | ||
| 1077 | (isearch-done) | ||
| 1078 | (isearch-clean-overlays) | ||
| 1079 | (and isearch-forward isearch-other-end (goto-char isearch-other-end)) | ||
| 1080 | (call-interactively 'query-replace-regexp))) | ||
| 1081 | |||
| 1082 | |||
| 1047 | (defun isearch-delete-char () | 1083 | (defun isearch-delete-char () |
| 1048 | "Discard last input item and move point back. | 1084 | "Discard last input item and move point back. |
| 1049 | If no previous match was done, just beep." | 1085 | If no previous match was done, just beep." |
| @@ -1053,15 +1089,17 @@ If no previous match was done, just beep." | |||
| 1053 | (isearch-pop-state)) | 1089 | (isearch-pop-state)) |
| 1054 | (isearch-update)) | 1090 | (isearch-update)) |
| 1055 | 1091 | ||
| 1056 | (defun isearch-del-char () | 1092 | (defun isearch-del-char (&optional arg) |
| 1057 | "Discard last character and move point back. | 1093 | "Delete character from end of search string and search again. |
| 1058 | If there is no previous character, just beep." | 1094 | If search string is empty, just beep." |
| 1059 | (interactive) | 1095 | (interactive "p") |
| 1060 | (if (equal isearch-string "") | 1096 | (if (= 0 (length isearch-string)) |
| 1061 | (ding) | 1097 | (ding) |
| 1062 | (setq isearch-string (substring isearch-string 0 -1) | 1098 | (setq isearch-string (substring isearch-string 0 (- (or arg 1))) |
| 1063 | isearch-message (mapconcat 'isearch-text-char-description | 1099 | isearch-message (mapconcat 'isearch-text-char-description |
| 1064 | isearch-string ""))) | 1100 | isearch-string "") |
| 1101 | ;; Don't move cursor in reverse search. | ||
| 1102 | isearch-yank-flag t)) | ||
| 1065 | (isearch-search-and-update)) | 1103 | (isearch-search-and-update)) |
| 1066 | 1104 | ||
| 1067 | (defun isearch-yank-string (string) | 1105 | (defun isearch-yank-string (string) |
| @@ -1123,10 +1161,21 @@ might return the position of the end of the line." | |||
| 1123 | (goto-char isearch-other-end)) | 1161 | (goto-char isearch-other-end)) |
| 1124 | (buffer-substring-no-properties (point) (funcall jumpform))))) | 1162 | (buffer-substring-no-properties (point) (funcall jumpform))))) |
| 1125 | 1163 | ||
| 1126 | (defun isearch-yank-char () | 1164 | (defun isearch-yank-char-in-minibuffer (&optional arg) |
| 1165 | "Pull next character from buffer into end of search string in minibuffer." | ||
| 1166 | (interactive "p") | ||
| 1167 | (if (eobp) | ||
| 1168 | (insert | ||
| 1169 | (save-excursion | ||
| 1170 | (set-buffer (cadr (buffer-list))) | ||
| 1171 | (buffer-substring-no-properties | ||
| 1172 | (point) (progn (forward-char arg) (point))))) | ||
| 1173 | (forward-char arg))) | ||
| 1174 | |||
| 1175 | (defun isearch-yank-char (&optional arg) | ||
| 1127 | "Pull next character from buffer into search string." | 1176 | "Pull next character from buffer into search string." |
| 1128 | (interactive) | 1177 | (interactive "p") |
| 1129 | (isearch-yank-internal (lambda () (forward-char 1) (point)))) | 1178 | (isearch-yank-internal (lambda () (forward-char arg) (point)))) |
| 1130 | 1179 | ||
| 1131 | (defun isearch-yank-word-or-char () | 1180 | (defun isearch-yank-word-or-char () |
| 1132 | "Pull next character or word from buffer into search string." | 1181 | "Pull next character or word from buffer into search string." |
| @@ -2327,5 +2376,5 @@ CASE-FOLD non-nil means the search was case-insensitive." | |||
| 2327 | isearch-case-fold-search case-fold) | 2376 | isearch-case-fold-search case-fold) |
| 2328 | (isearch-search)) | 2377 | (isearch-search)) |
| 2329 | 2378 | ||
| 2330 | ;;; arch-tag: 74850515-f7d8-43a6-8a2c-ca90a4c1e675 | 2379 | ;; arch-tag: 74850515-f7d8-43a6-8a2c-ca90a4c1e675 |
| 2331 | ;;; isearch.el ends here | 2380 | ;;; isearch.el ends here |
diff --git a/lisp/pcvs-defs.el b/lisp/pcvs-defs.el index 6fea0052a7d..16e2ff82553 100644 --- a/lisp/pcvs-defs.el +++ b/lisp/pcvs-defs.el | |||
| @@ -305,6 +305,7 @@ This variable is buffer local and only used in the *cvs* buffer.") | |||
| 305 | ("d" "diff" . cvs-mode-diff) | 305 | ("d" "diff" . cvs-mode-diff) |
| 306 | ("b" "backup" . cvs-mode-diff-backup) | 306 | ("b" "backup" . cvs-mode-diff-backup) |
| 307 | ("h" "head" . cvs-mode-diff-head) | 307 | ("h" "head" . cvs-mode-diff-head) |
| 308 | ("r" "repository" . cvs-mode-diff-repository) | ||
| 308 | ("y" "yesterday" . cvs-mode-diff-yesterday) | 309 | ("y" "yesterday" . cvs-mode-diff-yesterday) |
| 309 | ("v" "vendor" . cvs-mode-diff-vendor)) | 310 | ("v" "vendor" . cvs-mode-diff-vendor)) |
| 310 | "Keymap for diff-related operations in `cvs-mode'." | 311 | "Keymap for diff-related operations in `cvs-mode'." |
diff --git a/lisp/pcvs.el b/lisp/pcvs.el index 73f7106d0e8..120acbbc2bc 100644 --- a/lisp/pcvs.el +++ b/lisp/pcvs.el | |||
| @@ -1565,6 +1565,12 @@ See ``cvs-mode-diff'' for more info." | |||
| 1565 | (interactive (list (cvs-flags-query 'cvs-diff-flags "cvs diff flags"))) | 1565 | (interactive (list (cvs-flags-query 'cvs-diff-flags "cvs diff flags"))) |
| 1566 | (cvs-mode-diff-1 (cons "-rHEAD" flags))) | 1566 | (cvs-mode-diff-1 (cons "-rHEAD" flags))) |
| 1567 | 1567 | ||
| 1568 | (defun-cvs-mode (cvs-mode-diff-repository . SIMPLE) (flags) | ||
| 1569 | "Diff the files for changes in the repository since last co/update/commit. | ||
| 1570 | See ``cvs-mode-diff'' for more info." | ||
| 1571 | (interactive (list (cvs-flags-query 'cvs-diff-flags "cvs diff flags"))) | ||
| 1572 | (cvs-mode-diff-1 (cons "-rBASE" (cons "-rHEAD" flags)))) | ||
| 1573 | |||
| 1568 | (defun-cvs-mode (cvs-mode-diff-yesterday . SIMPLE) (flags) | 1574 | (defun-cvs-mode (cvs-mode-diff-yesterday . SIMPLE) (flags) |
| 1569 | "Diff the selected files against yesterday's head of the current branch. | 1575 | "Diff the selected files against yesterday's head of the current branch. |
| 1570 | See ``cvs-mode-diff'' for more info." | 1576 | See ``cvs-mode-diff'' for more info." |
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 1e2ef00580e..1972074fdb1 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -1202,48 +1202,52 @@ static char *magick[] = { | |||
| 1202 | (interactive) | 1202 | (interactive) |
| 1203 | (save-excursion | 1203 | (save-excursion |
| 1204 | (beginning-of-line 1) | 1204 | (beginning-of-line 1) |
| 1205 | (if (not (looking-at "\\([0-9]+\\).*point\\s-*\\S-*\\s-*\\(.\\)")) | 1205 | (if (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) |
| 1206 | (error "Not recognized as break/watchpoint line") | 1206 | (looking-at "\\([0-9]+\\).*point\\s-*\\S-*\\s-*\\(.\\)") |
| 1207 | (gdb-enqueue-input | 1207 | (looking-at |
| 1208 | (list | 1208 | "\\([0-9]+\\)\\s-*\\S-*\\s-*\\S-*\\s-*\\(.\\)\\s-*\\S-*\\s-*\\S-*:[0-9]+")) |
| 1209 | (concat | 1209 | (gdb-enqueue-input |
| 1210 | (if (eq ?y (char-after (match-beginning 2))) | 1210 | (list |
| 1211 | (concat gdb-server-prefix "disable ") | 1211 | (concat gdb-server-prefix |
| 1212 | (concat gdb-server-prefix "enable ")) | 1212 | (if (eq ?y (char-after (match-beginning 2))) |
| 1213 | (match-string 1) "\n") | 1213 | "disable " |
| 1214 | 'ignore))))) | 1214 | "enable ") |
| 1215 | (match-string 1) "\n") 'ignore)) | ||
| 1216 | (error "Not recognized as break/watchpoint line")))) | ||
| 1215 | 1217 | ||
| 1216 | (defun gdb-delete-breakpoint () | 1218 | (defun gdb-delete-breakpoint () |
| 1217 | "Delete the breakpoint at current line." | 1219 | "Delete the breakpoint at current line." |
| 1218 | (interactive) | 1220 | (interactive) |
| 1219 | (beginning-of-line 1) | 1221 | (beginning-of-line 1) |
| 1220 | (if (not (looking-at "\\([0-9]+\\).*point\\s-*\\S-*\\s-*\\(.\\)")) | 1222 | (if (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) |
| 1221 | (error "Not recognized as break/watchpoint line") | 1223 | (looking-at "\\([0-9]+\\).*point\\s-*\\S-*\\s-*\\(.\\)") |
| 1222 | (gdb-enqueue-input | 1224 | (looking-at |
| 1223 | (list (concat gdb-server-prefix "delete " (match-string 1) "\n") 'ignore)))) | 1225 | "\\([0-9]+\\)\\s-*\\S-*\\s-*\\S-*\\s-*.\\s-*\\S-*\\s-*\\S-*:[0-9]+")) |
| 1226 | (gdb-enqueue-input | ||
| 1227 | (list | ||
| 1228 | (concat gdb-server-prefix "delete " (match-string 1) "\n") 'ignore)) | ||
| 1229 | (error "Not recognized as break/watchpoint line"))) | ||
| 1224 | 1230 | ||
| 1225 | (defun gdb-goto-breakpoint () | 1231 | (defun gdb-goto-breakpoint () |
| 1226 | "Display the breakpoint location specified at current line." | 1232 | "Display the breakpoint location specified at current line." |
| 1227 | (interactive) | 1233 | (interactive) |
| 1228 | (save-excursion | 1234 | (save-excursion |
| 1229 | (beginning-of-line 1) | 1235 | (beginning-of-line 1) |
| 1230 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) | 1236 | (if (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) |
| 1231 | (progn | 1237 | (looking-at ".*in\\s-+\\S-+\\s-+at\\s-+\\(\\S-*\\):\\([0-9]+\\)") |
| 1232 | (re-search-forward "in\\s-+\\S-+\\s-+at\\s-+" nil t) | 1238 | (looking-at |
| 1233 | (looking-at "\\(\\S-*\\):\\([0-9]+\\)")) | 1239 | "[0-9]+\\s-*\\S-*\\s-*\\S-*\\s-*.\\s-*\\S-*\\s-*\\(\\S-*\\):\\([0-9]+\\)")) |
| 1234 | (looking-at | 1240 | (let ((line (match-string 2)) |
| 1235 | "[0-9]*\\s-*\\S-*\\s-*\\S-*\\s-*.\\s-*\\S-*\\s-*\\(\\S-*\\):\\([0-9]+\\)"))) | 1241 | (file (match-string 1))) |
| 1236 | (if (match-string 2) | 1242 | (save-selected-window |
| 1237 | (let ((line (match-string 2)) | 1243 | (let* ((buf (find-file-noselect (if (file-exists-p file) |
| 1238 | (file (match-string 1))) | 1244 | file |
| 1239 | (save-selected-window | 1245 | (expand-file-name file gdb-cdir)))) |
| 1240 | (let* ((buf (find-file-noselect (if (file-exists-p file) | 1246 | (window (gdb-display-buffer buf))) |
| 1241 | file | 1247 | (with-current-buffer buf |
| 1242 | (expand-file-name file gdb-cdir)))) | 1248 | (goto-line (string-to-number line)) |
| 1243 | (window (gdb-display-buffer buf))) | 1249 | (set-window-point window (point)))))) |
| 1244 | (with-current-buffer buf | 1250 | (error "Not recognized as break/watchpoint line")))) |
| 1245 | (goto-line (string-to-number line)) | ||
| 1246 | (set-window-point window (point)))))))) | ||
| 1247 | 1251 | ||
| 1248 | (defun gdb-mouse-goto-breakpoint (event) | 1252 | (defun gdb-mouse-goto-breakpoint (event) |
| 1249 | "Display the breakpoint location that you click on." | 1253 | "Display the breakpoint location that you click on." |
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index 1916bde9ea1..a871380d06f 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el | |||
| @@ -74,6 +74,7 @@ than the begining." | |||
| 74 | :version "21.4" | 74 | :version "21.4" |
| 75 | :group 'grep) | 75 | :group 'grep) |
| 76 | 76 | ||
| 77 | ;;;###autoload | ||
| 77 | (defcustom grep-command nil | 78 | (defcustom grep-command nil |
| 78 | "The default grep command for \\[grep]. | 79 | "The default grep command for \\[grep]. |
| 79 | If the grep program used supports an option to always include file names | 80 | If the grep program used supports an option to always include file names |
| @@ -100,6 +101,7 @@ call that function before using this variable in your program." | |||
| 100 | (other :tag "Not Set" auto-detect)) | 101 | (other :tag "Not Set" auto-detect)) |
| 101 | :group 'grep) | 102 | :group 'grep) |
| 102 | 103 | ||
| 104 | ;;;###autoload | ||
| 103 | (defcustom grep-find-command nil | 105 | (defcustom grep-find-command nil |
| 104 | "The default find command for \\[grep-find]. | 106 | "The default find command for \\[grep-find]. |
| 105 | The default value of this variable is set up by `grep-compute-defaults'; | 107 | The default value of this variable is set up by `grep-compute-defaults'; |
| @@ -223,6 +225,7 @@ or when it is used with \\[grep-next-match]. | |||
| 223 | Notice that using \\[next-error] or \\[compile-goto-error] modifies | 225 | Notice that using \\[next-error] or \\[compile-goto-error] modifies |
| 224 | `complation-last-buffer' rather than `grep-last-buffer'.") | 226 | `complation-last-buffer' rather than `grep-last-buffer'.") |
| 225 | 227 | ||
| 228 | ;;;###autoload | ||
| 226 | (defvar grep-regexp-alist | 229 | (defvar grep-regexp-alist |
| 227 | '(("^\\(.+?\\)[:( \t]+\ | 230 | '(("^\\(.+?\\)[:( \t]+\ |
| 228 | \\([0-9]+\\)\\([.:]?\\)\\([0-9]+\\)?\ | 231 | \\([0-9]+\\)\\([.:]?\\)\\([0-9]+\\)?\ |
| @@ -258,6 +261,7 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies | |||
| 258 | "Additional things to highlight in grep output. | 261 | "Additional things to highlight in grep output. |
| 259 | This gets tacked on the end of the generated expressions.") | 262 | This gets tacked on the end of the generated expressions.") |
| 260 | 263 | ||
| 264 | ;;;###autoload | ||
| 261 | (defvar grep-program | 265 | (defvar grep-program |
| 262 | ;; Currently zgrep has trouble. It runs egrep instead of grep, | 266 | ;; Currently zgrep has trouble. It runs egrep instead of grep, |
| 263 | ;; and it doesn't pass along long options right. | 267 | ;; and it doesn't pass along long options right. |
| @@ -272,10 +276,12 @@ This gets tacked on the end of the generated expressions.") | |||
| 272 | "The default grep program for `grep-command' and `grep-find-command'. | 276 | "The default grep program for `grep-command' and `grep-find-command'. |
| 273 | This variable's value takes effect when `grep-compute-defaults' is called.") | 277 | This variable's value takes effect when `grep-compute-defaults' is called.") |
| 274 | 278 | ||
| 279 | ;;;###autoload | ||
| 275 | (defvar find-program "find" | 280 | (defvar find-program "find" |
| 276 | "The default find program for `grep-find-command'. | 281 | "The default find program for `grep-find-command'. |
| 277 | This variable's value takes effect when `grep-compute-defaults' is called.") | 282 | This variable's value takes effect when `grep-compute-defaults' is called.") |
| 278 | 283 | ||
| 284 | ;;;###autoload | ||
| 279 | (defvar grep-find-use-xargs nil | 285 | (defvar grep-find-use-xargs nil |
| 280 | "Whether \\[grep-find] uses the `xargs' utility by default. | 286 | "Whether \\[grep-find] uses the `xargs' utility by default. |
| 281 | 287 | ||
| @@ -285,9 +291,12 @@ if not nil and not `gnu', it uses `find -print' and `xargs'. | |||
| 285 | This variable's value takes effect when `grep-compute-defaults' is called.") | 291 | This variable's value takes effect when `grep-compute-defaults' is called.") |
| 286 | 292 | ||
| 287 | ;; History of grep commands. | 293 | ;; History of grep commands. |
| 294 | ;;;###autoload | ||
| 288 | (defvar grep-history nil) | 295 | (defvar grep-history nil) |
| 296 | ;;;###autoload | ||
| 289 | (defvar grep-find-history nil) | 297 | (defvar grep-find-history nil) |
| 290 | 298 | ||
| 299 | ;;;###autoload | ||
| 291 | (defun grep-process-setup () | 300 | (defun grep-process-setup () |
| 292 | "Setup compilation variables and buffer for `grep'. | 301 | "Setup compilation variables and buffer for `grep'. |
| 293 | Set up `compilation-exit-message-function' and run `grep-setup-hook'." | 302 | Set up `compilation-exit-message-function' and run `grep-setup-hook'." |
| @@ -303,6 +312,7 @@ Set up `compilation-exit-message-function' and run `grep-setup-hook'." | |||
| 303 | (cons msg code)))) | 312 | (cons msg code)))) |
| 304 | (run-hooks 'grep-setup-hook)) | 313 | (run-hooks 'grep-setup-hook)) |
| 305 | 314 | ||
| 315 | ;;;###autoload | ||
| 306 | (defun grep-compute-defaults () | 316 | (defun grep-compute-defaults () |
| 307 | (unless (or (not grep-use-null-device) (eq grep-use-null-device t)) | 317 | (unless (or (not grep-use-null-device) (eq grep-use-null-device t)) |
| 308 | (setq grep-use-null-device | 318 | (setq grep-use-null-device |
| @@ -448,6 +458,7 @@ temporarily highlight in visited source lines." | |||
| 448 | grep-regexp-alist)) | 458 | grep-regexp-alist)) |
| 449 | 459 | ||
| 450 | ;; This is a copy of find-tag-default from etags.el. | 460 | ;; This is a copy of find-tag-default from etags.el. |
| 461 | ;;;###autoload | ||
| 451 | (defun grep-tag-default () | 462 | (defun grep-tag-default () |
| 452 | (save-excursion | 463 | (save-excursion |
| 453 | (while (looking-at "\\sw\\|\\s_") | 464 | (while (looking-at "\\sw\\|\\s_") |
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 274480a36de..9be2c7599b8 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el | |||
| @@ -710,16 +710,17 @@ Accounts for continuation lines, multi-line strings, and multi-line bracketed | |||
| 710 | expressions." | 710 | expressions." |
| 711 | (beginning-of-line) | 711 | (beginning-of-line) |
| 712 | (python-beginning-of-string) | 712 | (python-beginning-of-string) |
| 713 | (while (python-continuation-line-p) | 713 | (catch 'foo |
| 714 | (beginning-of-line) | 714 | (while (python-continuation-line-p) |
| 715 | (if (python-backslash-continuation-line-p) | 715 | (beginning-of-line) |
| 716 | (while (python-backslash-continuation-line-p) | 716 | (if (python-backslash-continuation-line-p) |
| 717 | (forward-line -1)) | 717 | (while (python-backslash-continuation-line-p) |
| 718 | (python-beginning-of-string) | 718 | (forward-line -1)) |
| 719 | ;; Skip forward out of nested brackets. | 719 | (python-beginning-of-string) |
| 720 | (condition-case () ; beware invalid syntax | 720 | ;; Skip forward out of nested brackets. |
| 721 | (progn (backward-up-list (syntax-ppss-depth (syntax-ppss))) t) | 721 | (condition-case () ; beware invalid syntax |
| 722 | (error (end-of-line))))) | 722 | (progn (backward-up-list (syntax-ppss-depth (syntax-ppss))) t) |
| 723 | (error (throw 'foo nil)))))) | ||
| 723 | (back-to-indentation)) | 724 | (back-to-indentation)) |
| 724 | 725 | ||
| 725 | (defun python-end-of-statement () | 726 | (defun python-end-of-statement () |
diff --git a/lisp/replace.el b/lisp/replace.el index c2305cdecc6..a7c8b859402 100644 --- a/lisp/replace.el +++ b/lisp/replace.el | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; replace.el --- replace commands for Emacs | 1 | ;;; replace.el --- replace commands for Emacs |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1985, 86, 87, 92, 94, 96, 1997, 2000, 2001, 2002, | 3 | ;; Copyright (C) 1985, 1986, 1987, 1992, 1994, 1996, 1997, 2000, 2001, 2002, |
| 4 | ;; 2003, 2004 Free Software Foundation, Inc. | 4 | ;; 2003, 2004 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| 7 | 7 | ||
| @@ -36,11 +36,9 @@ | |||
| 36 | 36 | ||
| 37 | (defvar query-replace-history nil) | 37 | (defvar query-replace-history nil) |
| 38 | 38 | ||
| 39 | (defcustom query-replace-interactive nil | 39 | (defvar query-replace-interactive nil |
| 40 | "Non-nil means `query-replace' uses the last search string. | 40 | "Non-nil means `query-replace' uses the last search string. |
| 41 | That becomes the \"string to replace\"." | 41 | That becomes the \"string to replace\".") |
| 42 | :type 'boolean | ||
| 43 | :group 'matching) | ||
| 44 | 42 | ||
| 45 | (defcustom query-replace-from-history-variable 'query-replace-history | 43 | (defcustom query-replace-from-history-variable 'query-replace-history |
| 46 | "History list to use for the FROM argument of `query-replace' commands. | 44 | "History list to use for the FROM argument of `query-replace' commands. |
| @@ -66,35 +64,56 @@ strings or patterns." | |||
| 66 | :group 'matching | 64 | :group 'matching |
| 67 | :version "21.4") | 65 | :version "21.4") |
| 68 | 66 | ||
| 69 | (defun query-replace-read-args (string regexp-flag &optional noerror) | 67 | (defun query-replace-descr (string) |
| 70 | (unless noerror | 68 | (mapconcat 'isearch-text-char-description string "")) |
| 71 | (barf-if-buffer-read-only)) | 69 | |
| 72 | (let (from to) | 70 | (defun query-replace-read-from (string regexp-flag) |
| 73 | (if query-replace-interactive | 71 | "Query and return the `from' argument of a query-replace operation. |
| 74 | (setq from (car (if regexp-flag regexp-search-ring search-ring))) | 72 | The return value can also be a pair (FROM . TO) indicating that the user |
| 75 | ;; The save-excursion here is in case the user marks and copies | 73 | wants to replace FROM with TO." |
| 76 | ;; a region in order to specify the minibuffer input. | 74 | (if query-replace-interactive |
| 77 | ;; That should not clobber the region for the query-replace itself. | 75 | (car (if regexp-flag regexp-search-ring search-ring)) |
| 78 | (save-excursion | 76 | (let* ((lastfrom (car (symbol-value query-replace-from-history-variable))) |
| 79 | (setq from (read-from-minibuffer (format "%s: " string) | 77 | (lastto (car (symbol-value query-replace-to-history-variable))) |
| 80 | nil nil nil | 78 | (from |
| 81 | query-replace-from-history-variable | 79 | ;; The save-excursion here is in case the user marks and copies |
| 82 | nil t))) | 80 | ;; a region in order to specify the minibuffer input. |
| 83 | ;; Warn if user types \n or \t, but don't reject the input. | 81 | ;; That should not clobber the region for the query-replace itself. |
| 84 | (and regexp-flag | 82 | (save-excursion |
| 85 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\[nt]\\)" from) | 83 | (when (equal lastfrom lastto) |
| 86 | (let ((match (match-string 3 from))) | 84 | ;; Typically, this is because the two histlists are shared. |
| 87 | (cond | 85 | (setq lastfrom (cadr (symbol-value |
| 88 | ((string= match "\\n") | 86 | query-replace-from-history-variable)))) |
| 89 | (message "Note: `\\n' here doesn't match a newline; to do that, type C-q C-j instead")) | 87 | (read-from-minibuffer |
| 90 | ((string= match "\\t") | 88 | (if (and lastto lastfrom) |
| 91 | (message "Note: `\\t' here doesn't match a tab; to do that, just type TAB"))) | 89 | (format "%s (default %s -> %s): " string |
| 92 | (sit-for 2)))) | 90 | (query-replace-descr lastfrom) |
| 93 | 91 | (query-replace-descr lastto)) | |
| 94 | (save-excursion | 92 | (format "%s: " string)) |
| 95 | (setq to (read-from-minibuffer (format "%s %s with: " string from) | 93 | nil nil nil |
| 96 | nil nil nil | 94 | query-replace-from-history-variable |
| 97 | query-replace-to-history-variable from t))) | 95 | nil t)))) |
| 96 | (if (and (zerop (length from)) lastto lastfrom) | ||
| 97 | (cons lastfrom lastto) | ||
| 98 | ;; Warn if user types \n or \t, but don't reject the input. | ||
| 99 | (and regexp-flag | ||
| 100 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\[nt]\\)" from) | ||
| 101 | (let ((match (match-string 3 from))) | ||
| 102 | (cond | ||
| 103 | ((string= match "\\n") | ||
| 104 | (message "Note: `\\n' here doesn't match a newline; to do that, type C-q C-j instead")) | ||
| 105 | ((string= match "\\t") | ||
| 106 | (message "Note: `\\t' here doesn't match a tab; to do that, just type TAB"))) | ||
| 107 | (sit-for 2))) | ||
| 108 | from)))) | ||
| 109 | |||
| 110 | (defun query-replace-read-to (from string regexp-flag) | ||
| 111 | "Query and return the `from' argument of a query-replace operation." | ||
| 112 | (let ((to (save-excursion | ||
| 113 | (read-from-minibuffer | ||
| 114 | (format "%s %s with: " string (query-replace-descr from)) | ||
| 115 | nil nil nil | ||
| 116 | query-replace-to-history-variable from t)))) | ||
| 98 | (when (and regexp-flag | 117 | (when (and regexp-flag |
| 99 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\\\[,#]" to)) | 118 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\\\[,#]" to)) |
| 100 | (let (pos list char) | 119 | (let (pos list char) |
| @@ -109,14 +128,19 @@ strings or patterns." | |||
| 109 | ((eq char ?\,) | 128 | ((eq char ?\,) |
| 110 | (setq pos (read-from-string to)) | 129 | (setq pos (read-from-string to)) |
| 111 | (push `(replace-quote ,(car pos)) list) | 130 | (push `(replace-quote ,(car pos)) list) |
| 112 | (setq to (substring | 131 | (let ((end |
| 113 | to (+ (cdr pos) | 132 | ;; Swallow a space after a symbol |
| 114 | ;; Swallow a space after a symbol | 133 | ;; if there is a space. |
| 115 | ;; if there is a space. | 134 | (if (and (or (symbolp (car pos)) |
| 116 | (if (string-match | 135 | ;; Swallow a space after 'foo |
| 117 | "^[^])\"] " | 136 | ;; but not after (quote foo). |
| 118 | (substring to (1- (cdr pos)))) | 137 | (and (eq (car-safe (car pos)) 'quote) |
| 119 | 1 0)))))) | 138 | (not (= ?\( (aref to 0))))) |
| 139 | (eq (string-match " " to (cdr pos)) | ||
| 140 | (cdr pos))) | ||
| 141 | (1+ (cdr pos)) | ||
| 142 | (cdr pos)))) | ||
| 143 | (setq to (substring to end))))) | ||
| 120 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\\\[,#]" to))) | 144 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\\\[,#]" to))) |
| 121 | (setq to (nreverse (delete "" (cons to list))))) | 145 | (setq to (nreverse (delete "" (cons to list))))) |
| 122 | (replace-match-string-symbols to) | 146 | (replace-match-string-symbols to) |
| @@ -124,6 +148,14 @@ strings or patterns." | |||
| 124 | (if (> (length to) 1) | 148 | (if (> (length to) 1) |
| 125 | (cons 'concat to) | 149 | (cons 'concat to) |
| 126 | (car to))))) | 150 | (car to))))) |
| 151 | to)) | ||
| 152 | |||
| 153 | (defun query-replace-read-args (string regexp-flag &optional noerror) | ||
| 154 | (unless noerror | ||
| 155 | (barf-if-buffer-read-only)) | ||
| 156 | (let* ((from (query-replace-read-from string regexp-flag)) | ||
| 157 | (to (if (consp from) (prog1 (cdr from) (setq from (car from))) | ||
| 158 | (query-replace-read-to from string regexp-flag)))) | ||
| 127 | (list from to current-prefix-arg))) | 159 | (list from to current-prefix-arg))) |
| 128 | 160 | ||
| 129 | (defun query-replace (from-string to-string &optional delimited start end) | 161 | (defun query-replace (from-string to-string &optional delimited start end) |
| @@ -199,7 +231,7 @@ In interactive calls, the replacement text can contain `\\,' | |||
| 199 | followed by a Lisp expression. Each | 231 | followed by a Lisp expression. Each |
| 200 | replacement evaluates that expression to compute the replacement | 232 | replacement evaluates that expression to compute the replacement |
| 201 | string. Inside of that expression, `\\&' is a string denoting the | 233 | string. Inside of that expression, `\\&' is a string denoting the |
| 202 | whole match as a sting, `\\N' for a partial match, `\\#&' and `\\#N' | 234 | whole match as a string, `\\N' for a partial match, `\\#&' and `\\#N' |
| 203 | for the whole or a partial match converted to a number with | 235 | for the whole or a partial match converted to a number with |
| 204 | `string-to-number', and `\\#' itself for the number of replacements | 236 | `string-to-number', and `\\#' itself for the number of replacements |
| 205 | done so far (starting with zero). | 237 | done so far (starting with zero). |
| @@ -255,16 +287,17 @@ Third arg DELIMITED (prefix arg if interactive), if non-nil, means replace | |||
| 255 | only matches that are surrounded by word boundaries. | 287 | only matches that are surrounded by word boundaries. |
| 256 | Fourth and fifth arg START and END specify the region to operate on." | 288 | Fourth and fifth arg START and END specify the region to operate on." |
| 257 | (interactive | 289 | (interactive |
| 258 | (let (from to) | 290 | (barf-if-buffer-read-only) |
| 259 | (if query-replace-interactive | 291 | (let* ((from |
| 260 | (setq from (car regexp-search-ring)) | 292 | ;; Let-bind the history var to disable the "foo -> bar" default. |
| 261 | (setq from (read-from-minibuffer "Query replace regexp: " | 293 | ;; Maybe we shouldn't disable this default, but for now I'll |
| 262 | nil nil nil | 294 | ;; leave it off. --Stef |
| 263 | query-replace-from-history-variable | 295 | (let ((query-replace-to-history-variable nil)) |
| 264 | nil t))) | 296 | (query-replace-read-from "Query replace regexp" t))) |
| 265 | (setq to (list (read-from-minibuffer | 297 | (to (list (read-from-minibuffer |
| 266 | (format "Query replace regexp %s with eval: " from) | 298 | (format "Query replace regexp %s with eval: " |
| 267 | nil nil t query-replace-to-history-variable from t))) | 299 | (query-replace-descr from)) |
| 300 | nil nil t query-replace-to-history-variable from t)))) | ||
| 268 | ;; We make TO a list because replace-match-string-symbols requires one, | 301 | ;; We make TO a list because replace-match-string-symbols requires one, |
| 269 | ;; and the user might enter a single token. | 302 | ;; and the user might enter a single token. |
| 270 | (replace-match-string-symbols to) | 303 | (replace-match-string-symbols to) |
| @@ -297,17 +330,16 @@ A prefix argument N says to use each replacement string N times | |||
| 297 | before rotating to the next. | 330 | before rotating to the next. |
| 298 | Fourth and fifth arg START and END specify the region to operate on." | 331 | Fourth and fifth arg START and END specify the region to operate on." |
| 299 | (interactive | 332 | (interactive |
| 300 | (let (from to) | 333 | (let* ((from (if query-replace-interactive |
| 301 | (setq from (if query-replace-interactive | ||
| 302 | (car regexp-search-ring) | 334 | (car regexp-search-ring) |
| 303 | (read-from-minibuffer "Map query replace (regexp): " | 335 | (read-from-minibuffer "Map query replace (regexp): " |
| 304 | nil nil nil | 336 | nil nil nil |
| 305 | 'query-replace-history nil t))) | 337 | 'query-replace-history nil t))) |
| 306 | (setq to (read-from-minibuffer | 338 | (to (read-from-minibuffer |
| 307 | (format "Query replace %s with (space-separated strings): " | 339 | (format "Query replace %s with (space-separated strings): " |
| 308 | from) | 340 | (query-replace-descr from)) |
| 309 | nil nil nil | 341 | nil nil nil |
| 310 | 'query-replace-history from t)) | 342 | 'query-replace-history from t))) |
| 311 | (list from to | 343 | (list from to |
| 312 | (and current-prefix-arg | 344 | (and current-prefix-arg |
| 313 | (prefix-numeric-value current-prefix-arg)) | 345 | (prefix-numeric-value current-prefix-arg)) |
| @@ -748,7 +780,7 @@ If the value is nil, don't highlight the buffer names specially." | |||
| 748 | (read-from-minibuffer | 780 | (read-from-minibuffer |
| 749 | (if default | 781 | (if default |
| 750 | (format "List lines matching regexp (default `%s'): " | 782 | (format "List lines matching regexp (default `%s'): " |
| 751 | default) | 783 | (query-replace-descr default)) |
| 752 | "List lines matching regexp: ") | 784 | "List lines matching regexp: ") |
| 753 | nil | 785 | nil |
| 754 | nil | 786 | nil |
| @@ -911,7 +943,6 @@ See also `multi-occur'." | |||
| 911 | (let ((matches 0) ;; count of matched lines | 943 | (let ((matches 0) ;; count of matched lines |
| 912 | (lines 1) ;; line count | 944 | (lines 1) ;; line count |
| 913 | (matchbeg 0) | 945 | (matchbeg 0) |
| 914 | (matchend 0) | ||
| 915 | (origpt nil) | 946 | (origpt nil) |
| 916 | (begpt nil) | 947 | (begpt nil) |
| 917 | (endpt nil) | 948 | (endpt nil) |
| @@ -931,8 +962,7 @@ See also `multi-occur'." | |||
| 931 | (setq origpt (point)) | 962 | (setq origpt (point)) |
| 932 | (when (setq endpt (re-search-forward regexp nil t)) | 963 | (when (setq endpt (re-search-forward regexp nil t)) |
| 933 | (setq matches (1+ matches)) ;; increment match count | 964 | (setq matches (1+ matches)) ;; increment match count |
| 934 | (setq matchbeg (match-beginning 0) | 965 | (setq matchbeg (match-beginning 0)) |
| 935 | matchend (match-end 0)) | ||
| 936 | (setq begpt (save-excursion | 966 | (setq begpt (save-excursion |
| 937 | (goto-char matchbeg) | 967 | (goto-char matchbeg) |
| 938 | (line-beginning-position))) | 968 | (line-beginning-position))) |
| @@ -1528,5 +1558,5 @@ make, or the user didn't cancel the call." | |||
| 1528 | (if (facep 'query-replace) | 1558 | (if (facep 'query-replace) |
| 1529 | 'query-replace 'region))))) | 1559 | 'query-replace 'region))))) |
| 1530 | 1560 | ||
| 1531 | ;;; arch-tag: 16b4cd61-fd40-497b-b86f-b667c4cf88e4 | 1561 | ;; arch-tag: 16b4cd61-fd40-497b-b86f-b667c4cf88e4 |
| 1532 | ;;; replace.el ends here | 1562 | ;;; replace.el ends here |
diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el index 05eaef06ce6..531fe7d95df 100644 --- a/lisp/textmodes/enriched.el +++ b/lisp/textmodes/enriched.el | |||
| @@ -282,33 +282,34 @@ the region, and the START and END of each region." | |||
| 282 | ;;;###autoload | 282 | ;;;###autoload |
| 283 | (defun enriched-encode (from to orig-buf) | 283 | (defun enriched-encode (from to orig-buf) |
| 284 | (if enriched-verbose (message "Enriched: encoding document...")) | 284 | (if enriched-verbose (message "Enriched: encoding document...")) |
| 285 | (save-restriction | 285 | (let ((inhibit-read-only t)) |
| 286 | (narrow-to-region from to) | 286 | (save-restriction |
| 287 | (delete-to-left-margin) | 287 | (narrow-to-region from to) |
| 288 | (unjustify-region) | 288 | (delete-to-left-margin) |
| 289 | (goto-char from) | 289 | (unjustify-region) |
| 290 | (format-replace-strings '(("<" . "<<"))) | 290 | (goto-char from) |
| 291 | (format-insert-annotations | 291 | (format-replace-strings '(("<" . "<<"))) |
| 292 | (format-annotate-region from (point-max) enriched-translations | 292 | (format-insert-annotations |
| 293 | 'enriched-make-annotation enriched-ignore)) | 293 | (format-annotate-region from (point-max) enriched-translations |
| 294 | (goto-char from) | 294 | 'enriched-make-annotation enriched-ignore)) |
| 295 | (insert (if (stringp enriched-initial-annotation) | 295 | (goto-char from) |
| 296 | enriched-initial-annotation | 296 | (insert (if (stringp enriched-initial-annotation) |
| 297 | (save-excursion | 297 | enriched-initial-annotation |
| 298 | ;; Eval this in the buffer we are annotating. This | 298 | (save-excursion |
| 299 | ;; fixes a bug which was saving incorrect File-Width | 299 | ;; Eval this in the buffer we are annotating. This |
| 300 | ;; information, since we were looking at local | 300 | ;; fixes a bug which was saving incorrect File-Width |
| 301 | ;; variables in the wrong buffer. | 301 | ;; information, since we were looking at local |
| 302 | (if orig-buf (set-buffer orig-buf)) | 302 | ;; variables in the wrong buffer. |
| 303 | (funcall enriched-initial-annotation)))) | 303 | (if orig-buf (set-buffer orig-buf)) |
| 304 | (enriched-map-property-regions 'hard | 304 | (funcall enriched-initial-annotation)))) |
| 305 | (lambda (v b e) | 305 | (enriched-map-property-regions 'hard |
| 306 | (if (and v (= ?\n (char-after b))) | 306 | (lambda (v b e) |
| 307 | (progn (goto-char b) (insert "\n")))) | 307 | (if (and v (= ?\n (char-after b))) |
| 308 | (point) nil) | 308 | (progn (goto-char b) (insert "\n")))) |
| 309 | (if enriched-verbose (message nil)) | 309 | (point) nil) |
| 310 | ;; Return new end. | 310 | (if enriched-verbose (message nil)) |
| 311 | (point-max))) | 311 | ;; Return new end. |
| 312 | (point-max)))) | ||
| 312 | 313 | ||
| 313 | (defun enriched-make-annotation (internal-ann positive) | 314 | (defun enriched-make-annotation (internal-ann positive) |
| 314 | "Format an annotation INTERNAL-ANN. | 315 | "Format an annotation INTERNAL-ANN. |
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog new file mode 100644 index 00000000000..e19df5d2ef6 --- /dev/null +++ b/lisp/url/ChangeLog | |||
| @@ -0,0 +1,1124 @@ | |||
| 1 | 2004-04-16 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * url-util.el (url-debug): Use with-current-buffer. | ||
| 4 | |||
| 5 | * url-nfs.el (url-nfs-file-attributes): Add id-format parameter. | ||
| 6 | (url-nfs-create-wrapper): Use new backquote syntax. | ||
| 7 | |||
| 8 | * url-https.el (url-https-file-attributes): Add id-format param. | ||
| 9 | |||
| 10 | * url-http.el (url-http-head-file-attributes) | ||
| 11 | (url-http-file-attributes): Add id-format parameter. | ||
| 12 | |||
| 13 | * url-handlers.el: Use new find-file-hook. | ||
| 14 | (url-file-attributes): Add id-format parameter. | ||
| 15 | |||
| 16 | * url-file.el (url-file-create-wrapper): Use new backquote syntax. | ||
| 17 | (url-file-file-attributes): Add id-format parameter. | ||
| 18 | |||
| 19 | * url-dav.el: Use with-current-buffer. | ||
| 20 | (url-dav-process-response): Fix regexps and spurious quote. | ||
| 21 | (url-dav-file-attributes): Add id-format param. | ||
| 22 | |||
| 23 | 2004-04-12 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 24 | |||
| 25 | * url.el (url-retrieve): Use with-current-buffer. | ||
| 26 | |||
| 27 | * url-http.el (url-http-parse-headers, url-http-file-exists-p): | ||
| 28 | Remove unused var `version'. | ||
| 29 | |||
| 30 | * url-handlers.el (url-handler-mode): New minor mode. | ||
| 31 | (url-setup-file-name-handlers): Remove. | ||
| 32 | |||
| 33 | 2004-04-12 John Paul Wallington <jpw@gnu.org> | ||
| 34 | |||
| 35 | * url-cookie.el (url-cookie-handle-set-cookie): Replace calls | ||
| 36 | to obsolete `assoc-ignore-case' with calls to `assoc-string'. | ||
| 37 | |||
| 38 | 2004-04-11 Dave Love <fx@gnu.org> | ||
| 39 | |||
| 40 | * url-mailto.el (url-mailto): | ||
| 41 | * url-history.el (url-history-setup-save-timer): | ||
| 42 | * url-cookie.el (url-cookie-setup-save-timer): Avoid warnings. | ||
| 43 | |||
| 44 | * url-file.el (url-file-build-filename): Don't use | ||
| 45 | directory-sep-char. | ||
| 46 | |||
| 47 | * url-auth.el (url-register-auth-scheme): Fix `format' call. | ||
| 48 | |||
| 49 | * url-about.el (url-scheme-registry): Defvar. | ||
| 50 | (url-about): Use text/plain. | ||
| 51 | |||
| 52 | * url-vars.el (cl): Don't require. | ||
| 53 | (url): Add :version. | ||
| 54 | (url-bug-address): Use bug-gnu-emacs. | ||
| 55 | |||
| 56 | * url-util.el (url-hexify-string): Don't give multibyte error | ||
| 57 | for char <16. | ||
| 58 | (mail-header-extract): Autoload. | ||
| 59 | |||
| 60 | * url-parse.el: Doc fixes. | ||
| 61 | |||
| 62 | * url-ldap.el (ldap): Require. | ||
| 63 | (url-ldap): Fix `format' call. | ||
| 64 | (url-ldap-certificate-formatter): Avoid warning. | ||
| 65 | |||
| 66 | * url-https.el (url-https-create-secure-wrapper): Use modern backquotes. | ||
| 67 | |||
| 68 | * url-dav.el (url-dav-rename-file): Fix args of `signal'. | ||
| 69 | (url-intersection): New. | ||
| 70 | (url-dav-supported-p): Use it. | ||
| 71 | (url-dav-save-resource): Declare url-http-response-status special. | ||
| 72 | |||
| 73 | * url-cache.el (url-util): Require. | ||
| 74 | |||
| 75 | 2004-04-10 Miles Bader <miles@gnu.org> | ||
| 76 | |||
| 77 | RCS keyword removal (only non-comment changes are enumerated here): | ||
| 78 | |||
| 79 | * url-vars.el (url-version): Use the constant string "Emacs" | ||
| 80 | instead of calculating something from the RCS `State' keyword | ||
| 81 | [the latter is almost entirely useless anyway]. | ||
| 82 | |||
| 83 | 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 84 | |||
| 85 | * url-methods.el: | ||
| 86 | * url-parse.el: Don't require url-auto. | ||
| 87 | |||
| 88 | 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 89 | |||
| 90 | * url: Imported the URL package from its own CVS repository into Emacs. | ||
| 91 | |||
| 92 | =========================================================================== | ||
| 93 | =========================================================================== | ||
| 94 | Copy of the ChangeLog file from URL's own CVS repository: | ||
| 95 | =========================================================================== | ||
| 96 | =========================================================================== | ||
| 97 | |||
| 98 | 2003-07-16 Dave Love <fx@gnu.org> | ||
| 99 | |||
| 100 | * lisp/url.el (url-retrieve-synchronously): Revert last change. | ||
| 101 | Should be revisited. | ||
| 102 | |||
| 103 | 2003-06-26 Sam Steingold <sds@gnu.org> | ||
| 104 | |||
| 105 | * lisp/url-handlers.el (url-handlers-create-wrapper): Do not call | ||
| 106 | method on invalid urls. | ||
| 107 | |||
| 108 | 2003-05-29 Dave Love <fx@gnu.org> | ||
| 109 | |||
| 110 | * lisp/url.el (url-retrieve-synchronously): Use sleep-for, not | ||
| 111 | sit-for. From monnier@gnu.org. | ||
| 112 | |||
| 113 | 2002-11-04 Walter C. Pelissero <walter@pelissero.org> | ||
| 114 | |||
| 115 | * lisp/url-methods.el (url-scheme-register-proxy): Make sure to convert | ||
| 116 | port numbers to integers when creating the URL objects for proxies. | ||
| 117 | |||
| 118 | 2002-10-29 William M. Perry <wmperry@gnu.org> | ||
| 119 | |||
| 120 | * lisp/url-http.el (url-http-parse-headers): When doing a | ||
| 121 | redirect, some broken software (sourceforge) sends a redirect to | ||
| 122 | '/', which is blatantly illegal (see section 14.30 of the HTTP/1.1 | ||
| 123 | specification). I wish we could deal with such lame software | ||
| 124 | appropriately (spank the authors), but this is the web, so we have | ||
| 125 | to kow-tow to the servers. | ||
| 126 | |||
| 127 | 2002-10-27 William M. Perry <wmperry@gnu.org> | ||
| 128 | |||
| 129 | * lisp/url-http.el (url-http-create-request): If we are talking to | ||
| 130 | the default port for a the selected protocol, do NOT send the port | ||
| 131 | in the HOST header. This fixes the login page at sourceforge. | ||
| 132 | |||
| 133 | 2002-09-17 William M. Perry <wmperry@gnu.org> | ||
| 134 | |||
| 135 | * lisp/url-http.el (url-http-handle-cookies): New function to deal | ||
| 136 | with cookie headers. | ||
| 137 | (url-http-parse-headers): Call `url-http-handle-cookies' here so | ||
| 138 | that cookie additions and deletions get handled immediately. | ||
| 139 | This is so that sites that set cookies while doing redirects | ||
| 140 | (my.yahoo.com, outlook web access, etc) work. This should also | ||
| 141 | fix sites that delete cookies on invalid access or other error | ||
| 142 | pages the user might not actually see. | ||
| 143 | (url-http-parse-headers): Silently convert non-HEAD and non-GET | ||
| 144 | methods to GET in redirects. Too many web sites do this now, and | ||
| 145 | it is just likely to confuse users. | ||
| 146 | |||
| 147 | 2002-05-17 Dave Love <fx@gnu.org> | ||
| 148 | |||
| 149 | * texi/url.txi: Start making it vaguely useful. | ||
| 150 | |||
| 151 | * texi/Makefile.in (install): Cope with Debian install-info. | ||
| 152 | From Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann). | ||
| 153 | |||
| 154 | 2002-04-22 Dave Love <fx@gnu.org> | ||
| 155 | |||
| 156 | * lisp/url-misc.el (man): Autoload to avoid warning. | ||
| 157 | (url-man): Don't require man here. | ||
| 158 | (url-data): Generalize in line with the RFC. | ||
| 159 | |||
| 160 | * lisp/url-gw.el (url-open-stream): Remove obsolete `tcp' case. | ||
| 161 | |||
| 162 | * lisp/url-vars.el: Doc fixes. | ||
| 163 | (url-mime-charset-string): New function. | ||
| 164 | (url-mime-charset-string): Use it to set the variable. | ||
| 165 | (url-set-mime-charset-string): New function. | ||
| 166 | (set-language-environment-hook): Use it. | ||
| 167 | (url-vars-unload-hook): New function. | ||
| 168 | |||
| 169 | * lisp/url-cookie.el (url-header-comparison): Delete. | ||
| 170 | (url-cookie-handle-set-cookie): Use assoc-ignore-case to avoid assoc*. | ||
| 171 | (url-cookie-save-interval): Make value agree with doc. | ||
| 172 | |||
| 173 | * lisp/url.el: Doc fixes. | ||
| 174 | (url-mm-callback): Don't call mm-destroy-parts immediately for | ||
| 175 | external viewing -- set up a process sentinel. | ||
| 176 | |||
| 177 | 2002-02-02 William M. Perry <wmperry@gnu.org> | ||
| 178 | |||
| 179 | * lisp/Makefile.in (SOURCES): Remove mule-sysdp.el from the build rules. | ||
| 180 | |||
| 181 | 2001-12-12 William M. Perry <wmperry@gnu.org> | ||
| 182 | |||
| 183 | * lisp/url-vars.el (url-nonrelative-link): Patch from Stefan | ||
| 184 | Monnier to use ` instead of ^ to match the relative link. | ||
| 185 | |||
| 186 | 2001-12-10 William M. Perry <wmperry@gnu.org> | ||
| 187 | |||
| 188 | * lisp/url-dav.el (url-dav-file-attributes): Fix bad call to | ||
| 189 | plist-get (reversed args). | ||
| 190 | |||
| 191 | * lisp/url-file.el (url-file-build-filename): Make sure that we | ||
| 192 | have a parsed URL in this function. | ||
| 193 | |||
| 194 | 2002-01-22 Dave Love <fx@gnu.org> | ||
| 195 | |||
| 196 | * lisp/url-cache.el (url-cache-file-writable-p): Doc fix. | ||
| 197 | |||
| 198 | * lisp/url-imap.el (url-imap): Maybe disable multibyte. | ||
| 199 | Bind coding-system-for-read. Require mm-util. | ||
| 200 | |||
| 201 | * lisp/url.el (url-do-setup): Use (featurep 'xemacs). | ||
| 202 | |||
| 203 | * lisp/mule-sysdp.el: Removed (obsolete). | ||
| 204 | |||
| 205 | 2001-12-09 William M. Perry <wmperry@gnu.org> | ||
| 206 | |||
| 207 | * lisp/url-dav.el (url-dav-delete-something): Utility macro to | ||
| 208 | remove an arbitrary resource. | ||
| 209 | (url-dav-delete-directory): Use it. | ||
| 210 | (url-dav-delete-file): Ditto. | ||
| 211 | (url-dav-make-directory): New function. | ||
| 212 | (url-dav-rename-file): New function. | ||
| 213 | (url-dav-register-handler): New function to easily register a | ||
| 214 | WebDAV-specific file-name-handler operation. | ||
| 215 | (url-dav-file-name-all-completions, url-dav-file-name-completion): | ||
| 216 | New functions that allow file-name completion for WebDAV resources. | ||
| 217 | |||
| 218 | 2001-12-08 William M. Perry <wmperry@gnu.org> | ||
| 219 | |||
| 220 | * lisp/url-dav.el (url-dav-directory-files): New function to | ||
| 221 | mimic `directory-files' for WebDAV. | ||
| 222 | (url-dav-delete-directory): New function to mimic | ||
| 223 | `delete-directory' for WebDAV. | ||
| 224 | |||
| 225 | 2001-12-06 William M. Perry <wmperry@gnu.org> | ||
| 226 | |||
| 227 | * lisp/url-dav.el (url-dav-process-DAV:locktoken): Parse the | ||
| 228 | DAV:locktoken hrefs into a usable format. | ||
| 229 | (url-dav-process-response): Use an unwind-protect to make sure | ||
| 230 | that we clean up the buffer, even if there is a parsing error. | ||
| 231 | (url-dav-request): New function to act as the main entry point for | ||
| 232 | making DAV requests. Takes care of building the XML document with | ||
| 233 | appropriate namespaces, depth, etc, and parses the results. | ||
| 234 | (url-dav-get-properties): Use new url-dav-request function. | ||
| 235 | This is now just a thin wrapper around that to use PROPFIND and set any | ||
| 236 | extra properties we are looking for. | ||
| 237 | (url-dav-unlock-resource): New function to release a lock given a | ||
| 238 | URL and a lock-token. | ||
| 239 | (url-dav-process-DAV:getlastmodified) | ||
| 240 | (url-dav-process-DAV:creationdate) | ||
| 241 | (url-dav-process-DAV:iscollection) | ||
| 242 | (url-dav-process-DAV:ishidden): Fix typos! Its url-dav-*, not | ||
| 243 | url-dave-*! | ||
| 244 | (url-dav-active-locks): New function to get a list of all the | ||
| 245 | active locks for a resource. | ||
| 246 | (url-dav-save-resource): New function to actually save a resource | ||
| 247 | using the PUT method. I can now successfully save files to an | ||
| 248 | HTTP server with some manual steps from a lisp-interaction buffer. | ||
| 249 | |||
| 250 | * lisp/url-http.el (url-http-wait-for-headers-change-function): | ||
| 251 | Special case the 204/205 response codes. Some servers do not | ||
| 252 | send back a 0 content-length for these, and we would hang. | ||
| 253 | (url-http-parse-headers): Mark 204/205 response codes as | ||
| 254 | 'successful' so that the callbacks get activated. | ||
| 255 | (url-http-options): Fix unbound variable usage. | ||
| 256 | |||
| 257 | * lisp/url-dav.el: Added full copyright information. | ||
| 258 | (url-dav-process-response): Make sure that we create a DAV:status | ||
| 259 | property when parsing a singleton response. | ||
| 260 | (url-dav-file-attributes): If the properties returned did not have | ||
| 261 | a succesful HTTP response code, then ignore them and use the | ||
| 262 | HEAD-based attributes. | ||
| 263 | |||
| 264 | * lisp/vc-dav.el: Added full copyright information. | ||
| 265 | |||
| 266 | * lisp/url-dav.el (url-dav-process-supportedlock-property): | ||
| 267 | Deal with text nodes in DAV:supportedlock nodes. | ||
| 268 | (url-dav-file-attributes-mode-string): This now gets the entire | ||
| 269 | property list instead of just the DAV:supportedlock node. | ||
| 270 | (url-dav-file-attributes): Make sure to pass the whole list in. | ||
| 271 | (url-dav-file-attributes-mode-string): Now properly sets do 'd' mode. | ||
| 272 | (url-dav-file-attributes-mode-string): Now uses the Apache mod_dav | ||
| 273 | 'executable' bit to set the 'x' mode. See `mod_dav's custom | ||
| 274 | properties' at http://www.webdav.org/mod_dav/ for more details. | ||
| 275 | (url-dav-find-parser): New function to find the proper parser for | ||
| 276 | a node-type. Looks for | ||
| 277 | url-dav-process-XXX (url-dav-process-DAV:prop), otherwise falls | ||
| 278 | back to using url-dav-node-text. Caches the results on the nodes | ||
| 279 | symbol name. | ||
| 280 | (url-dav-dispatch-node): Utility routine to call a nodes handler easily. | ||
| 281 | (url-dav-process-*): Rename most of the handlers and made them | ||
| 282 | use url-dav-dispatch-node where appropriate. | ||
| 283 | (url-dav-process-DAV:prop): Instead of using the dav-data-type | ||
| 284 | property to dispatch the node, now uses dav-dispatch-node so that | ||
| 285 | it is easy to add parsers for special nodes. | ||
| 286 | (url-dav-process-DAV:depth, url-dav-process-DAV:resourcetype) | ||
| 287 | (url-dav-process-DAV:locktype, url-dav-process-DAV:lockscope) | ||
| 288 | (url-dav-process-DAV:getcontentlength) | ||
| 289 | (url-dave-process-DAV:getlastmodified) | ||
| 290 | (url-dave-process-DAV:creationdate) | ||
| 291 | (url-dave-process-DAV:iscollection) | ||
| 292 | (url-dave-process-DAV:ishidden): Aliases for the generic | ||
| 293 | url-dav-process-foo-property routines. | ||
| 294 | (url-dav-process-DAV:activelock) | ||
| 295 | (url-dav-process-DAV:lockdiscovery): Can now correctly parse | ||
| 296 | DAV:lockdiscovery nodes, so that we can find out who has a | ||
| 297 | resource locked and properly parse the reponse to a LOCK request. | ||
| 298 | (url-dav-process-DAV:status): Now parses ou the numeric status | ||
| 299 | from the HTTP response line. | ||
| 300 | (url-dav-process-response): New function to handle all the | ||
| 301 | parsing of an XML response from WebDAV. This handles all the | ||
| 302 | logic of checking the response content-type to make sure it is | ||
| 303 | XML, parses the tree, and interprets the tree. | ||
| 304 | (url-dav-process-response): Make sure that all responses look | ||
| 305 | like a DAV:multistatus response, even if we get a singleton | ||
| 306 | response back. This will just make the upper layer logic simpler. | ||
| 307 | (url-dav-get-properties): New optional argument NAMESPACES that | ||
| 308 | specifies what namespaces to use in the XML request. | ||
| 309 | (url-dav-get-properties): Got rid of the D: namespace in | ||
| 310 | requests. It doesn't save that much space. Just use DAV: | ||
| 311 | (url-dav-lock-identifier): New variable that should hold a URI | ||
| 312 | pointing to contact information for the user. This will be used | ||
| 313 | as the contents of the DAV:owner/DAV:href tag to identify the | ||
| 314 | owner of a LOCK when requesting it. This will be shown to other | ||
| 315 | users when the DAV:lockdiscovery property is requested, so make | ||
| 316 | sure you are comfortable with it leaking to the outside world. | ||
| 317 | (url-dav-lock-resource): New function to LOCK a dav resource. | ||
| 318 | |||
| 319 | 2001-12-05 William M. Perry <wmperry@gnu.org> | ||
| 320 | |||
| 321 | * lisp/url-dav.el (url-dav-get-properties): New argument | ||
| 322 | ATTRIBUTES that allows you to ask for specific properties instead | ||
| 323 | of getting all properties via DAV:allprop. | ||
| 324 | |||
| 325 | * lisp/url-http.el (url-http-real-basic-auth-storage): | ||
| 326 | New variable for normal HTTP basic authentication. | ||
| 327 | (url-http-proxy-basic-auth-storage): New variable for HTTP proxy | ||
| 328 | basic authentication. | ||
| 329 | (url-http-handle-authentication): Follow new semantics for | ||
| 330 | url-basic-auth-storage. | ||
| 331 | |||
| 332 | * lisp/url-auth.el (url-basic-auth-storage): Change meaning of | ||
| 333 | this variable. It is now a symbol pointing to where we really | ||
| 334 | want to store the authorization information. This fixes proxy | ||
| 335 | auth and normal basic auth because of some local bindings that were | ||
| 336 | making it impossible to store the credentials in the global binding. | ||
| 337 | (url-basic-auth): Make sure we dereference url-basic-auth-storage | ||
| 338 | everywhere. | ||
| 339 | |||
| 340 | * lisp/url-util.el (url-debug): Add new types 'dav and | ||
| 341 | 'retrieval to the customization list. | ||
| 342 | |||
| 343 | * lisp/url.el (url-retrieve-synchronously): Put in some debugging | ||
| 344 | statements. | ||
| 345 | |||
| 346 | * lisp/url-http.el (url-http-head-file-attributes): Rename old | ||
| 347 | url-http-file-attributes so that we can have a smarter one that | ||
| 348 | tries WebDAV first, then HEAD. | ||
| 349 | (url-http-file-attributes): New smart version that tries WebDAV first. | ||
| 350 | (url-http-options): New function that returns information gleaned | ||
| 351 | from an OPTIONS request for a URL. Returns a property list | ||
| 352 | returning the methods supported for the resource, what DAV and | ||
| 353 | DASL levels are supported, p3p information, and whether | ||
| 354 | byte-ranges are supported or not. | ||
| 355 | (url-http-wait-for-headers-change-function): If we got a 0-byte | ||
| 356 | content-length, activate the callback immediately. | ||
| 357 | (url-http-wait-for-headers-change-function): For content-length | ||
| 358 | responses with actual body-data in the chunk we are handling, call | ||
| 359 | url-http-content-length-after-change-function with the remaining | ||
| 360 | data. Otherwise we can deadlock if the headers and the entire | ||
| 361 | body exist arrive in one chunk. | ||
| 362 | |||
| 363 | * lisp/url-dav.el: New file to contain the WebDAV | ||
| 364 | (http://www.webdav.org/) implementation. | ||
| 365 | (url-dav-supported-p): Cheap way to figure out whether we will be | ||
| 366 | able to do DAV at all. We rely on the XML parser expanding | ||
| 367 | namespaces for us, and currently you need a patched version of | ||
| 368 | xml.el to do this. Patch sent to author for consideration. | ||
| 369 | (url-dav-file-attributes): Much more complete version of | ||
| 370 | `file-attributes' using the WebDAV PROPFIND method. Now correctly | ||
| 371 | finds out whether something is a directory (a WebDAV collection), | ||
| 372 | the last modification time, and permissions (based on the | ||
| 373 | DAV:supportedlock information). | ||
| 374 | (url-dav-get-properties): Generic interface to get WebDAV | ||
| 375 | properties for a URL. Can specify an optional `depth' parameter | ||
| 376 | to tell the web server how many directory (collection) levels to | ||
| 377 | recurse when retrieving the property lists. Returns an assoc | ||
| 378 | list keyed off of the resource, the cdr of which is a property list. | ||
| 379 | (url-dav-datatype-attribute): We support the XML-Data note | ||
| 380 | (http://www.w3.org/TR/1998/NOTE-XML-data) to figure out what the | ||
| 381 | datatypes of attributes are. Currently only date, dateTime, int, | ||
| 382 | number, float, boolean, and uri are supported. | ||
| 383 | |||
| 384 | 2001-12-04 William M. Perry <wmperry@gnu.org> | ||
| 385 | |||
| 386 | * lisp/url-handlers.el (file-name-absolute-p): New hooked | ||
| 387 | version. If the filename matches our regexp, then it is always | ||
| 388 | absolute, so just return `t'. | ||
| 389 | (expand-file-name): New hooked version. If the fragment is an | ||
| 390 | absolute file or URL, then expand it relative to '/'. | ||
| 391 | (url-handler-regexp): New regexp for specific schemes that we | ||
| 392 | want the file-name-handlers to work off of. | ||
| 393 | (url-setup-file-name-handlers): Use it when installing the handlers. | ||
| 394 | |||
| 395 | * lisp/url-http.el (url-http-find-free-connection): Better logging | ||
| 396 | about whether we are reusing an existing connection or not. | ||
| 397 | |||
| 398 | * lisp/url-methods.el (url-scheme-register-proxy): Fix bad call | ||
| 399 | to string-match instead of match-string (and with reversed | ||
| 400 | arguments even). | ||
| 401 | |||
| 402 | * lisp/url-http.el (url-http-debug): Change to now use the | ||
| 403 | generic url-debug function to do the actual logging. Still a | ||
| 404 | separate function so that we can do our magic on the network | ||
| 405 | connection if the user quits while we are downloading. | ||
| 406 | |||
| 407 | * lisp/url-handlers.el (url-file-handler): Now logs the result of | ||
| 408 | the hooked or real call. | ||
| 409 | |||
| 410 | * lisp/url-util.el (url-debug): New function for generic debug logging. | ||
| 411 | |||
| 412 | 2001-11-28 William M. Perry <wmperry@gnu.org> | ||
| 413 | |||
| 414 | * lisp/url-imap.el (url-imap-open-host): Use backquote. | ||
| 415 | (url-imap): Now switches to 'login as the imap authenticator if | ||
| 416 | the URL provides a username and password. | ||
| 417 | |||
| 418 | * lisp/url-handlers.el (url-setup-file-name-handlers): Use cl & | ||
| 419 | push to replace some strange logic in here. | ||
| 420 | (url-run-real-handler): New function to run the real hooks in | ||
| 421 | case we get a false positive or an operation that we do not | ||
| 422 | support. The old way disabled _ALL_ file-name-handlers when | ||
| 423 | we hit something we didn't understand - this disables JUST us. | ||
| 424 | (url-file-handler): Remove the logic about removing the leading | ||
| 425 | '/' off of the first argument... it may not be safe to always | ||
| 426 | assume that the first argument is the one we are acting on - | ||
| 427 | `default' is the second argument for expand-file-name for example. | ||
| 428 | (url-setup-file-name-handlers): Use url-nonrelative-link | ||
| 429 | directly. This means that you must type in the URL directly | ||
| 430 | without prefixing it with a '/'. | ||
| 431 | |||
| 432 | (gnus-cache-articles-in-group "nnml+mail:comp.emacs-devel") | ||
| 433 | |||
| 434 | Ends up calling (expand-file-name "nnml+mail:comp.emacs-devel" ...) | ||
| 435 | which activates us (because 'nnml+mail' _is_ a valid scheme name | ||
| 436 | for a URI). We get thoroughly confused and end up returning | ||
| 437 | `nil' when we shouldn't. | ||
| 438 | |||
| 439 | 2001-11-26 William M. Perry <wmperry@gnu.org> | ||
| 440 | |||
| 441 | * lisp/url-handlers.el (file-writable-p): Add NULL handler for | ||
| 442 | this so that visiting a URL directly will work. | ||
| 443 | (file-symlink-p): Ditto. | ||
| 444 | (url-insert-file-contents): If `visit' is non-nil then make sure | ||
| 445 | we set buffer-file-name. After these changes you can visit | ||
| 446 | http://www.gnu.org/ directly from the minibuffer. | ||
| 447 | (url-insert-file-contents): When inserting the file contents, | ||
| 448 | use a save-excursion so that we behave just like the original. | ||
| 449 | |||
| 450 | 2001-11-25 William M. Perry <wmperry@gnu.org> | ||
| 451 | |||
| 452 | * lisp/url-util.el (url-hexify-string): Fix bad use of mapconcat. | ||
| 453 | |||
| 454 | 2001-11-24 William M. Perry <wmperry@gnu.org> | ||
| 455 | |||
| 456 | * lisp/url-about.el (url-about): New loader scheme to handle | ||
| 457 | about:foo URLs. Automatically tries to find a `url-about-foo' | ||
| 458 | function to display the actual data. | ||
| 459 | (url-about-protocols): Implement about:protocols | ||
| 460 | |||
| 461 | * lisp/url-http.el (url-http): Make sure that we signal an error | ||
| 462 | when we cannot open a network connection for whatever reason. | ||
| 463 | Before, it would just silently clean up after itself and the user | ||
| 464 | got absolutely no indication that an error had occured. If the | ||
| 465 | error should truly be ignored, the caller should do that for us. | ||
| 466 | (url-http-chunked-encoding-after-change-function): Doh! Need to | ||
| 467 | user marker-position in some log messages now that | ||
| 468 | url-http-chunked-start is a marker. | ||
| 469 | |||
| 470 | 2001-11-22 William M. Perry <wmperry@gnu.org> | ||
| 471 | |||
| 472 | * lisp/url-https.el: Fixed definition of url-https - was using the | ||
| 473 | wrong signature. Too much cut & paste. | ||
| 474 | (url-https-create-secure-wrapper): Fix so that url-https works | ||
| 475 | at all. Was not taking a null `method' into account when calling | ||
| 476 | the wrapped function so url-https tried to call url-http-nil. *sigh* | ||
| 477 | |||
| 478 | * lisp/url-http.el | ||
| 479 | (url-http-chunked-encoding-after-change-function): Add some | ||
| 480 | feedback when not debugging about what content-type and chunk # we | ||
| 481 | are reading. | ||
| 482 | (url-http-chunked-encoding-after-change-function): Use a marker | ||
| 483 | for url-http-chunked-start so that we can safely delete the | ||
| 484 | chunk-tokens instead of just marking them as invisible. | ||
| 485 | (url-http-chunked-encoding-after-change-function): Actually delete | ||
| 486 | the chunk-tokens. Now that we are not run from 'real' | ||
| 487 | after-change functions, this is safe, and the right thing to do. | ||
| 488 | Otherwise the HTML parser still saw them and inferred all sorts of | ||
| 489 | bad things about the document (ie: nothing had a title!) | ||
| 490 | |||
| 491 | 2001-11-21 William M. Perry <wmperry@gnu.org> | ||
| 492 | |||
| 493 | * lisp/url-http.el (url-http-debug): Document this variable. | ||
| 494 | People other than I might want to use it. | ||
| 495 | (url-http-debug): Put some code in here to check quit-flag | ||
| 496 | directly. When the chunked encoding went into a tight spin, your | ||
| 497 | Emacs would be wedged forever. This short-circuits all the | ||
| 498 | after-change functions and signals an error. | ||
| 499 | (url-http-debug): If url-http-debug is non-nil and non-t, then log | ||
| 500 | the debug messages using `message' as well as sending them to the | ||
| 501 | buffer. | ||
| 502 | (url-http-chunked-encoding-after-change-function): Got rid of the | ||
| 503 | no-initial-crlf. Had an epiphany and I can just infer this from | ||
| 504 | url-http-chunked-counter being 0. | ||
| 505 | (url-http-chunked-encoding-after-change-function): Move the debug | ||
| 506 | statement about reading chunk #foo into the loop so that each | ||
| 507 | chunk will have a log message associated with it. | ||
| 508 | (url-http-chunked-encoding-after-change-function): Make sure to | ||
| 509 | set read-next-chunk to nil when the regular expression match fails | ||
| 510 | to fire. Otherwise we could loop forever. | ||
| 511 | (url-http-chunked-encoding-after-change-function): Tweak the | ||
| 512 | regular expression to be a little less greedy when looking for a chunk. | ||
| 513 | (url-http-wait-for-headers-change-function): Remove the last | ||
| 514 | argument when calling | ||
| 515 | url-http-chunked-encoding-after-change-function. It is no longer | ||
| 516 | needed. I should use my brain sometime. | ||
| 517 | |||
| 518 | * lisp/url-vars.el (and): Fix feature test for xemacs and | ||
| 519 | coding-system-list behaviour. | ||
| 520 | |||
| 521 | * lisp/url-http.el | ||
| 522 | (url-http-chunked-encoding-after-change-function): Add optional | ||
| 523 | no-initial-crlf flag that modifies the regular expression. | ||
| 524 | This is only set from url-http-wait-for-headers-change-function so that | ||
| 525 | the initial CRLF in the HTTP headers is not swallowed. | ||
| 526 | (url-http-chunked-encoding-after-change-function): Fix a few | ||
| 527 | off-by-one errors by using (match-end 0) instead of 1. | ||
| 528 | (url-http-chunked-encoding-after-change-function): Add a few | ||
| 529 | url-http-debug calls to help track down problems in the chunked | ||
| 530 | encoding. | ||
| 531 | (url-http-chunked-encoding-after-change-function): The chunk | ||
| 532 | reading in here is now in a while loop so that if Emacs feeds us a | ||
| 533 | chunk of data that happens to contain more than one 'chunk' | ||
| 534 | delimiter, we behave correctly. | ||
| 535 | (url-http-wait-for-headers-change-function): Make sure that we | ||
| 536 | pass no-initial-crlf to | ||
| 537 | url-http-chunked-encoding-after-change-function when passing | ||
| 538 | initial data to the decoder. | ||
| 539 | (url-http-generic-filter): url-http-debug statement so we can tell | ||
| 540 | when/where our after-change-functions are being called. | ||
| 541 | |||
| 542 | 2001-10-11 Dave Love <fx@gnu.org> | ||
| 543 | |||
| 544 | * lisp/url-handlers.el: Doc fixes. | ||
| 545 | (string-match): Use (featurep 'xemacs). | ||
| 546 | |||
| 547 | * lisp/url-methods.el (url-scheme-get-property): Avoid `mapc'. | ||
| 548 | |||
| 549 | * lisp/url-proxy.el (url-find-proxy-for-url): Avoid `pop'. | ||
| 550 | |||
| 551 | * lisp/url-vars.el (url-running-xemacs): Delete. | ||
| 552 | (url-gateway-unplugged): New variable. | ||
| 553 | |||
| 554 | * lisp/url-gw.el (url-open-stream): Use url-gateway-unplugged. | ||
| 555 | Comment out OS/2 stuff. | ||
| 556 | |||
| 557 | 2001-10-05 Dave Love <fx@gnu.org> | ||
| 558 | |||
| 559 | * lisp/url-mailto.el (url-mailto): Don't send auto-generated mail | ||
| 560 | without confirmation. | ||
| 561 | |||
| 562 | 2001-10-02 Dave Love <fx@gnu.org> | ||
| 563 | |||
| 564 | * lisp/url-http.el (url-http-create-request): Check cache for | ||
| 565 | proxy-obj, if defined, rather than url. | ||
| 566 | (url-http): Use dolist, not mapc (runtime cl dependency). | ||
| 567 | |||
| 568 | * lisp/url-methods.el: Maybe require cl at runtime. | ||
| 569 | (url-scheme-register-proxy): Fix fetching from environment. | ||
| 570 | Don't concat a number. | ||
| 571 | |||
| 572 | 2001-10-01 Dave Love <fx@gnu.org> | ||
| 573 | |||
| 574 | * lisp/url-parse.el: Use modern backquote syntax. | ||
| 575 | |||
| 576 | * lisp/url-vars.el (url-uncompressor-alist): Add bzip2. | ||
| 577 | (url-mail-command): Prefer compose-mail. | ||
| 578 | (tcp-binary-process-input-services): Comment out. | ||
| 579 | (url-working-buffer): New constant. | ||
| 580 | |||
| 581 | * lisp/url-util.el (url-extract-mime-headers): New function. | ||
| 582 | |||
| 583 | * lisp/url-mailto.el (url-mailto): Set source-url. Don't add | ||
| 584 | User-Agent. | ||
| 585 | |||
| 586 | 2001-09-20 Dave Love <fx@gnu.org> | ||
| 587 | |||
| 588 | * lisp/url-http.el (url-http-create-request): Don't concat a number. | ||
| 589 | |||
| 590 | 2001-06-05 Dave Love <fx@gnu.org> | ||
| 591 | |||
| 592 | * lisp/url.el (url-do-setup): Doc fix. Don't try to frob | ||
| 593 | tcp-binary-process-input-services. Remove function wrapper for lambda. | ||
| 594 | (url-retrieve): Barf with sensible message if url-type is null. | ||
| 595 | |||
| 596 | * lisp/url-http.el (url-http): Don't try to set process | ||
| 597 | coding-system here -- done in url-gw. | ||
| 598 | |||
| 599 | * lisp/url-gw.el (url-gw-inhibit-code-conversion): Remove. | ||
| 600 | (url-open-stream): Bind coding-system-for{read,write} when setting | ||
| 601 | up the connexion. Don't call url-gw-inhibit-code-conversion. | ||
| 602 | |||
| 603 | 2001-05-24 William M. Perry <wmperry@gnu.org> | ||
| 604 | |||
| 605 | * lisp/url.el (url-retrieve-synchronously): Avoid accept-process-output | ||
| 606 | in url-retrieve-synchronously. | ||
| 607 | |||
| 608 | 2001-05-23 William M. Perry <wmperry@gnu.org> | ||
| 609 | |||
| 610 | * lisp/url.el (url-retrieve-synchronously): Don't put a timeout on | ||
| 611 | accept-process-output. This is evidently causing hangs in Emacs | ||
| 612 | 21 when viewing complex pages with images or stylesheets. | ||
| 613 | www.yahoo.com is now viewable. | ||
| 614 | |||
| 615 | * lisp/url-gw.el (url-open-stream): Avoid using mule-sysdp | ||
| 616 | (mule-inhibit-code-conversion) and just have a local function that | ||
| 617 | does this minimal cruft. | ||
| 618 | (url-gw-inhibit-code-conversion): New function to turn off code | ||
| 619 | conversion in a process. | ||
| 620 | |||
| 621 | 2001-05-22 William M. Perry <wmperry@gnu.org> | ||
| 622 | |||
| 623 | * lisp/url.el (url-retrieve-synchronously): Use lexical-let so | ||
| 624 | that we can allow multiple asynch retrievals to happen at once. | ||
| 625 | (url-retrieve-synchronously): Use a much smaller timeout when | ||
| 626 | doing the accept-process-output. This gets rid of the long delays | ||
| 627 | if you are on a fast net connection and retrieve small documents | ||
| 628 | that finish asynchronously before the first accept-process-output | ||
| 629 | can be run. All hail broadband and 100Mb in the house! | ||
| 630 | (url-retrieve-synchronously): Add documentation for this function. | ||
| 631 | (url-retrieve): Ditto. | ||
| 632 | (url-mm-url): Ditto. | ||
| 633 | |||
| 634 | * lisp/url-vars.el: Replaced `HTTP/1.0' with just `HTTP' in some | ||
| 635 | documentation strings. Ok, so I'm anal. | ||
| 636 | |||
| 637 | * lisp/url-methods.el (url-scheme-methods): Add default methods | ||
| 638 | for file-directory-p and file-truename. | ||
| 639 | |||
| 640 | 2001-05-22 Dave Love <fx@gnu.org> | ||
| 641 | |||
| 642 | * lisp/url-auth.el (url-warn): Autoload. | ||
| 643 | |||
| 644 | * lisp/url-proxy.el (url-warn): Autoload. | ||
| 645 | |||
| 646 | * lisp/url-nfs.el: Fix `file-truname' typo. | ||
| 647 | |||
| 648 | * lisp/url-news.el: Require cl when compiling. | ||
| 649 | (url-warn, gnus-group-read-ephemeral-group): Autoload. | ||
| 650 | (url-nntp-default-port, url-news-default-port, url-nntp): Delete. | ||
| 651 | (url-news-fetch-newsgroup): Declare gnus-group-buffer special. | ||
| 652 | |||
| 653 | * lisp/url-util.el (mule-decode-string): Don't autoload. | ||
| 654 | (url-hexify-string): Just barf on multibyte characters. | ||
| 655 | (url-generate-unique-filename): New function. | ||
| 656 | |||
| 657 | * lisp/url-file.el (url-file): Use url-generate-unique-filename, | ||
| 658 | not mm-generate-unique-filename. | ||
| 659 | |||
| 660 | * lisp/url-http.el: Declare things special in various places. | ||
| 661 | (url-http-activate-callback): Don't set | ||
| 662 | url-http-real-after-change-function. | ||
| 663 | |||
| 664 | 2001-05-22 William M. Perry <wmperry@gnu.org> | ||
| 665 | |||
| 666 | * lisp/url-http.el (url-http-attempt-keepalives): New variable to | ||
| 667 | control whether we try to do keep-alives for our connections. | ||
| 668 | (url-http-version): New variable to control whether we advertise | ||
| 669 | ourselves as an HTTP/1.1 client or not. This can be useful for | ||
| 670 | avoiding chunked encoding, and other 1.1 features we may not have | ||
| 671 | fully implemented yet. | ||
| 672 | (url-http-create-request): Honor the new variables. | ||
| 673 | |||
| 674 | 2001-05-21 Dave Love <fx@gnu.org> | ||
| 675 | |||
| 676 | * lisp/url-vars.el (mm-mime-mule-charset-alist): Don't readjust it | ||
| 677 | in XEmacs. | ||
| 678 | (url-mime-charset-string): Don't reverse the list before sorting. | ||
| 679 | |||
| 680 | 2001-05-17 William M. Perry <wmperry@gnu.org> | ||
| 681 | |||
| 682 | * lisp/url-http.el (url-http-generic-filter): Avoid using | ||
| 683 | after-change-functions natively. There are just too many ways | ||
| 684 | that this screws up in Emacs 21. Use a filter function on the | ||
| 685 | process instead, and call the hook on | ||
| 686 | url-http-after-change-function manually. [Actually, it will work | ||
| 687 | in Emacs 21, but one problem that has been fixed in Emacs 21 | ||
| 688 | exists in Emacs 20. -- fx] | ||
| 689 | |||
| 690 | * lisp/url-vars.el (url-mime-charset-string): sort-coding-systems | ||
| 691 | does not exist on older versions of Emacs, or any version of | ||
| 692 | XEmacs. Do not call it unless it is bound. | ||
| 693 | |||
| 694 | 2001-05-17 Dave Love <fx@gnu.org> | ||
| 695 | |||
| 696 | * lisp/url-http.el (url-http-create-request): Fix non-GET requests. | ||
| 697 | |||
| 698 | 2001-05-16 Dave Love <fx@gnu.org> | ||
| 699 | |||
| 700 | * lisp/url-vars.el: Doc fixes. Require mm-util. | ||
| 701 | (url-mime-charset-string): New variable. | ||
| 702 | |||
| 703 | * lisp/url-http.el: Doc fixes. | ||
| 704 | (url-http-create-request): Rearrange how we assemble the request. | ||
| 705 | Avoid generating bogus requests with an empty real-fname. | ||
| 706 | (url-http-handle-authentication): Declare status and success special. | ||
| 707 | (url-http): Call mm-disable-multibyte. Set process buffer's | ||
| 708 | coding systems to binary. | ||
| 709 | |||
| 710 | * lisp/url-misc.el (url-data): Call mm-disable-multibyte. | ||
| 711 | |||
| 712 | * lisp/url-file.el: Don't require mule-sysdp. Fix `file-truname' typo. | ||
| 713 | (url-file-find-possibly-compressed-file): Doc fix. | ||
| 714 | (url-file): Bind coding-system-for-read. Call mm-disable-multibyte. | ||
| 715 | |||
| 716 | * lisp/url-cache.el: Don't require mule-sysdp. | ||
| 717 | (url-store-in-cache): Avoid mule-write-region-no-coding-system. | ||
| 718 | |||
| 719 | * lisp/url.el: Don't require mule-sysdp. | ||
| 720 | (url-retrieve): Only set text properties if url is a string. | ||
| 721 | |||
| 722 | 2001-05-14 Dave Love <fx@gnu.org> | ||
| 723 | |||
| 724 | * lisp/url-http.el (url-http-create-request): | ||
| 725 | Declare proxy-object, proxy-info special. | ||
| 726 | (url-http-handle-authentication): Declare success special. | ||
| 727 | |||
| 728 | 2001-05-12 Dave Love <fx@gnu.org> | ||
| 729 | |||
| 730 | * lisp/url-http.el: Revert last change. | ||
| 731 | |||
| 732 | 2001-05-10 Dave Love <fx@gnu.org> | ||
| 733 | |||
| 734 | * lisp/url-http.el (url-http-generic-after-change-function): | ||
| 735 | Make it permanent-local. | ||
| 736 | |||
| 737 | 2001-05-05 Dave Love <fx@gnu.org> | ||
| 738 | |||
| 739 | * lisp/url-http.el: Autoload some functions. | ||
| 740 | (cl): Require when compiling. | ||
| 741 | (url-http-extra-headers): Defvar when compiling. | ||
| 742 | (url-http): Treat after-change-functions as a local hook. | ||
| 743 | |||
| 744 | * lisp/url-history.el (url-parse): Require. | ||
| 745 | (url-do-setup): Autoload. | ||
| 746 | |||
| 747 | * lisp/url-gw.el: Require url-vars. Autoload some functions. | ||
| 748 | |||
| 749 | * lisp/url-file.el: Require mailcap. Require cl when compiling. | ||
| 750 | Use (featurep 'xemacs). | ||
| 751 | (url-file-build-filename): Bind pos-index. | ||
| 752 | (url-file): Call url-find-file-dired, not url-dired-find-file. | ||
| 753 | |||
| 754 | * lisp/url-dired.el: Add copyright notice. Autoload some functions. | ||
| 755 | (url-dired-minor-mode-map): Use (featurep 'xemacs). | ||
| 756 | (url-dired-find-file-mouse): Use mouse-set-point, not event-point. | ||
| 757 | (url-find-file-dired): Rename from one version of url-dired-find-file. | ||
| 758 | |||
| 759 | * lisp/url-cid.el: Don't require widget. Require mm-decode | ||
| 760 | unconditionally. | ||
| 761 | |||
| 762 | * lisp/url-util.el: Autoload mule-decode-string, | ||
| 763 | timezone-parse-date, timezone-make-date-arpa-standard. | ||
| 764 | (url-unreserved-chars): Fix list per RFC 2396. | ||
| 765 | (url-hexify-string): Maybe string-make-unibyte. | ||
| 766 | |||
| 767 | * lisp/url-news.el: Require nntp. | ||
| 768 | |||
| 769 | * lisp/url-imap.el: Require cl when compiling. Require nnimap | ||
| 770 | unconditionally. | ||
| 771 | |||
| 772 | 2001-05-04 Dave Love <fx@gnu.org> | ||
| 773 | |||
| 774 | * lisp/url-handlers.el (url-file-local-copy): Use make-temp-file, | ||
| 775 | not non-existent mailcap-generate-unique-filename. | ||
| 776 | |||
| 777 | * lisp/url-privacy.el: Require url-vars. Require cl when compiling. | ||
| 778 | |||
| 779 | * lisp/url-parse.el: Require url-vars. | ||
| 780 | Autoload url-scheme-get-property. | ||
| 781 | |||
| 782 | * lisp/url-nfs.el: Require cl when compiling. Test for XEmacs | ||
| 783 | with featurep. | ||
| 784 | |||
| 785 | * lisp/url-mailto.el: Require cl when compiling. | ||
| 786 | |||
| 787 | * lisp/url-cookie.el (url-cookie-handle-set-cookie): | ||
| 788 | Call url-parse-args, not url-util-parse-args. | ||
| 789 | |||
| 790 | * lisp/url-cache.el (url-cache-expired): Remove bogus `return'. | ||
| 791 | |||
| 792 | 2001-04-09 Dave Love <fx@gnu.org> | ||
| 793 | |||
| 794 | * lisp/mule-sysdp.el (mule-detect-coding-version) | ||
| 795 | (mule-code-convert-region, mule-inhibit-code-conversion) | ||
| 796 | (mule-write-region-no-coding-system, mule-encode-string) | ||
| 797 | (mule-decode-string, mule-truncate-string) | ||
| 798 | (mule-find-charset-region, mule-coding-system-name) | ||
| 799 | (mule-find-coding-system, mule-make-iso-character): Grok Mule 5.0. | ||
| 800 | [There must be a better way.] | ||
| 801 | (mule-coding-system-p, string-width): Use defalias. | ||
| 802 | |||
| 803 | 2001-01-03 Sam Steingold <sds@gnu.org> | ||
| 804 | |||
| 805 | * lisp/url-http.el (url-http-wait-for-headers-change-function): | ||
| 806 | set `url-http-end-of-headers' to 0 for HTTP 0.9 | ||
| 807 | |||
| 808 | 2001-01-02 Sam Steingold <sds@gnu.org> | ||
| 809 | |||
| 810 | * lisp/url-auth.el (provide): `url-auth', not `urlauth' | ||
| 811 | |||
| 812 | 2000-12-22 Dave Love <fx@gnu.org> | ||
| 813 | |||
| 814 | * lisp/url-history.el (url): Don't require (to avoid recursion). | ||
| 815 | (cl): Require when compiling. | ||
| 816 | |||
| 817 | * lisp/url-http.el (url-auth): Require. | ||
| 818 | (url-http-handle-authentication): Fix typo. | ||
| 819 | |||
| 820 | * lisp/url-cookie.el (url-cookie-setup-save-timer): Fix typo. | ||
| 821 | |||
| 822 | 2000-12-20 Dave Love <fx@gnu.org> | ||
| 823 | |||
| 824 | * lisp/url.el: Require mm-decode, mm-view when compiling. | ||
| 825 | <not (fboundp 'puthash)>: Define puthash and | ||
| 826 | autoload other has functions rather than using cl-...hash. | ||
| 827 | (url-warn): Define. | ||
| 828 | |||
| 829 | * lisp/url-ns.el, lisp/url-methods.el, lisp/url-http.el: | ||
| 830 | Avoid cl-...hash functions. | ||
| 831 | |||
| 832 | * lisp/url-history.el: Avoid cl-...hash functions. | ||
| 833 | (url): Require. | ||
| 834 | |||
| 835 | * lisp/url-gw.el, lisp/url-cookie.el: Require cl only when compiling. | ||
| 836 | |||
| 837 | 2000-10-03 William M. Perry <wmperry@aventail.com> | ||
| 838 | |||
| 839 | * lisp/url-util.el (url-get-url-at-point): Guard against 'url' | ||
| 840 | getting set to nil due to bad string matching. Subsequent matches | ||
| 841 | would then choke because we passed string-match a nil. | ||
| 842 | |||
| 843 | * lisp/url-http.el (url-http-parse-headers): Need to make the | ||
| 844 | connection as 'free' when we get a 304 response (found in cache), | ||
| 845 | or when a keep-alive conneection timed out, it would re-parse the | ||
| 846 | headers and dispatch to the callback again. Eek. | ||
| 847 | |||
| 848 | 2000-10-02 William M. Perry <wmperry@aventail.com> | ||
| 849 | |||
| 850 | * lisp/url-http.el (url-http-chunked-encoding-after-change-function): | ||
| 851 | implement chunked transfer-coding. | ||
| 852 | (url-http-create-request): We can now advertise ourselves as a 1.1 | ||
| 853 | compliant browser! | ||
| 854 | |||
| 855 | 2000-07-28 Sam Steingold <sds@gnu.org> | ||
| 856 | |||
| 857 | * lisp/url-methods.el (url-scheme-default-loader): `callback' and | ||
| 858 | `cbargs' are optional args (for calling from w3). | ||
| 859 | (url-scheme-register-proxy): Typos fixes: `url-match' replaced | ||
| 860 | with `string-match' and `protocol' with `scheme'. | ||
| 861 | |||
| 862 | 2000-07-18 Sam Steingold <sds@gnu.org> | ||
| 863 | |||
| 864 | * lisp/url-handlers.el (require 'url): For url-retrieve-synchronously. | ||
| 865 | * lisp/url-history.el (url-history-save-interval): Avoid circularity. | ||
| 866 | |||
| 867 | 2000-07-10 William M. Perry <wmperry@aventail.com> | ||
| 868 | |||
| 869 | * lisp/mule-sysdp.el (mule-make-iso-character): If we are not in | ||
| 870 | mule, and the character requested is > 255, then return "~" | ||
| 871 | instead of letting whoever call us signal an error when they try | ||
| 872 | to insert the character. | ||
| 873 | (mule-make-iso-character): Also wrap the whole thing in a | ||
| 874 | condition case and return "~" on error, in case make-char bombs on us. | ||
| 875 | |||
| 876 | * lisp/url-cid.el (url-cid): Fix stupid mistake in the loader | ||
| 877 | for cid parts. | ||
| 878 | |||
| 879 | * lisp/url-util.el (url-display-percentage): New routine that uses | ||
| 880 | the progress bar under XEmacs if available. Looks very sexy under | ||
| 881 | XEmacs/GTK hacked to use the GNOME statusbar. | ||
| 882 | |||
| 883 | * lisp/url-http.el | ||
| 884 | (url-http-content-length-after-change-function): Use new function | ||
| 885 | url-display-percentage instead of url-lazy-message. | ||
| 886 | |||
| 887 | 2000-01-27 William M. Perry <wmperry@aventail.com> | ||
| 888 | |||
| 889 | * lisp/url-file.el (url-file-build-filename): Work around for | ||
| 890 | differences in ange-ftp / efs handling of port numbers other than 21. | ||
| 891 | |||
| 892 | 1999-12-24 William M. Perry <wmperry@aventail.com> | ||
| 893 | |||
| 894 | * lisp/url-irc.el: Added pointer to draft specification for the | ||
| 895 | IRC URL so people don't think I'm crazy. | ||
| 896 | |||
| 897 | * configure.in: Checks to make sure that Gnus was found, since we | ||
| 898 | HAVE to have it now. Removed conditional compilation of url-cid.el | ||
| 899 | |||
| 900 | 1999-12-16 Eric Marsden <emarsden@mail.dotcom.fr> | ||
| 901 | |||
| 902 | * lisp/url-util.el (url-get-url-at-point): Allow URLs wrapped in | ||
| 903 | () to have periods at the end of the chunk. | ||
| 904 | |||
| 905 | 1999-12-14 William M. Perry <wmperry@aventail.com> | ||
| 906 | |||
| 907 | * lisp/url-misc.el (url-man): Implement `man' URL types. | ||
| 908 | (url-info): Autoload. | ||
| 909 | (url-man): Ditto. | ||
| 910 | (url-rlogin): Ditto. | ||
| 911 | (url-telnet): Ditto. | ||
| 912 | (url-tn3270): Ditto. | ||
| 913 | (url-generic-emulator-loader): Ditto. | ||
| 914 | |||
| 915 | * lisp/url-https.el (url-https-create-secure-wrapper): New macro | ||
| 916 | to wrap arbitrary `http' methods with the appropriate magic to | ||
| 917 | turn SSL on. | ||
| 918 | (file-exists-p): Use it. | ||
| 919 | (file-readable-p): Use it. | ||
| 920 | (file-attributes): Use it. | ||
| 921 | |||
| 922 | * lisp/url-news.el (url-news-fetch-newsgroup): When building the | ||
| 923 | server spec for Gnus, make sure we set | ||
| 924 | nntp-open-connection-function directly, so that other news-related | ||
| 925 | functions above us can set it. | ||
| 926 | (url-snews): Implement `snews' URLs using `nntp-open-ssl-stream'. | ||
| 927 | (url-nntp): Autoload. | ||
| 928 | (url-snews): Ditto. | ||
| 929 | (url-news): Ditto. | ||
| 930 | |||
| 931 | 1999-12-12 William M. Perry <wmperry@aventail.com> | ||
| 932 | |||
| 933 | * lisp/url-http.el (url-http-parse-response): New function to | ||
| 934 | parse just the HTTP response code out of the buffer, without | ||
| 935 | taking any other actions. | ||
| 936 | (url-http-wait-for-headers-change-function): Use it here when we | ||
| 937 | know we have an HTTP/1.x response. | ||
| 938 | (url-http-wait-for-headers-change-function): Special case a | ||
| 939 | response code of '304' or there could be some delays waiting for | ||
| 940 | keep-alives to time out on cached documents with no known | ||
| 941 | content-length on the server. | ||
| 942 | |||
| 943 | 1999-12-11 William M. Perry <wmperry@aventail.com> | ||
| 944 | |||
| 945 | * aclocal.m4 (AC_CHECK_CUSTOMLOADS): Don't use $(EMACS) in here - | ||
| 946 | the Makefile does that for us. We just need to provide what files | ||
| 947 | to load/functions to run. | ||
| 948 | |||
| 949 | * lisp/url-imap.el (url-imap-open-host): Need to bind | ||
| 950 | nnimap-server-buffer or `nnimap-open-server' chokes trying to use | ||
| 951 | the current buffer as the IMAP server buffer, which fails miserably. | ||
| 952 | |||
| 953 | 1999-12-11 Simon Josefsson <jas@pdc.kth.se> | ||
| 954 | |||
| 955 | * lisp/url-imap.el: Initial (rough) implementation for IMAP urls. | ||
| 956 | |||
| 957 | 1999-12-11 William M. Perry <wmperry@aventail.com> | ||
| 958 | |||
| 959 | * lisp/url-file.el (url-file-asynch-callback): Make the checks for | ||
| 960 | ange-ftp vs. efs calling semantics consistent, so that if someone | ||
| 961 | has NEITHER of them loaded, everything should still work. | ||
| 962 | |||
| 963 | * lisp/url-handlers.el (url-copy-file): Autoload. | ||
| 964 | (url-file-local-copy): Ditto. | ||
| 965 | (url-insert-file-contents): Ditto. | ||
| 966 | (url-setup-file-name-handlers): Ditto. | ||
| 967 | |||
| 968 | 1999-12-10 William M. Perry <wmperry@aventail.com> | ||
| 969 | |||
| 970 | * lisp/url-http.el (mail-parse): Since we use functions from here, | ||
| 971 | we should require it, eh? | ||
| 972 | |||
| 973 | 1999-12-10 01:57:01 Shenghuo ZHU <zsh@cs.rochester.edu> | ||
| 974 | |||
| 975 | * lisp/url-cookie.el (url-cookie-multiple-line): One line cookie | ||
| 976 | if nil. | ||
| 977 | (url-cookie-generate-header-lines): Use it. | ||
| 978 | |||
| 979 | 1999-12-06 William M. Perry <wmperry@aventail.com> | ||
| 980 | |||
| 981 | * lisp/mule-sysdp.el (mule-code-convert-region): Deal with Mule | ||
| 982 | 4.1 gracefully | ||
| 983 | |||
| 984 | * lisp/url-news.el: Reimplemented news and nntp URL support. | ||
| 985 | No longer bothers to check for outdated Gnus versions, since this | ||
| 986 | will not work without them anyway. | ||
| 987 | |||
| 988 | 1999-12-05 Dave Love <fx@gnu.org> | ||
| 989 | |||
| 990 | * lisp/url-methods.el, lisp/url-proxy.el, lisp/url-util.el, | ||
| 991 | lisp/url.el: | ||
| 992 | Require url-parse. | ||
| 993 | |||
| 994 | 1999-12-05 William M. Perry <wmperry@aventail.com> | ||
| 995 | |||
| 996 | * lisp/url-http.el (url-http-find-free-connection): Spit out a | ||
| 997 | message when we have to contact a host so the user always gets | ||
| 998 | at least some feedback. | ||
| 999 | |||
| 1000 | * lisp/url-expand.el (url-expander-remove-relative-links): Moved and | ||
| 1001 | renamed function. | ||
| 1002 | (url-default-expander): Use it. | ||
| 1003 | |||
| 1004 | * lisp/url-file.el (url-file-asynch-callback): Deal with just efs-auto | ||
| 1005 | as well as efs. | ||
| 1006 | (url-file): Add default content-type of application/octet-stream if | ||
| 1007 | none known. | ||
| 1008 | (url-file): Correct bad call to url-host-is-local-p | ||
| 1009 | |||
| 1010 | * lisp/url-handlers.el (url-insert-file-contents): Emacs doesn't | ||
| 1011 | like buffer-substring with nil arguments. | ||
| 1012 | (url-copy-file): Use mm-destroy-parts instead of just killing | ||
| 1013 | the buffer. Use defined interfaces when available! | ||
| 1014 | (url-insert-file-contents): Ditto. | ||
| 1015 | |||
| 1016 | * lisp/url-http.el (url-http-create-request): Lots of changes to | ||
| 1017 | get proxying working. | ||
| 1018 | |||
| 1019 | * lisp/url-methods.el (url-scheme-register-proxy): New function to | ||
| 1020 | find and register a proxy for a specific scheme. | ||
| 1021 | (url-scheme-get-property): Use it when we load a URL scheme for | ||
| 1022 | the first time. | ||
| 1023 | |||
| 1024 | * lisp/url-util.el (url-get-url-at-point): Re-integrated | ||
| 1025 | |||
| 1026 | 1999-12-04 William M. Perry <wmperry@aventail.com> | ||
| 1027 | |||
| 1028 | * lisp/url-file.el (url-file): Signal an error if | ||
| 1029 | url-file-build-filename could not find the filename. | ||
| 1030 | |||
| 1031 | 1999-12-01 William M. Perry <wmperry@aventail.com> | ||
| 1032 | |||
| 1033 | * lisp/url.el (url-retrieve): Use url-history-update-url instead | ||
| 1034 | of manipulating the hash table directly. | ||
| 1035 | |||
| 1036 | * lisp/url-history.el (url-completion-function): New function to | ||
| 1037 | use for reading a URL with completion. | ||
| 1038 | (url-history-update-url): New function to hide the hashtable | ||
| 1039 | implementation from people inserting things into the history. | ||
| 1040 | |||
| 1041 | 1999-11-30 William M. Perry <wmperry@aventail.com> | ||
| 1042 | |||
| 1043 | * lisp/url-proxy.el (url-proxy): Minor tweaks to get proxy support | ||
| 1044 | working. | ||
| 1045 | |||
| 1046 | * lisp/url-parse.el (url-generic-parse-url): Fix bad call to | ||
| 1047 | url-parse-args, which had changed the type of arguments it expects. | ||
| 1048 | |||
| 1049 | * lisp/url-handlers.el (url-insert-file-contents): Ditto. | ||
| 1050 | (url-copy-file): Ditto. | ||
| 1051 | |||
| 1052 | * lisp/url.el (url-mm-callback): Use mm-destroy-parts instead of | ||
| 1053 | just killing the buffer. Use defined interfaces when available! | ||
| 1054 | |||
| 1055 | * aclocal.m4 (AC_EMACS_LISP): Correctly redirect things out to | ||
| 1056 | AC_FD_CC so they show up in config.log | ||
| 1057 | (AC_EMACS_CHECK_LIB): Duh, fixed stupid mistake that would make | ||
| 1058 | this always return 't' instead of 'yes' on successfully finding | ||
| 1059 | the library. | ||
| 1060 | |||
| 1061 | * lisp/url-http.el (url-http-parse-headers): Add some | ||
| 1062 | DAV-specific error codes. | ||
| 1063 | |||
| 1064 | * lisp/url.el (url-retrieve): Allow pre-parsed URLs to be passed in. | ||
| 1065 | (url-retrieve-synchronously): Duh, make this function actually | ||
| 1066 | work again. Numerous problems with it, including variable name | ||
| 1067 | collisions - I love dynamically scoped lisps! | ||
| 1068 | |||
| 1069 | * lisp/url-nfs.el (url-nfs-create-wrapper): New function to create | ||
| 1070 | wrappers onto the appropriate file-based URLs for file-name-handlers. | ||
| 1071 | |||
| 1072 | * lisp/url-ftp.el: Moved the FTP stuff into it's own file - it | ||
| 1073 | might get messy with file-name-handlers and things. | ||
| 1074 | |||
| 1075 | * lisp/url-http.el (url-http-clean-headers): Fix problem when | ||
| 1076 | using 'HEAD' requests. Thou shalt not change the length of the | ||
| 1077 | region during an after-change-function. | ||
| 1078 | |||
| 1079 | * lisp/url-methods.el (url-scheme-methods): New variable that | ||
| 1080 | holds a list of the methods/variables we look for in a URL scheme. | ||
| 1081 | (url-scheme-get-property): Use it. | ||
| 1082 | |||
| 1083 | 1999-11-29 William M. Perry <wmperry@aventail.com> | ||
| 1084 | |||
| 1085 | * lisp/url-http.el (url-http-file-attributes): Reimplement. | ||
| 1086 | (url-http-file-exists-p): Ditto. | ||
| 1087 | |||
| 1088 | * lisp/url-nfs.el: Reimplemented the `nfs' URL scheme. | ||
| 1089 | |||
| 1090 | * lisp/url-file.el (url-file-create-wrapper): New macro to create | ||
| 1091 | file-name-handler stubs for all the FTP/FILE stuff. | ||
| 1092 | |||
| 1093 | * lisp/url-handlers.el: New file to handle file-name-handler-alist | ||
| 1094 | cruft. Generic interface on top of functions that each URL | ||
| 1095 | loader provides, if capable. | ||
| 1096 | |||
| 1097 | 1999-11-27 William M. Perry <wmperry@aventail.com> | ||
| 1098 | |||
| 1099 | * lisp/url-https.el: Implemented HTTPS support. | ||
| 1100 | |||
| 1101 | 1999-11-26 William M. Perry <wmperry@aventail.com> | ||
| 1102 | |||
| 1103 | * url-privacy.el (url-setup-privacy-info): Don't rely on | ||
| 1104 | device-type being defined. Not going to bother redistributing | ||
| 1105 | devices.el for just one function. | ||
| 1106 | |||
| 1107 | * url-methods.el (url-scheme-get-property): Emacs does not have | ||
| 1108 | the 3rd-argument to plist-get to specify the default. *sigh* | ||
| 1109 | |||
| 1110 | * url-dired.el (add-minor-mode): Add definition for Emacs. | ||
| 1111 | |||
| 1112 | * url-http.el (url-http-generic-after-change-function): | ||
| 1113 | New function, since Emacs does not allow you to change the | ||
| 1114 | after-change-functions variable from within a function run by | ||
| 1115 | said hook. This just hands it off to the REAL function. | ||
| 1116 | Side-effect is that this now works on Emacs at all. :) | ||
| 1117 | |||
| 1118 | * Initial checkin of rewritten URL library. | ||
| 1119 | |||
| 1120 | Local variables: | ||
| 1121 | coding: utf-8 | ||
| 1122 | End: | ||
| 1123 | |||
| 1124 | ;; arch-tag: ac117078-3091-4533-be93-098162ac2926 | ||
diff --git a/lisp/vc-rcs.el b/lisp/vc-rcs.el index 02dc093ed5a..5d020e93b6d 100644 --- a/lisp/vc-rcs.el +++ b/lisp/vc-rcs.el | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | ;; Author: FSF (see vc.el for full credits) | 5 | ;; Author: FSF (see vc.el for full credits) |
| 6 | ;; Maintainer: Andre Spiegel <spiegel@gnu.org> | 6 | ;; Maintainer: Andre Spiegel <spiegel@gnu.org> |
| 7 | 7 | ||
| 8 | ;; $Id: vc-rcs.el,v 1.38 2003/09/01 15:45:17 miles Exp $ | 8 | ;; $Id$ |
| 9 | 9 | ||
| 10 | ;; This file is part of GNU Emacs. | 10 | ;; This file is part of GNU Emacs. |
| 11 | 11 | ||
| @@ -198,10 +198,14 @@ When VERSION is given, perform check for that version." | |||
| 198 | 198 | ||
| 199 | (defun vc-rcs-checkout-model (file) | 199 | (defun vc-rcs-checkout-model (file) |
| 200 | "RCS-specific version of `vc-checkout-model'." | 200 | "RCS-specific version of `vc-checkout-model'." |
| 201 | (vc-rcs-consult-headers file) | 201 | (let (result) |
| 202 | (or (vc-file-getprop file 'vc-checkout-model) | 202 | (when vc-consult-headers |
| 203 | (progn (vc-rcs-fetch-master-state file) | 203 | (vc-file-setprop file 'vc-checkout-model nil) |
| 204 | (vc-file-getprop file 'vc-checkout-model)))) | 204 | (vc-rcs-consult-headers file) |
| 205 | (setq result (vc-file-getprop file 'vc-checkout-model))) | ||
| 206 | (or result | ||
| 207 | (progn (vc-rcs-fetch-master-state file) | ||
| 208 | (vc-file-getprop file 'vc-checkout-model))))) | ||
| 205 | 209 | ||
| 206 | (defun vc-rcs-workfile-unchanged-p (file) | 210 | (defun vc-rcs-workfile-unchanged-p (file) |
| 207 | "RCS-specific implementation of vc-workfile-unchanged-p." | 211 | "RCS-specific implementation of vc-workfile-unchanged-p." |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 970ecc4d494..a27d59b72fa 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,32 @@ | |||
| 1 | 2004-07-06 Thien-Thi Nguyen <ttn@gnu.org> | ||
| 2 | |||
| 3 | * os.texi: Update copyright. | ||
| 4 | (Session Management): Grammar fix. | ||
| 5 | Clarify which Emacs does the restarting. | ||
| 6 | Use @samp for *scratch* buffer. | ||
| 7 | |||
| 8 | 2004-07-04 Alan Mackenzie <acm@muc.de> | ||
| 9 | |||
| 10 | * frames.texi (Input Focus): Add documentation for | ||
| 11 | `select-frame-set-input-focus'. Replace refs to non-existent | ||
| 12 | `switch-frame' with `select-frame'. Minor corrections and tidying | ||
| 13 | up of text-only terminal stuff. | ||
| 14 | |||
| 15 | 2004-07-02 Richard M. Stallman <rms@gnu.org> | ||
| 16 | |||
| 17 | * files.texi (Saving Buffers): Cleanup write-contents-function. | ||
| 18 | (Magic File Names): Cleanup file-remote-p. | ||
| 19 | |||
| 20 | 2004-07-02 Kai Grossjohann <kai@emptydomain.de> | ||
| 21 | |||
| 22 | * files.texi (Magic File Names): `file-remote-p' returns an | ||
| 23 | identifier of the remote system, not just t. | ||
| 24 | |||
| 25 | 2004-07-02 David Kastrup <dak@gnu.org> | ||
| 26 | |||
| 27 | * searching.texi (Entire Match Data): Add explanation about new | ||
| 28 | match-data behavior when @var{integers} is non-nil. | ||
| 29 | |||
| 1 | 2004-06-24 Richard M. Stallman <rms@gnu.org> | 30 | 2004-06-24 Richard M. Stallman <rms@gnu.org> |
| 2 | 31 | ||
| 3 | * commands.texi (Misc Events): Describe usr1-signal, usr2-signal event. | 32 | * commands.texi (Misc Events): Describe usr1-signal, usr2-signal event. |
diff --git a/lispref/files.texi b/lispref/files.texi index 10d6c808625..4fe2d8567d3 100644 --- a/lispref/files.texi +++ b/lispref/files.texi | |||
| @@ -415,17 +415,17 @@ Even though this is not a normal hook, you can use @code{add-hook} and | |||
| 415 | 415 | ||
| 416 | @c Emacs 19 feature | 416 | @c Emacs 19 feature |
| 417 | @defvar write-contents-functions | 417 | @defvar write-contents-functions |
| 418 | This works just like @code{write-file-functions}, but it is intended for | 418 | This works just like @code{write-file-functions}, but it is intended |
| 419 | hooks that pertain to the contents of the file, as opposed to hooks that | 419 | for hooks that pertain to the buffer's contents, not to the particular |
| 420 | pertain to the file's name or location. Such hooks are usually set up by | 420 | visited file or its location. Such hooks are usually set up by major |
| 421 | major modes, as buffer-local bindings for this variable. If any of the | 421 | modes, as buffer-local bindings for this variable. This variable |
| 422 | functions in this hook returns non-@code{nil}, the file is considered | 422 | automatically becomes buffer-local whenever it is set; switching to a |
| 423 | already written and the rest are not called and neither are the functions | 423 | new major mode always resets this variable, but calling |
| 424 | in @code{write-file-functions}. | 424 | @code{set-visited-file-name} does not. |
| 425 | 425 | ||
| 426 | This variable automatically becomes buffer-local whenever it is set; | 426 | If any of the functions in this hook returns non-@code{nil}, the file |
| 427 | switching to a new major mode always resets this variable, but | 427 | is considered already written and the rest are not called and neither |
| 428 | calling @code{set-visited-file-name} does not. | 428 | are the functions in @code{write-file-functions}. |
| 429 | @end defvar | 429 | @end defvar |
| 430 | 430 | ||
| 431 | @defopt before-save-hook | 431 | @defopt before-save-hook |
| @@ -2646,7 +2646,22 @@ of the local copy file. | |||
| 2646 | @end defun | 2646 | @end defun |
| 2647 | 2647 | ||
| 2648 | @defun file-remote-p filename | 2648 | @defun file-remote-p filename |
| 2649 | This function returns @code{t} if @var{filename} is a remote file. | 2649 | This function tests whether @var{filename} is a remote file. If |
| 2650 | @var{filename} is local (not remote), the return value is @code{nil}. | ||
| 2651 | If @var{filename} is indeed remote, the return value is a string that | ||
| 2652 | identifies the remote system. | ||
| 2653 | |||
| 2654 | This identifier string may include a host name, a user name, and | ||
| 2655 | characters designating the method used to access the remote system. | ||
| 2656 | For example, the remote identifier string for the filename | ||
| 2657 | @code{/ssh:user@@host:/some/file} is @code{/ssh:user@@host:}. | ||
| 2658 | |||
| 2659 | If @code{file-remote-p} returns the same identifier for two different | ||
| 2660 | filenames, that means they are stored on the same file system and can | ||
| 2661 | be accessed locally with respect to each other. This means, for | ||
| 2662 | example, that it is possible to start a remote process accessing both | ||
| 2663 | files at the same time. Implementors of file handlers need to ensure | ||
| 2664 | this principle is valid. | ||
| 2650 | @end defun | 2665 | @end defun |
| 2651 | 2666 | ||
| 2652 | @defun unhandled-file-name-directory filename | 2667 | @defun unhandled-file-name-directory filename |
diff --git a/lispref/frames.texi b/lispref/frames.texi index fe3bca7c119..24540f471f8 100644 --- a/lispref/frames.texi +++ b/lispref/frames.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002 | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2002, 2004 |
| 4 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 5 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../info/frames | 6 | @setfilename ../info/frames |
| @@ -996,19 +996,28 @@ This function returns the selected frame. | |||
| 996 | Some window systems and window managers direct keyboard input to the | 996 | Some window systems and window managers direct keyboard input to the |
| 997 | window object that the mouse is in; others require explicit clicks or | 997 | window object that the mouse is in; others require explicit clicks or |
| 998 | commands to @dfn{shift the focus} to various window objects. Either | 998 | commands to @dfn{shift the focus} to various window objects. Either |
| 999 | way, Emacs automatically keeps track of which frame has the focus. | 999 | way, Emacs automatically keeps track of which frame has the focus. To |
| 1000 | switch to a different frame from a lisp function, call | ||
| 1001 | @code{select-frame-set-input-focus}. | ||
| 1000 | 1002 | ||
| 1001 | Lisp programs can also switch frames ``temporarily'' by calling the | 1003 | Lisp programs can also switch frames ``temporarily'' by calling the |
| 1002 | function @code{select-frame}. This does not alter the window system's | 1004 | function @code{select-frame}. This does not alter the window system's |
| 1003 | concept of focus; rather, it escapes from the window manager's control | 1005 | concept of focus; rather, it escapes from the window manager's control |
| 1004 | until that control is somehow reasserted. | 1006 | until that control is somehow reasserted. |
| 1005 | 1007 | ||
| 1006 | When using a text-only terminal, only the selected terminal frame is | 1008 | When using a text-only terminal, only one frame can be displayed at a |
| 1007 | actually displayed on the terminal. @code{switch-frame} is the only way | 1009 | time on the terminal, so @code{select-frame} actually displays the |
| 1008 | to switch frames, and the change lasts until overridden by a subsequent | 1010 | newly selected frame. This frame remains displayed until a subsequent |
| 1009 | call to @code{switch-frame}. Each terminal screen except for the | 1011 | call to @code{select-frame} or @code{select-frame-set-input-focus}. |
| 1010 | initial one has a number, and the number of the selected frame appears | 1012 | Each terminal frame has a number which appears in the mode line before |
| 1011 | in the mode line before the buffer name (@pxref{Mode Line Variables}). | 1013 | the buffer name (@pxref{Mode Line Variables}). |
| 1014 | |||
| 1015 | @defun select-frame-set-input-focus frame | ||
| 1016 | This function makes @var{frame} the selected frame, raises it (should | ||
| 1017 | it happen to be obscured by other frames) and tries to give it the X | ||
| 1018 | server's focus. On a text-only terminal, the new frame gets displayed | ||
| 1019 | on the entire terminal screen. | ||
| 1020 | @end defun | ||
| 1012 | 1021 | ||
| 1013 | @c ??? This is not yet implemented properly. | 1022 | @c ??? This is not yet implemented properly. |
| 1014 | @defun select-frame frame | 1023 | @defun select-frame frame |
diff --git a/lispref/os.texi b/lispref/os.texi index b5814372df9..d52464e7409 100644 --- a/lispref/os.texi +++ b/lispref/os.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999 | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2004 |
| 4 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 5 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../info/os | 6 | @setfilename ../info/os |
| @@ -2062,16 +2062,16 @@ Emacs supports saving state by using a hook called | |||
| 2062 | @code{emacs-save-session-functions}. Each function in this hook is | 2062 | @code{emacs-save-session-functions}. Each function in this hook is |
| 2063 | called when the session manager tells Emacs that the window system is | 2063 | called when the session manager tells Emacs that the window system is |
| 2064 | shutting down. The functions are called with the current buffer set | 2064 | shutting down. The functions are called with the current buffer set |
| 2065 | to a temporary buffer. Each functions can use @code{insert} to add | 2065 | to a temporary buffer. Each function can use @code{insert} to add |
| 2066 | Lisp code to this buffer. At the end, Emacs saves the buffer in a | 2066 | Lisp code to this buffer. At the end, Emacs saves the buffer in a |
| 2067 | file that Emacs will load in order to restart the saved session. | 2067 | file that another Emacs will later load in order to restart the saved session. |
| 2068 | 2068 | ||
| 2069 | If a function in @code{emacs-save-session-functions} returns | 2069 | If a function in @code{emacs-save-session-functions} returns |
| 2070 | non-@code{nil}, Emacs tells the session manager to cancel the | 2070 | non-@code{nil}, Emacs tells the session manager to cancel the |
| 2071 | shutdown. | 2071 | shutdown. |
| 2072 | @end defvar | 2072 | @end defvar |
| 2073 | 2073 | ||
| 2074 | Here is an example that just inserts some text into *scratch* when | 2074 | Here is an example that just inserts some text into @samp{*scratch*} when |
| 2075 | Emacs is restarted by the session manager. | 2075 | Emacs is restarted by the session manager. |
| 2076 | 2076 | ||
| 2077 | @example | 2077 | @example |
diff --git a/lispref/searching.texi b/lispref/searching.texi index d18587ccecb..4a2703fd640 100644 --- a/lispref/searching.texi +++ b/lispref/searching.texi | |||
| @@ -1459,8 +1459,11 @@ corresponds to @code{(match-end @var{n})}. | |||
| 1459 | All the elements are markers or @code{nil} if matching was done on a | 1459 | All the elements are markers or @code{nil} if matching was done on a |
| 1460 | buffer and all are integers or @code{nil} if matching was done on a | 1460 | buffer and all are integers or @code{nil} if matching was done on a |
| 1461 | string with @code{string-match}. If @var{integers} is | 1461 | string with @code{string-match}. If @var{integers} is |
| 1462 | non-@code{nil}, then all elements are integers or @code{nil}, even if | 1462 | non-@code{nil}, then the elements are integers or @code{nil}, even if |
| 1463 | matching was done on a buffer. Also, @code{match-beginning} and | 1463 | matching was done on a buffer. In that case, the buffer itself is |
| 1464 | appended as an additional element at the end of the list | ||
| 1465 | to facilitate complete restoration of the match data. Also, | ||
| 1466 | @code{match-beginning} and | ||
| 1464 | @code{match-end} always return integers or @code{nil}. | 1467 | @code{match-end} always return integers or @code{nil}. |
| 1465 | 1468 | ||
| 1466 | If @var{reuse} is non-@code{nil}, it should be a list. In that case, | 1469 | If @var{reuse} is non-@code{nil}, it should be a list. In that case, |
diff --git a/man/ChangeLog b/man/ChangeLog index 288cd00386a..5473f8ff834 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2004-07-02 Juri Linkov <juri@jurta.org> | ||
| 2 | |||
| 3 | * pcl-cvs.texi (Viewing differences): Add `d r'. | ||
| 4 | |||
| 5 | 2004-07-01 Juri Linkov <juri@jurta.org> | ||
| 6 | |||
| 7 | * search.texi (Incremental Search): Add C-M-w, C-M-y, M-%, C-M-%, M-e. | ||
| 8 | (Regexp Search): Add M-r. | ||
| 9 | |||
| 10 | 2004-06-30 Luc Teirlinck <teirllm@auburn.edu> | ||
| 11 | |||
| 12 | * makefile.w32-in (EMACSSOURCES): Remove emacs-xtra. | ||
| 13 | |||
| 1 | 2004-06-29 Jesper Harder <harder@ifa.au.dk> | 14 | 2004-06-29 Jesper Harder <harder@ifa.au.dk> |
| 2 | 15 | ||
| 3 | * ses.texi, viper.texi, search.texi, flymake.texi, faq.texi: | 16 | * ses.texi, viper.texi, search.texi, flymake.texi, faq.texi: |
diff --git a/man/makefile.w32-in b/man/makefile.w32-in index 45f890fd07a..d5efdc1e361 100644 --- a/man/makefile.w32-in +++ b/man/makefile.w32-in | |||
| @@ -67,7 +67,6 @@ ENVADD = $(srcdir)\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \ | |||
| 67 | 67 | ||
| 68 | EMACSSOURCES= \ | 68 | EMACSSOURCES= \ |
| 69 | $(srcdir)/emacs.texi \ | 69 | $(srcdir)/emacs.texi \ |
| 70 | $(srcdir)/emacs-xtra.texi \ | ||
| 71 | $(srcdir)/doclicense.texi \ | 70 | $(srcdir)/doclicense.texi \ |
| 72 | $(srcdir)/screen.texi \ | 71 | $(srcdir)/screen.texi \ |
| 73 | $(srcdir)/commands.texi \ | 72 | $(srcdir)/commands.texi \ |
diff --git a/man/pcl-cvs.texi b/man/pcl-cvs.texi index 2bd6703dac6..a99cd39a8d9 100644 --- a/man/pcl-cvs.texi +++ b/man/pcl-cvs.texi | |||
| @@ -1025,11 +1025,15 @@ This runs @code{cvs-mode-ignore}. | |||
| 1025 | @kindex =@r{--run @samp{cvs diff}} | 1025 | @kindex =@r{--run @samp{cvs diff}} |
| 1026 | @kindex db@r{--diff against base version} | 1026 | @kindex db@r{--diff against base version} |
| 1027 | @kindex dh@r{--diff against head of repository} | 1027 | @kindex dh@r{--diff against head of repository} |
| 1028 | @kindex dr@r{--diff between base and head of repository} | ||
| 1028 | @kindex dv@r{--diff against vendor branch} | 1029 | @kindex dv@r{--diff against vendor branch} |
| 1030 | @kindex dy@r{--diff against yesterday's head} | ||
| 1029 | @findex cvs-mode-diff | 1031 | @findex cvs-mode-diff |
| 1030 | @findex cvs-mode-diff-backup | 1032 | @findex cvs-mode-diff-backup |
| 1031 | @findex cvs-mode-diff-head | 1033 | @findex cvs-mode-diff-head |
| 1034 | @findex cvs-mode-diff-repository | ||
| 1032 | @findex cvs-mode-diff-vendor | 1035 | @findex cvs-mode-diff-vendor |
| 1036 | @findex cvs-mode-diff-yesterday | ||
| 1033 | @vindex cvs-invert-ignore-marks@r{ (variable)} | 1037 | @vindex cvs-invert-ignore-marks@r{ (variable)} |
| 1034 | 1038 | ||
| 1035 | @table @kbd | 1039 | @table @kbd |
| @@ -1053,6 +1057,13 @@ Display a @samp{cvs diff} between the selected files and the head | |||
| 1053 | revision in the repository (the most recent version on the current | 1057 | revision in the repository (the most recent version on the current |
| 1054 | branch) (@code{cvs-mode-diff-head}).@refill | 1058 | branch) (@code{cvs-mode-diff-head}).@refill |
| 1055 | 1059 | ||
| 1060 | @item d r | ||
| 1061 | Display a @samp{cvs diff} between the base revision of the selected | ||
| 1062 | files and the head revision in the repository. This displays the | ||
| 1063 | changes anyone has committed to the repository since you last executed | ||
| 1064 | "checkout", "update" or "commit". | ||
| 1065 | (@code{cvs-mode-diff-repository}).@refill | ||
| 1066 | |||
| 1056 | @item d v | 1067 | @item d v |
| 1057 | Display a @samp{cvs diff} between the selected files and the head | 1068 | Display a @samp{cvs diff} between the selected files and the head |
| 1058 | revision of the vendor branch in the repository. | 1069 | revision of the vendor branch in the repository. |
diff --git a/man/search.texi b/man/search.texi index 43d6af70cf5..f07976f9aa2 100644 --- a/man/search.texi +++ b/man/search.texi | |||
| @@ -78,7 +78,7 @@ would exit the search and then move to the beginning of the line. | |||
| 78 | @key{RET} is necessary only if the next command you want to type is a | 78 | @key{RET} is necessary only if the next command you want to type is a |
| 79 | printing character, @key{DEL}, @key{RET}, or another character that is | 79 | printing character, @key{DEL}, @key{RET}, or another character that is |
| 80 | special within searches (@kbd{C-q}, @kbd{C-w}, @kbd{C-r}, @kbd{C-s}, | 80 | special within searches (@kbd{C-q}, @kbd{C-w}, @kbd{C-r}, @kbd{C-s}, |
| 81 | @kbd{C-y}, @kbd{M-y}, @kbd{M-r}, @kbd{M-s}, and some other | 81 | @kbd{C-y}, @kbd{M-y}, @kbd{M-r}, @kbd{M-c}, @kbd{M-e}, and some other |
| 82 | meta-characters). | 82 | meta-characters). |
| 83 | 83 | ||
| 84 | Sometimes you search for @samp{FOO} and find one, but not the one you | 84 | Sometimes you search for @samp{FOO} and find one, but not the one you |
| @@ -95,7 +95,9 @@ incremental search, and the second @kbd{C-s} means ``search again.'' | |||
| 95 | To reuse earlier search strings, use the @dfn{search ring}. The | 95 | To reuse earlier search strings, use the @dfn{search ring}. The |
| 96 | commands @kbd{M-p} and @kbd{M-n} move through the ring to pick a search | 96 | commands @kbd{M-p} and @kbd{M-n} move through the ring to pick a search |
| 97 | string to reuse. These commands leave the selected search ring element | 97 | string to reuse. These commands leave the selected search ring element |
| 98 | in the minibuffer, where you can edit it. Type @kbd{C-s} or @kbd{C-r} | 98 | in the minibuffer, where you can edit it. To edit the current search |
| 99 | string in the minibuffer without replacing it with items from the | ||
| 100 | search ring, type @kbd{M-e}. Type @kbd{C-s} or @kbd{C-r} | ||
| 99 | to terminate editing the string and search for it. | 101 | to terminate editing the string and search for it. |
| 100 | 102 | ||
| 101 | If your string is not found at all, the echo area says @samp{Failing | 103 | If your string is not found at all, the echo area says @samp{Failing |
| @@ -181,7 +183,7 @@ a key runs a command (@code{isearch-backward}) to search backward. A | |||
| 181 | backward search finds matches that are entirely before the starting | 183 | backward search finds matches that are entirely before the starting |
| 182 | point, just as a forward search finds matches that begin after it. | 184 | point, just as a forward search finds matches that begin after it. |
| 183 | 185 | ||
| 184 | The characters @kbd{C-y} and @kbd{C-w} can be used in incremental | 186 | The characters @kbd{C-w} and @kbd{C-y} can be used in incremental |
| 185 | search to grab text from the buffer into the search string. This | 187 | search to grab text from the buffer into the search string. This |
| 186 | makes it convenient to search for another occurrence of text at point. | 188 | makes it convenient to search for another occurrence of text at point. |
| 187 | @kbd{C-w} copies the character or word after point as part of the | 189 | @kbd{C-w} copies the character or word after point as part of the |
| @@ -195,6 +197,14 @@ current line into the search string. Both @kbd{C-y} and @kbd{C-w} | |||
| 195 | convert the text they copy to lower case if the search is currently | 197 | convert the text they copy to lower case if the search is currently |
| 196 | not case-sensitive; this is so the search remains case-insensitive. | 198 | not case-sensitive; this is so the search remains case-insensitive. |
| 197 | 199 | ||
| 200 | @kbd{C-M-w} and @kbd{C-M-y} modify the search string by only one | ||
| 201 | character at a time: @kbd{C-M-w} deletes the last character from the | ||
| 202 | search string and @kbd{C-M-y} copies the character after point to the | ||
| 203 | end of the search string. An alternative method to add the character | ||
| 204 | after point into the search string is to enter the minibuffer by | ||
| 205 | @kbd{M-e} and to type @kbd{C-f} at the end of the search string in the | ||
| 206 | minibuffer. | ||
| 207 | |||
| 198 | The character @kbd{M-y} copies text from the kill ring into the search | 208 | The character @kbd{M-y} copies text from the kill ring into the search |
| 199 | string. It uses the same text that @kbd{C-y} as a command would yank. | 209 | string. It uses the same text that @kbd{C-y} as a command would yank. |
| 200 | @kbd{Mouse-2} in the echo area does the same. | 210 | @kbd{Mouse-2} in the echo area does the same. |
| @@ -205,6 +215,11 @@ string. It uses the same text that @kbd{C-y} as a command would yank. | |||
| 205 | there. In Transient Mark mode, incremental search sets the mark without | 215 | there. In Transient Mark mode, incremental search sets the mark without |
| 206 | activating it, and does so only if the mark is not already active. | 216 | activating it, and does so only if the mark is not already active. |
| 207 | 217 | ||
| 218 | @kbd{M-%} or @kbd{C-M-%} exits the incremental search and starts an | ||
| 219 | interactive command @code{query-replace} or @code{query-replace-regexp} | ||
| 220 | with the last search string inserted in the minibuffer as initial input | ||
| 221 | for the string to replace. | ||
| 222 | |||
| 208 | @cindex lazy search highlighting | 223 | @cindex lazy search highlighting |
| 209 | @vindex isearch-lazy-highlight | 224 | @vindex isearch-lazy-highlight |
| 210 | When you pause for a little while during incremental search, it | 225 | When you pause for a little while during incremental search, it |
| @@ -371,14 +386,16 @@ nonincremental ways to search for a match for a regexp. | |||
| 371 | @kindex C-M-r | 386 | @kindex C-M-r |
| 372 | @findex isearch-backward-regexp | 387 | @findex isearch-backward-regexp |
| 373 | Incremental search for a regexp is done by typing @kbd{C-M-s} | 388 | Incremental search for a regexp is done by typing @kbd{C-M-s} |
| 374 | (@code{isearch-forward-regexp}), or by invoking @kbd{C-s} with a | 389 | (@code{isearch-forward-regexp}), by invoking @kbd{C-s} with a |
| 375 | prefix argument (whose value does not matter). This command reads a | 390 | prefix argument (whose value does not matter), or by typing @kbd{M-r} |
| 391 | within a forward incremental search. This command reads a | ||
| 376 | search string incrementally just like @kbd{C-s}, but it treats the | 392 | search string incrementally just like @kbd{C-s}, but it treats the |
| 377 | search string as a regexp rather than looking for an exact match | 393 | search string as a regexp rather than looking for an exact match |
| 378 | against the text in the buffer. Each time you add text to the search | 394 | against the text in the buffer. Each time you add text to the search |
| 379 | string, you make the regexp longer, and the new regexp is searched | 395 | string, you make the regexp longer, and the new regexp is searched |
| 380 | for. To search backward for a regexp, use @kbd{C-M-r} | 396 | for. To search backward for a regexp, use @kbd{C-M-r} |
| 381 | (@code{isearch-backward-regexp}), or @kbd{C-r} with a prefix argument. | 397 | (@code{isearch-backward-regexp}), @kbd{C-r} with a prefix argument, |
| 398 | or @kbd{M-r} within a backward incremental search. | ||
| 382 | 399 | ||
| 383 | All of the control characters that do special things within an | 400 | All of the control characters that do special things within an |
| 384 | ordinary incremental search have the same function in incremental regexp | 401 | ordinary incremental search have the same function in incremental regexp |
| @@ -925,7 +942,7 @@ scrolling will be overriden and nullified by the display code. | |||
| 925 | 942 | ||
| 926 | Global search-and-replace operations are not needed often in Emacs, | 943 | Global search-and-replace operations are not needed often in Emacs, |
| 927 | but they are available. In addition to the simple @kbd{M-x | 944 | but they are available. In addition to the simple @kbd{M-x |
| 928 | replace-string} command which is like that found in most editors, | 945 | replace-string} command which replaces all occurrences, |
| 929 | there is a @kbd{M-x query-replace} command which finds each occurrence | 946 | there is a @kbd{M-x query-replace} command which finds each occurrence |
| 930 | of the pattern and asks you whether to replace it. | 947 | of the pattern and asks you whether to replace it. |
| 931 | 948 | ||
diff --git a/src/ChangeLog b/src/ChangeLog index 60b8d5da63d..254069032ed 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,11 +1,64 @@ | |||
| 1 | 2004-07-06 John Paul Wallington <jpw@gnu.org> | ||
| 2 | |||
| 3 | * eval.c (Fdefmacro): Signal an error if NAME is not a symbol. | ||
| 4 | |||
| 5 | 2004-07-05 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 6 | |||
| 7 | * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList | ||
| 8 | instead of CGMainDisplayID (only in OSX 10.2 and later). | ||
| 9 | |||
| 10 | 2004-07-04 John Paul Wallington <jpw@gnu.org> | ||
| 11 | |||
| 12 | * fileio.c (read_file_name_completion_ignore_case): New variable. | ||
| 13 | (syms_of_fileio): Declare and initialise it. | ||
| 14 | (Fread_file_name): Bind `completion-ignore-case' to respect it. | ||
| 15 | |||
| 16 | 2004-07-03 Eli Zaretskii <eliz@gnu.org> | ||
| 17 | |||
| 18 | * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects | ||
| 19 | for event.x and event.y. | ||
| 20 | |||
| 21 | 2004-07-01 Kenichi Handa <handa@m17n.org> | ||
| 22 | |||
| 23 | * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly | ||
| 24 | after getting a new string by pre-write-conversion. | ||
| 25 | |||
| 26 | 2004-06-30 Stefan <monnier@iro.umontreal.ca> | ||
| 27 | |||
| 28 | * xterm.c (x_detect_focus_change): Remove unused var `nr_events'. | ||
| 29 | (x_calc_absolute_position): Remove unused var `child'. | ||
| 30 | |||
| 31 | * xfaces.c (x_supports_face_attributes_p) | ||
| 32 | (Fdisplay_supports_face_attributes_p): YAILOM. | ||
| 33 | (tty_supports_face_attributes_p): Remove unused var `i'. | ||
| 34 | |||
| 35 | * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and | ||
| 36 | back_unibyte_ok. | ||
| 37 | |||
| 38 | * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM. | ||
| 39 | |||
| 40 | * fontset.c (Fset_fontset_font): Remove unused vars `family' and `registry'. | ||
| 41 | |||
| 42 | * Makefile.in (${etc}DOC): Fix file name of make-docfile. | ||
| 43 | |||
| 44 | 2004-06-30 Andreas Schwab <schwab@suse.de> | ||
| 45 | |||
| 46 | * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES. | ||
| 47 | (Finit_image_library): Pass LIBRARIES through to | ||
| 48 | CHECK_LIB_AVAILABLE. Declare parameters. Doc fix. | ||
| 49 | (lookup_image_type): Pass Qnil as second argument to | ||
| 50 | Finit_image_library. | ||
| 51 | |||
| 52 | * lisp.h: Declare Finit_image_library. | ||
| 53 | |||
| 1 | 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 54 | 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 55 | ||
| 3 | * macterm.c (do_window_activate, do_window_deactivate): Remove. | 56 | * macterm.c (do_window_activate, do_window_deactivate): Remove. |
| 4 | (XTread_socket): Send mouse button events to the toolbox | 57 | (XTread_socket): Send mouse button events to the toolbox |
| 5 | dispatcher even when the mouse is grabbed. Don't process window | 58 | dispatcher even when the mouse is grabbed. Don't process window |
| 6 | activate events for non-Emacs windows. Replace function calls to | 59 | activate events for non-Emacs windows. Replace function calls to |
| 7 | do_window_activate and do_window_deactivate with their contents. | 60 | do_window_activate and do_window_deactivate with their contents. |
| 8 | Reset mouse grabbing status when a window is deactivated. | 61 | Reset mouse grabbing status when a window is deactivated. |
| 9 | 62 | ||
| 10 | 2004-06-29 Steven Tamm <steventamm@mac.com> | 63 | 2004-06-29 Steven Tamm <steventamm@mac.com> |
| 11 | 64 | ||
| @@ -60,8 +113,7 @@ | |||
| 60 | a buffer, add the buffer as last element to the match data. | 113 | a buffer, add the buffer as last element to the match data. |
| 61 | (Fset_match_data): If an additional element of the match-data is a | 114 | (Fset_match_data): If an additional element of the match-data is a |
| 62 | buffer, restore it to last_thing_searched. | 115 | buffer, restore it to last_thing_searched. |
| 63 | (save_search_regs): Save last_thing_searched as part of the match | 116 | (save_search_regs): Save last_thing_searched as part of the match data. |
| 64 | data. | ||
| 65 | (restore_match_data): Restore it again. | 117 | (restore_match_data): Restore it again. |
| 66 | 118 | ||
| 67 | 2004-06-23 Luc Teirlinck <teirllm@auburn.edu> | 119 | 2004-06-23 Luc Teirlinck <teirllm@auburn.edu> |
| @@ -187,7 +239,7 @@ | |||
| 187 | 2004-06-14 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 239 | 2004-06-14 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 188 | 240 | ||
| 189 | * gtkutil.c (xg_get_image_for_pixmap): New function. | 241 | * gtkutil.c (xg_get_image_for_pixmap): New function. |
| 190 | (xg_get_gdk_pixmap_and_mask): Removed. | 242 | (xg_get_gdk_pixmap_and_mask): Remove. |
| 191 | (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of | 243 | (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of |
| 192 | xg_get_gdk_pixmap_and_mask. | 244 | xg_get_gdk_pixmap_and_mask. |
| 193 | 245 | ||
| @@ -208,8 +260,7 @@ | |||
| 208 | list of possible filenames. | 260 | list of possible filenames. |
| 209 | (init_xpm_functions, init_png_functions, init_jpeg_functions) | 261 | (init_xpm_functions, init_png_functions, init_jpeg_functions) |
| 210 | (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'. | 262 | (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'. |
| 211 | (CHECK_LIB_AVAILABLE): Call `define_image_library' with new | 263 | (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument. |
| 212 | argument. | ||
| 213 | (Finit_image_library): New function, extracted from `init_image'. | 264 | (Finit_image_library): New function, extracted from `init_image'. |
| 214 | Try to initialize an image library on demand and cache whether we | 265 | Try to initialize an image library on demand and cache whether we |
| 215 | were successful or not. | 266 | were successful or not. |
| @@ -333,7 +384,7 @@ | |||
| 333 | (merge_face_ref, face_at_buffer_position, face_at_string_position): | 384 | (merge_face_ref, face_at_buffer_position, face_at_string_position): |
| 334 | Use `merge_named_face'. | 385 | Use `merge_named_face'. |
| 335 | (merge_face_inheritance): Function removed. | 386 | (merge_face_inheritance): Function removed. |
| 336 | (merge_face_ref): Renamed from `merge_face_vector_with_property'. | 387 | (merge_face_ref): Rename from `merge_face_vector_with_property'. |
| 337 | Add new `err_msgs' and `named_merge_points' args. Return error | 388 | Add new `err_msgs' and `named_merge_points' args. Return error |
| 338 | status. Only print error messages if ERR_MSGS is true. Don't try to | 389 | status. Only print error messages if ERR_MSGS is true. Don't try to |
| 339 | do :inherit attribute validation. | 390 | do :inherit attribute validation. |
| @@ -393,8 +444,8 @@ | |||
| 393 | 444 | ||
| 394 | * xfaces.c (x_supports_face_attributes_p): Make this function | 445 | * xfaces.c (x_supports_face_attributes_p): Make this function |
| 395 | conditional on HAVE_WINDOW_SYSTEM. | 446 | conditional on HAVE_WINDOW_SYSTEM. |
| 396 | (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]: Don't | 447 | (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]: |
| 397 | call x_supports_face_attributes_p if it was not compiled in. | 448 | Don't call x_supports_face_attributes_p if it was not compiled in. |
| 398 | 449 | ||
| 399 | 2004-06-04 Miles Bader <miles@gnu.org> | 450 | 2004-06-04 Miles Bader <miles@gnu.org> |
| 400 | 451 | ||
| @@ -425,6 +476,8 @@ | |||
| 425 | 476 | ||
| 426 | 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca> | 477 | 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca> |
| 427 | 478 | ||
| 479 | * eval.c (Fcondition_case): Fix usage. Simplify. | ||
| 480 | |||
| 428 | * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true. | 481 | * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true. |
| 429 | 482 | ||
| 430 | 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 483 | 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| @@ -433,8 +486,7 @@ | |||
| 433 | [MAC_OSX]: Don't include QuickTime/QuickTime.h. | 486 | [MAC_OSX]: Don't include QuickTime/QuickTime.h. |
| 434 | [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or | 487 | [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or |
| 435 | TextUtils.h. | 488 | TextUtils.h. |
| 436 | (Fx_create_frame): Sync with xfns.c. Initialize cursor | 489 | (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors. |
| 437 | descriptors. | ||
| 438 | (Fx_display_mm_height, Fx_display_mm_width): Calculate length from | 490 | (Fx_display_mm_height, Fx_display_mm_width): Calculate length from |
| 439 | display height/width. | 491 | display height/width. |
| 440 | (compute_tip_xy, Vx_max_tooltip_size): Declare. | 492 | (compute_tip_xy, Vx_max_tooltip_size): Declare. |
| @@ -445,8 +497,7 @@ | |||
| 445 | 497 | ||
| 446 | * macgui.h [!MAC_OSX]: Include Gestalt.h. | 498 | * macgui.h [!MAC_OSX]: Include Gestalt.h. |
| 447 | (Cursor, No_Cursor): New defines. | 499 | (Cursor, No_Cursor): New defines. |
| 448 | [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility | 500 | [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro. |
| 449 | macro. | ||
| 450 | [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare. | 501 | [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare. |
| 451 | 502 | ||
| 452 | * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort. | 503 | * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort. |
| @@ -474,11 +525,9 @@ | |||
| 474 | (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a | 525 | (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a |
| 475 | scroll-bar click event. | 526 | scroll-bar click event. |
| 476 | (mac_define_frame_cursor): Change the pointer shape. | 527 | (mac_define_frame_cursor): Change the pointer shape. |
| 477 | (x_free_frame_resources): Reset tip_window to NULL when it is | 528 | (x_free_frame_resources): Reset tip_window to NULL when it is disposed. |
| 478 | disposed. | ||
| 479 | [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable. | 529 | [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable. |
| 480 | [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize | 530 | [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor. |
| 481 | arrow_cursor. | ||
| 482 | (do_window_update): Don't do anything if the updated window is the | 531 | (do_window_update): Don't do anything if the updated window is the |
| 483 | tooltip window. | 532 | tooltip window. |
| 484 | (do_mouse_moved): Handle mouse movement events here (previously in | 533 | (do_mouse_moved): Handle mouse movement events here (previously in |
| @@ -486,8 +535,8 @@ | |||
| 486 | dpyinfo->mouse_face_hidden is set. | 535 | dpyinfo->mouse_face_hidden is set. |
| 487 | (do_os_event, do_events): Remove (now in XTread_socket). | 536 | (do_os_event, do_events): Remove (now in XTread_socket). |
| 488 | (XTread_socket): Immediately return if interrupt_input_blocked. | 537 | (XTread_socket): Immediately return if interrupt_input_blocked. |
| 489 | Loop until all the events in the queue are processed. Rearrange | 538 | Loop until all the events in the queue are processed. |
| 490 | codes for mouse grabbing. Add tooltip support. Include the | 539 | Rearrange codes for mouse grabbing. Add tooltip support. Include the |
| 491 | contents of do_os_event and do_events. Remove mouse movement | 540 | contents of do_os_event and do_events. Remove mouse movement |
| 492 | handling (now in do_mouse_moved). Add the case where | 541 | handling (now in do_mouse_moved). Add the case where |
| 493 | Vmouse_highlight has an integer value. | 542 | Vmouse_highlight has an integer value. |
| @@ -496,8 +545,8 @@ | |||
| 496 | excess initializations. | 545 | excess initializations. |
| 497 | (make_mac_terminal_frame): Previous initializations in | 546 | (make_mac_terminal_frame): Previous initializations in |
| 498 | make_mac_frame are moved here. | 547 | make_mac_frame are moved here. |
| 499 | (mac_initialize_display_info): Initialize | 548 | (mac_initialize_display_info): |
| 500 | dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden. | 549 | Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden. |
| 501 | 550 | ||
| 502 | * xdisp.c [MAC_OS] (No_Cursor): Remove variable. | 551 | * xdisp.c [MAC_OS] (No_Cursor): Remove variable. |
| 503 | (define_frame_cursor1): Don't treat HAVE_CARBON as a special case. | 552 | (define_frame_cursor1): Don't treat HAVE_CARBON as a special case. |
diff --git a/src/Makefile.in b/src/Makefile.in index edfe548ec90..2ec1dad4c2e 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -910,7 +910,7 @@ emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp} | |||
| 910 | for the first time, this prevents any variation between configurations | 910 | for the first time, this prevents any variation between configurations |
| 911 | in the contents of the DOC file. | 911 | in the contents of the DOC file. |
| 912 | Likewise for ${SOME_MACHINE_LISP}. */ | 912 | Likewise for ${SOME_MACHINE_LISP}. */ |
| 913 | ${etc}DOC: ${libsrc}make-docfile ${obj} ${shortlisp} ${SOME_MACHINE_LISP} | 913 | ${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${shortlisp} ${SOME_MACHINE_LISP} |
| 914 | -rm -f ${etc}DOC | 914 | -rm -f ${etc}DOC |
| 915 | ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC | 915 | ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC |
| 916 | ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp} | 916 | ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp} |
diff --git a/src/eval.c b/src/eval.c index 096755f9c77..d7cfe959158 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -657,6 +657,7 @@ usage: (defmacro NAME ARGLIST [DOCSTRING] [DECL] BODY...) */) | |||
| 657 | Lisp_Object lambda_list, doc, tail; | 657 | Lisp_Object lambda_list, doc, tail; |
| 658 | 658 | ||
| 659 | fn_name = Fcar (args); | 659 | fn_name = Fcar (args); |
| 660 | CHECK_SYMBOL (fn_name); | ||
| 660 | lambda_list = Fcar (Fcdr (args)); | 661 | lambda_list = Fcar (Fcdr (args)); |
| 661 | tail = Fcdr (Fcdr (args)); | 662 | tail = Fcdr (Fcdr (args)); |
| 662 | 663 | ||
diff --git a/src/fileio.c b/src/fileio.c index 42f3949c917..a032a179ee1 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -206,6 +206,9 @@ Lisp_Object Vread_file_name_function; | |||
| 206 | /* Current predicate used by read_file_name_internal. */ | 206 | /* Current predicate used by read_file_name_internal. */ |
| 207 | Lisp_Object Vread_file_name_predicate; | 207 | Lisp_Object Vread_file_name_predicate; |
| 208 | 208 | ||
| 209 | /* Nonzero means completion ignores case when reading file name. */ | ||
| 210 | int read_file_name_completion_ignore_case; | ||
| 211 | |||
| 209 | /* Nonzero means, when reading a filename in the minibuffer, | 212 | /* Nonzero means, when reading a filename in the minibuffer, |
| 210 | start out by inserting the default directory into the minibuffer. */ | 213 | start out by inserting the default directory into the minibuffer. */ |
| 211 | int insert_default_directory; | 214 | int insert_default_directory; |
| @@ -6197,10 +6200,8 @@ provides a file dialog box. */) | |||
| 6197 | } | 6200 | } |
| 6198 | 6201 | ||
| 6199 | count = SPECPDL_INDEX (); | 6202 | count = SPECPDL_INDEX (); |
| 6200 | #if defined VMS || defined DOS_NT || defined MAC_OSX | 6203 | specbind (intern ("completion-ignore-case"), |
| 6201 | specbind (intern ("completion-ignore-case"), Qt); | 6204 | read_file_name_completion_ignore_case ? Qt : Qnil); |
| 6202 | #endif | ||
| 6203 | |||
| 6204 | specbind (intern ("minibuffer-completing-file-name"), Qt); | 6205 | specbind (intern ("minibuffer-completing-file-name"), Qt); |
| 6205 | specbind (intern ("read-file-name-predicate"), | 6206 | specbind (intern ("read-file-name-predicate"), |
| 6206 | (NILP (predicate) ? Qfile_exists_p : predicate)); | 6207 | (NILP (predicate) ? Qfile_exists_p : predicate)); |
| @@ -6436,6 +6437,14 @@ same format as a regular save would use. */); | |||
| 6436 | doc: /* Current predicate used by `read-file-name-internal'. */); | 6437 | doc: /* Current predicate used by `read-file-name-internal'. */); |
| 6437 | Vread_file_name_predicate = Qnil; | 6438 | Vread_file_name_predicate = Qnil; |
| 6438 | 6439 | ||
| 6440 | DEFVAR_BOOL ("read-file-name-completion-ignore-case", &read_file_name_completion_ignore_case, | ||
| 6441 | doc: /* *Non-nil means when reading a file name completion ignores case. */); | ||
| 6442 | #if defined VMS || defined DOS_NT || defined MAC_OS | ||
| 6443 | read_file_name_completion_ignore_case = 1; | ||
| 6444 | #else | ||
| 6445 | read_file_name_completion_ignore_case = 0; | ||
| 6446 | #endif | ||
| 6447 | |||
| 6439 | DEFVAR_BOOL ("insert-default-directory", &insert_default_directory, | 6448 | DEFVAR_BOOL ("insert-default-directory", &insert_default_directory, |
| 6440 | doc: /* *Non-nil means when reading a filename start with default dir in minibuffer. | 6449 | doc: /* *Non-nil means when reading a filename start with default dir in minibuffer. |
| 6441 | If the initial minibuffer contents are non-empty, you can usually | 6450 | If the initial minibuffer contents are non-empty, you can usually |
diff --git a/src/fontset.c b/src/fontset.c index 016c62f0e50..4901fc71419 100644 --- a/src/fontset.c +++ b/src/fontset.c | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | /* Fontset handler. | 1 | /* Fontset handler. |
| 2 | Copyright (C) 2004 Free Software Foundation, Inc. | ||
| 2 | Copyright (C) 1995, 1997, 2000 Electrotechnical Laboratory, JAPAN. | 3 | Copyright (C) 1995, 1997, 2000 Electrotechnical Laboratory, JAPAN. |
| 3 | Licensed to the Free Software Foundation. | 4 | Licensed to the Free Software Foundation. |
| 4 | Copyright (C) 2003 | 5 | Copyright (C) 2003 |
diff --git a/src/image.c b/src/image.c index 438e132807f..4ab672ca58e 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -675,7 +675,7 @@ define_image_type (type, loaded) | |||
| 675 | success = Qt; | 675 | success = Qt; |
| 676 | } | 676 | } |
| 677 | 677 | ||
| 678 | CACHE_IMAGE_TYPE(*type->type, success); | 678 | CACHE_IMAGE_TYPE (*type->type, success); |
| 679 | return success; | 679 | return success; |
| 680 | } | 680 | } |
| 681 | 681 | ||
| @@ -690,7 +690,7 @@ lookup_image_type (symbol) | |||
| 690 | struct image_type *type; | 690 | struct image_type *type; |
| 691 | 691 | ||
| 692 | /* We must initialize the image-type if it hasn't been already. */ | 692 | /* We must initialize the image-type if it hasn't been already. */ |
| 693 | if (NILP (Finit_image_library (symbol))) | 693 | if (NILP (Finit_image_library (symbol, Qnil))) |
| 694 | return 0; /* unimplemented */ | 694 | return 0; /* unimplemented */ |
| 695 | 695 | ||
| 696 | for (type = image_types; type; type = type->next) | 696 | for (type = image_types; type; type = type->next) |
| @@ -7927,10 +7927,10 @@ DEFUN ("lookup-image", Flookup_image, Slookup_image, 1, 1, 0, "") | |||
| 7927 | #ifdef HAVE_NTGUI | 7927 | #ifdef HAVE_NTGUI |
| 7928 | /* Image types that rely on external libraries are loaded dynamically | 7928 | /* Image types that rely on external libraries are loaded dynamically |
| 7929 | if the library is available. */ | 7929 | if the library is available. */ |
| 7930 | #define CHECK_LIB_AVAILABLE(image_type, init_lib_fn) \ | 7930 | #define CHECK_LIB_AVAILABLE(image_type, init_lib_fn, libraries) \ |
| 7931 | define_image_type (image_type, init_lib_fn (libraries)) | 7931 | define_image_type (image_type, init_lib_fn (libraries)) |
| 7932 | #else | 7932 | #else |
| 7933 | #define CHECK_LIB_AVAILABLE(image_type, init_lib_fn) \ | 7933 | #define CHECK_LIB_AVAILABLE(image_type, init_lib_fn, libraries) \ |
| 7934 | define_image_type (image_type, TRUE) | 7934 | define_image_type (image_type, TRUE) |
| 7935 | #endif /* HAVE_NTGUI */ | 7935 | #endif /* HAVE_NTGUI */ |
| 7936 | 7936 | ||
| @@ -7940,8 +7940,9 @@ Return non-nil if TYPE is a supported image type. | |||
| 7940 | 7940 | ||
| 7941 | Image types pbm and xbm are prebuilt; other types are loaded here. | 7941 | Image types pbm and xbm are prebuilt; other types are loaded here. |
| 7942 | Libraries to load are specified in alist LIBRARIES (usually, the value | 7942 | Libraries to load are specified in alist LIBRARIES (usually, the value |
| 7943 | of `image-library-alist', which see. */) | 7943 | of `image-library-alist', which see). */) |
| 7944 | (type, libraries) | 7944 | (type, libraries) |
| 7945 | Lisp_Object type, libraries; | ||
| 7945 | { | 7946 | { |
| 7946 | Lisp_Object tested; | 7947 | Lisp_Object tested; |
| 7947 | 7948 | ||
| @@ -7952,36 +7953,36 @@ of `image-library-alist', which see. */) | |||
| 7952 | 7953 | ||
| 7953 | #if defined (HAVE_XPM) || defined (MAC_OS) | 7954 | #if defined (HAVE_XPM) || defined (MAC_OS) |
| 7954 | if (EQ (type, Qxpm)) | 7955 | if (EQ (type, Qxpm)) |
| 7955 | return CHECK_LIB_AVAILABLE(&xpm_type, init_xpm_functions); | 7956 | return CHECK_LIB_AVAILABLE (&xpm_type, init_xpm_functions, libraries); |
| 7956 | #endif | 7957 | #endif |
| 7957 | 7958 | ||
| 7958 | #if defined (HAVE_JPEG) || defined (MAC_OS) | 7959 | #if defined (HAVE_JPEG) || defined (MAC_OS) |
| 7959 | if (EQ (type, Qjpeg)) | 7960 | if (EQ (type, Qjpeg)) |
| 7960 | return CHECK_LIB_AVAILABLE(&jpeg_type, init_jpeg_functions); | 7961 | return CHECK_LIB_AVAILABLE (&jpeg_type, init_jpeg_functions, libraries); |
| 7961 | #endif | 7962 | #endif |
| 7962 | 7963 | ||
| 7963 | #if defined (HAVE_TIFF) || defined (MAC_OS) | 7964 | #if defined (HAVE_TIFF) || defined (MAC_OS) |
| 7964 | if (EQ (type, Qtiff)) | 7965 | if (EQ (type, Qtiff)) |
| 7965 | return CHECK_LIB_AVAILABLE(&tiff_type, init_tiff_functions); | 7966 | return CHECK_LIB_AVAILABLE (&tiff_type, init_tiff_functions, libraries); |
| 7966 | #endif | 7967 | #endif |
| 7967 | 7968 | ||
| 7968 | #if defined (HAVE_GIF) || defined (MAC_OS) | 7969 | #if defined (HAVE_GIF) || defined (MAC_OS) |
| 7969 | if (EQ (type, Qgif)) | 7970 | if (EQ (type, Qgif)) |
| 7970 | return CHECK_LIB_AVAILABLE(&gif_type, init_gif_functions); | 7971 | return CHECK_LIB_AVAILABLE (&gif_type, init_gif_functions, libraries); |
| 7971 | #endif | 7972 | #endif |
| 7972 | 7973 | ||
| 7973 | #if defined (HAVE_PNG) || defined (MAC_OS) | 7974 | #if defined (HAVE_PNG) || defined (MAC_OS) |
| 7974 | if (EQ (type, Qpng)) | 7975 | if (EQ (type, Qpng)) |
| 7975 | return CHECK_LIB_AVAILABLE(&png_type, init_png_functions); | 7976 | return CHECK_LIB_AVAILABLE (&png_type, init_png_functions, libraries); |
| 7976 | #endif | 7977 | #endif |
| 7977 | 7978 | ||
| 7978 | #ifdef HAVE_GHOSTSCRIPT | 7979 | #ifdef HAVE_GHOSTSCRIPT |
| 7979 | if (EQ (type, Qpostscript)) | 7980 | if (EQ (type, Qpostscript)) |
| 7980 | return CHECK_LIB_AVAILABLE(&gs_type, init_gs_functions); | 7981 | return CHECK_LIB_AVAILABLE (&gs_type, init_gs_functions, libraries); |
| 7981 | #endif | 7982 | #endif |
| 7982 | 7983 | ||
| 7983 | /* If the type is not recognized, avoid testing it ever again. */ | 7984 | /* If the type is not recognized, avoid testing it ever again. */ |
| 7984 | CACHE_IMAGE_TYPE(type, Qnil); | 7985 | CACHE_IMAGE_TYPE (type, Qnil); |
| 7985 | return Qnil; | 7986 | return Qnil; |
| 7986 | } | 7987 | } |
| 7987 | 7988 | ||
diff --git a/src/lisp.h b/src/lisp.h index aba3073dc68..780ee76c271 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -2348,6 +2348,7 @@ extern void init_fringe P_ ((void)); | |||
| 2348 | extern void init_fringe_once P_ ((void)); | 2348 | extern void init_fringe_once P_ ((void)); |
| 2349 | 2349 | ||
| 2350 | /* Defined in image.c */ | 2350 | /* Defined in image.c */ |
| 2351 | EXFUN (Finit_image_library, 2); | ||
| 2351 | extern void syms_of_image P_ ((void)); | 2352 | extern void syms_of_image P_ ((void)); |
| 2352 | extern void init_image P_ ((void)); | 2353 | extern void init_image P_ ((void)); |
| 2353 | 2354 | ||
diff --git a/src/macterm.c b/src/macterm.c index 04d6ec3be64..149e37741bc 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -8854,8 +8854,21 @@ mac_initialize_display_info () | |||
| 8854 | dpyinfo->color_p = TestDeviceAttribute (main_device_handle, gdDevType); | 8854 | dpyinfo->color_p = TestDeviceAttribute (main_device_handle, gdDevType); |
| 8855 | #ifdef MAC_OSX | 8855 | #ifdef MAC_OSX |
| 8856 | /* HasDepth returns true if it is possible to have a 32 bit display, | 8856 | /* HasDepth returns true if it is possible to have a 32 bit display, |
| 8857 | but this may not be what is actually used. Mac OSX can do better. */ | 8857 | but this may not be what is actually used. Mac OSX can do better. |
| 8858 | dpyinfo->n_planes = CGDisplayBitsPerPixel (CGMainDisplayID ()); | 8858 | CGMainDisplayID is only available on OSX 10.2 and higher, but the |
| 8859 | header for CGGetActiveDisplayList says that the first display returned | ||
| 8860 | is the active one, so we use that. */ | ||
| 8861 | { | ||
| 8862 | CGDirectDisplayID disp_id[1]; | ||
| 8863 | CGDisplayCount disp_count; | ||
| 8864 | CGDisplayErr error_code; | ||
| 8865 | |||
| 8866 | error_code = CGGetActiveDisplayList (1, disp_id, &disp_count); | ||
| 8867 | if (error_code != 0) | ||
| 8868 | error ("No display found, CGGetActiveDisplayList error %d", error_code); | ||
| 8869 | |||
| 8870 | dpyinfo->n_planes = CGDisplayBitsPerPixel (disp_id[0]); | ||
| 8871 | } | ||
| 8859 | #else | 8872 | #else |
| 8860 | for (dpyinfo->n_planes = 32; dpyinfo->n_planes > 0; dpyinfo->n_planes >>= 1) | 8873 | for (dpyinfo->n_planes = 32; dpyinfo->n_planes > 0; dpyinfo->n_planes >>= 1) |
| 8861 | if (HasDepth (main_device_handle, dpyinfo->n_planes, | 8874 | if (HasDepth (main_device_handle, dpyinfo->n_planes, |
diff --git a/src/msdos.c b/src/msdos.c index d0de02aba3f..0aec39e1440 100644 --- a/src/msdos.c +++ b/src/msdos.c | |||
| @@ -3456,8 +3456,8 @@ dos_rawgetc () | |||
| 3456 | event.code = button_num; | 3456 | event.code = button_num; |
| 3457 | event.modifiers = dos_get_modifiers (0) | 3457 | event.modifiers = dos_get_modifiers (0) |
| 3458 | | (press ? down_modifier : up_modifier); | 3458 | | (press ? down_modifier : up_modifier); |
| 3459 | event.x = x; | 3459 | event.x = make_number (x); |
| 3460 | event.y = y; | 3460 | event.y = make_number (y); |
| 3461 | event.frame_or_window = selected_frame; | 3461 | event.frame_or_window = selected_frame; |
| 3462 | event.arg = Qnil; | 3462 | event.arg = Qnil; |
| 3463 | event.timestamp = event_timestamp (); | 3463 | event.timestamp = event_timestamp (); |
diff --git a/src/search.c b/src/search.c index bb3f222e2c1..11ff90df014 100644 --- a/src/search.c +++ b/src/search.c | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | /* String search routines for GNU Emacs. | 1 | /* String search routines for GNU Emacs. |
| 2 | Copyright (C) 1985, 86,87,93,94,97,98, 1999 Free Software Foundation, Inc. | 2 | Copyright (C) 1985, 86,87,93,94,97,98, 1999, 2004 |
| 3 | Free Software Foundation, Inc. | ||
| 3 | 4 | ||
| 4 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| 5 | 6 | ||
| @@ -2582,7 +2583,7 @@ match_limit (num, beginningp) | |||
| 2582 | CHECK_NUMBER (num); | 2583 | CHECK_NUMBER (num); |
| 2583 | n = XINT (num); | 2584 | n = XINT (num); |
| 2584 | if (n < 0) | 2585 | if (n < 0) |
| 2585 | args_out_of_range (num, 0); | 2586 | args_out_of_range (num, make_number (0)); |
| 2586 | if (search_regs.num_regs <= 0) | 2587 | if (search_regs.num_regs <= 0) |
| 2587 | error ("No match data, because no search succeeded"); | 2588 | error ("No match data, because no search succeeded"); |
| 2588 | if (n >= search_regs.num_regs | 2589 | if (n >= search_regs.num_regs |
| @@ -2682,10 +2683,9 @@ Return value is undefined if the last search failed. */) | |||
| 2682 | data[2 * i] = data [2 * i + 1] = Qnil; | 2683 | data[2 * i] = data [2 * i + 1] = Qnil; |
| 2683 | } | 2684 | } |
| 2684 | 2685 | ||
| 2685 | if (BUFFERP(last_thing_searched) | 2686 | if (BUFFERP (last_thing_searched) && !NILP (integers)) |
| 2686 | && ! NILP (integers)) | ||
| 2687 | { | 2687 | { |
| 2688 | XSETBUFFER(data[len], last_thing_searched); | 2688 | data[len] = last_thing_searched; |
| 2689 | len++; | 2689 | len++; |
| 2690 | } | 2690 | } |
| 2691 | 2691 | ||
| @@ -2765,9 +2765,9 @@ LIST should have been created by calling `match-data' previously. */) | |||
| 2765 | for (i = 0;; i++) | 2765 | for (i = 0;; i++) |
| 2766 | { | 2766 | { |
| 2767 | marker = Fcar (list); | 2767 | marker = Fcar (list); |
| 2768 | if (BUFFERP(marker)) | 2768 | if (BUFFERP (marker)) |
| 2769 | { | 2769 | { |
| 2770 | XSETBUFFER(last_thing_searched, marker); | 2770 | last_thing_searched = marker; |
| 2771 | break; | 2771 | break; |
| 2772 | } | 2772 | } |
| 2773 | if (i >= length) | 2773 | if (i >= length) |
diff --git a/src/w32select.c b/src/w32select.c index cc0ca64fab8..af3d477f876 100644 --- a/src/w32select.c +++ b/src/w32select.c | |||
| @@ -130,6 +130,8 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data, | |||
| 130 | 130 | ||
| 131 | BLOCK_INPUT; | 131 | BLOCK_INPUT; |
| 132 | 132 | ||
| 133 | /* Include the terminating NULL character in the source of | ||
| 134 | conversion. */ | ||
| 133 | nbytes = SBYTES (string) + 1; | 135 | nbytes = SBYTES (string) + 1; |
| 134 | src = SDATA (string); | 136 | src = SDATA (string); |
| 135 | dst = src; | 137 | dst = src; |
diff --git a/src/xfaces.c b/src/xfaces.c index be9c9af685a..6ee06ba5f76 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -5986,7 +5986,7 @@ x_supports_face_attributes_p (f, attrs, def_face) | |||
| 5986 | face = FACE_FROM_ID (f, face_id); | 5986 | face = FACE_FROM_ID (f, face_id); |
| 5987 | 5987 | ||
| 5988 | if (! face) | 5988 | if (! face) |
| 5989 | signal_error ("cannot make face", 0); | 5989 | error ("cannot make face"); |
| 5990 | 5990 | ||
| 5991 | /* If the font is the same, then not supported. */ | 5991 | /* If the font is the same, then not supported. */ |
| 5992 | if (face->font == def_face->font) | 5992 | if (face->font == def_face->font) |
| @@ -6021,7 +6021,7 @@ tty_supports_face_attributes_p (f, attrs, def_face) | |||
| 6021 | Lisp_Object *attrs; | 6021 | Lisp_Object *attrs; |
| 6022 | struct face *def_face; | 6022 | struct face *def_face; |
| 6023 | { | 6023 | { |
| 6024 | int weight, i; | 6024 | int weight; |
| 6025 | Lisp_Object val, fg, bg; | 6025 | Lisp_Object val, fg, bg; |
| 6026 | XColor fg_tty_color, fg_std_color; | 6026 | XColor fg_tty_color, fg_std_color; |
| 6027 | XColor bg_tty_color, bg_std_color; | 6027 | XColor bg_tty_color, bg_std_color; |
| @@ -6243,7 +6243,7 @@ face for italic. */) | |||
| 6243 | if (def_face == NULL) | 6243 | if (def_face == NULL) |
| 6244 | { | 6244 | { |
| 6245 | if (! realize_basic_faces (f)) | 6245 | if (! realize_basic_faces (f)) |
| 6246 | signal_error ("Cannot realize default face", 0); | 6246 | error ("Cannot realize default face"); |
| 6247 | def_face = FACE_FROM_ID (f, DEFAULT_FACE_ID); | 6247 | def_face = FACE_FROM_ID (f, DEFAULT_FACE_ID); |
| 6248 | } | 6248 | } |
| 6249 | 6249 | ||
diff --git a/src/xterm.c b/src/xterm.c index 3e606e2560a..6eb106e5b3f 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -3265,7 +3265,6 @@ x_detect_focus_change (dpyinfo, event, bufp) | |||
| 3265 | struct input_event *bufp; | 3265 | struct input_event *bufp; |
| 3266 | { | 3266 | { |
| 3267 | struct frame *frame; | 3267 | struct frame *frame; |
| 3268 | int nr_events = 0; | ||
| 3269 | 3268 | ||
| 3270 | frame = x_any_window_to_frame (dpyinfo, event->xany.window); | 3269 | frame = x_any_window_to_frame (dpyinfo, event->xany.window); |
| 3271 | if (! frame) | 3270 | if (! frame) |
| @@ -8223,7 +8222,6 @@ void | |||
| 8223 | x_calc_absolute_position (f) | 8222 | x_calc_absolute_position (f) |
| 8224 | struct frame *f; | 8223 | struct frame *f; |
| 8225 | { | 8224 | { |
| 8226 | Window child; | ||
| 8227 | int win_x = 0, win_y = 0; | 8225 | int win_x = 0, win_y = 0; |
| 8228 | int flags = f->size_hint_flags; | 8226 | int flags = f->size_hint_flags; |
| 8229 | 8227 | ||