# HG changeset patch # User Stefan Monnier # Date 1088684968 0 # Node ID 1d6828002ca907603a3fac79b28e3a6aae71b301 # Parent 2c4f93ea1faf56c82dd08c99fde7ba613b3c1553 *** empty log message *** diff -r 2c4f93ea1faf -r 1d6828002ca9 lisp/url/ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/url/ChangeLog Thu Jul 01 12:29:28 2004 +0000 @@ -0,0 +1,1154 @@ +2004-04-16 Stefan Monnier + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + * url-methods.el: + * url-parse.el: Don't require url-auto. + +2004-04-03 Stefan Monnier + + * 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 + + * lisp/url.el (url-retrieve-synchronously): Revert last change. + Should be revisited. + +2003-06-26 Sam Steingold + + * lisp/url-handlers.el (url-handlers-create-wrapper): Do not call + method on invalid urls. + +2003-05-29 Dave Love + + * lisp/url.el (url-retrieve-synchronously): Use sleep-for, not + sit-for. From monnier@gnu.org. + +2002-11-04 Walter C. Pelissero + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * lisp/Makefile.in (SOURCES): Remove mule-sysdp.el from the build + rules. + +2001-12-12 William M. Perry + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * lisp/url-util.el (url-hexify-string): Fixed bad use of + mapconcat. + +2001-11-24 William M. Perry + + * 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 + + * 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 + + * 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 + + * 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 + + * lisp/url-mailto.el (url-mailto): Don't send auto-generated mail + without confirmation. + +2001-10-02 Dave Love + + * 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 + + * 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 + + * lisp/url-http.el (url-http-create-request): Don't concat a + number. + +2001-06-05 Dave Love + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * lisp/url-http.el (url-http-create-request): Fix non-GET requests. + +2001-05-16 Dave Love + + * 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 + + * 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 + + * lisp/url-http.el: Revert last change. + +2001-05-10 Dave Love + + * lisp/url-http.el (url-http-generic-after-change-function): Make + it permanent-local. + +2001-05-05 Dave Love + + * 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 + + * 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 + + * 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 + + * 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 + + * lisp/url-auth.el (provide): `url-auth', not `urlauth' + +2000-12-22 Dave Love + + * 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 + + * lisp/url.el: Require mm-decode, mm-view when compiling. + : 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * lisp/url-imap.el: Initial (rough) implementation for IMAP urls. + +1999-12-11 William M. Perry + + * 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 + + * 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 + + * 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 + + * 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 + + * lisp/url-methods.el, lisp/url-proxy.el, lisp/url-util.el, + lisp/url.el: + Require url-parse. + +1999-12-05 William M. Perry + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * lisp/url-https.el: Implemented HTTPS support. + +1999-11-26 William M. Perry + + * 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: