diff options
author | Karoly Lorentey <lorentey@elte.hu> | 2004-07-03 17:01:39 +0000 |
---|---|---|
committer | Karoly Lorentey <lorentey@elte.hu> | 2004-07-03 17:01:39 +0000 |
commit | 76e9cc50019f98e12f342574ba0de1eca6631767 (patch) | |
tree | 4d42c708429ab4b564466937f9c235dba2f763fb /lisp | |
parent | 69deab57ea8ab5e3bc1cfb80027341aa0451362b (diff) | |
parent | 1e118124a8e4f8e0a0d4ceb7940b11087e3b94e2 (diff) | |
download | emacs-76e9cc50019f98e12f342574ba0de1eca6631767.tar.gz |
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
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 233 | ||||
-rw-r--r-- | lisp/emacs-lisp/pp.el | 1 | ||||
-rw-r--r-- | lisp/font-lock.el | 2 | ||||
-rw-r--r-- | lisp/gnus/ChangeLog | 7 | ||||
-rw-r--r-- | lisp/gnus/nnimap.el | 6 | ||||
-rw-r--r-- | lisp/gnus/nntp.el | 9 | ||||
-rw-r--r-- | lisp/isearch.el | 91 | ||||
-rw-r--r-- | lisp/pcvs-defs.el | 1 | ||||
-rw-r--r-- | lisp/pcvs.el | 6 | ||||
-rw-r--r-- | lisp/progmodes/ada-xref.el | 7 | ||||
-rw-r--r-- | lisp/progmodes/gdb-ui.el | 24 | ||||
-rw-r--r-- | lisp/replace.el | 56 | ||||
-rw-r--r-- | lisp/url/ChangeLog | 1124 | ||||
-rw-r--r-- | lisp/vc-arch.el | 3 | ||||
-rw-r--r-- | lisp/vc-rcs.el | 12 |
15 files changed, 1382 insertions, 200 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4bd9e5b7189..c273d6956c9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,50 @@ +2004-07-02 Andre Spiegel <spiegel@gnu.org> + + * vc-rcs.el (vc-rcs-checkout-model): Look at the version headers + only if vc-consult-headers is non-nil. + +2004-07-02 Juri Linkov <juri@jurta.org> + + * pcvs.el (cvs-mode-diff-repository): New command. + + * pcvs-defs.el (cvs-mode-diff-map): Bind r to cvs-mode-diff-repository. + +2004-07-01 Juri Linkov <juri@jurta.org> + + * isearch.el (isearch-mode-map): Bind C-M-w to isearch-del-char, + C-M-y to isearch-yank-char. Bind M-% to isearch-query-replace, + C-M-% to isearch-query-replace-regexp. + (minibuffer-local-isearch-map): Add arrow key bindings. + Bind C-f to isearch-yank-char-in-minibuffer. + (isearch-forward): Doc fix. + (isearch-edit-string): Doc fix. + (isearch-query-replace, isearch-query-replace-regexp): New funs. + (isearch-del-char): Add optional arg. Set isearch-yank-flag to t. + (isearch-yank-char): Add optional arg. + (isearch-yank-char-in-minibuffer): New fun. + + * replace.el (query-replace-interactive): Change type from boolean + to choice. Add value `initial'. + (query-replace-read-args): Handle value `initial' of + query-replace-interactive. + +2004-06-29 Kim F. Storm <storm@cua.dk> + + * progmodes/gdb-ui.el (breakpoint-enabled-bitmap-face) + (breakpoint-disabled-bitmap-face): Add :group 'gud. + + * progmodes/ada-xref.el (ada-tight-gvd-integration): + Add :group 'ada. + + * vc-arch.el (vc-arch-mode-line-rewrite): Add :group 'vc. + +2004-06-29 Juri Linkov <juri@jurta.org> + + * replace.el (query-replace-read-args): Swallow a space after + everything except )]" which in most cases means after a symbol. + + * emacs-lisp/pp.el (pp-buffer): Add autoload. + 2004-06-26 David Kastrup <dak@gnu.org> * replace.el (perform-replace): Highlight the match even in @@ -18,7 +65,7 @@ 2004-06-26 Nick Roberts <nickrob@gnu.org> - * progmodes/gdb-ui.el (gdb-toggle-breakpoint) + * progmodes/gdb-ui.el (gdb-toggle-breakpoint) (gdb-goto-breakpoint): Fix breakage. 2004-06-26 Eli Zaretskii <eliz@gnu.org> @@ -55,12 +102,11 @@ (replace-regexp): Explain `\,', `\#' and `\?'. (replace-match-data): New function for thorough reuse/destruction of old match-data. - (replace-match-maybe-edit): Function for implementing `\?' - editing. + (replace-match-maybe-edit): Function for implementing `\?' editing. (perform-replace): Fix maintaining of the match stack including already matched regions, implement `\?', fix various problems with regions while editing and other stuff. - (replace-highlight): Simplified. + (replace-highlight): Simplify. 2004-06-24 Daniel Pfeiffer <occitan@esperanto.org> @@ -87,8 +133,7 @@ 2004-06-21 Juanma Barranquero <lektu@terra.es> - * image.el (image-library-alist): Rewrite docstring in active - voice. + * image.el (image-library-alist): Rewrite docstring in active voice. 2004-06-20 Richard M. Stallman <rms@gnu.org> @@ -115,8 +160,8 @@ 2004-06-18 Luc Teirlinck <teirllm@auburn.edu> - * autorevert.el (global-auto-revert-non-file-buffers): Update - docstring. + * autorevert.el (global-auto-revert-non-file-buffers): + Update docstring. 2004-06-19 Daniel Pfeiffer <occitan@esperanto.org> @@ -137,7 +182,7 @@ escaped character is n or t. (query-replace-regexp): Add \, and \# interpretation to interactive call and document it. - (query-replace-regexp-eval, replace-match-string-symbols): add \# + (query-replace-regexp-eval, replace-match-string-symbols): Add \# as shortkey for replace-count. (replace-quote): New function for doubling backslashes. @@ -167,8 +212,8 @@ * dired-aux.el (dired-do-redisplay, dired-maybe-insert-subdir): Add hyperlink to emacs-xtra manual to docstring. - * autorevert.el (global-auto-revert-non-file-buffers): Add - hyperlink to emacs-xtra manual to docstring, as well as an + * autorevert.el (global-auto-revert-non-file-buffers): + Add hyperlink to emacs-xtra manual to docstring, as well as an info-link. 2004-06-14 Juanma Barranquero <lektu@terra.es> @@ -187,8 +232,7 @@ * international/code-pages.el (windows-1256, cp1125): Fix tables for several characters. - * international/utf-8.el (ccl-encode-mule-utf-8): Fix previous - change. + * international/utf-8.el (ccl-encode-mule-utf-8): Fix previous change. 2004-06-13 Richard M. Stallman <rms@gnu.org> @@ -234,14 +278,13 @@ 2004-06-13 Kenichi Handa <handa@m17n.org> - * international/utf-8.el (ccl-decode-mule-utf-8): Fix previous - change. + * international/utf-8.el (ccl-decode-mule-utf-8): Fix previous change. (ccl-untranslated-to-ucs): Fix typo. 2004-06-12 Karl Chen <quarl@hkn.eecs.berkeley.edu> (tiny change) - * progmodes/python.el (python-open-block-statement-p): Fix - indentation after a block opening that contains a comment. + * progmodes/python.el (python-open-block-statement-p): + Fix indentation after a block opening that contains a comment. 2004-06-12 J,Ai(Br,At(Bme Marant <jerome@marant.org> (tiny change) @@ -257,11 +300,10 @@ 2004-06-12 Kenichi Handa <handa@m17n.org> - * international/mule-cmds.el (set-language-environment): Load - subst tables if necessary. + * international/mule-cmds.el (set-language-environment): + Load subst tables if necessary. - * international/mule.el (decode-char): Load subst tables if - necessary. + * international/mule.el (decode-char): Load subst tables if necessary. (encode-char): Likewise. * international/utf-16.el (utf-16-decode-ucs): Handle a surrogate @@ -277,18 +319,17 @@ (utf-16-decode-to-ucs): Handle pre-read character. (utf-16le-encode-loop): Handle surrogate pair. (utf-16be-encode-loop): Likewise. - (ccl-encode-mule-utf-16le-with-signature): Adjusted for the change + (ccl-encode-mule-utf-16le-with-signature): Adjust for the change of utf-16le-encode-loop. - (ccl-encode-mule-utf-16be-with-signature): Adjusted for the change + (ccl-encode-mule-utf-16be-with-signature): Adjust for the change of utf-16be-encode-loop. - (mule-utf-16-post-read-conversion): Call - utf-8-post-read-conversion at first. - (mule-utf-16[{le|be}], mule-utf-16{le|be}-with-signature): Include - CJK charsets in safe-charsets if utf-translate-cjk-mode is on. + (mule-utf-16-post-read-conversion): + Call utf-8-post-read-conversion at first. + (mule-utf-16[{le|be}], mule-utf-16{le|be}-with-signature): + Include CJK charsets in safe-charsets if utf-translate-cjk-mode is on. Add post-read-conversion and pre-write-conversion. - * international/utf-8.el (utf-translate-cjk-charsets): New - variable. + * international/utf-8.el (utf-translate-cjk-charsets): New variable. (utf-translate-cjk-unicode-range): New variable. (utf-translate-cjk-load-tables): New function. (utf-lookup-subst-table-for-decode): New function. @@ -303,10 +344,10 @@ (ccl-untranslated-to-ucs): Handle 2-byte encoding. Set r1 to the length of encoding. Don't return r0. (utf-8-compose): New arg hash-table. Handle 2-byte encoding. - (utf-8-post-read-conversion): Narrow to region properly. If - utf-translate-cjk-mode is on, load tables if necessary. Call - utf-8-compose with hash-table arg if necessary. Call - XXX-compose-region instead of XXX-post-read-convesion. + (utf-8-post-read-conversion): Narrow to region properly. + If utf-translate-cjk-mode is on, load tables if necessary. + Call utf-8-compose with hash-table arg if necessary. + Call XXX-compose-region instead of XXX-post-read-convesion. (utf-8-pre-write-conversion): New function. (mule-utf-8): Include CJK charsets in safe-charsets if utf-translate-cjk-mode is on. Add pre-write-conversion. @@ -314,8 +355,8 @@ * international/characters.el: Temporarily set utf-translate-cjk-mode to nil. - * language/devan-util.el (devanagari-compose-region): Add - autoload cookie. + * language/devan-util.el (devanagari-compose-region): + Add autoload cookie. * international/ccl.el (ccl-dump-call): Fix printing the subroutine name. @@ -325,13 +366,12 @@ * dired.el (dired-revert): If buffer is marked unmodified before reverting, keep it marked unmodified. Adapt to new conventions for commenting out code. - (dired-make-relative): Adapt to new conventions for commenting out - code. + (dired-make-relative): Adapt to new conventions for commenting out code. 2004-06-10 Miles Bader <miles@gnu.ai.mit.edu> - * eshell/esh-module.el (eshell-load-defgroups): Bind - `vc-handled-backends' to nil when opening files. + * eshell/esh-module.el (eshell-load-defgroups): + Bind `vc-handled-backends' to nil when opening files. 2004-06-11 Juanma Barranquero <lektu@terra.es> @@ -414,15 +454,15 @@ or incorrect, autoloads. * dired-aux.el (dired-kill-tree): Do not kill DIRNAME, even if it - does not end in a slash. Add optional argument KILL-ROOT. Update - docstring. + does not end in a slash. Add optional argument KILL-ROOT. + Update docstring. (dired-do-touch, dired-clean-directory, dired-run-shell-command) (dired-query): Add autoloads. 2004-06-08 Daniel Pfeiffer <occitan@esperanto.org> - * progmodes/compile.el (compilation-set-window-height): Rearrange - the save-* functions because a buffer can have several current + * progmodes/compile.el (compilation-set-window-height): + Rearrange the save-* functions because a buffer can have several current point in different windows. (compilation-error-regexp-alist-alist): Recognize {standard input} GNU messages (for gcc --pipe) and more kinds of Oracle messages. @@ -462,8 +502,7 @@ * format.el (format-insert-annotations) (format-annotate-location): Doc fixes. - (format-subtract-regions): Make arguments match their use in - docstring. + (format-subtract-regions): Make arguments match their use in docstring. * simple.el (kill-region): Doc fix. @@ -549,8 +588,7 @@ Handle `dired-subdir-switches'. (dired-hide-subdir, dired-hide-all): Do not mark buffer modified. - * dired.el (dired-subdir-switches, dired-switches-alist): - New vars. + * dired.el (dired-subdir-switches, dired-switches-alist): New vars. (dired-insert-old-subdirs): Do not repeatedly delete and reinsert subdirs if -R switch is used for a subdir. (dired-mode): Set `dired-switches-alist'. @@ -583,7 +621,7 @@ 2004-06-04 Mario Lang <mlang@delysid.org> - * battery.el (battery-linux-proc-acpi): mA was hardcored, but some + * battery.el (battery-linux-proc-acpi): `mA' was hardcored, but some systems appear to use mW, make the code handle this. Fix a division-by-zero bug while at it, and handle kernels with a slightly different layout in /proc/acpi. @@ -593,7 +631,7 @@ * vc-svn.el (vc-svn-checkin): Use 'nconc' instead of 'list*', because the latter is a CL-ism. This fixes the bug reported by Shawn Boyette <mdxi@collapsar.net> in - http://lists.gnu.org/archive/html/emacs-devel/2004-05/msg00442.html. + http://lists.gnu.org/archive/html/emacs-devel/2004-05/msg00442.html. 2004-06-04 Miles Bader <miles@gnu.org> @@ -630,8 +668,8 @@ * subr.el (read-number): Use canonical format for default in prompt. - * minibuf-eldef.el (minibuffer-default-in-prompt-regexps): Add - regexp for " [...]" style defaults. + * minibuf-eldef.el (minibuffer-default-in-prompt-regexps): + Add regexp for " [...]" style defaults. 2004-06-02 Romain Francoise <romain@orebokech.com> @@ -654,14 +692,28 @@ empty docstring. * international/mule.el (register-char-codings): Make alias for - `ignore'. Move docstring to obsolescence info and remove - redundancy. + `ignore'. Move docstring to obsolescence info and remove redundancy. 2004-06-02 Kim F. Storm <storm@cua.dk> * frame.el (blink-cursor-start): Turn cursor off initially so blink starts after blink-cursor-delay rather than 2*blink-cursor-delay. +2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca> + + * comint.el (comint-replace-by-expanded-history-before-point): + Obey `start' as the docstring says. + (comint-send-input, comint-snapshot-last-prompt, comint-output-filter) + (comint-update-fence): Prevent font-lock from running unnecessarily. + (comint-dynamic-list-completions): Use with-current-buffer. + +2004-06-01 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> + + * textmodes/bibtex.el (bibtex-format-entry): Fix regexps. + (bibtex-parse-strings): Bugfix, use assoc instead of assoc-string. + (bibtex-entry-update): Handle alternatives and optional fields. + (bibtex-parse-entry): Bugfix, handle empty key. + 2004-05-31 Stefan Monnier <monnier@iro.umontreal.ca> * vc-arch.el (vc-arch-state): Don't assume the file exists. @@ -2746,26 +2798,6 @@ 2004-04-16 Stefan Monnier <monnier@iro.umontreal.ca> - * url/url-util.el (url-debug): Use with-current-buffer. - - * url/url-nfs.el (url-nfs-file-attributes): Add id-format parameter. - (url-nfs-create-wrapper): Use new backquote syntax. - - * url/url-https.el (url-https-file-attributes): Add id-format param. - - * url/url-http.el (url-http-head-file-attributes) - (url-http-file-attributes): Add id-format parameter. - - * url/url-handlers.el: Use new find-file-hook. - (url-file-attributes): Add id-format parameter. - - * url/url-file.el (url-file-create-wrapper): Use new backquote syntax. - (url-file-file-attributes): Add id-format parameter. - - * url/url-dav.el: Use with-current-buffer. - (url-dav-process-response): Fix regexps and spurious quote. - (url-dav-file-attributes): Add id-format param. - * diff-mode.el (diff-end-of-hunk): Be more careful with unified hunks. 2004-04-16 Andre Spiegel <spiegel@gnu.org> @@ -2938,14 +2970,6 @@ * progmodes/compile.el (compile-goto-error): Select the buffer/window corresponding to the event. - * url/url.el (url-retrieve): Use with-current-buffer. - - * url/url-http.el (url-http-parse-headers, url-http-file-exists-p): - Remove unused var `version'. - - * url/url-handlers.el (url-handler-mode): New minor mode. - (url-setup-file-name-handlers): Remove. - 2004-04-12 Joe Buehler <jbuehler@hekiman.com> * loadup.el: Add cygwin to system-type list, for unexec() support. @@ -2962,9 +2986,6 @@ * help.el (describe-mode): Doc fix. - * url/url-cookie.el (url-cookie-handle-set-cookie): Replace calls - to obsolete `assoc-ignore-case' with calls to `assoc-string'. - 2004-04-12 Stefan Monnier <monnier@iro.umontreal.ca> * progmodes/compile.el (compilation-mode-font-lock-keywords): Fix test @@ -2984,42 +3005,6 @@ 2004-04-11 Dave Love <fx@gnu.org> - * url/url-mailto.el (url-mailto): - * url/url-history.el (url-history-setup-save-timer): - * url/url-cookie.el (url-cookie-setup-save-timer): Avoid warnings. - - * url/url-file.el (url-file-build-filename): Don't use - directory-sep-char. - - * url/url-auth.el (url-register-auth-scheme): Fix `format' call. - - * url/url-about.el (url-scheme-registry): Defvar. - (url-about): Use text/plain. - - * url/url-vars.el (cl): Don't require. - (url): Add :version. - (url-bug-address): Use bug-gnu-emacs. - - * url/url-util.el (url-hexify-string): Don't give multibyte error - for char <16. - (mail-header-extract): Autoload. - - * url/url-parse.el: Doc fixes. - - * url/url-ldap.el (ldap): Require. - (url-ldap): Fix `format' call. - (url-ldap-certificate-formatter): Avoid warning. - - * url/url-https.el (url-https-create-secure-wrapper): Use modern - backquotes. - - * url/url-dav.el (url-dav-rename-file): Fix args of `signal'. - (url-intersection): New. - (url-dav-supported-p): Use it. - (url-dav-save-resource): Declare url-http-response-status special. - - * url/url-cache.el (url-util): Require. - * emacs-lisp/bytecomp.el (byte-compile-cond): Fix last change. * progmodes/python.el: New file. @@ -3066,9 +3051,6 @@ * emacs-lisp/bytecomp.el (byte-compile-version): Variable removed. (byte-compile-insert-header): Don't use `byte-compile-version'. - * url/url-vars.el (url-version): Use the constant string "Emacs" - instead of calculating something from the RCS `State' keyword - [the latter is almost entirely useless anyway]. * forms.el (forms-version): Variable removed. (forms-mode): Don't use `forms-version'. * recentf.el (recentf-version): Variable removed. @@ -3318,10 +3300,7 @@ 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca> - * url: Import the URL package from its repository. - - * url/url-methods.el: - * url/url-parse.el: Don't require url-auto. + * url/: New dir. Import the URL package from its repository. 2004-04-03 Andreas Schwab <schwab@suse.de> 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." (buffer-string)) (kill-buffer (current-buffer))))) +;;;###autoload (defun pp-buffer () "Prettify the current buffer with printed representation of a Lisp object." (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." font-lock-syntactic-keywords))) ;; Get down to business. (let ((case-fold-search font-lock-keywords-case-fold-search) - (keywords (cdr font-lock-syntactic-keywords)) + (keywords (cddr font-lock-syntactic-keywords)) keyword matcher highlights) (while keywords ;; 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 @@ +2004-06-29 Kim F. Storm <storm@cua.dk> + + * nntp.el (nntp-authinfo-file): Add :group 'nntp. + + * nnimap.el (nnimap-authinfo-file, nnimap-prune-cache): + Add :group 'nnimap. + 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca> * 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.") (string :format "Login: %v")) (cons :format "%v" (const :format "" "password") - (string :format "Password: %v"))))))) + (string :format "Password: %v")))))) + :group 'nnimap) (defcustom nnimap-prune-cache t "If non-nil, nnimap check whether articles still exist on server before using data stored in NOV cache." - :type 'boolean) + :type 'boolean + :group 'nnimap) (defvar nnimap-request-list-method 'imap-mailbox-list "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 (string :format "Login: %v")) (cons :format "%v" (const :format "" "password") - (string :format "Password: %v"))))))) + (string :format "Password: %v")))))) + :group 'nntp) @@ -223,7 +224,7 @@ noticing asynchronous data.") (defvar nntp-async-timer nil) (defvar nntp-async-process-list nil) -(defvar nntp-ssl-program +(defvar nntp-ssl-program "openssl s_client -quiet -ssl3 -connect %s:%p" "A string containing commands for SSL connections. Within a string, %s is replaced with the server address and %p with @@ -928,10 +929,10 @@ password contained in '~/.nntp-authinfo'." (defun nntp-open-ssl-stream (buffer) (let* ((process-connection-type nil) - (proc (start-process "nntpd" buffer + (proc (start-process "nntpd" buffer shell-file-name shell-command-switch - (format-spec nntp-ssl-program + (format-spec nntp-ssl-program (format-spec-make ?s nntp-address ?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." (define-key map " " 'isearch-whitespace-chars) (define-key map [?\S-\ ] 'isearch-whitespace-chars) - (define-key map "\C-w" 'isearch-yank-word-or-char) - (define-key map "\C-y" 'isearch-yank-line) + (define-key map "\C-w" 'isearch-yank-word-or-char) + (define-key map "\M-\C-w" 'isearch-del-char) + (define-key map "\M-\C-y" 'isearch-yank-char) + (define-key map "\C-y" 'isearch-yank-line) ;; Define keys for regexp chars * ? |. ;; Nothing special for + because it matches at least once. @@ -336,18 +338,27 @@ Default value, nil, means edit the string instead." (define-key map "\M-r" 'isearch-toggle-regexp) (define-key map "\M-e" 'isearch-edit-string) + (define-key map (kbd "M-%") 'isearch-query-replace) + (define-key map (kbd "C-M-%") 'isearch-query-replace-regexp) + map) "Keymap for `isearch-mode'.") (defvar minibuffer-local-isearch-map (let ((map (make-sparse-keymap))) (set-keymap-parent map minibuffer-local-map) - (define-key map "\r" 'isearch-nonincremental-exit-minibuffer) - (define-key map "\M-n" 'isearch-ring-advance-edit) - (define-key map "\M-p" 'isearch-ring-retreat-edit) + (define-key map "\r" 'isearch-nonincremental-exit-minibuffer) + (define-key map "\M-n" 'isearch-ring-advance-edit) + (define-key map [next] 'isearch-ring-advance-edit) + (define-key map [down] 'isearch-ring-advance-edit) + (define-key map "\M-p" 'isearch-ring-retreat-edit) + (define-key map [prior] 'isearch-ring-retreat-edit) + (define-key map [up] 'isearch-ring-retreat-edit) (define-key map "\M-\t" 'isearch-complete-edit) - (define-key map "\C-s" 'isearch-forward-exit-minibuffer) - (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) + (define-key map "\C-s" 'isearch-forward-exit-minibuffer) + (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) + (define-key map "\C-f" 'isearch-yank-char-in-minibuffer) + (define-key map [right] 'isearch-yank-char-in-minibuffer) map) "Keymap for editing isearch strings in the minibuffer.") @@ -449,14 +460,14 @@ As you type characters, they add to the search string and are found. The following non-printing keys are bound in `isearch-mode-map'. Type \\[isearch-delete-char] to cancel last input item from end of search string. -Type \\[isearch-del-char] to cancel last character from end of search string. Type \\[isearch-exit] to exit, leaving point at location found. Type LFD (C-j) to match end of line. Type \\[isearch-repeat-forward] to search again forward,\ \\[isearch-repeat-backward] to search again backward. -Type \\[isearch-yank-char] to yank character from buffer onto end of search\ +Type \\[isearch-yank-word-or-char] to yank word from buffer onto end of search\ string and search for it. -Type \\[isearch-yank-word] to yank word from buffer onto end of search\ +Type \\[isearch-del-char] to delete character from end of search string. +Type \\[isearch-yank-char] to yank char from buffer onto end of search\ string and search for it. Type \\[isearch-yank-line] to yank rest of line onto end of search string\ and search for it. @@ -792,7 +803,7 @@ The following additional command keys are active while editing. \\[isearch-ring-retreat-edit] to replace the search string with the previous item in the search ring. \\[isearch-complete-edit] to complete the search string using the search ring. \\<isearch-mode-map> -If first char entered is \\[isearch-yank-word], then do word search instead." +If first char entered is \\[isearch-yank-word-or-char], then do word search instead." ;; This code is very hairy for several reasons, explained in the code. ;; Mainly, isearch-mode must be terminated while editing and then restarted. @@ -1048,6 +1059,31 @@ Use `isearch-exit' to quit without signaling." (sit-for 1) (isearch-update)) +(defun isearch-query-replace () + "Start query-replace with string to replace from last search string." + (interactive) + (let ((query-replace-interactive 'initial) + (case-fold-search isearch-case-fold-search)) + ;; Put search string into the right ring + (setq isearch-regexp nil) + (isearch-done) + (isearch-clean-overlays) + (and isearch-forward isearch-other-end (goto-char isearch-other-end)) + (call-interactively 'query-replace))) + +(defun isearch-query-replace-regexp () + "Start query-replace-regexp with string to replace from last search string." + (interactive) + (let ((query-replace-interactive 'initial) + (case-fold-search isearch-case-fold-search)) + ;; Put search string into the right ring + (setq isearch-regexp t) + (isearch-done) + (isearch-clean-overlays) + (and isearch-forward isearch-other-end (goto-char isearch-other-end)) + (call-interactively 'query-replace-regexp))) + + (defun isearch-delete-char () "Discard last input item and move point back. If no previous match was done, just beep." @@ -1057,15 +1093,17 @@ If no previous match was done, just beep." (isearch-pop-state)) (isearch-update)) -(defun isearch-del-char () - "Discard last character and move point back. -If there is no previous character, just beep." - (interactive) - (if (equal isearch-string "") +(defun isearch-del-char (&optional arg) + "Delete character from end of search string and search again. +If search string is empty, just beep." + (interactive "p") + (if (= 0 (length isearch-string)) (ding) - (setq isearch-string (substring isearch-string 0 -1) + (setq isearch-string (substring isearch-string 0 (- (or arg 1))) isearch-message (mapconcat 'isearch-text-char-description - isearch-string ""))) + isearch-string "") + ;; Don't move cursor in reverse search. + isearch-yank-flag t)) (isearch-search-and-update)) (defun isearch-yank-string (string) @@ -1127,10 +1165,21 @@ might return the position of the end of the line." (goto-char isearch-other-end)) (buffer-substring-no-properties (point) (funcall jumpform))))) -(defun isearch-yank-char () +(defun isearch-yank-char-in-minibuffer (&optional arg) + "Pull next character from buffer into end of search string in minibuffer." + (interactive "p") + (if (eobp) + (insert + (save-excursion + (set-buffer (cadr (buffer-list))) + (buffer-substring-no-properties + (point) (progn (forward-char arg) (point))))) + (forward-char arg))) + +(defun isearch-yank-char (&optional arg) "Pull next character from buffer into search string." - (interactive) - (isearch-yank-internal (lambda () (forward-char 1) (point)))) + (interactive "p") + (isearch-yank-internal (lambda () (forward-char arg) (point)))) (defun isearch-yank-word-or-char () "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.") ("d" "diff" . cvs-mode-diff) ("b" "backup" . cvs-mode-diff-backup) ("h" "head" . cvs-mode-diff-head) + ("r" "repository" . cvs-mode-diff-repository) ("y" "yesterday" . cvs-mode-diff-yesterday) ("v" "vendor" . cvs-mode-diff-vendor)) "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." (interactive (list (cvs-flags-query 'cvs-diff-flags "cvs diff flags"))) (cvs-mode-diff-1 (cons "-rHEAD" flags))) +(defun-cvs-mode (cvs-mode-diff-repository . SIMPLE) (flags) + "Diff the files for changes in the repository since last co/update/commit. +See ``cvs-mode-diff'' for more info." + (interactive (list (cvs-flags-query 'cvs-diff-flags "cvs diff flags"))) + (cvs-mode-diff-1 (cons "-rBASE" (cons "-rHEAD" flags)))) + (defun-cvs-mode (cvs-mode-diff-yesterday . SIMPLE) (flags) "Diff the selected files against yesterday's head of the current branch. 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." (defcustom ada-tight-gvd-integration nil "*If non-nil, a new Emacs frame will be swallowed in GVD when debugging. -If GVD is not the debugger used, nothing happens.") +If GVD is not the debugger used, nothing happens." + :type 'boolean :group 'ada) (defcustom ada-xref-search-with-egrep t "*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." (equal ada-prj-default-project-file (car x)) )))) - + ;; Parses all the known project files, and insert at ;; least the default one (in case ;; ada-xref-project-files is nil) (or ada-xref-project-files '(nil)))))) - + (easy-menu-add-item ada-mode-menu '() submenu))) 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 @@ ;; Kingdon and uses GDB's annotation interface. You don't need to know about ;; annotations to use this mode as a debugger, but if you are interested ;; developing the mode itself, then see the Annotations section in the GDB -;; info manual. +;; info manual. ;; ;; GDB developers plan to make the annotation interface obsolete. A new ;; interface called GDB/MI (machine interface) has been designed to replace @@ -70,7 +70,7 @@ (defvar gdb-variables '() "A list of variables that are local to the GUD buffer.") (defvar gdb-server-prefix nil) - + ;;;###autoload (defun gdba (command-line) "Run gdb on program FILE in buffer *gud-FILE*. @@ -227,7 +227,7 @@ speedbar." (if (string-equal expr (car var)) (throw 'already-watched nil))) (set-text-properties 0 (length expr) nil expr) (gdb-enqueue-input - (list + (list (if (eq gud-minor-mode 'gdba) (concat "server interpreter mi \"-var-create - * " expr "\"\n") (concat"-var-create - * " expr "\n")) @@ -326,7 +326,7 @@ speedbar." (if (not (member 'gdb-var-update gdb-pending-triggers)) (progn (gdb-enqueue-input - (list + (list (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) "server interpreter mi \"-var-update *\"\n" "-var-update *\n") @@ -362,7 +362,7 @@ speedbar." (varnum (cadr var))) (unless (string-match "\\." varnum) (gdb-enqueue-input - (list + (list (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) (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'." (set (make-local-variable 'gdb-buffer-type) key) (if (cdr (cdr rules)) (funcall (car (cdr (cdr rules))))) - (set (make-local-variable 'gud-minor-mode) + (set (make-local-variable 'gud-minor-mode) (with-current-buffer gud-comint-buffer gud-minor-mode)) (set (make-local-variable 'tool-bar-map) gud-tool-bar-map) new)))) @@ -1076,13 +1076,15 @@ static char *magick[] = { '((t :inherit fringe :foreground "red")) - "Face for enabled breakpoint icon in fringe.") + "Face for enabled breakpoint icon in fringe." + :group 'gud) (defface breakpoint-disabled-bitmap-face '((t :inherit fringe :foreground "grey60")) - "Face for disabled breakpoint icon in fringe.") + "Face for disabled breakpoint icon in fringe." + :group 'gud) ;;-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." (save-current-buffer (setq left-margin-width 2) (if (get-buffer-window (current-buffer) 'visible) - (set-window-margins + (set-window-margins (get-buffer-window (current-buffer) 'visible) left-margin-width right-margin-width)))) (put-image @@ -1864,7 +1866,7 @@ BUFFER nil or omitted means use the current buffer." (save-current-buffer (setq left-margin-width 2) (if (get-buffer-window (current-buffer) 'visible) - (set-window-margins + (set-window-margins (get-buffer-window (current-buffer) 'visible) left-margin-width right-margin-width)))) (gdb-put-string (if enabled "B" "b") (1+ start))))) @@ -1876,7 +1878,7 @@ BUFFER nil or omitted means use the current buffer." (when remove-margin (setq left-margin-width 0) (if (get-buffer-window (current-buffer) 'visible) - (set-window-margins + (set-window-margins (get-buffer-window (current-buffer) 'visible) left-margin-width right-margin-width)))) 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 @@ (defcustom query-replace-interactive nil "Non-nil means `query-replace' uses the last search string. -That becomes the \"string to replace\"." - :type 'boolean +That becomes the \"string to replace\". +If value is `initial', the last search string is inserted into +the minibuffer as an initial value for \"string to replace\"." + :type '(choice (const :tag "Off" nil) + (const :tag "Initial content" initial) + (other :tag "Use default value" t)) :group 'matching) (defcustom query-replace-from-history-variable 'query-replace-history @@ -70,16 +74,20 @@ strings or patterns." (unless noerror (barf-if-buffer-read-only)) (let (from to) - (if query-replace-interactive - (setq from (car (if regexp-flag regexp-search-ring search-ring))) + (if (and query-replace-interactive + (not (eq query-replace-interactive 'initial))) + (setq from (car (if regexp-flag regexp-search-ring search-ring))) ;; The save-excursion here is in case the user marks and copies ;; a region in order to specify the minibuffer input. ;; That should not clobber the region for the query-replace itself. (save-excursion - (setq from (read-from-minibuffer (format "%s: " string) - nil nil nil - query-replace-from-history-variable - nil t))) + (setq from (read-from-minibuffer + (format "%s: " string) + (if (eq query-replace-interactive 'initial) + (car (if regexp-flag regexp-search-ring search-ring))) + nil nil + query-replace-from-history-variable + nil t))) ;; Warn if user types \n or \t, but don't reject the input. (and regexp-flag (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\[nt]\\)" from) @@ -92,9 +100,10 @@ strings or patterns." (sit-for 2)))) (save-excursion - (setq to (read-from-minibuffer (format "%s %s with: " string from) - nil nil nil - query-replace-to-history-variable from t))) + (setq to (read-from-minibuffer + (format "%s %s with: " string from) + nil nil nil + query-replace-to-history-variable from t))) (when (and regexp-flag (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\\\[,#]" to)) (let (pos list char) @@ -109,23 +118,18 @@ strings or patterns." ((eq char ?\,) (setq pos (read-from-string to)) (push `(replace-quote ,(car pos)) list) - (let ((end - ;; Swallow a space after a symbol - ;; if there is a space. - (if (and (or (symbolp (car pos)) - ;; Swallow a space after 'foo - ;; but not after (quote foo). - (and (eq (car-safe (car pos)) 'quote) - (= ?\( (aref to-string 0)))) - (equal " " (substring to-string (cdr pos) - (1+ (cdr pos))))) - (1+ (cdr pos)) - (cdr pos)))) - (setq to (substring to end))))) + (setq to (substring + to (+ (cdr pos) + ;; Swallow a space after a symbol + ;; if there is a space. + (if (string-match + "^[^])\"] " + (substring to (1- (cdr pos)))) + 1 0)))))) (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\\\[,#]" to))) (setq to (nreverse (delete "" (cons to list))))) (replace-match-string-symbols to) - (setq to (cons 'replace-eval-replacement + (setq to (cons 'replace-eval-replacement (if (> (length to) 1) (cons 'concat to) (car to))))) @@ -1397,7 +1401,7 @@ make, or the user didn't cancel the call." ((eq def 'act-and-exit) (or replaced (setq noedit - (replace-match-maybe-edit + (replace-match-maybe-edit next-replacement nocasify literal noedit real-match-data) 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 @@ +2004-04-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * url-util.el (url-debug): Use with-current-buffer. + + * url-nfs.el (url-nfs-file-attributes): Add id-format parameter. + (url-nfs-create-wrapper): Use new backquote syntax. + + * url-https.el (url-https-file-attributes): Add id-format param. + + * url-http.el (url-http-head-file-attributes) + (url-http-file-attributes): Add id-format parameter. + + * url-handlers.el: Use new find-file-hook. + (url-file-attributes): Add id-format parameter. + + * url-file.el (url-file-create-wrapper): Use new backquote syntax. + (url-file-file-attributes): Add id-format parameter. + + * url-dav.el: Use with-current-buffer. + (url-dav-process-response): Fix regexps and spurious quote. + (url-dav-file-attributes): Add id-format param. + +2004-04-12 Stefan Monnier <monnier@iro.umontreal.ca> + + * url.el (url-retrieve): Use with-current-buffer. + + * url-http.el (url-http-parse-headers, url-http-file-exists-p): + Remove unused var `version'. + + * url-handlers.el (url-handler-mode): New minor mode. + (url-setup-file-name-handlers): Remove. + +2004-04-12 John Paul Wallington <jpw@gnu.org> + + * url-cookie.el (url-cookie-handle-set-cookie): Replace calls + to obsolete `assoc-ignore-case' with calls to `assoc-string'. + +2004-04-11 Dave Love <fx@gnu.org> + + * url-mailto.el (url-mailto): + * url-history.el (url-history-setup-save-timer): + * url-cookie.el (url-cookie-setup-save-timer): Avoid warnings. + + * url-file.el (url-file-build-filename): Don't use + directory-sep-char. + + * url-auth.el (url-register-auth-scheme): Fix `format' call. + + * url-about.el (url-scheme-registry): Defvar. + (url-about): Use text/plain. + + * url-vars.el (cl): Don't require. + (url): Add :version. + (url-bug-address): Use bug-gnu-emacs. + + * url-util.el (url-hexify-string): Don't give multibyte error + for char <16. + (mail-header-extract): Autoload. + + * url-parse.el: Doc fixes. + + * url-ldap.el (ldap): Require. + (url-ldap): Fix `format' call. + (url-ldap-certificate-formatter): Avoid warning. + + * url-https.el (url-https-create-secure-wrapper): Use modern backquotes. + + * url-dav.el (url-dav-rename-file): Fix args of `signal'. + (url-intersection): New. + (url-dav-supported-p): Use it. + (url-dav-save-resource): Declare url-http-response-status special. + + * url-cache.el (url-util): Require. + +2004-04-10 Miles Bader <miles@gnu.org> + + RCS keyword removal (only non-comment changes are enumerated here): + + * url-vars.el (url-version): Use the constant string "Emacs" + instead of calculating something from the RCS `State' keyword + [the latter is almost entirely useless anyway]. + +2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * url-methods.el: + * url-parse.el: Don't require url-auto. + +2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca> + + * url: Imported the URL package from its own CVS repository into Emacs. + +=========================================================================== +=========================================================================== + Copy of the ChangeLog file from URL's own CVS repository: +=========================================================================== +=========================================================================== + +2003-07-16 Dave Love <fx@gnu.org> + + * lisp/url.el (url-retrieve-synchronously): Revert last change. + Should be revisited. + +2003-06-26 Sam Steingold <sds@gnu.org> + + * lisp/url-handlers.el (url-handlers-create-wrapper): Do not call + method on invalid urls. + +2003-05-29 Dave Love <fx@gnu.org> + + * lisp/url.el (url-retrieve-synchronously): Use sleep-for, not + sit-for. From monnier@gnu.org. + +2002-11-04 Walter C. Pelissero <walter@pelissero.org> + + * lisp/url-methods.el (url-scheme-register-proxy): Make sure to convert + port numbers to integers when creating the URL objects for proxies. + +2002-10-29 William M. Perry <wmperry@gnu.org> + + * lisp/url-http.el (url-http-parse-headers): When doing a + redirect, some broken software (sourceforge) sends a redirect to + '/', which is blatantly illegal (see section 14.30 of the HTTP/1.1 + specification). I wish we could deal with such lame software + appropriately (spank the authors), but this is the web, so we have + to kow-tow to the servers. + +2002-10-27 William M. Perry <wmperry@gnu.org> + + * lisp/url-http.el (url-http-create-request): If we are talking to + the default port for a the selected protocol, do NOT send the port + in the HOST header. This fixes the login page at sourceforge. + +2002-09-17 William M. Perry <wmperry@gnu.org> + + * lisp/url-http.el (url-http-handle-cookies): New function to deal + with cookie headers. + (url-http-parse-headers): Call `url-http-handle-cookies' here so + that cookie additions and deletions get handled immediately. + This is so that sites that set cookies while doing redirects + (my.yahoo.com, outlook web access, etc) work. This should also + fix sites that delete cookies on invalid access or other error + pages the user might not actually see. + (url-http-parse-headers): Silently convert non-HEAD and non-GET + methods to GET in redirects. Too many web sites do this now, and + it is just likely to confuse users. + +2002-05-17 Dave Love <fx@gnu.org> + + * texi/url.txi: Start making it vaguely useful. + + * texi/Makefile.in (install): Cope with Debian install-info. + From Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann). + +2002-04-22 Dave Love <fx@gnu.org> + + * lisp/url-misc.el (man): Autoload to avoid warning. + (url-man): Don't require man here. + (url-data): Generalize in line with the RFC. + + * lisp/url-gw.el (url-open-stream): Remove obsolete `tcp' case. + + * lisp/url-vars.el: Doc fixes. + (url-mime-charset-string): New function. + (url-mime-charset-string): Use it to set the variable. + (url-set-mime-charset-string): New function. + (set-language-environment-hook): Use it. + (url-vars-unload-hook): New function. + + * lisp/url-cookie.el (url-header-comparison): Delete. + (url-cookie-handle-set-cookie): Use assoc-ignore-case to avoid assoc*. + (url-cookie-save-interval): Make value agree with doc. + + * lisp/url.el: Doc fixes. + (url-mm-callback): Don't call mm-destroy-parts immediately for + external viewing -- set up a process sentinel. + +2002-02-02 William M. Perry <wmperry@gnu.org> + + * lisp/Makefile.in (SOURCES): Remove mule-sysdp.el from the build rules. + +2001-12-12 William M. Perry <wmperry@gnu.org> + + * lisp/url-vars.el (url-nonrelative-link): Patch from Stefan + Monnier to use ` instead of ^ to match the relative link. + +2001-12-10 William M. Perry <wmperry@gnu.org> + + * lisp/url-dav.el (url-dav-file-attributes): Fix bad call to + plist-get (reversed args). + + * lisp/url-file.el (url-file-build-filename): Make sure that we + have a parsed URL in this function. + +2002-01-22 Dave Love <fx@gnu.org> + + * lisp/url-cache.el (url-cache-file-writable-p): Doc fix. + + * lisp/url-imap.el (url-imap): Maybe disable multibyte. + Bind coding-system-for-read. Require mm-util. + + * lisp/url.el (url-do-setup): Use (featurep 'xemacs). + + * lisp/mule-sysdp.el: Removed (obsolete). + +2001-12-09 William M. Perry <wmperry@gnu.org> + + * lisp/url-dav.el (url-dav-delete-something): Utility macro to + remove an arbitrary resource. + (url-dav-delete-directory): Use it. + (url-dav-delete-file): Ditto. + (url-dav-make-directory): New function. + (url-dav-rename-file): New function. + (url-dav-register-handler): New function to easily register a + WebDAV-specific file-name-handler operation. + (url-dav-file-name-all-completions, url-dav-file-name-completion): + New functions that allow file-name completion for WebDAV resources. + +2001-12-08 William M. Perry <wmperry@gnu.org> + + * lisp/url-dav.el (url-dav-directory-files): New function to + mimic `directory-files' for WebDAV. + (url-dav-delete-directory): New function to mimic + `delete-directory' for WebDAV. + +2001-12-06 William M. Perry <wmperry@gnu.org> + + * lisp/url-dav.el (url-dav-process-DAV:locktoken): Parse the + DAV:locktoken hrefs into a usable format. + (url-dav-process-response): Use an unwind-protect to make sure + that we clean up the buffer, even if there is a parsing error. + (url-dav-request): New function to act as the main entry point for + making DAV requests. Takes care of building the XML document with + appropriate namespaces, depth, etc, and parses the results. + (url-dav-get-properties): Use new url-dav-request function. + This is now just a thin wrapper around that to use PROPFIND and set any + extra properties we are looking for. + (url-dav-unlock-resource): New function to release a lock given a + URL and a lock-token. + (url-dav-process-DAV:getlastmodified) + (url-dav-process-DAV:creationdate) + (url-dav-process-DAV:iscollection) + (url-dav-process-DAV:ishidden): Fix typos! Its url-dav-*, not + url-dave-*! + (url-dav-active-locks): New function to get a list of all the + active locks for a resource. + (url-dav-save-resource): New function to actually save a resource + using the PUT method. I can now successfully save files to an + HTTP server with some manual steps from a lisp-interaction buffer. + + * lisp/url-http.el (url-http-wait-for-headers-change-function): + Special case the 204/205 response codes. Some servers do not + send back a 0 content-length for these, and we would hang. + (url-http-parse-headers): Mark 204/205 response codes as + 'successful' so that the callbacks get activated. + (url-http-options): Fix unbound variable usage. + + * lisp/url-dav.el: Added full copyright information. + (url-dav-process-response): Make sure that we create a DAV:status + property when parsing a singleton response. + (url-dav-file-attributes): If the properties returned did not have + a succesful HTTP response code, then ignore them and use the + HEAD-based attributes. + + * lisp/vc-dav.el: Added full copyright information. + + * lisp/url-dav.el (url-dav-process-supportedlock-property): + Deal with text nodes in DAV:supportedlock nodes. + (url-dav-file-attributes-mode-string): This now gets the entire + property list instead of just the DAV:supportedlock node. + (url-dav-file-attributes): Make sure to pass the whole list in. + (url-dav-file-attributes-mode-string): Now properly sets do 'd' mode. + (url-dav-file-attributes-mode-string): Now uses the Apache mod_dav + 'executable' bit to set the 'x' mode. See `mod_dav's custom + properties' at http://www.webdav.org/mod_dav/ for more details. + (url-dav-find-parser): New function to find the proper parser for + a node-type. Looks for + url-dav-process-XXX (url-dav-process-DAV:prop), otherwise falls + back to using url-dav-node-text. Caches the results on the nodes + symbol name. + (url-dav-dispatch-node): Utility routine to call a nodes handler easily. + (url-dav-process-*): Rename most of the handlers and made them + use url-dav-dispatch-node where appropriate. + (url-dav-process-DAV:prop): Instead of using the dav-data-type + property to dispatch the node, now uses dav-dispatch-node so that + it is easy to add parsers for special nodes. + (url-dav-process-DAV:depth, url-dav-process-DAV:resourcetype) + (url-dav-process-DAV:locktype, url-dav-process-DAV:lockscope) + (url-dav-process-DAV:getcontentlength) + (url-dave-process-DAV:getlastmodified) + (url-dave-process-DAV:creationdate) + (url-dave-process-DAV:iscollection) + (url-dave-process-DAV:ishidden): Aliases for the generic + url-dav-process-foo-property routines. + (url-dav-process-DAV:activelock) + (url-dav-process-DAV:lockdiscovery): Can now correctly parse + DAV:lockdiscovery nodes, so that we can find out who has a + resource locked and properly parse the reponse to a LOCK request. + (url-dav-process-DAV:status): Now parses ou the numeric status + from the HTTP response line. + (url-dav-process-response): New function to handle all the + parsing of an XML response from WebDAV. This handles all the + logic of checking the response content-type to make sure it is + XML, parses the tree, and interprets the tree. + (url-dav-process-response): Make sure that all responses look + like a DAV:multistatus response, even if we get a singleton + response back. This will just make the upper layer logic simpler. + (url-dav-get-properties): New optional argument NAMESPACES that + specifies what namespaces to use in the XML request. + (url-dav-get-properties): Got rid of the D: namespace in + requests. It doesn't save that much space. Just use DAV: + (url-dav-lock-identifier): New variable that should hold a URI + pointing to contact information for the user. This will be used + as the contents of the DAV:owner/DAV:href tag to identify the + owner of a LOCK when requesting it. This will be shown to other + users when the DAV:lockdiscovery property is requested, so make + sure you are comfortable with it leaking to the outside world. + (url-dav-lock-resource): New function to LOCK a dav resource. + +2001-12-05 William M. Perry <wmperry@gnu.org> + + * lisp/url-dav.el (url-dav-get-properties): New argument + ATTRIBUTES that allows you to ask for specific properties instead + of getting all properties via DAV:allprop. + + * lisp/url-http.el (url-http-real-basic-auth-storage): + New variable for normal HTTP basic authentication. + (url-http-proxy-basic-auth-storage): New variable for HTTP proxy + basic authentication. + (url-http-handle-authentication): Follow new semantics for + url-basic-auth-storage. + + * lisp/url-auth.el (url-basic-auth-storage): Change meaning of + this variable. It is now a symbol pointing to where we really + want to store the authorization information. This fixes proxy + auth and normal basic auth because of some local bindings that were + making it impossible to store the credentials in the global binding. + (url-basic-auth): Make sure we dereference url-basic-auth-storage + everywhere. + + * lisp/url-util.el (url-debug): Add new types 'dav and + 'retrieval to the customization list. + + * lisp/url.el (url-retrieve-synchronously): Put in some debugging + statements. + + * lisp/url-http.el (url-http-head-file-attributes): Rename old + url-http-file-attributes so that we can have a smarter one that + tries WebDAV first, then HEAD. + (url-http-file-attributes): New smart version that tries WebDAV first. + (url-http-options): New function that returns information gleaned + from an OPTIONS request for a URL. Returns a property list + returning the methods supported for the resource, what DAV and + DASL levels are supported, p3p information, and whether + byte-ranges are supported or not. + (url-http-wait-for-headers-change-function): If we got a 0-byte + content-length, activate the callback immediately. + (url-http-wait-for-headers-change-function): For content-length + responses with actual body-data in the chunk we are handling, call + url-http-content-length-after-change-function with the remaining + data. Otherwise we can deadlock if the headers and the entire + body exist arrive in one chunk. + + * lisp/url-dav.el: New file to contain the WebDAV + (http://www.webdav.org/) implementation. + (url-dav-supported-p): Cheap way to figure out whether we will be + able to do DAV at all. We rely on the XML parser expanding + namespaces for us, and currently you need a patched version of + xml.el to do this. Patch sent to author for consideration. + (url-dav-file-attributes): Much more complete version of + `file-attributes' using the WebDAV PROPFIND method. Now correctly + finds out whether something is a directory (a WebDAV collection), + the last modification time, and permissions (based on the + DAV:supportedlock information). + (url-dav-get-properties): Generic interface to get WebDAV + properties for a URL. Can specify an optional `depth' parameter + to tell the web server how many directory (collection) levels to + recurse when retrieving the property lists. Returns an assoc + list keyed off of the resource, the cdr of which is a property list. + (url-dav-datatype-attribute): We support the XML-Data note + (http://www.w3.org/TR/1998/NOTE-XML-data) to figure out what the + datatypes of attributes are. Currently only date, dateTime, int, + number, float, boolean, and uri are supported. + +2001-12-04 William M. Perry <wmperry@gnu.org> + + * lisp/url-handlers.el (file-name-absolute-p): New hooked + version. If the filename matches our regexp, then it is always + absolute, so just return `t'. + (expand-file-name): New hooked version. If the fragment is an + absolute file or URL, then expand it relative to '/'. + (url-handler-regexp): New regexp for specific schemes that we + want the file-name-handlers to work off of. + (url-setup-file-name-handlers): Use it when installing the handlers. + + * lisp/url-http.el (url-http-find-free-connection): Better logging + about whether we are reusing an existing connection or not. + + * lisp/url-methods.el (url-scheme-register-proxy): Fix bad call + to string-match instead of match-string (and with reversed + arguments even). + + * lisp/url-http.el (url-http-debug): Change to now use the + generic url-debug function to do the actual logging. Still a + separate function so that we can do our magic on the network + connection if the user quits while we are downloading. + + * lisp/url-handlers.el (url-file-handler): Now logs the result of + the hooked or real call. + + * lisp/url-util.el (url-debug): New function for generic debug logging. + +2001-11-28 William M. Perry <wmperry@gnu.org> + + * lisp/url-imap.el (url-imap-open-host): Use backquote. + (url-imap): Now switches to 'login as the imap authenticator if + the URL provides a username and password. + + * lisp/url-handlers.el (url-setup-file-name-handlers): Use cl & + push to replace some strange logic in here. + (url-run-real-handler): New function to run the real hooks in + case we get a false positive or an operation that we do not + support. The old way disabled _ALL_ file-name-handlers when + we hit something we didn't understand - this disables JUST us. + (url-file-handler): Remove the logic about removing the leading + '/' off of the first argument... it may not be safe to always + assume that the first argument is the one we are acting on - + `default' is the second argument for expand-file-name for example. + (url-setup-file-name-handlers): Use url-nonrelative-link + directly. This means that you must type in the URL directly + without prefixing it with a '/'. + + (gnus-cache-articles-in-group "nnml+mail:comp.emacs-devel") + + Ends up calling (expand-file-name "nnml+mail:comp.emacs-devel" ...) + which activates us (because 'nnml+mail' _is_ a valid scheme name + for a URI). We get thoroughly confused and end up returning + `nil' when we shouldn't. + +2001-11-26 William M. Perry <wmperry@gnu.org> + + * lisp/url-handlers.el (file-writable-p): Add NULL handler for + this so that visiting a URL directly will work. + (file-symlink-p): Ditto. + (url-insert-file-contents): If `visit' is non-nil then make sure + we set buffer-file-name. After these changes you can visit + http://www.gnu.org/ directly from the minibuffer. + (url-insert-file-contents): When inserting the file contents, + use a save-excursion so that we behave just like the original. + +2001-11-25 William M. Perry <wmperry@gnu.org> + + * lisp/url-util.el (url-hexify-string): Fix bad use of mapconcat. + +2001-11-24 William M. Perry <wmperry@gnu.org> + + * lisp/url-about.el (url-about): New loader scheme to handle + about:foo URLs. Automatically tries to find a `url-about-foo' + function to display the actual data. + (url-about-protocols): Implement about:protocols + + * lisp/url-http.el (url-http): Make sure that we signal an error + when we cannot open a network connection for whatever reason. + Before, it would just silently clean up after itself and the user + got absolutely no indication that an error had occured. If the + error should truly be ignored, the caller should do that for us. + (url-http-chunked-encoding-after-change-function): Doh! Need to + user marker-position in some log messages now that + url-http-chunked-start is a marker. + +2001-11-22 William M. Perry <wmperry@gnu.org> + + * lisp/url-https.el: Fixed definition of url-https - was using the + wrong signature. Too much cut & paste. + (url-https-create-secure-wrapper): Fix so that url-https works + at all. Was not taking a null `method' into account when calling + the wrapped function so url-https tried to call url-http-nil. *sigh* + + * lisp/url-http.el + (url-http-chunked-encoding-after-change-function): Add some + feedback when not debugging about what content-type and chunk # we + are reading. + (url-http-chunked-encoding-after-change-function): Use a marker + for url-http-chunked-start so that we can safely delete the + chunk-tokens instead of just marking them as invisible. + (url-http-chunked-encoding-after-change-function): Actually delete + the chunk-tokens. Now that we are not run from 'real' + after-change functions, this is safe, and the right thing to do. + Otherwise the HTML parser still saw them and inferred all sorts of + bad things about the document (ie: nothing had a title!) + +2001-11-21 William M. Perry <wmperry@gnu.org> + + * lisp/url-http.el (url-http-debug): Document this variable. + People other than I might want to use it. + (url-http-debug): Put some code in here to check quit-flag + directly. When the chunked encoding went into a tight spin, your + Emacs would be wedged forever. This short-circuits all the + after-change functions and signals an error. + (url-http-debug): If url-http-debug is non-nil and non-t, then log + the debug messages using `message' as well as sending them to the + buffer. + (url-http-chunked-encoding-after-change-function): Got rid of the + no-initial-crlf. Had an epiphany and I can just infer this from + url-http-chunked-counter being 0. + (url-http-chunked-encoding-after-change-function): Move the debug + statement about reading chunk #foo into the loop so that each + chunk will have a log message associated with it. + (url-http-chunked-encoding-after-change-function): Make sure to + set read-next-chunk to nil when the regular expression match fails + to fire. Otherwise we could loop forever. + (url-http-chunked-encoding-after-change-function): Tweak the + regular expression to be a little less greedy when looking for a chunk. + (url-http-wait-for-headers-change-function): Remove the last + argument when calling + url-http-chunked-encoding-after-change-function. It is no longer + needed. I should use my brain sometime. + + * lisp/url-vars.el (and): Fix feature test for xemacs and + coding-system-list behaviour. + + * lisp/url-http.el + (url-http-chunked-encoding-after-change-function): Add optional + no-initial-crlf flag that modifies the regular expression. + This is only set from url-http-wait-for-headers-change-function so that + the initial CRLF in the HTTP headers is not swallowed. + (url-http-chunked-encoding-after-change-function): Fix a few + off-by-one errors by using (match-end 0) instead of 1. + (url-http-chunked-encoding-after-change-function): Add a few + url-http-debug calls to help track down problems in the chunked + encoding. + (url-http-chunked-encoding-after-change-function): The chunk + reading in here is now in a while loop so that if Emacs feeds us a + chunk of data that happens to contain more than one 'chunk' + delimiter, we behave correctly. + (url-http-wait-for-headers-change-function): Make sure that we + pass no-initial-crlf to + url-http-chunked-encoding-after-change-function when passing + initial data to the decoder. + (url-http-generic-filter): url-http-debug statement so we can tell + when/where our after-change-functions are being called. + +2001-10-11 Dave Love <fx@gnu.org> + + * lisp/url-handlers.el: Doc fixes. + (string-match): Use (featurep 'xemacs). + + * lisp/url-methods.el (url-scheme-get-property): Avoid `mapc'. + + * lisp/url-proxy.el (url-find-proxy-for-url): Avoid `pop'. + + * lisp/url-vars.el (url-running-xemacs): Delete. + (url-gateway-unplugged): New variable. + + * lisp/url-gw.el (url-open-stream): Use url-gateway-unplugged. + Comment out OS/2 stuff. + +2001-10-05 Dave Love <fx@gnu.org> + + * lisp/url-mailto.el (url-mailto): Don't send auto-generated mail + without confirmation. + +2001-10-02 Dave Love <fx@gnu.org> + + * lisp/url-http.el (url-http-create-request): Check cache for + proxy-obj, if defined, rather than url. + (url-http): Use dolist, not mapc (runtime cl dependency). + + * lisp/url-methods.el: Maybe require cl at runtime. + (url-scheme-register-proxy): Fix fetching from environment. + Don't concat a number. + +2001-10-01 Dave Love <fx@gnu.org> + + * lisp/url-parse.el: Use modern backquote syntax. + + * lisp/url-vars.el (url-uncompressor-alist): Add bzip2. + (url-mail-command): Prefer compose-mail. + (tcp-binary-process-input-services): Comment out. + (url-working-buffer): New constant. + + * lisp/url-util.el (url-extract-mime-headers): New function. + + * lisp/url-mailto.el (url-mailto): Set source-url. Don't add + User-Agent. + +2001-09-20 Dave Love <fx@gnu.org> + + * lisp/url-http.el (url-http-create-request): Don't concat a number. + +2001-06-05 Dave Love <fx@gnu.org> + + * lisp/url.el (url-do-setup): Doc fix. Don't try to frob + tcp-binary-process-input-services. Remove function wrapper for lambda. + (url-retrieve): Barf with sensible message if url-type is null. + + * lisp/url-http.el (url-http): Don't try to set process + coding-system here -- done in url-gw. + + * lisp/url-gw.el (url-gw-inhibit-code-conversion): Remove. + (url-open-stream): Bind coding-system-for{read,write} when setting + up the connexion. Don't call url-gw-inhibit-code-conversion. + +2001-05-24 William M. Perry <wmperry@gnu.org> + + * lisp/url.el (url-retrieve-synchronously): Avoid accept-process-output + in url-retrieve-synchronously. + +2001-05-23 William M. Perry <wmperry@gnu.org> + + * lisp/url.el (url-retrieve-synchronously): Don't put a timeout on + accept-process-output. This is evidently causing hangs in Emacs + 21 when viewing complex pages with images or stylesheets. + www.yahoo.com is now viewable. + + * lisp/url-gw.el (url-open-stream): Avoid using mule-sysdp + (mule-inhibit-code-conversion) and just have a local function that + does this minimal cruft. + (url-gw-inhibit-code-conversion): New function to turn off code + conversion in a process. + +2001-05-22 William M. Perry <wmperry@gnu.org> + + * lisp/url.el (url-retrieve-synchronously): Use lexical-let so + that we can allow multiple asynch retrievals to happen at once. + (url-retrieve-synchronously): Use a much smaller timeout when + doing the accept-process-output. This gets rid of the long delays + if you are on a fast net connection and retrieve small documents + that finish asynchronously before the first accept-process-output + can be run. All hail broadband and 100Mb in the house! + (url-retrieve-synchronously): Add documentation for this function. + (url-retrieve): Ditto. + (url-mm-url): Ditto. + + * lisp/url-vars.el: Replaced `HTTP/1.0' with just `HTTP' in some + documentation strings. Ok, so I'm anal. + + * lisp/url-methods.el (url-scheme-methods): Add default methods + for file-directory-p and file-truename. + +2001-05-22 Dave Love <fx@gnu.org> + + * lisp/url-auth.el (url-warn): Autoload. + + * lisp/url-proxy.el (url-warn): Autoload. + + * lisp/url-nfs.el: Fix `file-truname' typo. + + * lisp/url-news.el: Require cl when compiling. + (url-warn, gnus-group-read-ephemeral-group): Autoload. + (url-nntp-default-port, url-news-default-port, url-nntp): Delete. + (url-news-fetch-newsgroup): Declare gnus-group-buffer special. + + * lisp/url-util.el (mule-decode-string): Don't autoload. + (url-hexify-string): Just barf on multibyte characters. + (url-generate-unique-filename): New function. + + * lisp/url-file.el (url-file): Use url-generate-unique-filename, + not mm-generate-unique-filename. + + * lisp/url-http.el: Declare things special in various places. + (url-http-activate-callback): Don't set + url-http-real-after-change-function. + +2001-05-22 William M. Perry <wmperry@gnu.org> + + * lisp/url-http.el (url-http-attempt-keepalives): New variable to + control whether we try to do keep-alives for our connections. + (url-http-version): New variable to control whether we advertise + ourselves as an HTTP/1.1 client or not. This can be useful for + avoiding chunked encoding, and other 1.1 features we may not have + fully implemented yet. + (url-http-create-request): Honor the new variables. + +2001-05-21 Dave Love <fx@gnu.org> + + * lisp/url-vars.el (mm-mime-mule-charset-alist): Don't readjust it + in XEmacs. + (url-mime-charset-string): Don't reverse the list before sorting. + +2001-05-17 William M. Perry <wmperry@gnu.org> + + * lisp/url-http.el (url-http-generic-filter): Avoid using + after-change-functions natively. There are just too many ways + that this screws up in Emacs 21. Use a filter function on the + process instead, and call the hook on + url-http-after-change-function manually. [Actually, it will work + in Emacs 21, but one problem that has been fixed in Emacs 21 + exists in Emacs 20. -- fx] + + * lisp/url-vars.el (url-mime-charset-string): sort-coding-systems + does not exist on older versions of Emacs, or any version of + XEmacs. Do not call it unless it is bound. + +2001-05-17 Dave Love <fx@gnu.org> + + * lisp/url-http.el (url-http-create-request): Fix non-GET requests. + +2001-05-16 Dave Love <fx@gnu.org> + + * lisp/url-vars.el: Doc fixes. Require mm-util. + (url-mime-charset-string): New variable. + + * lisp/url-http.el: Doc fixes. + (url-http-create-request): Rearrange how we assemble the request. + Avoid generating bogus requests with an empty real-fname. + (url-http-handle-authentication): Declare status and success special. + (url-http): Call mm-disable-multibyte. Set process buffer's + coding systems to binary. + + * lisp/url-misc.el (url-data): Call mm-disable-multibyte. + + * lisp/url-file.el: Don't require mule-sysdp. Fix `file-truname' typo. + (url-file-find-possibly-compressed-file): Doc fix. + (url-file): Bind coding-system-for-read. Call mm-disable-multibyte. + + * lisp/url-cache.el: Don't require mule-sysdp. + (url-store-in-cache): Avoid mule-write-region-no-coding-system. + + * lisp/url.el: Don't require mule-sysdp. + (url-retrieve): Only set text properties if url is a string. + +2001-05-14 Dave Love <fx@gnu.org> + + * lisp/url-http.el (url-http-create-request): + Declare proxy-object, proxy-info special. + (url-http-handle-authentication): Declare success special. + +2001-05-12 Dave Love <fx@gnu.org> + + * lisp/url-http.el: Revert last change. + +2001-05-10 Dave Love <fx@gnu.org> + + * lisp/url-http.el (url-http-generic-after-change-function): + Make it permanent-local. + +2001-05-05 Dave Love <fx@gnu.org> + + * lisp/url-http.el: Autoload some functions. + (cl): Require when compiling. + (url-http-extra-headers): Defvar when compiling. + (url-http): Treat after-change-functions as a local hook. + + * lisp/url-history.el (url-parse): Require. + (url-do-setup): Autoload. + + * lisp/url-gw.el: Require url-vars. Autoload some functions. + + * lisp/url-file.el: Require mailcap. Require cl when compiling. + Use (featurep 'xemacs). + (url-file-build-filename): Bind pos-index. + (url-file): Call url-find-file-dired, not url-dired-find-file. + + * lisp/url-dired.el: Add copyright notice. Autoload some functions. + (url-dired-minor-mode-map): Use (featurep 'xemacs). + (url-dired-find-file-mouse): Use mouse-set-point, not event-point. + (url-find-file-dired): Rename from one version of url-dired-find-file. + + * lisp/url-cid.el: Don't require widget. Require mm-decode + unconditionally. + + * lisp/url-util.el: Autoload mule-decode-string, + timezone-parse-date, timezone-make-date-arpa-standard. + (url-unreserved-chars): Fix list per RFC 2396. + (url-hexify-string): Maybe string-make-unibyte. + + * lisp/url-news.el: Require nntp. + + * lisp/url-imap.el: Require cl when compiling. Require nnimap + unconditionally. + +2001-05-04 Dave Love <fx@gnu.org> + + * lisp/url-handlers.el (url-file-local-copy): Use make-temp-file, + not non-existent mailcap-generate-unique-filename. + + * lisp/url-privacy.el: Require url-vars. Require cl when compiling. + + * lisp/url-parse.el: Require url-vars. + Autoload url-scheme-get-property. + + * lisp/url-nfs.el: Require cl when compiling. Test for XEmacs + with featurep. + + * lisp/url-mailto.el: Require cl when compiling. + + * lisp/url-cookie.el (url-cookie-handle-set-cookie): + Call url-parse-args, not url-util-parse-args. + + * lisp/url-cache.el (url-cache-expired): Remove bogus `return'. + +2001-04-09 Dave Love <fx@gnu.org> + + * lisp/mule-sysdp.el (mule-detect-coding-version) + (mule-code-convert-region, mule-inhibit-code-conversion) + (mule-write-region-no-coding-system, mule-encode-string) + (mule-decode-string, mule-truncate-string) + (mule-find-charset-region, mule-coding-system-name) + (mule-find-coding-system, mule-make-iso-character): Grok Mule 5.0. + [There must be a better way.] + (mule-coding-system-p, string-width): Use defalias. + +2001-01-03 Sam Steingold <sds@gnu.org> + + * lisp/url-http.el (url-http-wait-for-headers-change-function): + set `url-http-end-of-headers' to 0 for HTTP 0.9 + +2001-01-02 Sam Steingold <sds@gnu.org> + + * lisp/url-auth.el (provide): `url-auth', not `urlauth' + +2000-12-22 Dave Love <fx@gnu.org> + + * lisp/url-history.el (url): Don't require (to avoid recursion). + (cl): Require when compiling. + + * lisp/url-http.el (url-auth): Require. + (url-http-handle-authentication): Fix typo. + + * lisp/url-cookie.el (url-cookie-setup-save-timer): Fix typo. + +2000-12-20 Dave Love <fx@gnu.org> + + * lisp/url.el: Require mm-decode, mm-view when compiling. + <not (fboundp 'puthash)>: Define puthash and + autoload other has functions rather than using cl-...hash. + (url-warn): Define. + + * lisp/url-ns.el, lisp/url-methods.el, lisp/url-http.el: + Avoid cl-...hash functions. + + * lisp/url-history.el: Avoid cl-...hash functions. + (url): Require. + + * lisp/url-gw.el, lisp/url-cookie.el: Require cl only when compiling. + +2000-10-03 William M. Perry <wmperry@aventail.com> + + * lisp/url-util.el (url-get-url-at-point): Guard against 'url' + getting set to nil due to bad string matching. Subsequent matches + would then choke because we passed string-match a nil. + + * lisp/url-http.el (url-http-parse-headers): Need to make the + connection as 'free' when we get a 304 response (found in cache), + or when a keep-alive conneection timed out, it would re-parse the + headers and dispatch to the callback again. Eek. + +2000-10-02 William M. Perry <wmperry@aventail.com> + + * lisp/url-http.el (url-http-chunked-encoding-after-change-function): + implement chunked transfer-coding. + (url-http-create-request): We can now advertise ourselves as a 1.1 + compliant browser! + +2000-07-28 Sam Steingold <sds@gnu.org> + + * lisp/url-methods.el (url-scheme-default-loader): `callback' and + `cbargs' are optional args (for calling from w3). + (url-scheme-register-proxy): Typos fixes: `url-match' replaced + with `string-match' and `protocol' with `scheme'. + +2000-07-18 Sam Steingold <sds@gnu.org> + + * lisp/url-handlers.el (require 'url): For url-retrieve-synchronously. + * lisp/url-history.el (url-history-save-interval): Avoid circularity. + +2000-07-10 William M. Perry <wmperry@aventail.com> + + * lisp/mule-sysdp.el (mule-make-iso-character): If we are not in + mule, and the character requested is > 255, then return "~" + instead of letting whoever call us signal an error when they try + to insert the character. + (mule-make-iso-character): Also wrap the whole thing in a + condition case and return "~" on error, in case make-char bombs on us. + + * lisp/url-cid.el (url-cid): Fix stupid mistake in the loader + for cid parts. + + * lisp/url-util.el (url-display-percentage): New routine that uses + the progress bar under XEmacs if available. Looks very sexy under + XEmacs/GTK hacked to use the GNOME statusbar. + + * lisp/url-http.el + (url-http-content-length-after-change-function): Use new function + url-display-percentage instead of url-lazy-message. + +2000-01-27 William M. Perry <wmperry@aventail.com> + + * lisp/url-file.el (url-file-build-filename): Work around for + differences in ange-ftp / efs handling of port numbers other than 21. + +1999-12-24 William M. Perry <wmperry@aventail.com> + + * lisp/url-irc.el: Added pointer to draft specification for the + IRC URL so people don't think I'm crazy. + + * configure.in: Checks to make sure that Gnus was found, since we + HAVE to have it now. Removed conditional compilation of url-cid.el + +1999-12-16 Eric Marsden <emarsden@mail.dotcom.fr> + + * lisp/url-util.el (url-get-url-at-point): Allow URLs wrapped in + () to have periods at the end of the chunk. + +1999-12-14 William M. Perry <wmperry@aventail.com> + + * lisp/url-misc.el (url-man): Implement `man' URL types. + (url-info): Autoload. + (url-man): Ditto. + (url-rlogin): Ditto. + (url-telnet): Ditto. + (url-tn3270): Ditto. + (url-generic-emulator-loader): Ditto. + + * lisp/url-https.el (url-https-create-secure-wrapper): New macro + to wrap arbitrary `http' methods with the appropriate magic to + turn SSL on. + (file-exists-p): Use it. + (file-readable-p): Use it. + (file-attributes): Use it. + + * lisp/url-news.el (url-news-fetch-newsgroup): When building the + server spec for Gnus, make sure we set + nntp-open-connection-function directly, so that other news-related + functions above us can set it. + (url-snews): Implement `snews' URLs using `nntp-open-ssl-stream'. + (url-nntp): Autoload. + (url-snews): Ditto. + (url-news): Ditto. + +1999-12-12 William M. Perry <wmperry@aventail.com> + + * lisp/url-http.el (url-http-parse-response): New function to + parse just the HTTP response code out of the buffer, without + taking any other actions. + (url-http-wait-for-headers-change-function): Use it here when we + know we have an HTTP/1.x response. + (url-http-wait-for-headers-change-function): Special case a + response code of '304' or there could be some delays waiting for + keep-alives to time out on cached documents with no known + content-length on the server. + +1999-12-11 William M. Perry <wmperry@aventail.com> + + * aclocal.m4 (AC_CHECK_CUSTOMLOADS): Don't use $(EMACS) in here - + the Makefile does that for us. We just need to provide what files + to load/functions to run. + + * lisp/url-imap.el (url-imap-open-host): Need to bind + nnimap-server-buffer or `nnimap-open-server' chokes trying to use + the current buffer as the IMAP server buffer, which fails miserably. + +1999-12-11 Simon Josefsson <jas@pdc.kth.se> + + * lisp/url-imap.el: Initial (rough) implementation for IMAP urls. + +1999-12-11 William M. Perry <wmperry@aventail.com> + + * lisp/url-file.el (url-file-asynch-callback): Make the checks for + ange-ftp vs. efs calling semantics consistent, so that if someone + has NEITHER of them loaded, everything should still work. + + * lisp/url-handlers.el (url-copy-file): Autoload. + (url-file-local-copy): Ditto. + (url-insert-file-contents): Ditto. + (url-setup-file-name-handlers): Ditto. + +1999-12-10 William M. Perry <wmperry@aventail.com> + + * lisp/url-http.el (mail-parse): Since we use functions from here, + we should require it, eh? + +1999-12-10 01:57:01 Shenghuo ZHU <zsh@cs.rochester.edu> + + * lisp/url-cookie.el (url-cookie-multiple-line): One line cookie + if nil. + (url-cookie-generate-header-lines): Use it. + +1999-12-06 William M. Perry <wmperry@aventail.com> + + * lisp/mule-sysdp.el (mule-code-convert-region): Deal with Mule + 4.1 gracefully + + * lisp/url-news.el: Reimplemented news and nntp URL support. + No longer bothers to check for outdated Gnus versions, since this + will not work without them anyway. + +1999-12-05 Dave Love <fx@gnu.org> + + * lisp/url-methods.el, lisp/url-proxy.el, lisp/url-util.el, + lisp/url.el: + Require url-parse. + +1999-12-05 William M. Perry <wmperry@aventail.com> + + * lisp/url-http.el (url-http-find-free-connection): Spit out a + message when we have to contact a host so the user always gets + at least some feedback. + + * lisp/url-expand.el (url-expander-remove-relative-links): Moved and + renamed function. + (url-default-expander): Use it. + + * lisp/url-file.el (url-file-asynch-callback): Deal with just efs-auto + as well as efs. + (url-file): Add default content-type of application/octet-stream if + none known. + (url-file): Correct bad call to url-host-is-local-p + + * lisp/url-handlers.el (url-insert-file-contents): Emacs doesn't + like buffer-substring with nil arguments. + (url-copy-file): Use mm-destroy-parts instead of just killing + the buffer. Use defined interfaces when available! + (url-insert-file-contents): Ditto. + + * lisp/url-http.el (url-http-create-request): Lots of changes to + get proxying working. + + * lisp/url-methods.el (url-scheme-register-proxy): New function to + find and register a proxy for a specific scheme. + (url-scheme-get-property): Use it when we load a URL scheme for + the first time. + + * lisp/url-util.el (url-get-url-at-point): Re-integrated + +1999-12-04 William M. Perry <wmperry@aventail.com> + + * lisp/url-file.el (url-file): Signal an error if + url-file-build-filename could not find the filename. + +1999-12-01 William M. Perry <wmperry@aventail.com> + + * lisp/url.el (url-retrieve): Use url-history-update-url instead + of manipulating the hash table directly. + + * lisp/url-history.el (url-completion-function): New function to + use for reading a URL with completion. + (url-history-update-url): New function to hide the hashtable + implementation from people inserting things into the history. + +1999-11-30 William M. Perry <wmperry@aventail.com> + + * lisp/url-proxy.el (url-proxy): Minor tweaks to get proxy support + working. + + * lisp/url-parse.el (url-generic-parse-url): Fix bad call to + url-parse-args, which had changed the type of arguments it expects. + + * lisp/url-handlers.el (url-insert-file-contents): Ditto. + (url-copy-file): Ditto. + + * lisp/url.el (url-mm-callback): Use mm-destroy-parts instead of + just killing the buffer. Use defined interfaces when available! + + * aclocal.m4 (AC_EMACS_LISP): Correctly redirect things out to + AC_FD_CC so they show up in config.log + (AC_EMACS_CHECK_LIB): Duh, fixed stupid mistake that would make + this always return 't' instead of 'yes' on successfully finding + the library. + + * lisp/url-http.el (url-http-parse-headers): Add some + DAV-specific error codes. + + * lisp/url.el (url-retrieve): Allow pre-parsed URLs to be passed in. + (url-retrieve-synchronously): Duh, make this function actually + work again. Numerous problems with it, including variable name + collisions - I love dynamically scoped lisps! + + * lisp/url-nfs.el (url-nfs-create-wrapper): New function to create + wrappers onto the appropriate file-based URLs for file-name-handlers. + + * lisp/url-ftp.el: Moved the FTP stuff into it's own file - it + might get messy with file-name-handlers and things. + + * lisp/url-http.el (url-http-clean-headers): Fix problem when + using 'HEAD' requests. Thou shalt not change the length of the + region during an after-change-function. + + * lisp/url-methods.el (url-scheme-methods): New variable that + holds a list of the methods/variables we look for in a URL scheme. + (url-scheme-get-property): Use it. + +1999-11-29 William M. Perry <wmperry@aventail.com> + + * lisp/url-http.el (url-http-file-attributes): Reimplement. + (url-http-file-exists-p): Ditto. + + * lisp/url-nfs.el: Reimplemented the `nfs' URL scheme. + + * lisp/url-file.el (url-file-create-wrapper): New macro to create + file-name-handler stubs for all the FTP/FILE stuff. + + * lisp/url-handlers.el: New file to handle file-name-handler-alist + cruft. Generic interface on top of functions that each URL + loader provides, if capable. + +1999-11-27 William M. Perry <wmperry@aventail.com> + + * lisp/url-https.el: Implemented HTTPS support. + +1999-11-26 William M. Perry <wmperry@aventail.com> + + * url-privacy.el (url-setup-privacy-info): Don't rely on + device-type being defined. Not going to bother redistributing + devices.el for just one function. + + * url-methods.el (url-scheme-get-property): Emacs does not have + the 3rd-argument to plist-get to specify the default. *sigh* + + * url-dired.el (add-minor-mode): Add definition for Emacs. + + * url-http.el (url-http-generic-after-change-function): + New function, since Emacs does not allow you to change the + after-change-functions variable from within a function run by + said hook. This just hands it off to the REAL function. + Side-effect is that this now works on Emacs at all. :) + + * Initial checkin of rewritten URL library. + +Local variables: +coding: utf-8 +End: + +;; 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." (defcustom vc-arch-mode-line-rewrite '(("\\`.*--\\(.*--.*\\)--\\(v?\\).*-\\([0-9]+\\)\\'" . "\\2\\3[\\1]")) "Rewrite rules to shorten Arch's revision names on the mode-line." - :type '(repeat (cons regexp string))) + :type '(repeat (cons regexp string)) + :group 'vc) (defun vc-arch-mode-line-string (file) "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." (defun vc-rcs-checkout-model (file) "RCS-specific version of `vc-checkout-model'." - (vc-rcs-consult-headers file) - (or (vc-file-getprop file 'vc-checkout-model) - (progn (vc-rcs-fetch-master-state file) - (vc-file-getprop file 'vc-checkout-model)))) + (let (result) + (when vc-consult-headers + (vc-file-setprop file 'vc-checkout-model nil) + (vc-rcs-consult-headers file) + (setq result (vc-file-getprop file 'vc-checkout-model))) + (or result + (progn (vc-rcs-fetch-master-state file) + (vc-file-getprop file 'vc-checkout-model))))) (defun vc-rcs-workfile-unchanged-p (file) "RCS-specific implementation of vc-workfile-unchanged-p." |