diff options
| author | Karoly Lorentey | 2004-07-03 17:01:39 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-07-03 17:01:39 +0000 |
| commit | 76e9cc50019f98e12f342574ba0de1eca6631767 (patch) | |
| tree | 4d42c708429ab4b564466937f9c235dba2f763fb | |
| parent | 69deab57ea8ab5e3bc1cfb80027341aa0451362b (diff) | |
| parent | 1e118124a8e4f8e0a0d4ceb7940b11087e3b94e2 (diff) | |
| download | emacs-76e9cc50019f98e12f342574ba0de1eca6631767.tar.gz emacs-76e9cc50019f98e12f342574ba0de1eca6631767.zip | |
Merged in changes from CVS trunk.
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-427
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-428
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-429
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-430
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-431
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-432
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-433
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-434
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-435
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-436
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-204
46 files changed, 1781 insertions, 358 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog index 56bdd5d83ee..b164f414a88 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2004-06-28 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * FOR-RELEASE: Removed entry about GTK and monochrome displays (done). | ||
| 4 | |||
| 1 | 2002-06-26 Eli Zaretskii <eliz@is.elta.co.il> | 5 | 2002-06-26 Eli Zaretskii <eliz@is.elta.co.il> |
| 2 | 6 | ||
| 3 | * FOR-RELEASE: Moved here from the etc directory. | 7 | * FOR-RELEASE: Moved here from the etc directory. |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 2bf27858bcc..2d5738a8683 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -1,8 +1,6 @@ | |||
| 1 | Tasks needed before the next release. | 1 | Tasks needed before the next release. |
| 2 | 2 | ||
| 3 | ** Test the mbox branch of Rmail. | 3 | * DOCUMENTATION |
| 4 | |||
| 5 | ** Install the mbox branch of Rmail. | ||
| 6 | 4 | ||
| 7 | ** Finish updating the Emacs Lisp manual. | 5 | ** Finish updating the Emacs Lisp manual. |
| 8 | 6 | ||
| @@ -16,9 +14,35 @@ Tasks needed before the next release. | |||
| 16 | 14 | ||
| 17 | ** Update man/info.texi. | 15 | ** Update man/info.texi. |
| 18 | 16 | ||
| 17 | |||
| 18 | * NEW FEATURES | ||
| 19 | |||
| 20 | ** Test the mbox branch of Rmail. | ||
| 21 | |||
| 22 | ** Install the mbox branch of Rmail. | ||
| 23 | |||
| 24 | ** Update Gnus. | ||
| 25 | |||
| 26 | ** Face remapping. | ||
| 27 | |||
| 28 | |||
| 29 | * FATAL ERRORS | ||
| 30 | |||
| 31 | ** Investigate face cache related crash. | ||
| 32 | |||
| 33 | Indications: Face cache seems to have been cleared, but | ||
| 34 | redisplay uses an invalidated face_id with FACE_FROM_ID | ||
| 35 | which then returns a NULL pointer. Said to happen with | ||
| 36 | isearch faces. | ||
| 37 | |||
| 38 | |||
| 39 | * GTK RELATED BUGS | ||
| 40 | |||
| 19 | ** Make geometry specifications work correctly for GTK. | 41 | ** Make geometry specifications work correctly for GTK. |
| 20 | 42 | ||
| 21 | ** Make GTK scrollbars behave like others w.r.t. overscrolling. | 43 | ** Make GTK scrollbars behave like others w.r.t. overscrolling. |
| 22 | 44 | ||
| 23 | ** Make GTK toolbar look OK on monochrome displays. | 45 | |
| 24 | 46 | Local variables: | |
| 47 | mode: outline | ||
| 48 | end: | ||
| @@ -925,10 +925,11 @@ a match if part of it has a read-only property. | |||
| 925 | `replace-regexp' allow \,expr to be used in a replacement string, | 925 | `replace-regexp' allow \,expr to be used in a replacement string, |
| 926 | where expr is an arbitrary Lisp expression evaluated at replacement | 926 | where expr is an arbitrary Lisp expression evaluated at replacement |
| 927 | time. In many cases, this will be more convenient than using | 927 | time. In many cases, this will be more convenient than using |
| 928 | `query-replace-regexp-eval'. All regular expression replacement | 928 | `query-replace-regexp-eval'. `\#' in a replacement string now refers |
| 929 | commands now allow `\?' in the replacement string to specify a | 929 | to the count of replacements already made by the replacement command. |
| 930 | position where the replacement string can be edited for each | 930 | All regular expression replacement commands now allow `\?' in the |
| 931 | replacement. | 931 | replacement string to specify a position where the replacement string |
| 932 | can be edited for each replacement. | ||
| 932 | 933 | ||
| 933 | +++ | 934 | +++ |
| 934 | ** Emacs normally highlights mouse sensitive text whenever the mouse | 935 | ** Emacs normally highlights mouse sensitive text whenever the mouse |
| @@ -1087,6 +1088,16 @@ command `isearch-yank-word-or-char'. To restore the old behavior, | |||
| 1087 | bind C-w to `isearch-yank-word' in `isearch-mode-map'. | 1088 | bind C-w to `isearch-yank-word' in `isearch-mode-map'. |
| 1088 | 1089 | ||
| 1089 | +++ | 1090 | +++ |
| 1091 | ** C-M-w deletes and C-M-y grabs a character in isearch mode. | ||
| 1092 | Another method to grab a character is to enter the minibuffer by `M-e' | ||
| 1093 | and to type `C-f' at the end of the search string in the minibuffer. | ||
| 1094 | |||
| 1095 | +++ | ||
| 1096 | ** M-% and C-M-% typed in isearch mode invoke `query-replace' and | ||
| 1097 | `query-replace-regexp' with the current search string inserted | ||
| 1098 | in the minibuffer as initial input for the string to replace. | ||
| 1099 | |||
| 1100 | +++ | ||
| 1090 | ** Yanking text now discards certain text properties that can | 1101 | ** Yanking text now discards certain text properties that can |
| 1091 | be inconvenient when you did not expect them. The variable | 1102 | be inconvenient when you did not expect them. The variable |
| 1092 | `yank-excluded-properties' specifies which ones. Insertion | 1103 | `yank-excluded-properties' specifies which ones. Insertion |
| @@ -1928,6 +1939,12 @@ to view diffs or log entries directly from vc-annotate-mode: | |||
| 1928 | between the local version of the file and yesterday's head revision | 1939 | between the local version of the file and yesterday's head revision |
| 1929 | in the repository. | 1940 | in the repository. |
| 1930 | 1941 | ||
| 1942 | +++ | ||
| 1943 | ** In pcl-cvs mode, there is a new `d r' command to view the changes | ||
| 1944 | anyone has committed to the repository since you last executed | ||
| 1945 | "checkout", "update" or "commit". That means using cvs diff options | ||
| 1946 | -rBASE -rHEAD. | ||
| 1947 | |||
| 1931 | 1948 | ||
| 1932 | * New modes and packages in Emacs 21.4 | 1949 | * New modes and packages in Emacs 21.4 |
| 1933 | 1950 | ||
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 4bd9e5b7189..c273d6956c9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,50 @@ | |||
| 1 | 2004-07-02 Andre Spiegel <spiegel@gnu.org> | ||
| 2 | |||
| 3 | * vc-rcs.el (vc-rcs-checkout-model): Look at the version headers | ||
| 4 | only if vc-consult-headers is non-nil. | ||
| 5 | |||
| 6 | 2004-07-02 Juri Linkov <juri@jurta.org> | ||
| 7 | |||
| 8 | * pcvs.el (cvs-mode-diff-repository): New command. | ||
| 9 | |||
| 10 | * pcvs-defs.el (cvs-mode-diff-map): Bind r to cvs-mode-diff-repository. | ||
| 11 | |||
| 12 | 2004-07-01 Juri Linkov <juri@jurta.org> | ||
| 13 | |||
| 14 | * isearch.el (isearch-mode-map): Bind C-M-w to isearch-del-char, | ||
| 15 | C-M-y to isearch-yank-char. Bind M-% to isearch-query-replace, | ||
| 16 | C-M-% to isearch-query-replace-regexp. | ||
| 17 | (minibuffer-local-isearch-map): Add arrow key bindings. | ||
| 18 | Bind C-f to isearch-yank-char-in-minibuffer. | ||
| 19 | (isearch-forward): Doc fix. | ||
| 20 | (isearch-edit-string): Doc fix. | ||
| 21 | (isearch-query-replace, isearch-query-replace-regexp): New funs. | ||
| 22 | (isearch-del-char): Add optional arg. Set isearch-yank-flag to t. | ||
| 23 | (isearch-yank-char): Add optional arg. | ||
| 24 | (isearch-yank-char-in-minibuffer): New fun. | ||
| 25 | |||
| 26 | * replace.el (query-replace-interactive): Change type from boolean | ||
| 27 | to choice. Add value `initial'. | ||
| 28 | (query-replace-read-args): Handle value `initial' of | ||
| 29 | query-replace-interactive. | ||
| 30 | |||
| 31 | 2004-06-29 Kim F. Storm <storm@cua.dk> | ||
| 32 | |||
| 33 | * progmodes/gdb-ui.el (breakpoint-enabled-bitmap-face) | ||
| 34 | (breakpoint-disabled-bitmap-face): Add :group 'gud. | ||
| 35 | |||
| 36 | * progmodes/ada-xref.el (ada-tight-gvd-integration): | ||
| 37 | Add :group 'ada. | ||
| 38 | |||
| 39 | * vc-arch.el (vc-arch-mode-line-rewrite): Add :group 'vc. | ||
| 40 | |||
| 41 | 2004-06-29 Juri Linkov <juri@jurta.org> | ||
| 42 | |||
| 43 | * replace.el (query-replace-read-args): Swallow a space after | ||
| 44 | everything except )]" which in most cases means after a symbol. | ||
| 45 | |||
| 46 | * emacs-lisp/pp.el (pp-buffer): Add autoload. | ||
| 47 | |||
| 1 | 2004-06-26 David Kastrup <dak@gnu.org> | 48 | 2004-06-26 David Kastrup <dak@gnu.org> |
| 2 | 49 | ||
| 3 | * replace.el (perform-replace): Highlight the match even in | 50 | * replace.el (perform-replace): Highlight the match even in |
| @@ -18,7 +65,7 @@ | |||
| 18 | 65 | ||
| 19 | 2004-06-26 Nick Roberts <nickrob@gnu.org> | 66 | 2004-06-26 Nick Roberts <nickrob@gnu.org> |
| 20 | 67 | ||
| 21 | * progmodes/gdb-ui.el (gdb-toggle-breakpoint) | 68 | * progmodes/gdb-ui.el (gdb-toggle-breakpoint) |
| 22 | (gdb-goto-breakpoint): Fix breakage. | 69 | (gdb-goto-breakpoint): Fix breakage. |
| 23 | 70 | ||
| 24 | 2004-06-26 Eli Zaretskii <eliz@gnu.org> | 71 | 2004-06-26 Eli Zaretskii <eliz@gnu.org> |
| @@ -55,12 +102,11 @@ | |||
| 55 | (replace-regexp): Explain `\,', `\#' and `\?'. | 102 | (replace-regexp): Explain `\,', `\#' and `\?'. |
| 56 | (replace-match-data): New function for thorough reuse/destruction | 103 | (replace-match-data): New function for thorough reuse/destruction |
| 57 | of old match-data. | 104 | of old match-data. |
| 58 | (replace-match-maybe-edit): Function for implementing `\?' | 105 | (replace-match-maybe-edit): Function for implementing `\?' editing. |
| 59 | editing. | ||
| 60 | (perform-replace): Fix maintaining of the match stack including | 106 | (perform-replace): Fix maintaining of the match stack including |
| 61 | already matched regions, implement `\?', fix various problems | 107 | already matched regions, implement `\?', fix various problems |
| 62 | with regions while editing and other stuff. | 108 | with regions while editing and other stuff. |
| 63 | (replace-highlight): Simplified. | 109 | (replace-highlight): Simplify. |
| 64 | 110 | ||
| 65 | 2004-06-24 Daniel Pfeiffer <occitan@esperanto.org> | 111 | 2004-06-24 Daniel Pfeiffer <occitan@esperanto.org> |
| 66 | 112 | ||
| @@ -87,8 +133,7 @@ | |||
| 87 | 133 | ||
| 88 | 2004-06-21 Juanma Barranquero <lektu@terra.es> | 134 | 2004-06-21 Juanma Barranquero <lektu@terra.es> |
| 89 | 135 | ||
| 90 | * image.el (image-library-alist): Rewrite docstring in active | 136 | * image.el (image-library-alist): Rewrite docstring in active voice. |
| 91 | voice. | ||
| 92 | 137 | ||
| 93 | 2004-06-20 Richard M. Stallman <rms@gnu.org> | 138 | 2004-06-20 Richard M. Stallman <rms@gnu.org> |
| 94 | 139 | ||
| @@ -115,8 +160,8 @@ | |||
| 115 | 160 | ||
| 116 | 2004-06-18 Luc Teirlinck <teirllm@auburn.edu> | 161 | 2004-06-18 Luc Teirlinck <teirllm@auburn.edu> |
| 117 | 162 | ||
| 118 | * autorevert.el (global-auto-revert-non-file-buffers): Update | 163 | * autorevert.el (global-auto-revert-non-file-buffers): |
| 119 | docstring. | 164 | Update docstring. |
| 120 | 165 | ||
| 121 | 2004-06-19 Daniel Pfeiffer <occitan@esperanto.org> | 166 | 2004-06-19 Daniel Pfeiffer <occitan@esperanto.org> |
| 122 | 167 | ||
| @@ -137,7 +182,7 @@ | |||
| 137 | escaped character is n or t. | 182 | escaped character is n or t. |
| 138 | (query-replace-regexp): Add \, and \# interpretation to | 183 | (query-replace-regexp): Add \, and \# interpretation to |
| 139 | interactive call and document it. | 184 | interactive call and document it. |
| 140 | (query-replace-regexp-eval, replace-match-string-symbols): add \# | 185 | (query-replace-regexp-eval, replace-match-string-symbols): Add \# |
| 141 | as shortkey for replace-count. | 186 | as shortkey for replace-count. |
| 142 | (replace-quote): New function for doubling backslashes. | 187 | (replace-quote): New function for doubling backslashes. |
| 143 | 188 | ||
| @@ -167,8 +212,8 @@ | |||
| 167 | * dired-aux.el (dired-do-redisplay, dired-maybe-insert-subdir): | 212 | * dired-aux.el (dired-do-redisplay, dired-maybe-insert-subdir): |
| 168 | Add hyperlink to emacs-xtra manual to docstring. | 213 | Add hyperlink to emacs-xtra manual to docstring. |
| 169 | 214 | ||
| 170 | * autorevert.el (global-auto-revert-non-file-buffers): Add | 215 | * autorevert.el (global-auto-revert-non-file-buffers): |
| 171 | hyperlink to emacs-xtra manual to docstring, as well as an | 216 | Add hyperlink to emacs-xtra manual to docstring, as well as an |
| 172 | info-link. | 217 | info-link. |
| 173 | 218 | ||
| 174 | 2004-06-14 Juanma Barranquero <lektu@terra.es> | 219 | 2004-06-14 Juanma Barranquero <lektu@terra.es> |
| @@ -187,8 +232,7 @@ | |||
| 187 | * international/code-pages.el (windows-1256, cp1125): Fix tables | 232 | * international/code-pages.el (windows-1256, cp1125): Fix tables |
| 188 | for several characters. | 233 | for several characters. |
| 189 | 234 | ||
| 190 | * international/utf-8.el (ccl-encode-mule-utf-8): Fix previous | 235 | * international/utf-8.el (ccl-encode-mule-utf-8): Fix previous change. |
| 191 | change. | ||
| 192 | 236 | ||
| 193 | 2004-06-13 Richard M. Stallman <rms@gnu.org> | 237 | 2004-06-13 Richard M. Stallman <rms@gnu.org> |
| 194 | 238 | ||
| @@ -234,14 +278,13 @@ | |||
| 234 | 278 | ||
| 235 | 2004-06-13 Kenichi Handa <handa@m17n.org> | 279 | 2004-06-13 Kenichi Handa <handa@m17n.org> |
| 236 | 280 | ||
| 237 | * international/utf-8.el (ccl-decode-mule-utf-8): Fix previous | 281 | * international/utf-8.el (ccl-decode-mule-utf-8): Fix previous change. |
| 238 | change. | ||
| 239 | (ccl-untranslated-to-ucs): Fix typo. | 282 | (ccl-untranslated-to-ucs): Fix typo. |
| 240 | 283 | ||
| 241 | 2004-06-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) | 284 | 2004-06-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) |
| 242 | 285 | ||
| 243 | * progmodes/python.el (python-open-block-statement-p): Fix | 286 | * progmodes/python.el (python-open-block-statement-p): |
| 244 | indentation after a block opening that contains a comment. | 287 | Fix indentation after a block opening that contains a comment. |
| 245 | 288 | ||
| 246 | 2004-06-12 J,Ai(Br,At(Bme Marant <jerome@marant.org> (tiny change) | 289 | 2004-06-12 J,Ai(Br,At(Bme Marant <jerome@marant.org> (tiny change) |
| 247 | 290 | ||
| @@ -257,11 +300,10 @@ | |||
| 257 | 300 | ||
| 258 | 2004-06-12 Kenichi Handa <handa@m17n.org> | 301 | 2004-06-12 Kenichi Handa <handa@m17n.org> |
| 259 | 302 | ||
| 260 | * international/mule-cmds.el (set-language-environment): Load | 303 | * international/mule-cmds.el (set-language-environment): |
| 261 | subst tables if necessary. | 304 | Load subst tables if necessary. |
| 262 | 305 | ||
| 263 | * international/mule.el (decode-char): Load subst tables if | 306 | * international/mule.el (decode-char): Load subst tables if necessary. |
| 264 | necessary. | ||
| 265 | (encode-char): Likewise. | 307 | (encode-char): Likewise. |
| 266 | 308 | ||
| 267 | * international/utf-16.el (utf-16-decode-ucs): Handle a surrogate | 309 | * international/utf-16.el (utf-16-decode-ucs): Handle a surrogate |
| @@ -277,18 +319,17 @@ | |||
| 277 | (utf-16-decode-to-ucs): Handle pre-read character. | 319 | (utf-16-decode-to-ucs): Handle pre-read character. |
| 278 | (utf-16le-encode-loop): Handle surrogate pair. | 320 | (utf-16le-encode-loop): Handle surrogate pair. |
| 279 | (utf-16be-encode-loop): Likewise. | 321 | (utf-16be-encode-loop): Likewise. |
| 280 | (ccl-encode-mule-utf-16le-with-signature): Adjusted for the change | 322 | (ccl-encode-mule-utf-16le-with-signature): Adjust for the change |
| 281 | of utf-16le-encode-loop. | 323 | of utf-16le-encode-loop. |
| 282 | (ccl-encode-mule-utf-16be-with-signature): Adjusted for the change | 324 | (ccl-encode-mule-utf-16be-with-signature): Adjust for the change |
| 283 | of utf-16be-encode-loop. | 325 | of utf-16be-encode-loop. |
| 284 | (mule-utf-16-post-read-conversion): Call | 326 | (mule-utf-16-post-read-conversion): |
| 285 | utf-8-post-read-conversion at first. | 327 | Call utf-8-post-read-conversion at first. |
| 286 | (mule-utf-16[{le|be}], mule-utf-16{le|be}-with-signature): Include | 328 | (mule-utf-16[{le|be}], mule-utf-16{le|be}-with-signature): |
| 287 | CJK charsets in safe-charsets if utf-translate-cjk-mode is on. | 329 | Include CJK charsets in safe-charsets if utf-translate-cjk-mode is on. |
| 288 | Add post-read-conversion and pre-write-conversion. | 330 | Add post-read-conversion and pre-write-conversion. |
| 289 | 331 | ||
| 290 | * international/utf-8.el (utf-translate-cjk-charsets): New | 332 | * international/utf-8.el (utf-translate-cjk-charsets): New variable. |
| 291 | variable. | ||
| 292 | (utf-translate-cjk-unicode-range): New variable. | 333 | (utf-translate-cjk-unicode-range): New variable. |
| 293 | (utf-translate-cjk-load-tables): New function. | 334 | (utf-translate-cjk-load-tables): New function. |
| 294 | (utf-lookup-subst-table-for-decode): New function. | 335 | (utf-lookup-subst-table-for-decode): New function. |
| @@ -303,10 +344,10 @@ | |||
| 303 | (ccl-untranslated-to-ucs): Handle 2-byte encoding. Set r1 to the | 344 | (ccl-untranslated-to-ucs): Handle 2-byte encoding. Set r1 to the |
| 304 | length of encoding. Don't return r0. | 345 | length of encoding. Don't return r0. |
| 305 | (utf-8-compose): New arg hash-table. Handle 2-byte encoding. | 346 | (utf-8-compose): New arg hash-table. Handle 2-byte encoding. |
| 306 | (utf-8-post-read-conversion): Narrow to region properly. If | 347 | (utf-8-post-read-conversion): Narrow to region properly. |
| 307 | utf-translate-cjk-mode is on, load tables if necessary. Call | 348 | If utf-translate-cjk-mode is on, load tables if necessary. |
| 308 | utf-8-compose with hash-table arg if necessary. Call | 349 | Call utf-8-compose with hash-table arg if necessary. |
| 309 | XXX-compose-region instead of XXX-post-read-convesion. | 350 | Call XXX-compose-region instead of XXX-post-read-convesion. |
| 310 | (utf-8-pre-write-conversion): New function. | 351 | (utf-8-pre-write-conversion): New function. |
| 311 | (mule-utf-8): Include CJK charsets in safe-charsets if | 352 | (mule-utf-8): Include CJK charsets in safe-charsets if |
| 312 | utf-translate-cjk-mode is on. Add pre-write-conversion. | 353 | utf-translate-cjk-mode is on. Add pre-write-conversion. |
| @@ -314,8 +355,8 @@ | |||
| 314 | * international/characters.el: Temporarily set | 355 | * international/characters.el: Temporarily set |
| 315 | utf-translate-cjk-mode to nil. | 356 | utf-translate-cjk-mode to nil. |
| 316 | 357 | ||
| 317 | * language/devan-util.el (devanagari-compose-region): Add | 358 | * language/devan-util.el (devanagari-compose-region): |
| 318 | autoload cookie. | 359 | Add autoload cookie. |
| 319 | 360 | ||
| 320 | * international/ccl.el (ccl-dump-call): Fix printing the | 361 | * international/ccl.el (ccl-dump-call): Fix printing the |
| 321 | subroutine name. | 362 | subroutine name. |
| @@ -325,13 +366,12 @@ | |||
| 325 | * dired.el (dired-revert): If buffer is marked unmodified before | 366 | * dired.el (dired-revert): If buffer is marked unmodified before |
| 326 | reverting, keep it marked unmodified. | 367 | reverting, keep it marked unmodified. |
| 327 | Adapt to new conventions for commenting out code. | 368 | Adapt to new conventions for commenting out code. |
| 328 | (dired-make-relative): Adapt to new conventions for commenting out | 369 | (dired-make-relative): Adapt to new conventions for commenting out code. |
| 329 | code. | ||
| 330 | 370 | ||
| 331 | 2004-06-10 Miles Bader <miles@gnu.ai.mit.edu> | 371 | 2004-06-10 Miles Bader <miles@gnu.ai.mit.edu> |
| 332 | 372 | ||
| 333 | * eshell/esh-module.el (eshell-load-defgroups): Bind | 373 | * eshell/esh-module.el (eshell-load-defgroups): |
| 334 | `vc-handled-backends' to nil when opening files. | 374 | Bind `vc-handled-backends' to nil when opening files. |
| 335 | 375 | ||
| 336 | 2004-06-11 Juanma Barranquero <lektu@terra.es> | 376 | 2004-06-11 Juanma Barranquero <lektu@terra.es> |
| 337 | 377 | ||
| @@ -414,15 +454,15 @@ | |||
| 414 | or incorrect, autoloads. | 454 | or incorrect, autoloads. |
| 415 | 455 | ||
| 416 | * dired-aux.el (dired-kill-tree): Do not kill DIRNAME, even if it | 456 | * dired-aux.el (dired-kill-tree): Do not kill DIRNAME, even if it |
| 417 | does not end in a slash. Add optional argument KILL-ROOT. Update | 457 | does not end in a slash. Add optional argument KILL-ROOT. |
| 418 | docstring. | 458 | Update docstring. |
| 419 | (dired-do-touch, dired-clean-directory, dired-run-shell-command) | 459 | (dired-do-touch, dired-clean-directory, dired-run-shell-command) |
| 420 | (dired-query): Add autoloads. | 460 | (dired-query): Add autoloads. |
| 421 | 461 | ||
| 422 | 2004-06-08 Daniel Pfeiffer <occitan@esperanto.org> | 462 | 2004-06-08 Daniel Pfeiffer <occitan@esperanto.org> |
| 423 | 463 | ||
| 424 | * progmodes/compile.el (compilation-set-window-height): Rearrange | 464 | * progmodes/compile.el (compilation-set-window-height): |
| 425 | the save-* functions because a buffer can have several current | 465 | Rearrange the save-* functions because a buffer can have several current |
| 426 | point in different windows. | 466 | point in different windows. |
| 427 | (compilation-error-regexp-alist-alist): Recognize {standard input} | 467 | (compilation-error-regexp-alist-alist): Recognize {standard input} |
| 428 | GNU messages (for gcc --pipe) and more kinds of Oracle messages. | 468 | GNU messages (for gcc --pipe) and more kinds of Oracle messages. |
| @@ -462,8 +502,7 @@ | |||
| 462 | 502 | ||
| 463 | * format.el (format-insert-annotations) | 503 | * format.el (format-insert-annotations) |
| 464 | (format-annotate-location): Doc fixes. | 504 | (format-annotate-location): Doc fixes. |
| 465 | (format-subtract-regions): Make arguments match their use in | 505 | (format-subtract-regions): Make arguments match their use in docstring. |
| 466 | docstring. | ||
| 467 | 506 | ||
| 468 | * simple.el (kill-region): Doc fix. | 507 | * simple.el (kill-region): Doc fix. |
| 469 | 508 | ||
| @@ -549,8 +588,7 @@ | |||
| 549 | Handle `dired-subdir-switches'. | 588 | Handle `dired-subdir-switches'. |
| 550 | (dired-hide-subdir, dired-hide-all): Do not mark buffer modified. | 589 | (dired-hide-subdir, dired-hide-all): Do not mark buffer modified. |
| 551 | 590 | ||
| 552 | * dired.el (dired-subdir-switches, dired-switches-alist): | 591 | * dired.el (dired-subdir-switches, dired-switches-alist): New vars. |
| 553 | New vars. | ||
| 554 | (dired-insert-old-subdirs): Do not repeatedly delete and reinsert | 592 | (dired-insert-old-subdirs): Do not repeatedly delete and reinsert |
| 555 | subdirs if -R switch is used for a subdir. | 593 | subdirs if -R switch is used for a subdir. |
| 556 | (dired-mode): Set `dired-switches-alist'. | 594 | (dired-mode): Set `dired-switches-alist'. |
| @@ -583,7 +621,7 @@ | |||
| 583 | 621 | ||
| 584 | 2004-06-04 Mario Lang <mlang@delysid.org> | 622 | 2004-06-04 Mario Lang <mlang@delysid.org> |
| 585 | 623 | ||
| 586 | * battery.el (battery-linux-proc-acpi): mA was hardcored, but some | 624 | * battery.el (battery-linux-proc-acpi): `mA' was hardcored, but some |
| 587 | systems appear to use mW, make the code handle this. Fix a | 625 | systems appear to use mW, make the code handle this. Fix a |
| 588 | division-by-zero bug while at it, and handle kernels with | 626 | division-by-zero bug while at it, and handle kernels with |
| 589 | a slightly different layout in /proc/acpi. | 627 | a slightly different layout in /proc/acpi. |
| @@ -593,7 +631,7 @@ | |||
| 593 | * vc-svn.el (vc-svn-checkin): Use 'nconc' instead of 'list*', | 631 | * vc-svn.el (vc-svn-checkin): Use 'nconc' instead of 'list*', |
| 594 | because the latter is a CL-ism. This fixes the bug reported by | 632 | because the latter is a CL-ism. This fixes the bug reported by |
| 595 | Shawn Boyette <mdxi@collapsar.net> in | 633 | Shawn Boyette <mdxi@collapsar.net> in |
| 596 | http://lists.gnu.org/archive/html/emacs-devel/2004-05/msg00442.html. | 634 | http://lists.gnu.org/archive/html/emacs-devel/2004-05/msg00442.html. |
| 597 | 635 | ||
| 598 | 2004-06-04 Miles Bader <miles@gnu.org> | 636 | 2004-06-04 Miles Bader <miles@gnu.org> |
| 599 | 637 | ||
| @@ -630,8 +668,8 @@ | |||
| 630 | 668 | ||
| 631 | * subr.el (read-number): Use canonical format for default in prompt. | 669 | * subr.el (read-number): Use canonical format for default in prompt. |
| 632 | 670 | ||
| 633 | * minibuf-eldef.el (minibuffer-default-in-prompt-regexps): Add | 671 | * minibuf-eldef.el (minibuffer-default-in-prompt-regexps): |
| 634 | regexp for " [...]" style defaults. | 672 | Add regexp for " [...]" style defaults. |
| 635 | 673 | ||
| 636 | 2004-06-02 Romain Francoise <romain@orebokech.com> | 674 | 2004-06-02 Romain Francoise <romain@orebokech.com> |
| 637 | 675 | ||
| @@ -654,14 +692,28 @@ | |||
| 654 | empty docstring. | 692 | empty docstring. |
| 655 | 693 | ||
| 656 | * international/mule.el (register-char-codings): Make alias for | 694 | * international/mule.el (register-char-codings): Make alias for |
| 657 | `ignore'. Move docstring to obsolescence info and remove | 695 | `ignore'. Move docstring to obsolescence info and remove redundancy. |
| 658 | redundancy. | ||
| 659 | 696 | ||
| 660 | 2004-06-02 Kim F. Storm <storm@cua.dk> | 697 | 2004-06-02 Kim F. Storm <storm@cua.dk> |
| 661 | 698 | ||
| 662 | * frame.el (blink-cursor-start): Turn cursor off initially so blink | 699 | * frame.el (blink-cursor-start): Turn cursor off initially so blink |
| 663 | starts after blink-cursor-delay rather than 2*blink-cursor-delay. | 700 | starts after blink-cursor-delay rather than 2*blink-cursor-delay. |
| 664 | 701 | ||
| 702 | 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 703 | |||
| 704 | * comint.el (comint-replace-by-expanded-history-before-point): | ||
| 705 | Obey `start' as the docstring says. | ||
| 706 | (comint-send-input, comint-snapshot-last-prompt, comint-output-filter) | ||
| 707 | (comint-update-fence): Prevent font-lock from running unnecessarily. | ||
| 708 | (comint-dynamic-list-completions): Use with-current-buffer. | ||
| 709 | |||
| 710 | 2004-06-01 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | ||
| 711 | |||
| 712 | * textmodes/bibtex.el (bibtex-format-entry): Fix regexps. | ||
| 713 | (bibtex-parse-strings): Bugfix, use assoc instead of assoc-string. | ||
| 714 | (bibtex-entry-update): Handle alternatives and optional fields. | ||
| 715 | (bibtex-parse-entry): Bugfix, handle empty key. | ||
| 716 | |||
| 665 | 2004-05-31 Stefan Monnier <monnier@iro.umontreal.ca> | 717 | 2004-05-31 Stefan Monnier <monnier@iro.umontreal.ca> |
| 666 | 718 | ||
| 667 | * vc-arch.el (vc-arch-state): Don't assume the file exists. | 719 | * vc-arch.el (vc-arch-state): Don't assume the file exists. |
| @@ -2746,26 +2798,6 @@ | |||
| 2746 | 2798 | ||
| 2747 | 2004-04-16 Stefan Monnier <monnier@iro.umontreal.ca> | 2799 | 2004-04-16 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2748 | 2800 | ||
| 2749 | * url/url-util.el (url-debug): Use with-current-buffer. | ||
| 2750 | |||
| 2751 | * url/url-nfs.el (url-nfs-file-attributes): Add id-format parameter. | ||
| 2752 | (url-nfs-create-wrapper): Use new backquote syntax. | ||
| 2753 | |||
| 2754 | * url/url-https.el (url-https-file-attributes): Add id-format param. | ||
| 2755 | |||
| 2756 | * url/url-http.el (url-http-head-file-attributes) | ||
| 2757 | (url-http-file-attributes): Add id-format parameter. | ||
| 2758 | |||
| 2759 | * url/url-handlers.el: Use new find-file-hook. | ||
| 2760 | (url-file-attributes): Add id-format parameter. | ||
| 2761 | |||
| 2762 | * url/url-file.el (url-file-create-wrapper): Use new backquote syntax. | ||
| 2763 | (url-file-file-attributes): Add id-format parameter. | ||
| 2764 | |||
| 2765 | * url/url-dav.el: Use with-current-buffer. | ||
| 2766 | (url-dav-process-response): Fix regexps and spurious quote. | ||
| 2767 | (url-dav-file-attributes): Add id-format param. | ||
| 2768 | |||
| 2769 | * diff-mode.el (diff-end-of-hunk): Be more careful with unified hunks. | 2801 | * diff-mode.el (diff-end-of-hunk): Be more careful with unified hunks. |
| 2770 | 2802 | ||
| 2771 | 2004-04-16 Andre Spiegel <spiegel@gnu.org> | 2803 | 2004-04-16 Andre Spiegel <spiegel@gnu.org> |
| @@ -2938,14 +2970,6 @@ | |||
| 2938 | * progmodes/compile.el (compile-goto-error): Select the buffer/window | 2970 | * progmodes/compile.el (compile-goto-error): Select the buffer/window |
| 2939 | corresponding to the event. | 2971 | corresponding to the event. |
| 2940 | 2972 | ||
| 2941 | * url/url.el (url-retrieve): Use with-current-buffer. | ||
| 2942 | |||
| 2943 | * url/url-http.el (url-http-parse-headers, url-http-file-exists-p): | ||
| 2944 | Remove unused var `version'. | ||
| 2945 | |||
| 2946 | * url/url-handlers.el (url-handler-mode): New minor mode. | ||
| 2947 | (url-setup-file-name-handlers): Remove. | ||
| 2948 | |||
| 2949 | 2004-04-12 Joe Buehler <jbuehler@hekiman.com> | 2973 | 2004-04-12 Joe Buehler <jbuehler@hekiman.com> |
| 2950 | 2974 | ||
| 2951 | * loadup.el: Add cygwin to system-type list, for unexec() support. | 2975 | * loadup.el: Add cygwin to system-type list, for unexec() support. |
| @@ -2962,9 +2986,6 @@ | |||
| 2962 | 2986 | ||
| 2963 | * help.el (describe-mode): Doc fix. | 2987 | * help.el (describe-mode): Doc fix. |
| 2964 | 2988 | ||
| 2965 | * url/url-cookie.el (url-cookie-handle-set-cookie): Replace calls | ||
| 2966 | to obsolete `assoc-ignore-case' with calls to `assoc-string'. | ||
| 2967 | |||
| 2968 | 2004-04-12 Stefan Monnier <monnier@iro.umontreal.ca> | 2989 | 2004-04-12 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2969 | 2990 | ||
| 2970 | * progmodes/compile.el (compilation-mode-font-lock-keywords): Fix test | 2991 | * progmodes/compile.el (compilation-mode-font-lock-keywords): Fix test |
| @@ -2984,42 +3005,6 @@ | |||
| 2984 | 3005 | ||
| 2985 | 2004-04-11 Dave Love <fx@gnu.org> | 3006 | 2004-04-11 Dave Love <fx@gnu.org> |
| 2986 | 3007 | ||
| 2987 | * url/url-mailto.el (url-mailto): | ||
| 2988 | * url/url-history.el (url-history-setup-save-timer): | ||
| 2989 | * url/url-cookie.el (url-cookie-setup-save-timer): Avoid warnings. | ||
| 2990 | |||
| 2991 | * url/url-file.el (url-file-build-filename): Don't use | ||
| 2992 | directory-sep-char. | ||
| 2993 | |||
| 2994 | * url/url-auth.el (url-register-auth-scheme): Fix `format' call. | ||
| 2995 | |||
| 2996 | * url/url-about.el (url-scheme-registry): Defvar. | ||
| 2997 | (url-about): Use text/plain. | ||
| 2998 | |||
| 2999 | * url/url-vars.el (cl): Don't require. | ||
| 3000 | (url): Add :version. | ||
| 3001 | (url-bug-address): Use bug-gnu-emacs. | ||
| 3002 | |||
| 3003 | * url/url-util.el (url-hexify-string): Don't give multibyte error | ||
| 3004 | for char <16. | ||
| 3005 | (mail-header-extract): Autoload. | ||
| 3006 | |||
| 3007 | * url/url-parse.el: Doc fixes. | ||
| 3008 | |||
| 3009 | * url/url-ldap.el (ldap): Require. | ||
| 3010 | (url-ldap): Fix `format' call. | ||
| 3011 | (url-ldap-certificate-formatter): Avoid warning. | ||
| 3012 | |||
| 3013 | * url/url-https.el (url-https-create-secure-wrapper): Use modern | ||
| 3014 | backquotes. | ||
| 3015 | |||
| 3016 | * url/url-dav.el (url-dav-rename-file): Fix args of `signal'. | ||
| 3017 | (url-intersection): New. | ||
| 3018 | (url-dav-supported-p): Use it. | ||
| 3019 | (url-dav-save-resource): Declare url-http-response-status special. | ||
| 3020 | |||
| 3021 | * url/url-cache.el (url-util): Require. | ||
| 3022 | |||
| 3023 | * emacs-lisp/bytecomp.el (byte-compile-cond): Fix last change. | 3008 | * emacs-lisp/bytecomp.el (byte-compile-cond): Fix last change. |
| 3024 | 3009 | ||
| 3025 | * progmodes/python.el: New file. | 3010 | * progmodes/python.el: New file. |
| @@ -3066,9 +3051,6 @@ | |||
| 3066 | 3051 | ||
| 3067 | * emacs-lisp/bytecomp.el (byte-compile-version): Variable removed. | 3052 | * emacs-lisp/bytecomp.el (byte-compile-version): Variable removed. |
| 3068 | (byte-compile-insert-header): Don't use `byte-compile-version'. | 3053 | (byte-compile-insert-header): Don't use `byte-compile-version'. |
| 3069 | * url/url-vars.el (url-version): Use the constant string "Emacs" | ||
| 3070 | instead of calculating something from the RCS `State' keyword | ||
| 3071 | [the latter is almost entirely useless anyway]. | ||
| 3072 | * forms.el (forms-version): Variable removed. | 3054 | * forms.el (forms-version): Variable removed. |
| 3073 | (forms-mode): Don't use `forms-version'. | 3055 | (forms-mode): Don't use `forms-version'. |
| 3074 | * recentf.el (recentf-version): Variable removed. | 3056 | * recentf.el (recentf-version): Variable removed. |
| @@ -3318,10 +3300,7 @@ | |||
| 3318 | 3300 | ||
| 3319 | 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca> | 3301 | 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca> |
| 3320 | 3302 | ||
| 3321 | * url: Import the URL package from its repository. | 3303 | * url/: New dir. Import the URL package from its repository. |
| 3322 | |||
| 3323 | * url/url-methods.el: | ||
| 3324 | * url/url-parse.el: Don't require url-auto. | ||
| 3325 | 3304 | ||
| 3326 | 2004-04-03 Andreas Schwab <schwab@suse.de> | 3305 | 2004-04-03 Andreas Schwab <schwab@suse.de> |
| 3327 | 3306 | ||
diff --git a/lisp/emacs-lisp/pp.el b/lisp/emacs-lisp/pp.el index 61d31921e57..93e30fb0f55 100644 --- a/lisp/emacs-lisp/pp.el +++ b/lisp/emacs-lisp/pp.el | |||
| @@ -54,6 +54,7 @@ to make output that `read' can handle, whenever this is possible." | |||
| 54 | (buffer-string)) | 54 | (buffer-string)) |
| 55 | (kill-buffer (current-buffer))))) | 55 | (kill-buffer (current-buffer))))) |
| 56 | 56 | ||
| 57 | ;;;###autoload | ||
| 57 | (defun pp-buffer () | 58 | (defun pp-buffer () |
| 58 | "Prettify the current buffer with printed representation of a Lisp object." | 59 | "Prettify the current buffer with printed representation of a Lisp object." |
| 59 | (goto-char (point-min)) | 60 | (goto-char (point-min)) |
diff --git a/lisp/font-lock.el b/lisp/font-lock.el index 061ab23872b..238d0c4fdf7 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el | |||
| @@ -1257,7 +1257,7 @@ START should be at the beginning of a line." | |||
| 1257 | font-lock-syntactic-keywords))) | 1257 | font-lock-syntactic-keywords))) |
| 1258 | ;; Get down to business. | 1258 | ;; Get down to business. |
| 1259 | (let ((case-fold-search font-lock-keywords-case-fold-search) | 1259 | (let ((case-fold-search font-lock-keywords-case-fold-search) |
| 1260 | (keywords (cdr font-lock-syntactic-keywords)) | 1260 | (keywords (cddr font-lock-syntactic-keywords)) |
| 1261 | keyword matcher highlights) | 1261 | keyword matcher highlights) |
| 1262 | (while keywords | 1262 | (while keywords |
| 1263 | ;; Find an occurrence of `matcher' from `start' to `end'. | 1263 | ;; Find an occurrence of `matcher' from `start' to `end'. |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 78c9f15f912..8169b014e16 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2004-06-29 Kim F. Storm <storm@cua.dk> | ||
| 2 | |||
| 3 | * nntp.el (nntp-authinfo-file): Add :group 'nntp. | ||
| 4 | |||
| 5 | * nnimap.el (nnimap-authinfo-file, nnimap-prune-cache): | ||
| 6 | Add :group 'nnimap. | ||
| 7 | |||
| 1 | 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca> | 8 | 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 9 | ||
| 3 | * mm-view.el (mm-insert-inline): Make it work in read-only buffer. | 10 | * mm-view.el (mm-insert-inline): Make it work in read-only buffer. |
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index a7cf82317b5..ec9d42ee042 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el | |||
| @@ -271,11 +271,13 @@ use this to make replies go directly to the group.") | |||
| 271 | (string :format "Login: %v")) | 271 | (string :format "Login: %v")) |
| 272 | (cons :format "%v" | 272 | (cons :format "%v" |
| 273 | (const :format "" "password") | 273 | (const :format "" "password") |
| 274 | (string :format "Password: %v"))))))) | 274 | (string :format "Password: %v")))))) |
| 275 | :group 'nnimap) | ||
| 275 | 276 | ||
| 276 | (defcustom nnimap-prune-cache t | 277 | (defcustom nnimap-prune-cache t |
| 277 | "If non-nil, nnimap check whether articles still exist on server before using data stored in NOV cache." | 278 | "If non-nil, nnimap check whether articles still exist on server before using data stored in NOV cache." |
| 278 | :type 'boolean) | 279 | :type 'boolean |
| 280 | :group 'nnimap) | ||
| 279 | 281 | ||
| 280 | (defvar nnimap-request-list-method 'imap-mailbox-list | 282 | (defvar nnimap-request-list-method 'imap-mailbox-list |
| 281 | "Method to use to request a list of all folders from the server. | 283 | "Method to use to request a list of all folders from the server. |
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index 8791c652a45..5722ba8456a 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el | |||
| @@ -174,7 +174,8 @@ server there that you can connect to. See also | |||
| 174 | (string :format "Login: %v")) | 174 | (string :format "Login: %v")) |
| 175 | (cons :format "%v" | 175 | (cons :format "%v" |
| 176 | (const :format "" "password") | 176 | (const :format "" "password") |
| 177 | (string :format "Password: %v"))))))) | 177 | (string :format "Password: %v")))))) |
| 178 | :group 'nntp) | ||
| 178 | 179 | ||
| 179 | 180 | ||
| 180 | 181 | ||
| @@ -223,7 +224,7 @@ noticing asynchronous data.") | |||
| 223 | (defvar nntp-async-timer nil) | 224 | (defvar nntp-async-timer nil) |
| 224 | (defvar nntp-async-process-list nil) | 225 | (defvar nntp-async-process-list nil) |
| 225 | 226 | ||
| 226 | (defvar nntp-ssl-program | 227 | (defvar nntp-ssl-program |
| 227 | "openssl s_client -quiet -ssl3 -connect %s:%p" | 228 | "openssl s_client -quiet -ssl3 -connect %s:%p" |
| 228 | "A string containing commands for SSL connections. | 229 | "A string containing commands for SSL connections. |
| 229 | Within a string, %s is replaced with the server address and %p with | 230 | Within a string, %s is replaced with the server address and %p with |
| @@ -928,10 +929,10 @@ password contained in '~/.nntp-authinfo'." | |||
| 928 | 929 | ||
| 929 | (defun nntp-open-ssl-stream (buffer) | 930 | (defun nntp-open-ssl-stream (buffer) |
| 930 | (let* ((process-connection-type nil) | 931 | (let* ((process-connection-type nil) |
| 931 | (proc (start-process "nntpd" buffer | 932 | (proc (start-process "nntpd" buffer |
| 932 | shell-file-name | 933 | shell-file-name |
| 933 | shell-command-switch | 934 | shell-command-switch |
| 934 | (format-spec nntp-ssl-program | 935 | (format-spec nntp-ssl-program |
| 935 | (format-spec-make | 936 | (format-spec-make |
| 936 | ?s nntp-address | 937 | ?s nntp-address |
| 937 | ?p nntp-port-number))))) | 938 | ?p nntp-port-number))))) |
diff --git a/lisp/isearch.el b/lisp/isearch.el index 3898aa13f61..d30c7c6cc66 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -294,8 +294,10 @@ Default value, nil, means edit the string instead." | |||
| 294 | (define-key map " " 'isearch-whitespace-chars) | 294 | (define-key map " " 'isearch-whitespace-chars) |
| 295 | (define-key map [?\S-\ ] 'isearch-whitespace-chars) | 295 | (define-key map [?\S-\ ] 'isearch-whitespace-chars) |
| 296 | 296 | ||
| 297 | (define-key map "\C-w" 'isearch-yank-word-or-char) | 297 | (define-key map "\C-w" 'isearch-yank-word-or-char) |
| 298 | (define-key map "\C-y" 'isearch-yank-line) | 298 | (define-key map "\M-\C-w" 'isearch-del-char) |
| 299 | (define-key map "\M-\C-y" 'isearch-yank-char) | ||
| 300 | (define-key map "\C-y" 'isearch-yank-line) | ||
| 299 | 301 | ||
| 300 | ;; Define keys for regexp chars * ? |. | 302 | ;; Define keys for regexp chars * ? |. |
| 301 | ;; Nothing special for + because it matches at least once. | 303 | ;; Nothing special for + because it matches at least once. |
| @@ -336,18 +338,27 @@ Default value, nil, means edit the string instead." | |||
| 336 | (define-key map "\M-r" 'isearch-toggle-regexp) | 338 | (define-key map "\M-r" 'isearch-toggle-regexp) |
| 337 | (define-key map "\M-e" 'isearch-edit-string) | 339 | (define-key map "\M-e" 'isearch-edit-string) |
| 338 | 340 | ||
| 341 | (define-key map (kbd "M-%") 'isearch-query-replace) | ||
| 342 | (define-key map (kbd "C-M-%") 'isearch-query-replace-regexp) | ||
| 343 | |||
| 339 | map) | 344 | map) |
| 340 | "Keymap for `isearch-mode'.") | 345 | "Keymap for `isearch-mode'.") |
| 341 | 346 | ||
| 342 | (defvar minibuffer-local-isearch-map | 347 | (defvar minibuffer-local-isearch-map |
| 343 | (let ((map (make-sparse-keymap))) | 348 | (let ((map (make-sparse-keymap))) |
| 344 | (set-keymap-parent map minibuffer-local-map) | 349 | (set-keymap-parent map minibuffer-local-map) |
| 345 | (define-key map "\r" 'isearch-nonincremental-exit-minibuffer) | 350 | (define-key map "\r" 'isearch-nonincremental-exit-minibuffer) |
| 346 | (define-key map "\M-n" 'isearch-ring-advance-edit) | 351 | (define-key map "\M-n" 'isearch-ring-advance-edit) |
| 347 | (define-key map "\M-p" 'isearch-ring-retreat-edit) | 352 | (define-key map [next] 'isearch-ring-advance-edit) |
| 353 | (define-key map [down] 'isearch-ring-advance-edit) | ||
| 354 | (define-key map "\M-p" 'isearch-ring-retreat-edit) | ||
| 355 | (define-key map [prior] 'isearch-ring-retreat-edit) | ||
| 356 | (define-key map [up] 'isearch-ring-retreat-edit) | ||
| 348 | (define-key map "\M-\t" 'isearch-complete-edit) | 357 | (define-key map "\M-\t" 'isearch-complete-edit) |
| 349 | (define-key map "\C-s" 'isearch-forward-exit-minibuffer) | 358 | (define-key map "\C-s" 'isearch-forward-exit-minibuffer) |
| 350 | (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) | 359 | (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) |
| 360 | (define-key map "\C-f" 'isearch-yank-char-in-minibuffer) | ||
| 361 | (define-key map [right] 'isearch-yank-char-in-minibuffer) | ||
| 351 | map) | 362 | map) |
| 352 | "Keymap for editing isearch strings in the minibuffer.") | 363 | "Keymap for editing isearch strings in the minibuffer.") |
| 353 | 364 | ||
| @@ -449,14 +460,14 @@ As you type characters, they add to the search string and are found. | |||
| 449 | The following non-printing keys are bound in `isearch-mode-map'. | 460 | The following non-printing keys are bound in `isearch-mode-map'. |
| 450 | 461 | ||
| 451 | Type \\[isearch-delete-char] to cancel last input item from end of search string. | 462 | Type \\[isearch-delete-char] to cancel last input item from end of search string. |
| 452 | Type \\[isearch-del-char] to cancel last character from end of search string. | ||
| 453 | Type \\[isearch-exit] to exit, leaving point at location found. | 463 | Type \\[isearch-exit] to exit, leaving point at location found. |
| 454 | Type LFD (C-j) to match end of line. | 464 | Type LFD (C-j) to match end of line. |
| 455 | Type \\[isearch-repeat-forward] to search again forward,\ | 465 | Type \\[isearch-repeat-forward] to search again forward,\ |
| 456 | \\[isearch-repeat-backward] to search again backward. | 466 | \\[isearch-repeat-backward] to search again backward. |
| 457 | Type \\[isearch-yank-char] to yank character from buffer onto end of search\ | 467 | Type \\[isearch-yank-word-or-char] to yank word from buffer onto end of search\ |
| 458 | string and search for it. | 468 | string and search for it. |
| 459 | Type \\[isearch-yank-word] to yank word from buffer onto end of search\ | 469 | Type \\[isearch-del-char] to delete character from end of search string. |
| 470 | Type \\[isearch-yank-char] to yank char from buffer onto end of search\ | ||
| 460 | string and search for it. | 471 | string and search for it. |
| 461 | Type \\[isearch-yank-line] to yank rest of line onto end of search string\ | 472 | Type \\[isearch-yank-line] to yank rest of line onto end of search string\ |
| 462 | and search for it. | 473 | and search for it. |
| @@ -792,7 +803,7 @@ The following additional command keys are active while editing. | |||
| 792 | \\[isearch-ring-retreat-edit] to replace the search string with the previous item in the search ring. | 803 | \\[isearch-ring-retreat-edit] to replace the search string with the previous item in the search ring. |
| 793 | \\[isearch-complete-edit] to complete the search string using the search ring. | 804 | \\[isearch-complete-edit] to complete the search string using the search ring. |
| 794 | \\<isearch-mode-map> | 805 | \\<isearch-mode-map> |
| 795 | If first char entered is \\[isearch-yank-word], then do word search instead." | 806 | If first char entered is \\[isearch-yank-word-or-char], then do word search instead." |
| 796 | 807 | ||
| 797 | ;; This code is very hairy for several reasons, explained in the code. | 808 | ;; This code is very hairy for several reasons, explained in the code. |
| 798 | ;; Mainly, isearch-mode must be terminated while editing and then restarted. | 809 | ;; Mainly, isearch-mode must be terminated while editing and then restarted. |
| @@ -1048,6 +1059,31 @@ Use `isearch-exit' to quit without signaling." | |||
| 1048 | (sit-for 1) | 1059 | (sit-for 1) |
| 1049 | (isearch-update)) | 1060 | (isearch-update)) |
| 1050 | 1061 | ||
| 1062 | (defun isearch-query-replace () | ||
| 1063 | "Start query-replace with string to replace from last search string." | ||
| 1064 | (interactive) | ||
| 1065 | (let ((query-replace-interactive 'initial) | ||
| 1066 | (case-fold-search isearch-case-fold-search)) | ||
| 1067 | ;; Put search string into the right ring | ||
| 1068 | (setq isearch-regexp nil) | ||
| 1069 | (isearch-done) | ||
| 1070 | (isearch-clean-overlays) | ||
| 1071 | (and isearch-forward isearch-other-end (goto-char isearch-other-end)) | ||
| 1072 | (call-interactively 'query-replace))) | ||
| 1073 | |||
| 1074 | (defun isearch-query-replace-regexp () | ||
| 1075 | "Start query-replace-regexp with string to replace from last search string." | ||
| 1076 | (interactive) | ||
| 1077 | (let ((query-replace-interactive 'initial) | ||
| 1078 | (case-fold-search isearch-case-fold-search)) | ||
| 1079 | ;; Put search string into the right ring | ||
| 1080 | (setq isearch-regexp t) | ||
| 1081 | (isearch-done) | ||
| 1082 | (isearch-clean-overlays) | ||
| 1083 | (and isearch-forward isearch-other-end (goto-char isearch-other-end)) | ||
| 1084 | (call-interactively 'query-replace-regexp))) | ||
| 1085 | |||
| 1086 | |||
| 1051 | (defun isearch-delete-char () | 1087 | (defun isearch-delete-char () |
| 1052 | "Discard last input item and move point back. | 1088 | "Discard last input item and move point back. |
| 1053 | If no previous match was done, just beep." | 1089 | If no previous match was done, just beep." |
| @@ -1057,15 +1093,17 @@ If no previous match was done, just beep." | |||
| 1057 | (isearch-pop-state)) | 1093 | (isearch-pop-state)) |
| 1058 | (isearch-update)) | 1094 | (isearch-update)) |
| 1059 | 1095 | ||
| 1060 | (defun isearch-del-char () | 1096 | (defun isearch-del-char (&optional arg) |
| 1061 | "Discard last character and move point back. | 1097 | "Delete character from end of search string and search again. |
| 1062 | If there is no previous character, just beep." | 1098 | If search string is empty, just beep." |
| 1063 | (interactive) | 1099 | (interactive "p") |
| 1064 | (if (equal isearch-string "") | 1100 | (if (= 0 (length isearch-string)) |
| 1065 | (ding) | 1101 | (ding) |
| 1066 | (setq isearch-string (substring isearch-string 0 -1) | 1102 | (setq isearch-string (substring isearch-string 0 (- (or arg 1))) |
| 1067 | isearch-message (mapconcat 'isearch-text-char-description | 1103 | isearch-message (mapconcat 'isearch-text-char-description |
| 1068 | isearch-string ""))) | 1104 | isearch-string "") |
| 1105 | ;; Don't move cursor in reverse search. | ||
| 1106 | isearch-yank-flag t)) | ||
| 1069 | (isearch-search-and-update)) | 1107 | (isearch-search-and-update)) |
| 1070 | 1108 | ||
| 1071 | (defun isearch-yank-string (string) | 1109 | (defun isearch-yank-string (string) |
| @@ -1127,10 +1165,21 @@ might return the position of the end of the line." | |||
| 1127 | (goto-char isearch-other-end)) | 1165 | (goto-char isearch-other-end)) |
| 1128 | (buffer-substring-no-properties (point) (funcall jumpform))))) | 1166 | (buffer-substring-no-properties (point) (funcall jumpform))))) |
| 1129 | 1167 | ||
| 1130 | (defun isearch-yank-char () | 1168 | (defun isearch-yank-char-in-minibuffer (&optional arg) |
| 1169 | "Pull next character from buffer into end of search string in minibuffer." | ||
| 1170 | (interactive "p") | ||
| 1171 | (if (eobp) | ||
| 1172 | (insert | ||
| 1173 | (save-excursion | ||
| 1174 | (set-buffer (cadr (buffer-list))) | ||
| 1175 | (buffer-substring-no-properties | ||
| 1176 | (point) (progn (forward-char arg) (point))))) | ||
| 1177 | (forward-char arg))) | ||
| 1178 | |||
| 1179 | (defun isearch-yank-char (&optional arg) | ||
| 1131 | "Pull next character from buffer into search string." | 1180 | "Pull next character from buffer into search string." |
| 1132 | (interactive) | 1181 | (interactive "p") |
| 1133 | (isearch-yank-internal (lambda () (forward-char 1) (point)))) | 1182 | (isearch-yank-internal (lambda () (forward-char arg) (point)))) |
| 1134 | 1183 | ||
| 1135 | (defun isearch-yank-word-or-char () | 1184 | (defun isearch-yank-word-or-char () |
| 1136 | "Pull next character or word from buffer into search string." | 1185 | "Pull next character or word from buffer into search string." |
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/ada-xref.el b/lisp/progmodes/ada-xref.el index c7b5717a1bb..c9bfbd76c23 100644 --- a/lisp/progmodes/ada-xref.el +++ b/lisp/progmodes/ada-xref.el | |||
| @@ -143,7 +143,8 @@ Otherwise, ask the user for the name of the project file to use." | |||
| 143 | 143 | ||
| 144 | (defcustom ada-tight-gvd-integration nil | 144 | (defcustom ada-tight-gvd-integration nil |
| 145 | "*If non-nil, a new Emacs frame will be swallowed in GVD when debugging. | 145 | "*If non-nil, a new Emacs frame will be swallowed in GVD when debugging. |
| 146 | If GVD is not the debugger used, nothing happens.") | 146 | If GVD is not the debugger used, nothing happens." |
| 147 | :type 'boolean :group 'ada) | ||
| 147 | 148 | ||
| 148 | (defcustom ada-xref-search-with-egrep t | 149 | (defcustom ada-xref-search-with-egrep t |
| 149 | "*If non-nil, use egrep to find the possible declarations for an entity. | 150 | "*If non-nil, use egrep to find the possible declarations for an entity. |
| @@ -506,12 +507,12 @@ All the directories are returned as absolute directories." | |||
| 506 | (equal ada-prj-default-project-file | 507 | (equal ada-prj-default-project-file |
| 507 | (car x)) | 508 | (car x)) |
| 508 | )))) | 509 | )))) |
| 509 | 510 | ||
| 510 | ;; Parses all the known project files, and insert at | 511 | ;; Parses all the known project files, and insert at |
| 511 | ;; least the default one (in case | 512 | ;; least the default one (in case |
| 512 | ;; ada-xref-project-files is nil) | 513 | ;; ada-xref-project-files is nil) |
| 513 | (or ada-xref-project-files '(nil)))))) | 514 | (or ada-xref-project-files '(nil)))))) |
| 514 | 515 | ||
| 515 | (easy-menu-add-item ada-mode-menu '() submenu))) | 516 | (easy-menu-add-item ada-mode-menu '() submenu))) |
| 516 | 517 | ||
| 517 | 518 | ||
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 25863d1aba3..1e2ef00580e 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -39,7 +39,7 @@ | |||
| 39 | ;; Kingdon and uses GDB's annotation interface. You don't need to know about | 39 | ;; Kingdon and uses GDB's annotation interface. You don't need to know about |
| 40 | ;; annotations to use this mode as a debugger, but if you are interested | 40 | ;; annotations to use this mode as a debugger, but if you are interested |
| 41 | ;; developing the mode itself, then see the Annotations section in the GDB | 41 | ;; developing the mode itself, then see the Annotations section in the GDB |
| 42 | ;; info manual. | 42 | ;; info manual. |
| 43 | ;; | 43 | ;; |
| 44 | ;; GDB developers plan to make the annotation interface obsolete. A new | 44 | ;; GDB developers plan to make the annotation interface obsolete. A new |
| 45 | ;; interface called GDB/MI (machine interface) has been designed to replace | 45 | ;; interface called GDB/MI (machine interface) has been designed to replace |
| @@ -70,7 +70,7 @@ | |||
| 70 | (defvar gdb-variables '() | 70 | (defvar gdb-variables '() |
| 71 | "A list of variables that are local to the GUD buffer.") | 71 | "A list of variables that are local to the GUD buffer.") |
| 72 | (defvar gdb-server-prefix nil) | 72 | (defvar gdb-server-prefix nil) |
| 73 | 73 | ||
| 74 | ;;;###autoload | 74 | ;;;###autoload |
| 75 | (defun gdba (command-line) | 75 | (defun gdba (command-line) |
| 76 | "Run gdb on program FILE in buffer *gud-FILE*. | 76 | "Run gdb on program FILE in buffer *gud-FILE*. |
| @@ -227,7 +227,7 @@ speedbar." | |||
| 227 | (if (string-equal expr (car var)) (throw 'already-watched nil))) | 227 | (if (string-equal expr (car var)) (throw 'already-watched nil))) |
| 228 | (set-text-properties 0 (length expr) nil expr) | 228 | (set-text-properties 0 (length expr) nil expr) |
| 229 | (gdb-enqueue-input | 229 | (gdb-enqueue-input |
| 230 | (list | 230 | (list |
| 231 | (if (eq gud-minor-mode 'gdba) | 231 | (if (eq gud-minor-mode 'gdba) |
| 232 | (concat "server interpreter mi \"-var-create - * " expr "\"\n") | 232 | (concat "server interpreter mi \"-var-create - * " expr "\"\n") |
| 233 | (concat"-var-create - * " expr "\n")) | 233 | (concat"-var-create - * " expr "\n")) |
| @@ -326,7 +326,7 @@ speedbar." | |||
| 326 | (if (not (member 'gdb-var-update gdb-pending-triggers)) | 326 | (if (not (member 'gdb-var-update gdb-pending-triggers)) |
| 327 | (progn | 327 | (progn |
| 328 | (gdb-enqueue-input | 328 | (gdb-enqueue-input |
| 329 | (list | 329 | (list |
| 330 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) | 330 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) |
| 331 | "server interpreter mi \"-var-update *\"\n" | 331 | "server interpreter mi \"-var-update *\"\n" |
| 332 | "-var-update *\n") | 332 | "-var-update *\n") |
| @@ -362,7 +362,7 @@ speedbar." | |||
| 362 | (varnum (cadr var))) | 362 | (varnum (cadr var))) |
| 363 | (unless (string-match "\\." varnum) | 363 | (unless (string-match "\\." varnum) |
| 364 | (gdb-enqueue-input | 364 | (gdb-enqueue-input |
| 365 | (list | 365 | (list |
| 366 | (if (with-current-buffer gud-comint-buffer | 366 | (if (with-current-buffer gud-comint-buffer |
| 367 | (eq gud-minor-mode 'gdba)) | 367 | (eq gud-minor-mode 'gdba)) |
| 368 | (concat "server interpreter mi \"-var-delete " varnum "\"\n") | 368 | (concat "server interpreter mi \"-var-delete " varnum "\"\n") |
| @@ -486,7 +486,7 @@ The key should be one of the cars in `gdb-buffer-rules-assoc'." | |||
| 486 | (set (make-local-variable 'gdb-buffer-type) key) | 486 | (set (make-local-variable 'gdb-buffer-type) key) |
| 487 | (if (cdr (cdr rules)) | 487 | (if (cdr (cdr rules)) |
| 488 | (funcall (car (cdr (cdr rules))))) | 488 | (funcall (car (cdr (cdr rules))))) |
| 489 | (set (make-local-variable 'gud-minor-mode) | 489 | (set (make-local-variable 'gud-minor-mode) |
| 490 | (with-current-buffer gud-comint-buffer gud-minor-mode)) | 490 | (with-current-buffer gud-comint-buffer gud-minor-mode)) |
| 491 | (set (make-local-variable 'tool-bar-map) gud-tool-bar-map) | 491 | (set (make-local-variable 'tool-bar-map) gud-tool-bar-map) |
| 492 | new)))) | 492 | new)))) |
| @@ -1076,13 +1076,15 @@ static char *magick[] = { | |||
| 1076 | '((t | 1076 | '((t |
| 1077 | :inherit fringe | 1077 | :inherit fringe |
| 1078 | :foreground "red")) | 1078 | :foreground "red")) |
| 1079 | "Face for enabled breakpoint icon in fringe.") | 1079 | "Face for enabled breakpoint icon in fringe." |
| 1080 | :group 'gud) | ||
| 1080 | 1081 | ||
| 1081 | (defface breakpoint-disabled-bitmap-face | 1082 | (defface breakpoint-disabled-bitmap-face |
| 1082 | '((t | 1083 | '((t |
| 1083 | :inherit fringe | 1084 | :inherit fringe |
| 1084 | :foreground "grey60")) | 1085 | :foreground "grey60")) |
| 1085 | "Face for disabled breakpoint icon in fringe.") | 1086 | "Face for disabled breakpoint icon in fringe." |
| 1087 | :group 'gud) | ||
| 1086 | 1088 | ||
| 1087 | 1089 | ||
| 1088 | ;;-put breakpoint icons in relevant margins (even those set in the GUD buffer) | 1090 | ;;-put breakpoint icons in relevant margins (even those set in the GUD buffer) |
| @@ -1837,7 +1839,7 @@ BUFFER nil or omitted means use the current buffer." | |||
| 1837 | (save-current-buffer | 1839 | (save-current-buffer |
| 1838 | (setq left-margin-width 2) | 1840 | (setq left-margin-width 2) |
| 1839 | (if (get-buffer-window (current-buffer) 'visible) | 1841 | (if (get-buffer-window (current-buffer) 'visible) |
| 1840 | (set-window-margins | 1842 | (set-window-margins |
| 1841 | (get-buffer-window (current-buffer) 'visible) | 1843 | (get-buffer-window (current-buffer) 'visible) |
| 1842 | left-margin-width right-margin-width)))) | 1844 | left-margin-width right-margin-width)))) |
| 1843 | (put-image | 1845 | (put-image |
| @@ -1864,7 +1866,7 @@ BUFFER nil or omitted means use the current buffer." | |||
| 1864 | (save-current-buffer | 1866 | (save-current-buffer |
| 1865 | (setq left-margin-width 2) | 1867 | (setq left-margin-width 2) |
| 1866 | (if (get-buffer-window (current-buffer) 'visible) | 1868 | (if (get-buffer-window (current-buffer) 'visible) |
| 1867 | (set-window-margins | 1869 | (set-window-margins |
| 1868 | (get-buffer-window (current-buffer) 'visible) | 1870 | (get-buffer-window (current-buffer) 'visible) |
| 1869 | left-margin-width right-margin-width)))) | 1871 | left-margin-width right-margin-width)))) |
| 1870 | (gdb-put-string (if enabled "B" "b") (1+ start))))) | 1872 | (gdb-put-string (if enabled "B" "b") (1+ start))))) |
| @@ -1876,7 +1878,7 @@ BUFFER nil or omitted means use the current buffer." | |||
| 1876 | (when remove-margin | 1878 | (when remove-margin |
| 1877 | (setq left-margin-width 0) | 1879 | (setq left-margin-width 0) |
| 1878 | (if (get-buffer-window (current-buffer) 'visible) | 1880 | (if (get-buffer-window (current-buffer) 'visible) |
| 1879 | (set-window-margins | 1881 | (set-window-margins |
| 1880 | (get-buffer-window (current-buffer) 'visible) | 1882 | (get-buffer-window (current-buffer) 'visible) |
| 1881 | left-margin-width right-margin-width)))) | 1883 | left-margin-width right-margin-width)))) |
| 1882 | 1884 | ||
diff --git a/lisp/replace.el b/lisp/replace.el index c68a420db7a..cac4470c9cd 100644 --- a/lisp/replace.el +++ b/lisp/replace.el | |||
| @@ -38,8 +38,12 @@ | |||
| 38 | 38 | ||
| 39 | (defcustom query-replace-interactive nil | 39 | (defcustom 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 | 42 | If value is `initial', the last search string is inserted into |
| 43 | the minibuffer as an initial value for \"string to replace\"." | ||
| 44 | :type '(choice (const :tag "Off" nil) | ||
| 45 | (const :tag "Initial content" initial) | ||
| 46 | (other :tag "Use default value" t)) | ||
| 43 | :group 'matching) | 47 | :group 'matching) |
| 44 | 48 | ||
| 45 | (defcustom query-replace-from-history-variable 'query-replace-history | 49 | (defcustom query-replace-from-history-variable 'query-replace-history |
| @@ -70,16 +74,20 @@ strings or patterns." | |||
| 70 | (unless noerror | 74 | (unless noerror |
| 71 | (barf-if-buffer-read-only)) | 75 | (barf-if-buffer-read-only)) |
| 72 | (let (from to) | 76 | (let (from to) |
| 73 | (if query-replace-interactive | 77 | (if (and query-replace-interactive |
| 74 | (setq from (car (if regexp-flag regexp-search-ring search-ring))) | 78 | (not (eq query-replace-interactive 'initial))) |
| 79 | (setq from (car (if regexp-flag regexp-search-ring search-ring))) | ||
| 75 | ;; The save-excursion here is in case the user marks and copies | 80 | ;; The save-excursion here is in case the user marks and copies |
| 76 | ;; a region in order to specify the minibuffer input. | 81 | ;; a region in order to specify the minibuffer input. |
| 77 | ;; That should not clobber the region for the query-replace itself. | 82 | ;; That should not clobber the region for the query-replace itself. |
| 78 | (save-excursion | 83 | (save-excursion |
| 79 | (setq from (read-from-minibuffer (format "%s: " string) | 84 | (setq from (read-from-minibuffer |
| 80 | nil nil nil | 85 | (format "%s: " string) |
| 81 | query-replace-from-history-variable | 86 | (if (eq query-replace-interactive 'initial) |
| 82 | nil t))) | 87 | (car (if regexp-flag regexp-search-ring search-ring))) |
| 88 | nil nil | ||
| 89 | query-replace-from-history-variable | ||
| 90 | nil t))) | ||
| 83 | ;; Warn if user types \n or \t, but don't reject the input. | 91 | ;; Warn if user types \n or \t, but don't reject the input. |
| 84 | (and regexp-flag | 92 | (and regexp-flag |
| 85 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\[nt]\\)" from) | 93 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\[nt]\\)" from) |
| @@ -92,9 +100,10 @@ strings or patterns." | |||
| 92 | (sit-for 2)))) | 100 | (sit-for 2)))) |
| 93 | 101 | ||
| 94 | (save-excursion | 102 | (save-excursion |
| 95 | (setq to (read-from-minibuffer (format "%s %s with: " string from) | 103 | (setq to (read-from-minibuffer |
| 96 | nil nil nil | 104 | (format "%s %s with: " string from) |
| 97 | query-replace-to-history-variable from t))) | 105 | nil nil nil |
| 106 | query-replace-to-history-variable from t))) | ||
| 98 | (when (and regexp-flag | 107 | (when (and regexp-flag |
| 99 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\\\[,#]" to)) | 108 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\\\[,#]" to)) |
| 100 | (let (pos list char) | 109 | (let (pos list char) |
| @@ -109,23 +118,18 @@ strings or patterns." | |||
| 109 | ((eq char ?\,) | 118 | ((eq char ?\,) |
| 110 | (setq pos (read-from-string to)) | 119 | (setq pos (read-from-string to)) |
| 111 | (push `(replace-quote ,(car pos)) list) | 120 | (push `(replace-quote ,(car pos)) list) |
| 112 | (let ((end | 121 | (setq to (substring |
| 113 | ;; Swallow a space after a symbol | 122 | to (+ (cdr pos) |
| 114 | ;; if there is a space. | 123 | ;; Swallow a space after a symbol |
| 115 | (if (and (or (symbolp (car pos)) | 124 | ;; if there is a space. |
| 116 | ;; Swallow a space after 'foo | 125 | (if (string-match |
| 117 | ;; but not after (quote foo). | 126 | "^[^])\"] " |
| 118 | (and (eq (car-safe (car pos)) 'quote) | 127 | (substring to (1- (cdr pos)))) |
| 119 | (= ?\( (aref to-string 0)))) | 128 | 1 0)))))) |
| 120 | (equal " " (substring to-string (cdr pos) | ||
| 121 | (1+ (cdr pos))))) | ||
| 122 | (1+ (cdr pos)) | ||
| 123 | (cdr pos)))) | ||
| 124 | (setq to (substring to end))))) | ||
| 125 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\\\[,#]" to))) | 129 | (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\\\[,#]" to))) |
| 126 | (setq to (nreverse (delete "" (cons to list))))) | 130 | (setq to (nreverse (delete "" (cons to list))))) |
| 127 | (replace-match-string-symbols to) | 131 | (replace-match-string-symbols to) |
| 128 | (setq to (cons 'replace-eval-replacement | 132 | (setq to (cons 'replace-eval-replacement |
| 129 | (if (> (length to) 1) | 133 | (if (> (length to) 1) |
| 130 | (cons 'concat to) | 134 | (cons 'concat to) |
| 131 | (car to))))) | 135 | (car to))))) |
| @@ -1397,7 +1401,7 @@ make, or the user didn't cancel the call." | |||
| 1397 | ((eq def 'act-and-exit) | 1401 | ((eq def 'act-and-exit) |
| 1398 | (or replaced | 1402 | (or replaced |
| 1399 | (setq noedit | 1403 | (setq noedit |
| 1400 | (replace-match-maybe-edit | 1404 | (replace-match-maybe-edit |
| 1401 | next-replacement nocasify literal | 1405 | next-replacement nocasify literal |
| 1402 | noedit real-match-data) | 1406 | noedit real-match-data) |
| 1403 | replace-count (1+ replace-count))) | 1407 | replace-count (1+ replace-count))) |
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-arch.el b/lisp/vc-arch.el index a439174556e..5f24599241c 100644 --- a/lisp/vc-arch.el +++ b/lisp/vc-arch.el | |||
| @@ -309,7 +309,8 @@ Return non-nil if FILE is unchanged." | |||
| 309 | (defcustom vc-arch-mode-line-rewrite | 309 | (defcustom vc-arch-mode-line-rewrite |
| 310 | '(("\\`.*--\\(.*--.*\\)--\\(v?\\).*-\\([0-9]+\\)\\'" . "\\2\\3[\\1]")) | 310 | '(("\\`.*--\\(.*--.*\\)--\\(v?\\).*-\\([0-9]+\\)\\'" . "\\2\\3[\\1]")) |
| 311 | "Rewrite rules to shorten Arch's revision names on the mode-line." | 311 | "Rewrite rules to shorten Arch's revision names on the mode-line." |
| 312 | :type '(repeat (cons regexp string))) | 312 | :type '(repeat (cons regexp string)) |
| 313 | :group 'vc) | ||
| 313 | 314 | ||
| 314 | (defun vc-arch-mode-line-string (file) | 315 | (defun vc-arch-mode-line-string (file) |
| 315 | "Return string for placement in modeline by `vc-mode-line' for FILE." | 316 | "Return string for placement in modeline by `vc-mode-line' for FILE." |
diff --git a/lisp/vc-rcs.el b/lisp/vc-rcs.el index 9b405246c29..5d020e93b6d 100644 --- a/lisp/vc-rcs.el +++ b/lisp/vc-rcs.el | |||
| @@ -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..ff73949f771 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2004-07-02 David Kastrup <dak@gnu.org> | ||
| 2 | |||
| 3 | * searching.texi (Entire Match Data): Add explanation about new | ||
| 4 | match-data behavior when @var{integers} is non-nil. | ||
| 5 | |||
| 1 | 2004-06-24 Richard M. Stallman <rms@gnu.org> | 6 | 2004-06-24 Richard M. Stallman <rms@gnu.org> |
| 2 | 7 | ||
| 3 | * commands.texi (Misc Events): Describe usr1-signal, usr2-signal event. | 8 | * commands.texi (Misc Events): Describe usr1-signal, usr2-signal event. |
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 7d61928a29b..5473f8ff834 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,21 @@ | |||
| 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 | |||
| 14 | 2004-06-29 Jesper Harder <harder@ifa.au.dk> | ||
| 15 | |||
| 16 | * ses.texi, viper.texi, search.texi, flymake.texi, faq.texi: | ||
| 17 | * eshell.texi, ediff.texi, calendar.texi: Markup fixes. | ||
| 18 | |||
| 1 | 2004-06-25 Richard M. Stallman <rms@gnu.org> | 19 | 2004-06-25 Richard M. Stallman <rms@gnu.org> |
| 2 | 20 | ||
| 3 | * search.texi (Regexp Replace): Rewrite description of \# \, and \?. | 21 | * search.texi (Regexp Replace): Rewrite description of \# \, and \?. |
diff --git a/man/calendar.texi b/man/calendar.texi index 3d3f84b4ba3..9e3d3cf9f41 100644 --- a/man/calendar.texi +++ b/man/calendar.texi | |||
| @@ -1332,7 +1332,7 @@ begins with a recognizable time of day, Emacs can warn you several | |||
| 1332 | minutes beforehand that that appointment is pending. Emacs alerts you | 1332 | minutes beforehand that that appointment is pending. Emacs alerts you |
| 1333 | to the appointment by displaying a message in your chosen format, as | 1333 | to the appointment by displaying a message in your chosen format, as |
| 1334 | specified by the variable @code{appt-display-format}. If the value | 1334 | specified by the variable @code{appt-display-format}. If the value |
| 1335 | of @code{appt-audible} is non-nil, an audible reminder is also given. | 1335 | of @code{appt-audible} is non-@code{nil}, an audible reminder is also given. |
| 1336 | 1336 | ||
| 1337 | @findex appt-activate | 1337 | @findex appt-activate |
| 1338 | To enable appointment notification, call the function | 1338 | To enable appointment notification, call the function |
diff --git a/man/ediff.texi b/man/ediff.texi index b1447386b0c..954efe4e027 100644 --- a/man/ediff.texi +++ b/man/ediff.texi | |||
| @@ -1067,7 +1067,7 @@ the only such group-level operation is the creation of a multi-file patch. | |||
| 1067 | @vindex ediff-autostore-merges | 1067 | @vindex ediff-autostore-merges |
| 1068 | For group sessions created to merge files, Ediff can store all merges | 1068 | For group sessions created to merge files, Ediff can store all merges |
| 1069 | automatically in a directory. The user is asked to specify such directory | 1069 | automatically in a directory. The user is asked to specify such directory |
| 1070 | if the value of @code{ediff-autostore-merges} is non-nil. If the value is | 1070 | if the value of @code{ediff-autostore-merges} is non-@code{nil}. If the value is |
| 1071 | @code{nil}, nothing is done to the merge buffers---it will be the user's | 1071 | @code{nil}, nothing is done to the merge buffers---it will be the user's |
| 1072 | responsibility to save them. If the value is @code{t}, the user will be | 1072 | responsibility to save them. If the value is @code{t}, the user will be |
| 1073 | asked where to save the merge buffers in all merge jobs, even those that do | 1073 | asked where to save the merge buffers in all merge jobs, even those that do |
| @@ -2338,11 +2338,11 @@ The second of the data buffers being compared. | |||
| 2338 | @item ediff-buffer-C | 2338 | @item ediff-buffer-C |
| 2339 | In three-way comparisons, this is the third buffer being compared. | 2339 | In three-way comparisons, this is the third buffer being compared. |
| 2340 | In merging, this is the merge buffer. | 2340 | In merging, this is the merge buffer. |
| 2341 | In two-way comparison, this variable is nil. | 2341 | In two-way comparison, this variable is @code{nil}. |
| 2342 | 2342 | ||
| 2343 | @item ediff-window-A | 2343 | @item ediff-window-A |
| 2344 | The window displaying buffer A. If buffer A is not visible, this variable | 2344 | The window displaying buffer A. If buffer A is not visible, this variable |
| 2345 | is nil or it may be a dead window. | 2345 | is @code{nil} or it may be a dead window. |
| 2346 | 2346 | ||
| 2347 | @item ediff-window-B | 2347 | @item ediff-window-B |
| 2348 | The window displaying buffer B. | 2348 | The window displaying buffer B. |
| @@ -2351,9 +2351,9 @@ The window displaying buffer B. | |||
| 2351 | The window displaying buffer C, if any. | 2351 | The window displaying buffer C, if any. |
| 2352 | 2352 | ||
| 2353 | @item ediff-control-frame | 2353 | @item ediff-control-frame |
| 2354 | A dedicated frame displaying the control buffer, if it exists. | 2354 | A dedicated frame displaying the control buffer, if it exists. It is |
| 2355 | It is non-nil only if Ediff uses the multiframe display, i.e., when the | 2355 | non-@code{nil} only if Ediff uses the multiframe display, i.e., when |
| 2356 | control buffer is in its own frame. | 2356 | the control buffer is in its own frame. |
| 2357 | @end table | 2357 | @end table |
| 2358 | 2358 | ||
| 2359 | @node Credits, Index, Customization, Top | 2359 | @node Credits, Index, Customization, Top |
diff --git a/man/eshell.texi b/man/eshell.texi index c909b6ebb46..fafc60ed186 100644 --- a/man/eshell.texi +++ b/man/eshell.texi | |||
| @@ -846,7 +846,7 @@ At the moment, this is not supported. | |||
| 846 | @item Error if a glob doesn't expand due to a predicate | 846 | @item Error if a glob doesn't expand due to a predicate |
| 847 | 847 | ||
| 848 | An error should be generated only if @code{eshell-error-if-no-glob} is | 848 | An error should be generated only if @code{eshell-error-if-no-glob} is |
| 849 | non-nil. | 849 | non-@code{nil}. |
| 850 | 850 | ||
| 851 | @item @samp{(+ RET SPC TAB} does not cause @code{indent-according-to-mode} to occur | 851 | @item @samp{(+ RET SPC TAB} does not cause @code{indent-according-to-mode} to occur |
| 852 | 852 | ||
diff --git a/man/eudc.texi b/man/eudc.texi index aaf130eb489..b5ff83be14a 100644 --- a/man/eudc.texi +++ b/man/eudc.texi | |||
| @@ -475,7 +475,7 @@ An alist specifying methods to display attribute values. Each member of | |||
| 475 | the list is of the form @code{(@var{name} . @var{func})} where | 475 | the list is of the form @code{(@var{name} . @var{func})} where |
| 476 | @var{name} is a lowercased string naming a directory attribute | 476 | @var{name} is a lowercased string naming a directory attribute |
| 477 | (translated according to @code{eudc-user-attribute-names-alist} if | 477 | (translated according to @code{eudc-user-attribute-names-alist} if |
| 478 | @code{eudc-use-raw-directory-names} is non-nil) and @var{func} a | 478 | @code{eudc-use-raw-directory-names} is non-@code{nil}) and @var{func} a |
| 479 | function that will be passed the corresponding attribute values for | 479 | function that will be passed the corresponding attribute values for |
| 480 | display. | 480 | display. |
| 481 | @end defvar | 481 | @end defvar |
diff --git a/man/faq.texi b/man/faq.texi index 7c13dc16e7b..fc0afd85620 100644 --- a/man/faq.texi +++ b/man/faq.texi | |||
| @@ -2367,7 +2367,7 @@ file, will bind the sequence @kbd{C-x g} to @code{goto-line}: | |||
| 2367 | 2367 | ||
| 2368 | Each menu title (e.g., @samp{File}, @samp{Edit}, @samp{Buffers}) | 2368 | Each menu title (e.g., @samp{File}, @samp{Edit}, @samp{Buffers}) |
| 2369 | represents a local or global keymap. Selecting a menu title with the | 2369 | represents a local or global keymap. Selecting a menu title with the |
| 2370 | mouse displays that keymap's non-nil contents in the form of a menu. | 2370 | mouse displays that keymap's non-@code{nil} contents in the form of a menu. |
| 2371 | 2371 | ||
| 2372 | So to add a menu option to an existing menu, all you have to do is add a | 2372 | So to add a menu option to an existing menu, all you have to do is add a |
| 2373 | new definition to the appropriate keymap. Adding a @samp{Forward Word} | 2373 | new definition to the appropriate keymap. Adding a @samp{Forward Word} |
| @@ -3173,7 +3173,7 @@ Obviously, there is a potential for Trojan horses to exploit this | |||
| 3173 | feature. | 3173 | feature. |
| 3174 | 3174 | ||
| 3175 | Emacs 18 allowed this feature by default; users could disable it by | 3175 | Emacs 18 allowed this feature by default; users could disable it by |
| 3176 | setting the variable @code{inhibit-local-variables} to a non-nil value. | 3176 | setting the variable @code{inhibit-local-variables} to a non-@code{nil} value. |
| 3177 | 3177 | ||
| 3178 | As of Emacs 19, Emacs has a list of local variables that create a | 3178 | As of Emacs 19, Emacs has a list of local variables that create a |
| 3179 | security risk. If a file tries to set one of them, it asks the user to | 3179 | security risk. If a file tries to set one of them, it asks the user to |
diff --git a/man/flymake.texi b/man/flymake.texi index e710b903361..c505be21b6e 100644 --- a/man/flymake.texi +++ b/man/flymake.texi | |||
| @@ -542,7 +542,7 @@ lines in the buffer using the accumulated error information. | |||
| 542 | 542 | ||
| 543 | Syntax check is considered possible if there's an entry in | 543 | Syntax check is considered possible if there's an entry in |
| 544 | @code{flymake-allowed-file-name-masks} matching buffer's filename and | 544 | @code{flymake-allowed-file-name-masks} matching buffer's filename and |
| 545 | its @code{init-function} returns non-nil value. | 545 | its @code{init-function} returns non-@code{nil} value. |
| 546 | 546 | ||
| 547 | Two syntax check modes are distinguished: | 547 | Two syntax check modes are distinguished: |
| 548 | 548 | ||
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 4577ac4b33e..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 |
| @@ -231,18 +246,18 @@ of bindings, look at the documentation of @code{isearch-mode} with | |||
| 231 | 246 | ||
| 232 | Vertical scrolling during incremental search can be enabled by | 247 | Vertical scrolling during incremental search can be enabled by |
| 233 | setting the customizable variable @code{isearch-allow-scroll} to a | 248 | setting the customizable variable @code{isearch-allow-scroll} to a |
| 234 | non-nil value. | 249 | non-@code{nil} value. |
| 235 | 250 | ||
| 236 | You can then use the vertical scroll-bar or certain keyboard | 251 | You can then use the vertical scroll-bar or certain keyboard |
| 237 | commands such as @kbd{@key{PRIOR}} (@code{scroll-down}), | 252 | commands such as @kbd{@key{PRIOR}} (@code{scroll-down}), |
| 238 | @kbd{@key{NEXT}} (@code{scroll-up}) and @kbd{C-l} (@code{recenter}) | 253 | @kbd{@key{NEXT}} (@code{scroll-up}) and @kbd{C-l} (@code{recenter}) |
| 239 | within the search, thus letting you see more of the text near the | 254 | within the search, thus letting you see more of the text near the |
| 240 | current match. You must run these commands via their key sequences to | 255 | current match. You must run these commands via their key sequences to |
| 241 | stay in the search - typing M-x @var{comand-name} will always | 256 | stay in the search---typing M-x @var{comand-name} will always |
| 242 | terminate a search. | 257 | terminate a search. |
| 243 | 258 | ||
| 244 | You can give prefix arguments to these commands in the usual way. | 259 | You can give prefix arguments to these commands in the usual way. |
| 245 | The current match cannot be scrolled out of the window - this is | 260 | The current match cannot be scrolled out of the window---this is |
| 246 | intentional. | 261 | intentional. |
| 247 | 262 | ||
| 248 | Several other commands, such as @kbd{C-x 2} | 263 | Several other commands, such as @kbd{C-x 2} |
| @@ -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 |
| @@ -847,7 +864,7 @@ history matching commands (@pxref{Minibuffer History}). | |||
| 847 | @vindex isearch-allow-scroll | 864 | @vindex isearch-allow-scroll |
| 848 | 865 | ||
| 849 | Scrolling, etc., during incremental search is enabled by setting the | 866 | Scrolling, etc., during incremental search is enabled by setting the |
| 850 | customizable variable @code{isearch-allow-scroll} to a non-nil value. | 867 | customizable variable @code{isearch-allow-scroll} to a non-@code{nil} value. |
| 851 | 868 | ||
| 852 | @c See Subject: Info file: How do I get an itemized list without blank lines? | 869 | @c See Subject: Info file: How do I get an itemized list without blank lines? |
| 853 | @c Date: Sat, 12 Apr 2003 09:45:31 +0000 in gnu.emacs.help | 870 | @c Date: Sat, 12 Apr 2003 09:45:31 +0000 in gnu.emacs.help |
| @@ -893,7 +910,7 @@ For example: | |||
| 893 | 910 | ||
| 894 | You should only thus configure commands which are ``safe'': i.e., they | 911 | You should only thus configure commands which are ``safe'': i.e., they |
| 895 | won't leave emacs in an inconsistent state when executed within a | 912 | won't leave emacs in an inconsistent state when executed within a |
| 896 | search - that is to say, the following things may be changed by a | 913 | search---that is to say, the following things may be changed by a |
| 897 | command only temporarily, and must be restored before the command | 914 | command only temporarily, and must be restored before the command |
| 898 | finishes: | 915 | finishes: |
| 899 | 916 | ||
| @@ -913,7 +930,7 @@ not itself attempt an incremental search. It may, however, change the | |||
| 913 | window's size, or create or delete other windows and frames. | 930 | window's size, or create or delete other windows and frames. |
| 914 | 931 | ||
| 915 | Note that an attempt by a command to scroll the text | 932 | Note that an attempt by a command to scroll the text |
| 916 | @emph{horizontally} won't work, although it will do no harm - any such | 933 | @emph{horizontally} won't work, although it will do no harm---any such |
| 917 | scrolling will be overriden and nullified by the display code. | 934 | scrolling will be overriden and nullified by the display code. |
| 918 | 935 | ||
| 919 | @node Replace, Other Repeating Search, Configuring Scrolling, Search | 936 | @node Replace, Other Repeating Search, Configuring Scrolling, Search |
| @@ -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/man/ses.texi b/man/ses.texi index 8e0086ac54b..b648f6eef9a 100644 --- a/man/ses.texi +++ b/man/ses.texi | |||
| @@ -251,8 +251,8 @@ one-argument function (a symbol or a lambda), whose result is a string | |||
| 251 | (right-aligned) or list of one string (left-aligned). While typing in | 251 | (right-aligned) or list of one string (left-aligned). While typing in |
| 252 | a lambda, you can use @kbd{M-TAB} to complete the names of symbols. | 252 | a lambda, you can use @kbd{M-TAB} to complete the names of symbols. |
| 253 | 253 | ||
| 254 | Each cell has a printer. If nil, the column-printer for the cell's | 254 | Each cell has a printer. If @code{nil}, the column-printer for the cell's |
| 255 | column is used. If that is also nil, the default-printer for the | 255 | column is used. If that is also @code{nil}, the default-printer for the |
| 256 | spreadsheet is used. | 256 | spreadsheet is used. |
| 257 | 257 | ||
| 258 | @table @kbd | 258 | @table @kbd |
| @@ -273,7 +273,7 @@ spreadsheet, plus the standard printers. | |||
| 273 | 273 | ||
| 274 | The standard printers are suitable only for cells, not columns or | 274 | The standard printers are suitable only for cells, not columns or |
| 275 | default, because they format the value using the column-printer (or | 275 | default, because they format the value using the column-printer (or |
| 276 | default-printer if nil) and then center the result: | 276 | default-printer if @code{nil}) and then center the result: |
| 277 | 277 | ||
| 278 | @table @code | 278 | @table @code |
| 279 | @item ses-center | 279 | @item ses-center |
| @@ -296,7 +296,7 @@ Centering with tildes (~) and spill-over. | |||
| 296 | @node Clearing cells, Copy/cut/paste, Printer functions, The Basics | 296 | @node Clearing cells, Copy/cut/paste, Printer functions, The Basics |
| 297 | @section Clearing cells | 297 | @section Clearing cells |
| 298 | 298 | ||
| 299 | These commands set both formula and printer to nil: | 299 | These commands set both formula and printer to @code{nil}: |
| 300 | 300 | ||
| 301 | @table @kbd | 301 | @table @kbd |
| 302 | @item DEL | 302 | @item DEL |
| @@ -331,7 +331,7 @@ Mark a region and copy it to kill ring and secondary clipboard | |||
| 331 | @item C-w | 331 | @item C-w |
| 332 | @itemx [cut] | 332 | @itemx [cut] |
| 333 | @itemx [S-delete] | 333 | @itemx [S-delete] |
| 334 | The cut functions do not actually delete rows or columns - they copy | 334 | The cut functions do not actually delete rows or columns---they copy |
| 335 | and then clear (@code{ses-kill-override}). | 335 | and then clear (@code{ses-kill-override}). |
| 336 | 336 | ||
| 337 | @item C-y | 337 | @item C-y |
| @@ -537,7 +537,7 @@ are some useful functions to call from your formulas: | |||
| 537 | 537 | ||
| 538 | @table @code | 538 | @table @code |
| 539 | @item (ses-delete-blanks &rest @var{args}) | 539 | @item (ses-delete-blanks &rest @var{args}) |
| 540 | Returns a list from which all blank cells (value is either nil or | 540 | Returns a list from which all blank cells (value is either @code{nil} or |
| 541 | '*skip*) have been deleted. | 541 | '*skip*) have been deleted. |
| 542 | 542 | ||
| 543 | @item (ses+ &rest @var{args}) | 543 | @item (ses+ &rest @var{args}) |
| @@ -561,10 +561,10 @@ producing a value: the print cell is filled with hash marks (#). | |||
| 561 | @end itemize | 561 | @end itemize |
| 562 | 562 | ||
| 563 | If the result from the printer function is too wide for the cell and | 563 | If the result from the printer function is too wide for the cell and |
| 564 | the following cell is nil, the result will spill over into the | 564 | the following cell is @code{nil}, the result will spill over into the |
| 565 | following cell. Very wide results can spill over several cells. If | 565 | following cell. Very wide results can spill over several cells. If |
| 566 | the result is too wide for the available space (up to the end of the | 566 | the result is too wide for the available space (up to the end of the |
| 567 | row or the next non-nil cell), the result is truncated if the cell's | 567 | row or the next non-@code{nil} cell), the result is truncated if the cell's |
| 568 | value is a string, or replaced with hash marks otherwise. | 568 | value is a string, or replaced with hash marks otherwise. |
| 569 | 569 | ||
| 570 | SES could get confused by printer results that contain newlines or | 570 | SES could get confused by printer results that contain newlines or |
diff --git a/man/viper.texi b/man/viper.texi index 5d4329730dc..654f6c9355f 100644 --- a/man/viper.texi +++ b/man/viper.texi | |||
| @@ -1312,7 +1312,7 @@ These two keys invoke many important Emacs functions. For example, if you | |||
| 1312 | hit @kbd{C-x} followed by @kbd{2}, then the current window will be split | 1312 | hit @kbd{C-x} followed by @kbd{2}, then the current window will be split |
| 1313 | into 2. Except for novice users, @kbd{C-c} is also set to execute an Emacs | 1313 | into 2. Except for novice users, @kbd{C-c} is also set to execute an Emacs |
| 1314 | command from the current major mode. @key{ESC} will do the same, if you | 1314 | command from the current major mode. @key{ESC} will do the same, if you |
| 1315 | configure @key{ESC} as Meta by setting @code{viper-no-multiple-ESC} to nil | 1315 | configure @key{ESC} as Meta by setting @code{viper-no-multiple-ESC} to @code{nil} |
| 1316 | in @file{.viper}. @xref{Customization}. @kbd{C-\} in Insert, Replace, or Vi | 1316 | in @file{.viper}. @xref{Customization}. @kbd{C-\} in Insert, Replace, or Vi |
| 1317 | states will make Emacs think @kbd{Meta} has been hit.@refill | 1317 | states will make Emacs think @kbd{Meta} has been hit.@refill |
| 1318 | @item \ | 1318 | @item \ |
| @@ -1742,7 +1742,7 @@ executed. Otherwise, it is processed as an ordinary sequence of typed keys. | |||
| 1742 | 1742 | ||
| 1743 | Setting this variable too high may slow down your typing. Setting it too | 1743 | Setting this variable too high may slow down your typing. Setting it too |
| 1744 | low may make it hard to type macros quickly enough. | 1744 | low may make it hard to type macros quickly enough. |
| 1745 | @item viper-translate-all-ESC-keysequences t on tty, nil on windowing display | 1745 | @item viper-translate-all-ESC-keysequences @code{t} on tty, @code{nil} on windowing display |
| 1746 | Normally, Viper lets Emacs translate only those ESC key sequences that are | 1746 | Normally, Viper lets Emacs translate only those ESC key sequences that are |
| 1747 | defined in the low-level key-translation-map or function-key-map, such as those | 1747 | defined in the low-level key-translation-map or function-key-map, such as those |
| 1748 | emitted by the arrow and function keys. Other sequences, e.g., @kbd{\\e/}, are | 1748 | emitted by the arrow and function keys. Other sequences, e.g., @kbd{\\e/}, are |
| @@ -1753,7 +1753,7 @@ The default is to translate all sequences only when using a dumb terminal. | |||
| 1753 | This permits you to use @kbd{ESC} as a meta key in insert mode. For instance, | 1753 | This permits you to use @kbd{ESC} as a meta key in insert mode. For instance, |
| 1754 | hitting @kbd{ESC x} fast would have the effect of typing @kbd{M-x}. | 1754 | hitting @kbd{ESC x} fast would have the effect of typing @kbd{M-x}. |
| 1755 | If your dumb terminal is not so dumb and understands the meta key, then you | 1755 | If your dumb terminal is not so dumb and understands the meta key, then you |
| 1756 | probably will be better off setting this variable to nil. Try and see which | 1756 | probably will be better off setting this variable to @code{nil}. Try and see which |
| 1757 | way suits you best. | 1757 | way suits you best. |
| 1758 | @item viper-ex-style-motion t | 1758 | @item viper-ex-style-motion t |
| 1759 | Set this to @code{nil}, if you want @kbd{l,h} to cross | 1759 | Set this to @code{nil}, if you want @kbd{l,h} to cross |
| @@ -1764,8 +1764,8 @@ Set this to @code{nil}, if you want | |||
| 1764 | at the beginning of a line in Insert state, @key{X} and @key{x} to delete | 1764 | at the beginning of a line in Insert state, @key{X} and @key{x} to delete |
| 1765 | characters across lines in Vi command state, etc. | 1765 | characters across lines in Vi command state, etc. |
| 1766 | @item viper-ESC-moves-cursor-back t | 1766 | @item viper-ESC-moves-cursor-back t |
| 1767 | It t, cursor moves back 1 character when switching from insert state to vi | 1767 | It @code{t}, cursor moves back 1 character when switching from insert state to vi |
| 1768 | state. If nil, the cursor stays where it was before the switch. | 1768 | state. If @code{nil}, the cursor stays where it was before the switch. |
| 1769 | @item viper-always t | 1769 | @item viper-always t |
| 1770 | @code{t} means: leave it to Viper to decide when a buffer must be brought | 1770 | @code{t} means: leave it to Viper to decide when a buffer must be brought |
| 1771 | up in Vi state, | 1771 | up in Vi state, |
| @@ -1873,17 +1873,17 @@ If set to a valid color, this will be the cursor color when Viper is in | |||
| 1873 | insert state. | 1873 | insert state. |
| 1874 | @item viper-replace-region-end-delimiter "$" | 1874 | @item viper-replace-region-end-delimiter "$" |
| 1875 | A string used to mark the end of replacement regions. It is used only on | 1875 | A string used to mark the end of replacement regions. It is used only on |
| 1876 | TTYs or if @code{viper-use-replace-region-delimiters} is non-nil. | 1876 | TTYs or if @code{viper-use-replace-region-delimiters} is non-@code{nil}. |
| 1877 | @item viper-replace-region-start-delimiter "" | 1877 | @item viper-replace-region-start-delimiter "" |
| 1878 | A string used to mark the beginning of replacement regions. It is used | 1878 | A string used to mark the beginning of replacement regions. It is used |
| 1879 | only on TTYs or if @code{viper-use-replace-region-delimiters} is non-nil. | 1879 | only on TTYs or if @code{viper-use-replace-region-delimiters} is non-@code{nil}. |
| 1880 | @item viper-use-replace-region-delimiters | 1880 | @item viper-use-replace-region-delimiters |
| 1881 | If non-nil, Viper will always use @code{viper-replace-region-end-delimiter} and | 1881 | If non-@code{nil}, Viper will always use @code{viper-replace-region-end-delimiter} and |
| 1882 | @code{viper-replace-region-start-delimiter} to delimit replacement regions, | 1882 | @code{viper-replace-region-start-delimiter} to delimit replacement regions, |
| 1883 | even on color displays (where this is unnecessary). By default, this | 1883 | even on color displays (where this is unnecessary). By default, this |
| 1884 | variable is non-nil only on TTYs or monochrome displays. | 1884 | variable is non-@code{nil} only on TTYs or monochrome displays. |
| 1885 | @item viper-allow-multiline-replace-regions t | 1885 | @item viper-allow-multiline-replace-regions t |
| 1886 | If non-nil, multi-line text replacement regions, such as those produced by | 1886 | If non-@code{nil}, multi-line text replacement regions, such as those produced by |
| 1887 | commands @kbd{c55w}, @kbd{3C}, etc., will stay around until the user exits | 1887 | commands @kbd{c55w}, @kbd{3C}, etc., will stay around until the user exits |
| 1888 | the replacement mode. In this variable is set to @code{nil}, Viper will | 1888 | the replacement mode. In this variable is set to @code{nil}, Viper will |
| 1889 | emulate the standard Vi behavior, which supports only intra-line | 1889 | emulate the standard Vi behavior, which supports only intra-line |
| @@ -2390,7 +2390,7 @@ can unbind `/' and `:' in @code{viper-dired-modifier-map} (for Dired) or in | |||
| 2390 | 2390 | ||
| 2391 | To unbind the macros `//' and `///' for a major mode where you feel they | 2391 | To unbind the macros `//' and `///' for a major mode where you feel they |
| 2392 | are undesirable, execute @code{viper-set-emacs-state-searchstyle-macros} with a | 2392 | are undesirable, execute @code{viper-set-emacs-state-searchstyle-macros} with a |
| 2393 | non-nil argument. This can be done either interactively, by supplying a | 2393 | non-@code{nil} argument. This can be done either interactively, by supplying a |
| 2394 | prefix argument, or by placing | 2394 | prefix argument, or by placing |
| 2395 | @example | 2395 | @example |
| 2396 | (viper-set-emacs-state-searchstyle-macros 'undefine) | 2396 | (viper-set-emacs-state-searchstyle-macros 'undefine) |
| @@ -3360,7 +3360,7 @@ this function. | |||
| 3360 | Find the next bracket/parenthesis/brace and go to its match. | 3360 | Find the next bracket/parenthesis/brace and go to its match. |
| 3361 | By default, Viper ignores brackets/parentheses/braces that occur inside | 3361 | By default, Viper ignores brackets/parentheses/braces that occur inside |
| 3362 | parentheses. You can change this by setting | 3362 | parentheses. You can change this by setting |
| 3363 | @code{viper-parse-sexp-ignore-comments} to nil in your @file{.viper} file. | 3363 | @code{viper-parse-sexp-ignore-comments} to @code{nil} in your @file{.viper} file. |
| 3364 | This option can also be toggled interactively if you quickly hit @kbd{%%%}. | 3364 | This option can also be toggled interactively if you quickly hit @kbd{%%%}. |
| 3365 | 3365 | ||
| 3366 | This latter feature is implemented as a vi-style keyboard macro. If you | 3366 | This latter feature is implemented as a vi-style keyboard macro. If you |
diff --git a/src/ChangeLog b/src/ChangeLog index 383f479aabd..a1fa10e753c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,68 @@ | |||
| 1 | 2004-07-01 Kenichi Handa <handa@m17n.org> | ||
| 2 | |||
| 3 | * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly | ||
| 4 | after getting a new string by pre-write-conversion. | ||
| 5 | |||
| 6 | 2004-06-30 Stefan <monnier@iro.umontreal.ca> | ||
| 7 | |||
| 8 | * xterm.c (x_detect_focus_change): Remove unused var `nr_events'. | ||
| 9 | (x_calc_absolute_position): Remove unused var `child'. | ||
| 10 | |||
| 11 | * xfaces.c (x_supports_face_attributes_p) | ||
| 12 | (Fdisplay_supports_face_attributes_p): YAILOM. | ||
| 13 | (tty_supports_face_attributes_p): Remove unused var `i'. | ||
| 14 | |||
| 15 | * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and | ||
| 16 | back_unibyte_ok. | ||
| 17 | |||
| 18 | * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM. | ||
| 19 | |||
| 20 | * fontset.c (Fset_fontset_font): Remove unused vars `family' and `registry'. | ||
| 21 | |||
| 22 | * Makefile.in (${etc}DOC): Fix file name of make-docfile. | ||
| 23 | |||
| 24 | 2004-06-30 Andreas Schwab <schwab@suse.de> | ||
| 25 | |||
| 26 | * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES. | ||
| 27 | (Finit_image_library): Pass LIBRARIES through to | ||
| 28 | CHECK_LIB_AVAILABLE. Declare parameters. Doc fix. | ||
| 29 | (lookup_image_type): Pass Qnil as second argument to | ||
| 30 | Finit_image_library. | ||
| 31 | |||
| 32 | * lisp.h: Declare Finit_image_library. | ||
| 33 | |||
| 34 | 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 35 | |||
| 36 | * macterm.c (do_window_activate, do_window_deactivate): Remove. | ||
| 37 | (XTread_socket): Send mouse button events to the toolbox | ||
| 38 | dispatcher even when the mouse is grabbed. Don't process window | ||
| 39 | activate events for non-Emacs windows. Replace function calls to | ||
| 40 | do_window_activate and do_window_deactivate with their contents. | ||
| 41 | Reset mouse grabbing status when a window is deactivated. | ||
| 42 | |||
| 43 | 2004-06-29 Steven Tamm <steventamm@mac.com> | ||
| 44 | |||
| 45 | * macterm.c (mac_get_emulated_btn) | ||
| 46 | (mac_event_to_emacs_modifiers): Fix emulated mouse button | ||
| 47 | support to correctly mask out modifiers. | ||
| 48 | |||
| 49 | 2004-06-29 David Kastrup <dak@gnu.org> | ||
| 50 | |||
| 51 | * search.c (Fset_match_data): Allow buffer before end of list | ||
| 52 | which can happen if set-match-data is using a pre-consed list. | ||
| 53 | |||
| 54 | 2004-06-28 Steven Tamm <steventamm@mac.com> | ||
| 55 | |||
| 56 | * macterm.c (XTread_socket): Correctly set the frame position | ||
| 57 | after the window is moved. | ||
| 58 | |||
| 59 | 2004-06-28 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 60 | |||
| 61 | * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on | ||
| 62 | gpix and gmask just before return to avoid memory leak. | ||
| 63 | (xg_get_image_for_pixmap): Add workaround for monochrome displays | ||
| 64 | so insensitive and activated icons look ok. | ||
| 65 | |||
| 1 | 2004-06-27 Jason Rumney <jasonr@gnu.org> | 66 | 2004-06-27 Jason Rumney <jasonr@gnu.org> |
| 2 | 67 | ||
| 3 | * w32fns.c (file_dialog_callback): Disable edit control if set | 68 | * w32fns.c (file_dialog_callback): Disable edit control if set |
| @@ -28,8 +93,7 @@ | |||
| 28 | a buffer, add the buffer as last element to the match data. | 93 | a buffer, add the buffer as last element to the match data. |
| 29 | (Fset_match_data): If an additional element of the match-data is a | 94 | (Fset_match_data): If an additional element of the match-data is a |
| 30 | buffer, restore it to last_thing_searched. | 95 | buffer, restore it to last_thing_searched. |
| 31 | (save_search_regs): Save last_thing_searched as part of the match | 96 | (save_search_regs): Save last_thing_searched as part of the match data. |
| 32 | data. | ||
| 33 | (restore_match_data): Restore it again. | 97 | (restore_match_data): Restore it again. |
| 34 | 98 | ||
| 35 | 2004-06-23 Luc Teirlinck <teirllm@auburn.edu> | 99 | 2004-06-23 Luc Teirlinck <teirllm@auburn.edu> |
| @@ -155,7 +219,7 @@ | |||
| 155 | 2004-06-14 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 219 | 2004-06-14 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 156 | 220 | ||
| 157 | * gtkutil.c (xg_get_image_for_pixmap): New function. | 221 | * gtkutil.c (xg_get_image_for_pixmap): New function. |
| 158 | (xg_get_gdk_pixmap_and_mask): Removed. | 222 | (xg_get_gdk_pixmap_and_mask): Remove. |
| 159 | (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of | 223 | (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of |
| 160 | xg_get_gdk_pixmap_and_mask. | 224 | xg_get_gdk_pixmap_and_mask. |
| 161 | 225 | ||
| @@ -176,8 +240,7 @@ | |||
| 176 | list of possible filenames. | 240 | list of possible filenames. |
| 177 | (init_xpm_functions, init_png_functions, init_jpeg_functions) | 241 | (init_xpm_functions, init_png_functions, init_jpeg_functions) |
| 178 | (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'. | 242 | (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'. |
| 179 | (CHECK_LIB_AVAILABLE): Call `define_image_library' with new | 243 | (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument. |
| 180 | argument. | ||
| 181 | (Finit_image_library): New function, extracted from `init_image'. | 244 | (Finit_image_library): New function, extracted from `init_image'. |
| 182 | Try to initialize an image library on demand and cache whether we | 245 | Try to initialize an image library on demand and cache whether we |
| 183 | were successful or not. | 246 | were successful or not. |
| @@ -301,7 +364,7 @@ | |||
| 301 | (merge_face_ref, face_at_buffer_position, face_at_string_position): | 364 | (merge_face_ref, face_at_buffer_position, face_at_string_position): |
| 302 | Use `merge_named_face'. | 365 | Use `merge_named_face'. |
| 303 | (merge_face_inheritance): Function removed. | 366 | (merge_face_inheritance): Function removed. |
| 304 | (merge_face_ref): Renamed from `merge_face_vector_with_property'. | 367 | (merge_face_ref): Rename from `merge_face_vector_with_property'. |
| 305 | Add new `err_msgs' and `named_merge_points' args. Return error | 368 | Add new `err_msgs' and `named_merge_points' args. Return error |
| 306 | status. Only print error messages if ERR_MSGS is true. Don't try to | 369 | status. Only print error messages if ERR_MSGS is true. Don't try to |
| 307 | do :inherit attribute validation. | 370 | do :inherit attribute validation. |
| @@ -361,8 +424,8 @@ | |||
| 361 | 424 | ||
| 362 | * xfaces.c (x_supports_face_attributes_p): Make this function | 425 | * xfaces.c (x_supports_face_attributes_p): Make this function |
| 363 | conditional on HAVE_WINDOW_SYSTEM. | 426 | conditional on HAVE_WINDOW_SYSTEM. |
| 364 | (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]: Don't | 427 | (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]: |
| 365 | call x_supports_face_attributes_p if it was not compiled in. | 428 | Don't call x_supports_face_attributes_p if it was not compiled in. |
| 366 | 429 | ||
| 367 | 2004-06-04 Miles Bader <miles@gnu.org> | 430 | 2004-06-04 Miles Bader <miles@gnu.org> |
| 368 | 431 | ||
| @@ -393,6 +456,8 @@ | |||
| 393 | 456 | ||
| 394 | 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca> | 457 | 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca> |
| 395 | 458 | ||
| 459 | * eval.c (Fcondition_case): Fix usage. Simplify. | ||
| 460 | |||
| 396 | * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true. | 461 | * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true. |
| 397 | 462 | ||
| 398 | 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 463 | 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| @@ -401,8 +466,7 @@ | |||
| 401 | [MAC_OSX]: Don't include QuickTime/QuickTime.h. | 466 | [MAC_OSX]: Don't include QuickTime/QuickTime.h. |
| 402 | [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or | 467 | [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or |
| 403 | TextUtils.h. | 468 | TextUtils.h. |
| 404 | (Fx_create_frame): Sync with xfns.c. Initialize cursor | 469 | (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors. |
| 405 | descriptors. | ||
| 406 | (Fx_display_mm_height, Fx_display_mm_width): Calculate length from | 470 | (Fx_display_mm_height, Fx_display_mm_width): Calculate length from |
| 407 | display height/width. | 471 | display height/width. |
| 408 | (compute_tip_xy, Vx_max_tooltip_size): Declare. | 472 | (compute_tip_xy, Vx_max_tooltip_size): Declare. |
| @@ -413,8 +477,7 @@ | |||
| 413 | 477 | ||
| 414 | * macgui.h [!MAC_OSX]: Include Gestalt.h. | 478 | * macgui.h [!MAC_OSX]: Include Gestalt.h. |
| 415 | (Cursor, No_Cursor): New defines. | 479 | (Cursor, No_Cursor): New defines. |
| 416 | [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility | 480 | [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro. |
| 417 | macro. | ||
| 418 | [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare. | 481 | [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare. |
| 419 | 482 | ||
| 420 | * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort. | 483 | * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort. |
| @@ -442,11 +505,9 @@ | |||
| 442 | (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a | 505 | (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a |
| 443 | scroll-bar click event. | 506 | scroll-bar click event. |
| 444 | (mac_define_frame_cursor): Change the pointer shape. | 507 | (mac_define_frame_cursor): Change the pointer shape. |
| 445 | (x_free_frame_resources): Reset tip_window to NULL when it is | 508 | (x_free_frame_resources): Reset tip_window to NULL when it is disposed. |
| 446 | disposed. | ||
| 447 | [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable. | 509 | [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable. |
| 448 | [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize | 510 | [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor. |
| 449 | arrow_cursor. | ||
| 450 | (do_window_update): Don't do anything if the updated window is the | 511 | (do_window_update): Don't do anything if the updated window is the |
| 451 | tooltip window. | 512 | tooltip window. |
| 452 | (do_mouse_moved): Handle mouse movement events here (previously in | 513 | (do_mouse_moved): Handle mouse movement events here (previously in |
| @@ -454,8 +515,8 @@ | |||
| 454 | dpyinfo->mouse_face_hidden is set. | 515 | dpyinfo->mouse_face_hidden is set. |
| 455 | (do_os_event, do_events): Remove (now in XTread_socket). | 516 | (do_os_event, do_events): Remove (now in XTread_socket). |
| 456 | (XTread_socket): Immediately return if interrupt_input_blocked. | 517 | (XTread_socket): Immediately return if interrupt_input_blocked. |
| 457 | Loop until all the events in the queue are processed. Rearrange | 518 | Loop until all the events in the queue are processed. |
| 458 | codes for mouse grabbing. Add tooltip support. Include the | 519 | Rearrange codes for mouse grabbing. Add tooltip support. Include the |
| 459 | contents of do_os_event and do_events. Remove mouse movement | 520 | contents of do_os_event and do_events. Remove mouse movement |
| 460 | handling (now in do_mouse_moved). Add the case where | 521 | handling (now in do_mouse_moved). Add the case where |
| 461 | Vmouse_highlight has an integer value. | 522 | Vmouse_highlight has an integer value. |
| @@ -464,8 +525,8 @@ | |||
| 464 | excess initializations. | 525 | excess initializations. |
| 465 | (make_mac_terminal_frame): Previous initializations in | 526 | (make_mac_terminal_frame): Previous initializations in |
| 466 | make_mac_frame are moved here. | 527 | make_mac_frame are moved here. |
| 467 | (mac_initialize_display_info): Initialize | 528 | (mac_initialize_display_info): |
| 468 | dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden. | 529 | Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden. |
| 469 | 530 | ||
| 470 | * xdisp.c [MAC_OS] (No_Cursor): Remove variable. | 531 | * xdisp.c [MAC_OS] (No_Cursor): Remove variable. |
| 471 | (define_frame_cursor1): Don't treat HAVE_CARBON as a special case. | 532 | (define_frame_cursor1): Don't treat HAVE_CARBON as a special case. |
diff --git a/src/Makefile.in b/src/Makefile.in index 0d75221acfa..f473888cc5d 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -928,7 +928,7 @@ emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp} | |||
| 928 | for the first time, this prevents any variation between configurations | 928 | for the first time, this prevents any variation between configurations |
| 929 | in the contents of the DOC file. | 929 | in the contents of the DOC file. |
| 930 | Likewise for ${SOME_MACHINE_LISP}. */ | 930 | Likewise for ${SOME_MACHINE_LISP}. */ |
| 931 | ${etc}DOC: ${libsrc}make-docfile ${obj} ${shortlisp} ${SOME_MACHINE_LISP} | 931 | ${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${shortlisp} ${SOME_MACHINE_LISP} |
| 932 | -rm -f ${etc}DOC | 932 | -rm -f ${etc}DOC |
| 933 | ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC | 933 | ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC |
| 934 | ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp} | 934 | ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp} |
diff --git a/src/fontset.c b/src/fontset.c index aae6b9296ae..e99cc0ff6a3 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 | 5 | ||
diff --git a/src/gtkutil.c b/src/gtkutil.c index 84aa9f46d4d..3ffba0ba745 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -248,8 +248,46 @@ xg_get_image_for_pixmap (f, img, widget, old_widget) | |||
| 248 | { | 248 | { |
| 249 | GdkPixmap *gpix; | 249 | GdkPixmap *gpix; |
| 250 | GdkPixmap *gmask; | 250 | GdkPixmap *gmask; |
| 251 | GdkDisplay *gdpy = gdk_x11_lookup_xdisplay (FRAME_X_DISPLAY (f)); | 251 | GdkDisplay *gdpy; |
| 252 | |||
| 253 | /* If we are on a one bit display, let GTK do all the image handling. | ||
| 254 | This seems to be the only way to make insensitive and activated icons | ||
| 255 | look good. */ | ||
| 256 | if (x_screen_planes (f) == 1) | ||
| 257 | { | ||
| 258 | Lisp_Object specified_file = Qnil; | ||
| 259 | Lisp_Object tail; | ||
| 260 | extern Lisp_Object QCfile; | ||
| 261 | |||
| 262 | for (tail = XCDR (img->spec); | ||
| 263 | NILP (specified_file) && CONSP (tail) && CONSP (XCDR (tail)); | ||
| 264 | tail = XCDR (XCDR (tail))) | ||
| 265 | if (EQ (XCAR (tail), QCfile)) | ||
| 266 | specified_file = XCAR (XCDR (tail)); | ||
| 267 | |||
| 268 | if (STRINGP (specified_file)) | ||
| 269 | { | ||
| 270 | |||
| 271 | Lisp_Object file = Qnil; | ||
| 272 | struct gcpro gcpro1; | ||
| 273 | GCPRO1 (file); | ||
| 252 | 274 | ||
| 275 | file = x_find_image_file (specified_file); | ||
| 276 | /* We already loaded the image once before calling this | ||
| 277 | function, so this should not fail. */ | ||
| 278 | xassert (STRINGP (file) != 0); | ||
| 279 | |||
| 280 | if (! old_widget) | ||
| 281 | old_widget = GTK_IMAGE (gtk_image_new_from_file (SDATA (file))); | ||
| 282 | else | ||
| 283 | gtk_image_set_from_file (old_widget, SDATA (file)); | ||
| 284 | |||
| 285 | UNGCPRO; | ||
| 286 | return GTK_WIDGET (old_widget); | ||
| 287 | } | ||
| 288 | } | ||
| 289 | |||
| 290 | gdpy = gdk_x11_lookup_xdisplay (FRAME_X_DISPLAY (f)); | ||
| 253 | gpix = gdk_pixmap_foreign_new_for_display (gdpy, img->pixmap); | 291 | gpix = gdk_pixmap_foreign_new_for_display (gdpy, img->pixmap); |
| 254 | gmask = img->mask ? gdk_pixmap_foreign_new_for_display (gdpy, img->mask) : 0; | 292 | gmask = img->mask ? gdk_pixmap_foreign_new_for_display (gdpy, img->mask) : 0; |
| 255 | 293 | ||
| @@ -262,6 +300,12 @@ xg_get_image_for_pixmap (f, img, widget, old_widget) | |||
| 262 | } | 300 | } |
| 263 | else | 301 | else |
| 264 | { | 302 | { |
| 303 | /* This is a workaround to make icons look good on pseudo color | ||
| 304 | displays. Apparently GTK expects the images to have an alpha | ||
| 305 | channel. If they don't, insensitive and activated icons will | ||
| 306 | look bad. This workaround does not work on monochrome displays, | ||
| 307 | and is not needed on true color/static color displays (i.e. | ||
| 308 | 16 bits and higher). */ | ||
| 265 | int x, y, width, height, rowstride, mask_rowstride; | 309 | int x, y, width, height, rowstride, mask_rowstride; |
| 266 | GdkPixbuf *icon_buf, *tmp_buf; | 310 | GdkPixbuf *icon_buf, *tmp_buf; |
| 267 | guchar *pixels; | 311 | guchar *pixels; |
| @@ -308,12 +352,9 @@ xg_get_image_for_pixmap (f, img, widget, old_widget) | |||
| 308 | } | 352 | } |
| 309 | } | 353 | } |
| 310 | 354 | ||
| 311 | g_object_unref (G_OBJECT (gmask)); | ||
| 312 | g_object_unref (G_OBJECT (mask_buf)); | 355 | g_object_unref (G_OBJECT (mask_buf)); |
| 313 | } | 356 | } |
| 314 | 357 | ||
| 315 | g_object_unref (G_OBJECT (gpix)); | ||
| 316 | |||
| 317 | if (! old_widget) | 358 | if (! old_widget) |
| 318 | old_widget = GTK_IMAGE (gtk_image_new_from_pixbuf (icon_buf)); | 359 | old_widget = GTK_IMAGE (gtk_image_new_from_pixbuf (icon_buf)); |
| 319 | else | 360 | else |
| @@ -322,6 +363,9 @@ xg_get_image_for_pixmap (f, img, widget, old_widget) | |||
| 322 | g_object_unref (G_OBJECT (icon_buf)); | 363 | g_object_unref (G_OBJECT (icon_buf)); |
| 323 | } | 364 | } |
| 324 | 365 | ||
| 366 | g_object_unref (G_OBJECT (gpix)); | ||
| 367 | if (gmask) g_object_unref (G_OBJECT (gmask)); | ||
| 368 | |||
| 325 | return GTK_WIDGET (old_widget); | 369 | return GTK_WIDGET (old_widget); |
| 326 | } | 370 | } |
| 327 | 371 | ||
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 44fe5affa57..deb8d6414a2 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -2332,6 +2332,7 @@ extern void init_fringe P_ ((void)); | |||
| 2332 | extern void init_fringe_once P_ ((void)); | 2332 | extern void init_fringe_once P_ ((void)); |
| 2333 | 2333 | ||
| 2334 | /* Defined in image.c */ | 2334 | /* Defined in image.c */ |
| 2335 | EXFUN (Finit_image_library, 2); | ||
| 2335 | extern void syms_of_image P_ ((void)); | 2336 | extern void syms_of_image P_ ((void)); |
| 2336 | extern void init_image P_ ((void)); | 2337 | extern void init_image P_ ((void)); |
| 2337 | 2338 | ||
diff --git a/src/macterm.c b/src/macterm.c index 2af910c5003..43a04dc65ec 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -7018,7 +7018,7 @@ mac_get_emulated_btn ( UInt32 modifiers ) | |||
| 7018 | int result = 0; | 7018 | int result = 0; |
| 7019 | if (!NILP (Vmac_emulate_three_button_mouse)) { | 7019 | if (!NILP (Vmac_emulate_three_button_mouse)) { |
| 7020 | int cmdIs3 = !EQ (Vmac_emulate_three_button_mouse, Qreverse); | 7020 | int cmdIs3 = !EQ (Vmac_emulate_three_button_mouse, Qreverse); |
| 7021 | if (modifiers & controlKey) | 7021 | if (modifiers & cmdKey) |
| 7022 | result = cmdIs3 ? 2 : 1; | 7022 | result = cmdIs3 ? 2 : 1; |
| 7023 | else if (modifiers & optionKey) | 7023 | else if (modifiers & optionKey) |
| 7024 | result = cmdIs3 ? 1 : 2; | 7024 | result = cmdIs3 ? 1 : 2; |
| @@ -7038,7 +7038,7 @@ mac_event_to_emacs_modifiers (EventRef eventRef) | |||
| 7038 | if (!NILP (Vmac_emulate_three_button_mouse) && | 7038 | if (!NILP (Vmac_emulate_three_button_mouse) && |
| 7039 | GetEventClass(eventRef) == kEventClassMouse) | 7039 | GetEventClass(eventRef) == kEventClassMouse) |
| 7040 | { | 7040 | { |
| 7041 | mods &= ~(optionKey & cmdKey); | 7041 | mods &= ~(optionKey | cmdKey); |
| 7042 | } | 7042 | } |
| 7043 | return mac_to_emacs_modifiers (mods); | 7043 | return mac_to_emacs_modifiers (mods); |
| 7044 | } | 7044 | } |
| @@ -7237,40 +7237,6 @@ is_emacs_window (WindowPtr win) | |||
| 7237 | } | 7237 | } |
| 7238 | 7238 | ||
| 7239 | static void | 7239 | static void |
| 7240 | do_window_activate (WindowPtr win) | ||
| 7241 | { | ||
| 7242 | struct frame *f; | ||
| 7243 | |||
| 7244 | if (is_emacs_window (win)) | ||
| 7245 | { | ||
| 7246 | f = mac_window_to_frame (win); | ||
| 7247 | |||
| 7248 | if (f) | ||
| 7249 | { | ||
| 7250 | x_new_focus_frame (FRAME_MAC_DISPLAY_INFO (f), f); | ||
| 7251 | activate_scroll_bars (f); | ||
| 7252 | } | ||
| 7253 | } | ||
| 7254 | } | ||
| 7255 | |||
| 7256 | static void | ||
| 7257 | do_window_deactivate (WindowPtr win) | ||
| 7258 | { | ||
| 7259 | struct frame *f; | ||
| 7260 | |||
| 7261 | if (is_emacs_window (win)) | ||
| 7262 | { | ||
| 7263 | f = mac_window_to_frame (win); | ||
| 7264 | |||
| 7265 | if (f == FRAME_MAC_DISPLAY_INFO (f)->x_focus_frame) | ||
| 7266 | { | ||
| 7267 | x_new_focus_frame (FRAME_MAC_DISPLAY_INFO (f), 0); | ||
| 7268 | deactivate_scroll_bars (f); | ||
| 7269 | } | ||
| 7270 | } | ||
| 7271 | } | ||
| 7272 | |||
| 7273 | static void | ||
| 7274 | do_app_resume () | 7240 | do_app_resume () |
| 7275 | { | 7241 | { |
| 7276 | WindowPtr wp; | 7242 | WindowPtr wp; |
| @@ -8084,6 +8050,25 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8084 | if (!mac_convert_event_ref (eventRef, &er)) | 8050 | if (!mac_convert_event_ref (eventRef, &er)) |
| 8085 | switch (GetEventClass (eventRef)) | 8051 | switch (GetEventClass (eventRef)) |
| 8086 | { | 8052 | { |
| 8053 | case kEventClassWindow: | ||
| 8054 | if (GetEventKind (eventRef) == kEventWindowBoundsChanged) | ||
| 8055 | { | ||
| 8056 | WindowPtr window_ptr; | ||
| 8057 | GetEventParameter(eventRef, kEventParamDirectObject, | ||
| 8058 | typeWindowRef, NULL, sizeof(WindowPtr), | ||
| 8059 | NULL, &window_ptr); | ||
| 8060 | f = mac_window_to_frame (window_ptr); | ||
| 8061 | if (f && !f->async_iconified) | ||
| 8062 | { | ||
| 8063 | int x, y; | ||
| 8064 | |||
| 8065 | x_real_positions (f, &x, &y); | ||
| 8066 | f->left_pos = x; | ||
| 8067 | f->top_pos = y; | ||
| 8068 | } | ||
| 8069 | SendEventToEventTarget (eventRef, toolbox_dispatcher); | ||
| 8070 | } | ||
| 8071 | break; | ||
| 8087 | case kEventClassMouse: | 8072 | case kEventClassMouse: |
| 8088 | if (GetEventKind (eventRef) == kEventMouseWheelMoved) | 8073 | if (GetEventKind (eventRef) == kEventMouseWheelMoved) |
| 8089 | { | 8074 | { |
| @@ -8135,6 +8120,14 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8135 | SInt16 part_code; | 8120 | SInt16 part_code; |
| 8136 | int tool_bar_p = 0; | 8121 | int tool_bar_p = 0; |
| 8137 | 8122 | ||
| 8123 | #if USE_CARBON_EVENTS | ||
| 8124 | /* This is needed to send mouse events like aqua window | ||
| 8125 | buttons to the correct handler. */ | ||
| 8126 | if (SendEventToEventTarget (eventRef, toolbox_dispatcher) | ||
| 8127 | != eventNotHandledErr) | ||
| 8128 | break; | ||
| 8129 | #endif | ||
| 8130 | |||
| 8138 | if (dpyinfo->grabbed && last_mouse_frame | 8131 | if (dpyinfo->grabbed && last_mouse_frame |
| 8139 | && FRAME_LIVE_P (last_mouse_frame)) | 8132 | && FRAME_LIVE_P (last_mouse_frame)) |
| 8140 | { | 8133 | { |
| @@ -8150,16 +8143,9 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8150 | window_ptr = FrontWindow (); | 8143 | window_ptr = FrontWindow (); |
| 8151 | } | 8144 | } |
| 8152 | 8145 | ||
| 8153 | #if USE_CARBON_EVENTS | ||
| 8154 | /* This is needed to send mouse events like aqua | ||
| 8155 | window buttons to the correct handler. */ | ||
| 8156 | if (SendEventToEventTarget (eventRef, toolbox_dispatcher) | ||
| 8157 | != eventNotHandledErr) | ||
| 8158 | break; | ||
| 8159 | |||
| 8160 | if (!is_emacs_window (window_ptr)) | 8146 | if (!is_emacs_window (window_ptr)) |
| 8161 | break; | 8147 | break; |
| 8162 | #endif | 8148 | |
| 8163 | part_code = FindWindow (er.where, &window_ptr); | 8149 | part_code = FindWindow (er.where, &window_ptr); |
| 8164 | } | 8150 | } |
| 8165 | 8151 | ||
| @@ -8306,6 +8292,18 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8306 | #else /* not TARGET_API_MAC_CARBON */ | 8292 | #else /* not TARGET_API_MAC_CARBON */ |
| 8307 | DragWindow (window_ptr, er.where, &qd.screenBits.bounds); | 8293 | DragWindow (window_ptr, er.where, &qd.screenBits.bounds); |
| 8308 | #endif /* not TARGET_API_MAC_CARBON */ | 8294 | #endif /* not TARGET_API_MAC_CARBON */ |
| 8295 | /* Update the frame parameters. */ | ||
| 8296 | { | ||
| 8297 | struct frame *f = mac_window_to_frame (window_ptr); | ||
| 8298 | if (f && !f->async_iconified) | ||
| 8299 | { | ||
| 8300 | int x, y; | ||
| 8301 | |||
| 8302 | x_real_positions (f, &x, &y); | ||
| 8303 | f->left_pos = x; | ||
| 8304 | f->top_pos = y; | ||
| 8305 | } | ||
| 8306 | } | ||
| 8309 | break; | 8307 | break; |
| 8310 | 8308 | ||
| 8311 | case inGoAway: | 8309 | case inGoAway: |
| @@ -8393,24 +8391,38 @@ XTread_socket (sd, expected, hold_quit) | |||
| 8393 | break; | 8391 | break; |
| 8394 | } | 8392 | } |
| 8395 | 8393 | ||
| 8394 | if (!is_emacs_window (window_ptr)) | ||
| 8395 | break; | ||
| 8396 | |||
| 8397 | f = mac_window_to_frame (window_ptr); | ||
| 8398 | |||
| 8396 | if ((er.modifiers & activeFlag) != 0) | 8399 | if ((er.modifiers & activeFlag) != 0) |
| 8397 | { | 8400 | { |
| 8401 | /* A window has been activated */ | ||
| 8398 | Point mouse_loc = er.where; | 8402 | Point mouse_loc = er.where; |
| 8399 | 8403 | ||
| 8400 | do_window_activate (window_ptr); | 8404 | x_new_focus_frame (dpyinfo, f); |
| 8405 | activate_scroll_bars (f); | ||
| 8401 | 8406 | ||
| 8402 | SetPortWindowPort (window_ptr); | 8407 | SetPortWindowPort (window_ptr); |
| 8403 | GlobalToLocal (&mouse_loc); | 8408 | GlobalToLocal (&mouse_loc); |
| 8404 | /* activateEvt counts as mouse movement, | 8409 | /* Window-activated event counts as mouse movement, |
| 8405 | so update things that depend on mouse position. */ | 8410 | so update things that depend on mouse position. */ |
| 8406 | note_mouse_movement (mac_window_to_frame (window_ptr), | 8411 | note_mouse_movement (mac_window_to_frame (window_ptr), |
| 8407 | &mouse_loc); | 8412 | &mouse_loc); |
| 8408 | } | 8413 | } |
| 8409 | else | 8414 | else |
| 8410 | { | 8415 | { |
| 8411 | do_window_deactivate (window_ptr); | 8416 | /* A window has been deactivated */ |
| 8417 | dpyinfo->grabbed = 0; | ||
| 8418 | |||
| 8419 | if (f == dpyinfo->x_focus_frame) | ||
| 8420 | { | ||
| 8421 | x_new_focus_frame (dpyinfo, 0); | ||
| 8422 | deactivate_scroll_bars (f); | ||
| 8423 | } | ||
| 8424 | |||
| 8412 | 8425 | ||
| 8413 | f = mac_window_to_frame (window_ptr); | ||
| 8414 | if (f == dpyinfo->mouse_face_mouse_frame) | 8426 | if (f == dpyinfo->mouse_face_mouse_frame) |
| 8415 | { | 8427 | { |
| 8416 | /* If we move outside the frame, then we're | 8428 | /* If we move outside the frame, then we're |
diff --git a/src/search.c b/src/search.c index dc1ca91e38f..169baf05d55 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 | ||
| @@ -2628,7 +2629,7 @@ match_limit (num, beginningp) | |||
| 2628 | CHECK_NUMBER (num); | 2629 | CHECK_NUMBER (num); |
| 2629 | n = XINT (num); | 2630 | n = XINT (num); |
| 2630 | if (n < 0) | 2631 | if (n < 0) |
| 2631 | args_out_of_range (num, 0); | 2632 | args_out_of_range (num, make_number (0)); |
| 2632 | if (search_regs.num_regs <= 0) | 2633 | if (search_regs.num_regs <= 0) |
| 2633 | error ("No match data, because no search succeeded"); | 2634 | error ("No match data, because no search succeeded"); |
| 2634 | if (n >= search_regs.num_regs | 2635 | if (n >= search_regs.num_regs |
| @@ -2728,10 +2729,9 @@ Return value is undefined if the last search failed. */) | |||
| 2728 | data[2 * i] = data [2 * i + 1] = Qnil; | 2729 | data[2 * i] = data [2 * i + 1] = Qnil; |
| 2729 | } | 2730 | } |
| 2730 | 2731 | ||
| 2731 | if (BUFFERP(last_thing_searched) | 2732 | if (BUFFERP (last_thing_searched) && !NILP (integers)) |
| 2732 | && ! NILP (integers)) | ||
| 2733 | { | 2733 | { |
| 2734 | XSETBUFFER(data[len], last_thing_searched); | 2734 | data[len] = last_thing_searched; |
| 2735 | len++; | 2735 | len++; |
| 2736 | } | 2736 | } |
| 2737 | 2737 | ||
| @@ -2808,9 +2808,16 @@ LIST should have been created by calling `match-data' previously. */) | |||
| 2808 | search_regs.num_regs = length; | 2808 | search_regs.num_regs = length; |
| 2809 | } | 2809 | } |
| 2810 | 2810 | ||
| 2811 | for (i = 0; i < length; i++) | 2811 | for (i = 0;; i++) |
| 2812 | { | 2812 | { |
| 2813 | marker = Fcar (list); | 2813 | marker = Fcar (list); |
| 2814 | if (BUFFERP (marker)) | ||
| 2815 | { | ||
| 2816 | last_thing_searched = marker; | ||
| 2817 | break; | ||
| 2818 | } | ||
| 2819 | if (i >= length) | ||
| 2820 | break; | ||
| 2814 | if (NILP (marker)) | 2821 | if (NILP (marker)) |
| 2815 | { | 2822 | { |
| 2816 | search_regs.start[i] = -1; | 2823 | search_regs.start[i] = -1; |
| @@ -2847,10 +2854,6 @@ LIST should have been created by calling `match-data' previously. */) | |||
| 2847 | search_regs.start[i] = -1; | 2854 | search_regs.start[i] = -1; |
| 2848 | } | 2855 | } |
| 2849 | 2856 | ||
| 2850 | if (CONSP(list) && BUFFERP(XCAR(list))) { | ||
| 2851 | XSETBUFFER(last_thing_searched, XCAR(list)); | ||
| 2852 | } | ||
| 2853 | |||
| 2854 | return Qnil; | 2857 | return Qnil; |
| 2855 | } | 2858 | } |
| 2856 | 2859 | ||
diff --git a/src/syntax.c b/src/syntax.c index 302250c39a4..83763061d82 100644 --- a/src/syntax.c +++ b/src/syntax.c | |||
| @@ -1734,7 +1734,6 @@ skip_chars (forwardp, syntaxp, string, lim, handle_iso_classes) | |||
| 1734 | if (!fastmap[*p]) | 1734 | if (!fastmap[*p]) |
| 1735 | break; | 1735 | break; |
| 1736 | 1736 | ||
| 1737 | fwd_unibyte_ok: | ||
| 1738 | p++, pos++; | 1737 | p++, pos++; |
| 1739 | } | 1738 | } |
| 1740 | } | 1739 | } |
| @@ -1808,7 +1807,6 @@ skip_chars (forwardp, syntaxp, string, lim, handle_iso_classes) | |||
| 1808 | if (!fastmap[p[-1]]) | 1807 | if (!fastmap[p[-1]]) |
| 1809 | break; | 1808 | break; |
| 1810 | 1809 | ||
| 1811 | back_unibyte_ok: | ||
| 1812 | p--, pos--; | 1810 | p--, pos--; |
| 1813 | } | 1811 | } |
| 1814 | } | 1812 | } |
diff --git a/src/w32select.c b/src/w32select.c index 0c8849c7be6..20f7cfc457f 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; |
| @@ -208,7 +210,9 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data, | |||
| 208 | { | 210 | { |
| 209 | string = run_pre_post_conversion_on_str (string, &coding, 1); | 211 | string = run_pre_post_conversion_on_str (string, &coding, 1); |
| 210 | src = SDATA (string); | 212 | src = SDATA (string); |
| 211 | nbytes = SBYTES (string); | 213 | /* Include the terminating NULL character in the source of |
| 214 | conversion. */ | ||
| 215 | nbytes = SBYTES (string) + 1; | ||
| 212 | } | 216 | } |
| 213 | coding.src_multibyte = 1; | 217 | coding.src_multibyte = 1; |
| 214 | coding.dst_multibyte = 0; | 218 | coding.dst_multibyte = 0; |
diff --git a/src/xfaces.c b/src/xfaces.c index a5d5c97a332..ce40e053b20 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -5851,7 +5851,7 @@ x_supports_face_attributes_p (f, attrs, def_face) | |||
| 5851 | face = FACE_FROM_ID (f, lookup_face (f, merged_attrs, 0, 0)); | 5851 | face = FACE_FROM_ID (f, lookup_face (f, merged_attrs, 0, 0)); |
| 5852 | 5852 | ||
| 5853 | if (! face) | 5853 | if (! face) |
| 5854 | signal_error ("cannot make face", 0); | 5854 | error ("cannot make face"); |
| 5855 | 5855 | ||
| 5856 | /* If the font is the same, then not supported. */ | 5856 | /* If the font is the same, then not supported. */ |
| 5857 | if (face->font == def_face->font) | 5857 | if (face->font == def_face->font) |
| @@ -5886,7 +5886,7 @@ tty_supports_face_attributes_p (f, attrs, def_face) | |||
| 5886 | Lisp_Object *attrs; | 5886 | Lisp_Object *attrs; |
| 5887 | struct face *def_face; | 5887 | struct face *def_face; |
| 5888 | { | 5888 | { |
| 5889 | int weight, i; | 5889 | int weight; |
| 5890 | Lisp_Object val, fg, bg; | 5890 | Lisp_Object val, fg, bg; |
| 5891 | XColor fg_tty_color, fg_std_color; | 5891 | XColor fg_tty_color, fg_std_color; |
| 5892 | XColor bg_tty_color, bg_std_color; | 5892 | XColor bg_tty_color, bg_std_color; |
| @@ -6108,7 +6108,7 @@ face for italic. */) | |||
| 6108 | if (def_face == NULL) | 6108 | if (def_face == NULL) |
| 6109 | { | 6109 | { |
| 6110 | if (! realize_basic_faces (f)) | 6110 | if (! realize_basic_faces (f)) |
| 6111 | signal_error ("Cannot realize default face", 0); | 6111 | error ("Cannot realize default face"); |
| 6112 | def_face = FACE_FROM_ID (f, DEFAULT_FACE_ID); | 6112 | def_face = FACE_FROM_ID (f, DEFAULT_FACE_ID); |
| 6113 | } | 6113 | } |
| 6114 | 6114 | ||