--- /dev/null
+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): Deleted.
+ (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-*): Renamed 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): Changed 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): Added 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): Renamed 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): Fixed bad call
+ to string-match instead of match-string (and with reversed
+ arguments even).
+
+ * lisp/url-http.el (url-http-debug): Changed 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): Removed 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): Fixed 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): Fixed 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): Added 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): Moved 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): Tweaked 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): Fixed feature test for xemacs and
+ coding-system-list behaviour.
+
+ * lisp/url-http.el
+ (url-http-chunked-encoding-after-change-function): Added 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): Fixed a few
+ off-by-one errors by using (match-end 0) instead of 1.
+ (url-http-chunked-encoding-after-change-function): Added 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-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): Added 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): Deleted.
+ (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): Renamed 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):
+ implemented 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): Fixed 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): Implemented `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): Corrected 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): Added 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): Reimplemented.
+ (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): Added 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: