* url-cookie.el (url-cookie-retrieve): Handle null localpart.
[bpt/emacs.git] / lisp / url / ChangeLog
1 2009-01-14 Chong Yidong <cyd@stupidchicken.com>
2
3 * url-cookie.el (url-cookie-retrieve): Handle null localpart.
4
5 2009-01-13 Juanma Barranquero <lekktu@gmail.com>
6
7 * url-util.el (url-truncate-url-for-viewing): Doc fix.
8
9 2009-01-09 Glenn Morris <rgm@gnu.org>
10
11 * url-cid.el (url-cid-gnus): Fix typo in header name.
12
13 2008-11-04 Chong Yidong <cyd@stupidchicken.com>
14
15 * url-util.el (url-basepath): Add url-basepath as an alias for
16 url-file-directory.
17
18 2008-10-24 Juanma Barranquero <lekktu@gmail.com>
19
20 * url.el (url-configuration-directory): Use `locate-user-emacs-file'.
21
22 2008-10-20 İsmail Dönmez <ismail@namtrac.org> (tiny change)
23
24 * url-auth.el (url-basic-auth): Encode password string.
25
26 2008-08-30 Glenn Morris <rgm@gnu.org>
27
28 * url-http.el (url-https-expand-file-name): Resolve directly to
29 url-default-expander rather than via another alias.
30 (url-default-expander): Autoload an autoload. (Bug#825).
31
32 2008-07-02 Juanma Barranquero <lekktu@gmail.com>
33
34 * url.el (url-do-setup):
35 * url-dired.el (url-dired-minor-mode):
36 * url-file.el (url-file-find-possibly-compressed-file):
37 * url-gw.el (url-gateway-broken-resolution):
38 * url-handlers.el (url-handler-regexp):
39 * url-imap.el (url-imap-default-port):
40 * url-methods.el (url-scheme-get-property): Fix typos in docstrings.
41
42 * url-auth.el (url-basic-auth-storage, url-digest-auth):
43 Fix typos in docstrings.
44 (url-digest-auth-storage, url-register-auth-scheme): Reflow docstrings.
45
46 * url-cache.el (url-cache-prepare): Doc fix.
47 (url-cache-create-filename-human-readable, url-cache-extract):
48 Fix typos in docstrings.
49
50 * url-dav.el (url-intersection, url-dav-iso8601-regexp)
51 (url-dav-delete-something): Fix typos in docstrings.
52 (url-dav-http-success-p, url-dav-file-name-all-completions)
53 (url-dav-directory-files, url-dav-file-name-completion): Doc fixes.
54
55 * url-http.el (url-http-idle-sentinel): Doc fix.
56
57 * url-irc.el (url-irc-default-port): Fix typo in docstring.
58 (url-irc-function): Doc fix.
59
60 * url-util.el (url-get-url-filename-chars, url-unhex-string):
61 Fix typos in docstrings.
62 (url-file-extension): Doc fix.
63
64 * url-vars.el (url-current-object, url-current-mime-headers)
65 (url-privacy-level, url-mail-command, url-mime-language-string):
66 Fix typos in docstrings.
67 (url-honor-refresh-requests): Reflow docstring.
68 (url-using-proxy): Doc fix.
69
70 2008-06-22 Dan Nicolaescu <dann@ics.uci.edu>
71
72 * vc-dav.el: Move to the parent directory to be together with the
73 rest of the VC backends.
74
75 2008-06-07 Glenn Morris <rgm@gnu.org>
76
77 * url-auth.el (auth-source-user-or-password): Remove unnecessary
78 eval-and-compile.
79
80 2008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
81
82 * url-handlers.el (url-file-name-completion): Add missing argument.
83
84 2008-05-12 Teodor Zlatanov <tzz@lifelogs.com>
85
86 * url-auth.el: Add autoload cookie for `auth-source-user-or-password'.
87 (url-basic-auth, url-digest-auth): Use it with any realm,
88 overriding the user name and password before the prompt.
89
90 2008-04-28 Juanma Barranquero <lekktu@gmail.com>
91
92 * url-vars.el (url-load-hook): Fix typo in docstring.
93
94 2008-03-09 Magnus Henoch <mange@freemail.hu>
95
96 * url-http.el (url-http-chunked-encoding-after-change-function):
97 Remove superfluous CRLF at end of file. (bug #42)
98
99 2008-03-02 Andreas Schwab <schwab@suse.de>
100
101 * url-util.el: Require cl when compiling.
102
103 2008-02-28 Teodor Zlatanov <tzz@lifelogs.com>
104
105 * url-util.el (url-get-normalized-date): Simplify to use
106 `format-time-string'. Always generate date in UTC, but
107 call it GMT for full compatibility with the RFCs.
108
109 2008-02-06 Michael Albinus <michael.albinus@gmx.de>
110
111 * url-handlers.el (file-remote-p): Add handler.
112 (url-handler-file-remote-p): New fun.
113
114 2008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
115
116 * url-handlers.el (url-handler-unhandled-file-name-directory):
117 Handle `file' URLs specially. Return nil for non-local filenames.
118
119 2008-02-04 Magnus Henoch <mange@freemail.hu>
120
121 * url-expand.el: Require cl when compiling, for setf.
122
123 2008-01-29 John Wiegley <johnw@newartisans.com>
124
125 * url-auth.el (url-digest-auth): If the 'opaque' argument is not
126 being used, don't add it to the response text. Also, changed an
127 if so that the interaction between the PROMPT and OVERWRITE
128 arguments can no longer result in the user being queried twice for
129 the same login and password information.
130
131 2008-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
132
133 * url-handlers.el (unhandled-file-name-directory): Add handler.
134 (url-handler-unhandled-file-name-directory): New fun.
135
136 2008-01-07 Michael Albinus <michael.albinus@gmx.de>
137
138 * url-handlers.el (url-file-handler): Autoload.
139
140 2007-12-11 Glenn Morris <rgm@gnu.org>
141
142 * url.el (url-configuration-directory): Make it a defcustom.
143
144 * url-util.el (url-make-private-file): New function.
145 * url-cookie.el (url-cookie-write-file):
146 * url-history.el (url-history-save-history):
147 Use url-make-private-file and with-temp-buffer.
148
149 2007-12-06 Glenn Morris <rgm@gnu.org>
150
151 * url-file.el, url-mailto.el: Remove directory part from filenames
152 in function declarations.
153
154 2007-12-02 Glenn Morris <rgm@gnu.org>
155
156 * url-about.el, url-handlers.el: Don't require cl when compiling.
157
158 * url-dav.el (url-dav-delete-directory): Fix message typo.
159
160 * url-history.el (top-level): Don't require cl when compiling.
161 (url-history-setup-save-timer, url-history-save-history):
162 Use condition-case rather than ignore-errors.
163
164 * url-imap.el (top-level): Don't require cl when compiling.
165 (url-imap): Use signal rather than check-type.
166
167 * url-news.el (top-level): Don't require cl when compiling.
168 (gnus-group-buffer): Define for compiler.
169 (url-news-fetch-message-id): Don't use `declare'.
170 (nntp-open-tls-stream, nntp-open-ssl-stream):
171 No need to define for compiler.
172 (url-snews): Use nntp-open-tls-stream unless ssl is requested.
173 Correct quoting of nntp-open-connection-function value.
174
175 2007-12-01 Glenn Morris <rgm@gnu.org>
176
177 * url-handlers.el (top-level): Always require url-parse, not just
178 when compiling.
179
180 2007-11-30 Glenn Morris <rgm@gnu.org>
181
182 * url-cookie.el (url-cookie-p): Declare as a function.
183
184 2007-11-29 Glenn Morris <rgm@gnu.org>
185
186 * url-file.el (url-file-build-filename, url-file): Wrap uses of
187 efs in (featurep 'xemacs) test.
188
189 * url-irc.el (zenirc, zenirc-send-line): Declare as functions.
190
191 2007-11-28 Diane Murray <disumu@x3y2z1.net>
192
193 * url-dired.el: Don't require w3-fetch and w3-open-local.
194 (url-dired-find-file): Use `find-file'. Doc fix.
195 (url-dired-find-file-mouse, url-dired-minor-mode): Doc fix.
196
197 2007-11-24 Glenn Morris <rgm@gnu.org>
198
199 * url-privacy.el (url-device-type): Fix typo.
200
201 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
202
203 * url-mailto.el (mail-send-and-exit):
204 * url-http.el (url-dav-file-attributes):
205 * url-file.el (ange-ftp-set-passwd, ange-ftp-copy-file-internal)
206 (url-generate-unique-filename): Declare as functions.
207
208 * url-privacy.el (url-device-type): Define unconditionally.
209
210 2007-11-15 Richard Stallman <rms@gnu.org>
211
212 * url.el (url-retrieve-synchronously): Call delete-process.
213
214 2007-10-31 Juanma Barranquero <lekktu@gmail.com>
215
216 * url-vars.el (url-vars-unload-hook): Remove function and variable.
217 Hooks are automatically removed by `unload-feature'.
218
219 2007-10-13 Richard Stallman <rms@gnu.org>
220
221 * url-util.el (url-basepath): Function deleted.
222 (url-file-directory, url-file-nondirectory): New functions
223 replacing url-basepath. Callers changed.
224
225 * url-expand.el (url-default-expander): Use `url-file-directory'.
226
227 * url-auth.el (url-digest-auth, url-basic-auth):
228 Rename `path' to `file'. Use `url-file-directory'.
229
230 2007-10-12 Diane Murray <disumu@x3y2z1.net>
231
232 * url-auth.el (url-basic-auth): Set path to "/" when URL has an
233 empty string filename.
234
235 2007-10-09 Richard Stallman <rms@gnu.org>
236
237 * url-parse.el (url-type, url-user, url-password, url-host)
238 (url-port, url-filename, url-target, url-attributes)
239 (url-fullness, url-set-type, url-set-user, url-set-password)
240 (url-set-host, url-set-port, url-set-filename, url-set-target)
241 (url-set-attributes, url-set-full): Change macros to defuns.
242
243 2007-09-26 Juanma Barranquero <lekktu@gmail.com>
244
245 * url-dav.el (top):
246 * url-vars.el (top): Use `mapc' rather than `mapcar'.
247
248 2007-09-22 Diane Murray <disumu@x3y2z1.net>
249
250 * url-misc.el (url-generic-emulator-loader): Send the port as a
251 string to `url-do-terminal-emulator'.
252
253 2007-09-21 Diane Murray <disumu@x3y2z1.net>
254
255 * url-news.el (url-news-fetch-newsgroup): Fix formatting of Gnus method.
256
257 * url-util.el (url-get-normalized-date): Pass full timezone
258 information to timezone-make-date-arpa-standard, since zone name
259 may be unknown.
260
261 2007-09-03 Diane Murray <disumu@x3y2z1.net>
262
263 * url-http.el (url-http-parse-headers): Bind the current buffer
264 rather than calling `url-mark-buffer-as-dead' with
265 `current-buffer', so that the correct buffer is killed if
266 `url-retrieve-synchronously' gets redirected to a new URL.
267
268 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
269
270 * url-parse.el (url): Use defstruct rather than macros.
271 (url-generic-parse-url):
272 * url-util.el (url-normalize-url, url-truncate-url-for-viewing):
273 * url-methods.el (url-scheme-register-proxy):
274 * url-mailto.el (url-mailto):
275 * url-file.el (url-file-build-filename):
276 * url-expand.el (url-identity-expander, url-default-expander):
277 Update all callers.
278
279 2007-08-09 Edward O'Connor <hober0@gmail.com> (tiny change)
280
281 * url-auth.el (url-basic-auth): When prompting for username
282 and password, default to the username and password in the URL.
283
284 2007-08-08 Glenn Morris <rgm@gnu.org>
285
286 * url-auth.el, url-cache.el, url-dav.el, url-file.el, vc-dav.el:
287 Replace `iff' in doc-strings and comments.
288
289 2007-07-25 Glenn Morris <rgm@gnu.org>
290
291 * Relicense all FSF files to GPLv3 or later.
292
293 2007-06-12 Tom Tromey <tromey@redhat.com>
294
295 * url.el (url-configuration-directory): Use user-emacs-directory.
296
297 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
298
299 * url-cookie.el (url-cookie-name, url-cookie-value)
300 (url-cookie-expires, url-cookie-localpart, url-cookie-domain)
301 (url-cookie-secure, url-cookie-set-name, url-cookie-set-value)
302 (url-cookie-set-expires, url-cookie-set-localpart)
303 (url-cookie-set-domain, url-cookie-set-secure)
304 (url-cookie-retrieve-arg, url-cookie-create, url-cookie-p): Remove.
305 (url-cookie): New struct.
306 (url-cookie-store): Use setf instead of url-cookie-set-*.
307
308 2007-05-29 Chong Yidong <cyd@stupidchicken.com>
309
310 * url-mailto.el (url-mailto): Insert body after
311 mail-header-separator if present, so that it is before signature.
312 Suggested by Leo <sdl.web@gmail.com>.
313
314 2007-04-15 Chong Yidong <cyd@stupidchicken.com>
315
316 * url-parse.el (url-generic-parse-url): Revert 2006-10-09 changes.
317
318 2007-04-13 Chong Yidong <cyd@stupidchicken.com>
319
320 * url-http.el (url-http-parse-headers): Stop after a set number of
321 redirections. Suggested by Diane Murray.
322
323 * url-vars.el (url-max-redirections): New var.
324
325 2007-04-01 Diane Murray <disumu@x3y2z1.net> (tiny change)
326
327 * url-http.el (url-http-handle-cookies): Reverse list returned by
328 `mail-fetch-field', so that cookies are set in the correct order.
329
330 * url-cookie.el (url-cookie-retrieve, url-cookie-host-can-set-p):
331 Deal with wildcard dots in domain values.
332
333 2007-03-31 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
334
335 * url-http.el (url-http-mark-connection-as-busy)
336 (url-http-mark-connection-as-free): Clear query-on-exit flag on
337 idle connections.
338
339 2007-02-04 Chong Yidong <cyd@stupidchicken.com>
340
341 * url-http.el (url-http-connection-opened): New variable.
342 (url-http): Initialize it.
343 (url-http-async-sentinel): Don't try changing sentinels.
344 Run url-http-end-of-document-sentinel if necessary.
345
346 2007-01-29 Juanma Barranquero <lekktu@gmail.com>
347
348 * url-auth.el (url-get-authentication): Fix typo in docstring.
349
350 2007-01-14 Magnus Henoch <mange@freemail.hu>
351
352 * url-proxy.el (url-proxy-object): Remove.
353 (url-proxy): Don't use `url-proxy-object'. Act according to type of
354 proxy (currently only HTTP supported).
355
356 * url.el (url-retrieve-internal): Don't use `url-proxy-object'.
357
358 * url-http.el (url-http-proxy): New variable.
359 (url-http-create-request): Use it. Don't use `url-proxy-object'.
360 (url-http): Treat `url' argument as resource to download, and
361 dynamic variable `url-using-proxy' as proxy to use. Set
362 `url-current-object' to actual URL, and `url-http-proxy' to proxy
363 used.
364 (url-http-handle-cookies): Assume that `url-current-object' does
365 not point to the proxy used.
366 (url-http-async-sentinel): Adapt error message.
367
368 2006-12-10 Juanma Barranquero <lekktu@gmail.com>
369
370 * url-gw.el (url-gateway-nslookup-program): Doc fix.
371
372 2006-12-08 Magnus Henoch <mange@freemail.hu>
373
374 * url-proxy.el (url-proxy-object): New variable.
375 (url-proxy): Bind it instead of `proxy-object'.
376
377 * url-http.el (url-http-create-request): Remove url argument, use
378 the buffer-local variable `url-http-target-url' instead. Both
379 callers updated. Simplify proxy handling.
380 (url-http): Don't make proxy-object buffer local.
381
382 * url.el (url-retrieve-internal): Bind url-proxy-object to nil.
383
384 2006-11-26 Magnus Henoch <mange@freemail.hu>
385
386 * url-http.el (url-http-wait-for-headers-change-function): Use
387 `when' instead of `if' when possible.
388 (url-http): Define url-http-response-version.
389 (url-http-parse-response): Set it.
390 (url-http-parse-headers): Use it to determine keep-alive behavior.
391
392 2006-11-23 Diane Murray <disumu@x3y2z1.net> (tiny change)
393
394 * url-http.el (url-http-content-length-after-change-function): Use
395 `url-lazy-message'.
396
397 * url-util.el (url-display-percentage): Only show a message if
398 `url-show-status' is non-nil.
399
400 2006-11-15 Magnus Henoch <mange@freemail.hu>
401
402 * url-http.el (url-http): Make proxy-object buffer-local, to
403 handle proxied asynchronous connections correctly.
404
405 * url-parse.el (url-generic-parse-url): Use with-temp-buffer.
406
407 2006-11-15 Shun-ichi GOTO <gotoh@taiyo.co.jp> (tiny change)
408
409 * url-http.el (url-http-wait-for-headers-change-function):
410 Defer detection of HTTP 0.9 until we have at least one line.
411
412 2006-11-10 Shun-ichi GOTO <gotoh@taiyo.co.jp> (tiny change)
413
414 * url-http.el (url-http-mark-connection-as-free)
415 (url-http-find-free-connection): Don't treat process with status
416 `connect' as free.
417 (url-http-async-sentinel): Request correct url.
418
419 2006-11-08 Magnus Henoch <mange@freemail.hu>
420
421 * url-http.el (url-http-handle-authentication): If there are
422 several authentication headers, use the strongest available
423 method.
424
425 * url.el (url-retrieve-synchronously): Allow quitting when
426 inhibit-quit is t.
427
428 2006-11-03 Shun-ichi GOTO <gotoh@taiyo.co.jp> (tiny change)
429
430 * url-http.el (url-http-handle-authentication): If there are
431 several authentication headers, use the first with a supported
432 method.
433
434 2006-11-01 Magnus Henoch <mange@freemail.hu>
435
436 * url-http.el (url-http-create-request): Use buffer-local
437 equivalents of dynamically bound variables.
438
439 2006-10-29 Magnus Henoch <mange@freemail.hu>
440
441 * url-gw.el (url-open-stream): Really use asynchronous
442 connections (accidentally disabled during debugging).
443
444 2006-10-28 Magnus Henoch <mange@freemail.hu>
445
446 * url-http.el (url-http-parse-headers): Fix misplaced paren.
447
448 2006-10-27 Magnus Henoch <mange@freemail.hu>
449
450 * url-http.el (url-http-mark-connection-as-free): Verify that
451 connection is open before saving it.
452 (url-http-handle-authentication): Use url-retrieve-internal
453 instead of url-retrieve.
454 (url-http-parse-headers): Adapt to new callback interface.
455 (url-http): Handle non-blocking connections.
456 (url-http-async-sentinel): Create.
457
458 * url.el (url-retrieve): Update docstring for new callback interface.
459 Remove all code.
460 (url-retrieve-internal): Move code from url-retrieve here.
461
462 * url-gw.el (url-open-stream): Use a non-blocking socket for
463 `native' gateway method, if available.
464
465 2006-10-16 Magnus Henoch <mange@freemail.hu>
466
467 * url-http.el (url-https-create-secure-wrapper):
468 Always use tls gateway method.
469
470 2006-10-12 Magnus Henoch <mange@freemail.hu>
471
472 * url-http.el (url-http-find-free-connection):
473 Handle url-open-stream returning nil.
474
475 2006-10-11 Magnus Henoch <mange@freemail.hu>
476
477 * url-https.el: Remove (clashes with url-http on 8+3 systems).
478
479 * url-http.el: Move contents of url-https.el here. Add autoloads.
480
481 2006-10-09 Magnus Henoch <mange@freemail.hu>
482
483 * url-parse.el (url-generic-parse-url): Handle URLs with empty
484 path component and non-empty query component. Untangle path,
485 query and fragment parsing code. Add references to RFC 3986 in
486 comments.
487 (url-recreate-url-attributes): Start query string with "?", not ";".
488
489 2006-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
490
491 * url-dav.el (url-dav-file-attributes): Simplify.
492
493 * url-http.el (url-http-head-file-attributes): Add device "info".
494
495 2006-09-18 Michael Olson <mwolson@gnu.org>
496
497 * url-methods.el (url-scheme-register-proxy): Handle case where
498 getenv returns an empty string for http_proxy. This prevents an
499 error when calling `format' later on.
500
501 2006-08-31 Diane Murray <disumu@x3y2z1.net> (tiny change)
502
503 * url-parse.el (url-recreate-url-attributes): New function, code
504 simply moved from `url-recreate-url'.
505 (url-recreate-url): Use it.
506 Put the `url-target' at the end of the URL after the attributes.
507
508 * url-http.el (url-http-create-request):
509 Use `url-recreate-url-attributes' when setting real-fname.
510
511 2006-08-29 Diane Murray <disumu@x3y2z1.net> (tiny change)
512
513 * url-cookie.el (url-cookie-write-file): Really don't use versioned
514 backups.
515
516 2006-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
517
518 * url-handlers.el (url-file-local-copy): Tell url-copy-file that the
519 dest file will already exist.
520
521 2006-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
522
523 * url-util.el (url-hexify-string): Only utf-8 encode if it's
524 a multibyte string.
525 (url-normalize-url): Remove unused var `grok'.
526 (url-truncate-url-for-viewing): Remove unused var `tail'.
527
528 2006-07-30 Thien-Thi Nguyen <ttn@gnu.org>
529
530 * url-util.el (url-hexify-string): Rewrite.
531 Suggested by David Smith <davidsmith@acm.org>.
532
533 2006-07-12 Michael Olson <mwolson@gnu.org>
534
535 * url-irc.el (url-irc-erc): Call erc-handle-irc-url.
536
537 2006-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
538
539 * url-cookie.el: Remove spurious * in docstrings.
540 (url-cookie-write-file): Don't use versioned backups.
541 (url-cookie-host-can-set-p): Remove unused var `tmp'.
542
543 2006-07-04 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de>
544
545 * url-cookie.el (url-cookie-save-interval): Move to url-cookie group.
546 (url-cookie-write-file): Reset url-cookies-changed-since-last-save.
547
548 2006-05-12 Reiner Steib <Reiner.Steib@gmx.de>
549
550 * url-http.el (url-http-file-exists-p): Test if status is integer.
551
552 2006-05-05 Andreas Seltenreich <seltenreich@gmx.de>
553
554 * url-http.el (url-http-parse-headers): Don't reuse connection if
555 "Connection: close" header was seen.
556
557 2006-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
558
559 * url-gw.el (url-open-stream): Don't hide errors.
560 (url-gateway-nslookup-host, url-open-telnet): Use with-current-buffer.
561
562 * url-handlers.el (url-insert): New function.
563 (url-insert-file-contents): Use it.
564
565 2006-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
566
567 * url-handlers.el (url-handler-directory-file-name): New handler.
568 (url-file-local-copy): Plug race condition security hole.
569
570 2006-03-27 Romain Francoise <romain@orebokech.com>
571
572 * url-irc.el (url-irc-rcirc, url-irc-erc): New functions.
573 (url-irc-function): Add rcirc and ERC to the list of IRC clients.
574 Default to rcirc, since ZenIRC isn't part of Emacs.
575
576 2006-03-07 Stefan Monnier <monnier@iro.umontreal.ca>
577
578 * url-http.el (url-http-find-free-connection): Fix braino in last fix.
579
580 2006-03-05 Stefan Monnier <monnier@iro.umontreal.ca>
581
582 * url-http.el (url-http-find-free-connection): Don't kill the process
583 when killing the temp buffer.
584 (url-http-symbol-value-in-buffer): Massage to make it clear to the
585 byte-compiler that the function is defined.
586
587 2006-02-20 Stefan Monnier <monnier@iro.umontreal.ca>
588
589 * url.el (url-redirect-buffer): New var.
590 (url-retrieve-synchronously): Use it to follow redirections.
591
592 * url-http.el: Require `url' rather than try to autoload parts of it.
593 (url-http-find-free-connection): `url-open-stream' needs a real buffer.
594 (url-http-parse-headers): Set `url-redirect-buffer' when following
595 a redirection reply.
596
597 2006-01-18 Stefan Monnier <monnier@iro.umontreal.ca>
598
599 * url-news.el: Move defvars out of eval-when-compile.
600 (url-news-fetch-message-id, url-news-fetch-newsgroup):
601 Use with-current-buffer.
602
603 2006-01-10 Stefan Monnier <monnier@iro.umontreal.ca>
604
605 * url.el (url-retrieve-synchronously): Adjust the workaround so as not
606 to stop in the middle of a redirection.
607
608 * url-vars.el (url-privacy-level): Add setter.
609
610 2006-01-05 Stefan Monnier <monnier@iro.umontreal.ca>
611
612 * url-history.el (url-history-hash-table): Initialize in declaration.
613 (url-history-parse-history): Don't reset the history.
614 (url-history-save-history): Create parent dir if necessary.
615 (url-history-save-history): Don't write the initialization of
616 url-history-hash-table into the history file.
617 (url-have-visited-url): Simplify since url-history-hash-table isn't nil.
618 (url-completion-function): Simplify.
619
620 * url-cookie.el (url-cookie-parse-file): Don't complain of missing file.
621 (url-cookie-parse-file, url-cookie-write-file, url-cookie-retrieve)
622 (url-cookie-generate-header-lines, url-cookie-handle-set-cookie)
623 (url-cookie-setup-save-timer): Remove autoload cookies.
624 They're only called from files that require url-cookie anyway.
625
626 * url-history.el (url-history-setup-save-timer)
627 (url-history-parse-history, url-history-save-history):
628 Remove autoload cookies. They're only called from url.el which requires
629 url-history anyway.
630 (url-history-parse-history): Don't complain if the file is missing.
631
632 2006-01-02 Stefan Monnier <monnier@iro.umontreal.ca>
633
634 * url-handlers.el (url-retrieve-synchronously): Don't autoload.
635
636 * url.el (url-retrieve, url-retrieve-synchronously): Autoload.
637
638 * url-cache.el: Require `url'.
639
640 2005-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
641
642 * url-cache.el (url-store-in-cache): Use save-current-buffer.
643
644 * url.el (url-configuration-directory): Don't autoload because the
645 default value needs to be computed at run-time, not dump-time.
646
647 2005-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
648
649 * url-cookie.el (url-cookie-write-file): Create parent dir.
650
651 * url.el (url-configuration-directory): Use ~/.emacs.d if possible.
652
653 2005-12-07 Klaus Straubinger <KSNetz@Arcor.DE> (tiny change)
654
655 * url-cookie.el (url-cookie-save-interval): Simplify.
656 (url-cookie-setup-save-timer): Simplify.
657
658 2005-12-04 Klaus Straubinger <KSNetz@Arcor.DE> (tiny change)
659
660 * url-history.el (url-history-list): Var deleted.
661 (url-history-save-interval): Simplify.
662 (url-history-setup-save-timer): Simplify.
663
664 2005-12-01 Kim F. Storm <storm@cua.dk>
665
666 * url-history.el (url-history-track): Fix last change.
667
668 2005-12-01 Klaus Straubinger <KSNetz@Arcor.DE> (tiny change)
669
670 * url-history.el (url-history-track):
671 Call url-history-setup-save-timer in :set function.
672 :type allows three alternatives.
673 (url-history-setup-save-timer): Test url-history-track.
674 * url.el (url-retrieve): Test url-history-track.
675
676 2005-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
677
678 * url-http.el: Use with-current-buffer.
679 (url-http-target-url): Rename from url-http-cookies-sources.
680 (url-http-parse-headers): Use it.
681 (url-http-handle-authentication): Use subst-char-in-string.
682
683 2005-11-16 Juergen Hoetzel <emacs@hoetzel.info> (tiny change)
684
685 * url-handlers.el (url-insert-file-contents): Use the charset info
686 provided by the HTTP server, if any.
687
688 2005-10-20 CHENG Gao <chenggao@gmail.com> (tiny change)
689
690 * url-nfs.el (top level):
691 * url-handlers.el (directory-files):
692 * url-file.el (top level):
693 * url-dired.el (url-dired-minor-mode-map):
694 * url-http.el (url-http-chunked-encoding-after-change-function):
695 Remove XEmacs support.
696
697 2005-10-15 Richard M. Stallman <rms@gnu.org>
698
699 * url.el: Don't try to autoload hash table functions.
700
701 2005-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
702
703 * url-http.el (url-http-create-request): Avoid incorrect implicit
704 unibyte->multibyte conversion.
705
706 2005-09-17 Richard M. Stallman <rms@gnu.org>
707
708 * url-vars.el (url-mail-command): Don't test fboundp of `compose-mail'.
709
710 * url-mailto.el (url-mailto): Special case `mail'.
711 Don't test fboundp of `compose-mail'.
712
713 2005-09-15 Chong Yidong <cyd@stupidchicken.com>
714
715 * url-mailto.el (url-mailto): Delete mail buffer after sending
716 autogenerated mail.
717 Call `compose-mail with `new' argument if possible.
718
719 2005-09-13 Chong Yidong <cyd@stupidchicken.com>
720
721 * url-mailto.el (url-mailto): Always use a new mail buffer.
722
723 2005-09-01 Chong Yidong <cyd@stupidchicken.com>
724
725 * url-util.el (url-parse-query-string): New optional argument
726 allow-newlines allows decoding of newlines.
727
728 * url-mailto.el (url-mailto): Allow newlines in URL arguments.
729 Don't lose original "to" value when there is a "to" header.
730 Remove carriage return characters in message body.
731
732 2005-08-24 Juanma Barranquero <lekktu@gmail.com>
733
734 * url-news.el (nntp-open-tls-stream, nntp-open-ssl-stream):
735 * url-http.el (url-http-cookies-sources): Defvar at compile time.
736
737 2005-07-15 Richard M. Stallman <rms@gnu.org>
738
739 * url-http.el (url-http-parse-headers): Add :redirect arg-pair
740 when calling url-retrieve, to indicate a redirect.
741
742 * url.el (url-retrieve): The callback function can get an additional
743 keyword arg pair.
744
745 2005-07-04 Lute Kamstra <lute@gnu.org>
746
747 Update FSF's address in GPL notices.
748
749 2005-07-04 Juanma Barranquero <lekktu@gmail.com>
750
751 * url-history.el (url-history-track): Doc fix.
752 (url-history): Finish `defgroup' description with period.
753
754 * url-cookie.el (url-cookie):
755 * url-gw.el (url-gateway):
756 * url-news.el (url-news):
757 * url-vars.el (url, url-file, url-cache, url-mime, url-hairy):
758 Finish `defgroup' description with period.
759
760 2005-06-28 Klaus Straubinger <KSNetz@Arcor.DE> (tiny change)
761
762 * url-http.el (url-http-create-request): Call url-recreate-url
763 in proxy case.
764
765 2005-06-27 Klaus Straubinger <KSNetz@Arcor.DE> (tiny change)
766
767 * url-http.el (url-http-create-request): When computing real-fname,
768 call url-filename in both cases.
769
770 2005-06-27 Richard M. Stallman <rms@gnu.org>
771
772 * url-cookie.el (url-cookie-store): Rename arg PATH to LOCALPART.
773 (url-cookie-retrieve): Likewise.
774 (url-cookie-generate-header-lines): Likewise.
775 (url-cookie-handle-set-cookie): Likewise.
776 (url-cookie-create): Expect :localpart instead of :path.
777 (url-cookie-localpart): Renamed from url-cookie-path.
778 (url-cookie-set-localpart): Renamed from url-cookie-set-path.
779 (url-cookie-file): Doc fix.
780 (url-cookie-p): Add doc string.
781
782 2005-06-23 Richard M. Stallman <rms@gnu.org>
783
784 * url-cookie.el (url-cookie-generate-header-lines): Fix autoload cookie.
785
786 2005-06-21 Juanma Barranquero <lekktu@gmail.com>
787
788 * url-gw.el (url-open-stream):
789 * url-vars.el (url-gateway-unplugged): Fix spellings.
790
791 2005-06-14 Juanma Barranquero <lekktu@gmail.com>
792
793 * url-history.el (url-completion-function): Follow error conventions.
794
795 2005-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
796
797 * url-file.el (url-file, url-file-asynch-callback): with-current-buffer.
798
799 2005-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
800
801 * url-dav.el: Remove most autoload cookies.
802 Don't hook into the url-file-handler since it currently breaks all
803 non-HTTP URLs.
804
805 * url-handlers.el (vc-registered): Explicitly disable VC for URL files.
806
807 * url.el (url-retrieve-synchronously): Don't exit precipitously when
808 fetching a file via ange-ftp.
809
810 2005-06-10 Juanma Barranquero <lekktu@gmail.com>
811
812 * url-cookie.el (url-cookie-multiple-line): Fix spelling in docstring.
813
814 2005-05-19 Juanma Barranquero <lekktu@gmail.com>
815
816 * url-cookie.el (url-cookie-multiple-line):
817 Specify group and type in defcustom.
818
819 2005-05-06 Juanma Barranquero <lekktu@gmail.com>
820
821 * url-auth.el (url-register-auth-scheme):
822 * url-cookie.el (url-cookie-expired-p):
823 * url-dav.el (url-dav-process-date-property)
824 (url-dav-process-boolean-property, url-dav-process-DAV:status):
825 * url-http.el (url-http-chunked-encoding-after-change-function)
826 (url-http-wait-for-headers-change-function):
827 * url-ns.el (isInNet):
828 * url-parse.el (url-generic-parse-url):
829 * url-util.el (url-get-normalized-date): Replace `string-to-int'
830 by `string-to-number'.
831
832 2005-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
833
834 * url.el (url-retrieve-synchronously): Work around the fact that
835 url-http sometimes doesn't call the callback.
836
837 2005-04-04 Lute Kamstra <lute@gnu.org>
838
839 * url-handlers.el (url-handler-mode): Specify :group.
840
841 2005-02-26 James Cloos <cloos@jhcloos.com> (tiny change)
842
843 * url-history.el (url-have-visited-url): Don't barf if
844 url-history-hash-table is nil.
845
846 2005-02-14 Michael Welsh Duggan <md5i@cs.cmu.edu>
847
848 * url-http.el (url-http-parse-headers): Test url-automatic-caching.
849
850 2005-01-22 Klaus Straubinger <KSNetz@Arcor.DE> (tiny change)
851
852 * url-http.el (url-http-parse-headers) <302>: Reset url-http-data
853 to nil, like for the 303 response.
854
855 2005-01-13 Stefan Monnier <monnier@iro.umontreal.ca>
856
857 * url.el (url-retrieve-synchronously): Use accept-process-output rather
858 than sit-for.
859
860 2005-01-03 Klaus Straubinger <ksnetz@arcor.de> (tiny change)
861
862 * url-http.el (url-http-handle-authentication):
863 Don't kill the current buffer.
864
865 2004-12-11 Stefan Monnier <monnier@iro.umontreal.ca>
866
867 * url-handlers.el: Don't `require' everything eagerly.
868
869 2004-11-30 Paul Pogonyshev <pogonyshev@gmx.net>
870
871 * url-http.el (url-http-handle-cookies): Bind `url-current-object'
872 to `url-http-cookies-sources' so that cookies are attributed to
873 proper domain.
874 (url-http): Make local variable `url-http-cookies-sources'.
875
876 2004-11-28 Andreas Schwab <schwab@suse.de>
877
878 * url-http.el (url-http-create-request): Don't add newline after
879 the request data.
880
881 2004-11-20 Masatake YAMATO <jet@gyve.org>
882
883 * url.el (url-mm-callback): Delay the invocation
884 of `mm-destroy-parts'. Invoke `mm-destroy-parts'
885 when the buffer is killed.
886
887 2004-11-12 Masatake YAMATO <jet@gyve.org>
888
889 * url-mailto.el (url-mailto): Fix a typo in the comment.
890
891 2004-11-02 Masatake YAMATO <jet@gyve.org>
892
893 * url-imap.el (url-imap-open-host): Don't use
894 `string-to-int'. The port returned by `url-port'
895 is expected to be an integer.
896
897 * url-irc.el (url-irc): Ditto.
898
899 * url-news.el (url-news-open-host): Ditto.
900
901 * url-nfs.el (url-nfs-build-filename): Ditto.
902
903 2004-10-20 John Paul Wallington <jpw@gnu.org>
904
905 * url-gw.el (url-gateway-nslookup-host):
906 Use `set-process-query-on-exit-flag'.
907
908 2004-10-10 Lars Hansen <larsh@math.ku.dk>
909
910 * url-auth.el:
911 * url-cache.el:
912 * url-cid.el:
913 * url-dired.el:
914 * url-expand.el:
915 * url-ftp.el:
916 * url-gw.el:
917 * url-imap.el:
918 * url-irc.el:
919 * url-misc.el:
920 * url-news.el:
921 * url-ns.el:
922 * url-privacy.el:
923 * url-proxy.el: Update header and footer.
924
925 * url-vars.el: Update header.
926
927 2004-10-16 Richard M. Stallman <rms@gnu.org>
928
929 * url.el (url-do-setup): Don't set url-passwd-entry-func.
930
931 * url-vars.el (url-passwd-entry-func): Var deleted.
932 (mm-mime-mule-charset-alist): Remove compatibility code for old Gnus.
933 (url-weekday-alist): Rename from weekday-alist.
934 (url-monthabbrev-alist): Rename from monthabbrev-alist.
935 (url-vars-unload-hook): Initialize hook var to hold the function.
936
937 * url-util.el (url-get-normalized-date): Use url-weekday-alist and
938 url-monthabbrev-alist.
939
940 * url-misc.el: Load cl at compile time.
941
942 * url-mailto.el: Don't load cl.
943 (url-mailto): Fix call to `push'.
944
945 * url-gw.el (url-open-telnet): Use read-passwd.
946
947 * url-auth.el (url-basic-auth, url-digest-auth): Use read-passwd.
948
949 2004-10-12 Simon Josefsson <jas@extundo.com>
950
951 * url-vars.el (url-gateway-method): Add new method `tls'.
952
953 * url-news.el (url-snews): Use nntp-open-tls-stream if
954 url-gateway-method is tls.
955
956 * url-ldap.el (url-ldap-certificate-formatter):
957 Use tls-certificate-information if ssl.el is not available.
958
959 * url-https.el (url-https-create-secure-wrapper): Use tls if ssl
960 is not available.
961
962 * url-gw.el (url-open-stream): Support tls url-gateway-method.
963 (url-open-stream): Likewise.
964
965 2004-10-10 Lars Hansen <larsh@math.ku.dk>
966
967 * url-auth.el:
968 * url-cache.el:
969 * url-cookie.el:
970 * url-dired.el:
971 * url-file.el:
972 * url-ftp.el:
973 * url-handlers.el:
974 * url-history.el:
975 * url-irc.el:
976 * url-mailto.el:
977 * url-methods.el:
978 * url-misc.el:
979 * url-news.el:
980 * url-nfs.el:
981 * url-parse.el:
982 * url-privacy.el:
983 * url-vars.el:
984 * url.el:
985 * url-util.el: Fix copyright notice.
986
987 2004-10-06 Stefan Monnier <monnier@iro.umontreal.ca>
988
989 * url-handlers.el (url-insert-file-contents): Use the URL to decide the
990 encoding, not the buffer-file-name (which might not even exist).
991
992 2004-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
993
994 * url-handlers.el (url-insert-file-contents): Decode contents.
995
996 2004-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
997
998 * url-util.el (url-debug): Use with-current-buffer.
999
1000 * url-nfs.el (url-nfs-file-attributes): Add id-format parameter.
1001 (url-nfs-create-wrapper): Use new backquote syntax.
1002
1003 * url-https.el (url-https-file-attributes): Add id-format param.
1004
1005 * url-http.el (url-http-head-file-attributes)
1006 (url-http-file-attributes): Add id-format parameter.
1007
1008 * url-handlers.el: Use new find-file-hook.
1009 (url-file-attributes): Add id-format parameter.
1010
1011 * url-file.el (url-file-create-wrapper): Use new backquote syntax.
1012 (url-file-file-attributes): Add id-format parameter.
1013
1014 * url-dav.el: Use with-current-buffer.
1015 (url-dav-process-response): Fix regexps and spurious quote.
1016 (url-dav-file-attributes): Add id-format param.
1017
1018 2004-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
1019
1020 * url.el (url-retrieve): Use with-current-buffer.
1021
1022 * url-http.el (url-http-parse-headers, url-http-file-exists-p):
1023 Remove unused var `version'.
1024
1025 * url-handlers.el (url-handler-mode): New minor mode.
1026 (url-setup-file-name-handlers): Remove.
1027
1028 2004-04-12 John Paul Wallington <jpw@gnu.org>
1029
1030 * url-cookie.el (url-cookie-handle-set-cookie): Replace calls
1031 to obsolete `assoc-ignore-case' with calls to `assoc-string'.
1032
1033 2004-04-11 Dave Love <fx@gnu.org>
1034
1035 * url-mailto.el (url-mailto):
1036 * url-history.el (url-history-setup-save-timer):
1037 * url-cookie.el (url-cookie-setup-save-timer): Avoid warnings.
1038
1039 * url-file.el (url-file-build-filename): Don't use
1040 directory-sep-char.
1041
1042 * url-auth.el (url-register-auth-scheme): Fix `format' call.
1043
1044 * url-about.el (url-scheme-registry): Defvar.
1045 (url-about): Use text/plain.
1046
1047 * url-vars.el (cl): Don't require.
1048 (url): Add :version.
1049 (url-bug-address): Use bug-gnu-emacs.
1050
1051 * url-util.el (url-hexify-string): Don't give multibyte error
1052 for char <16.
1053 (mail-header-extract): Autoload.
1054
1055 * url-parse.el: Doc fixes.
1056
1057 * url-ldap.el (ldap): Require.
1058 (url-ldap): Fix `format' call.
1059 (url-ldap-certificate-formatter): Avoid warning.
1060
1061 * url-https.el (url-https-create-secure-wrapper): Use modern backquotes.
1062
1063 * url-dav.el (url-dav-rename-file): Fix args of `signal'.
1064 (url-intersection): New.
1065 (url-dav-supported-p): Use it.
1066 (url-dav-save-resource): Declare url-http-response-status special.
1067
1068 * url-cache.el (url-util): Require.
1069
1070 2004-04-10 Miles Bader <miles@gnu.org>
1071
1072 RCS keyword removal (only non-comment changes are enumerated here):
1073
1074 * url-vars.el (url-version): Use the constant string "Emacs"
1075 instead of calculating something from the RCS `State' keyword
1076 [the latter is almost entirely useless anyway].
1077
1078 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
1079
1080 * url-methods.el:
1081 * url-parse.el: Don't require url-auto.
1082
1083 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
1084
1085 * url: Imported the URL package from its own CVS repository into Emacs.
1086
1087 ===========================================================================
1088 ===========================================================================
1089 Copy of the ChangeLog file from URL's own CVS repository:
1090 ===========================================================================
1091 ===========================================================================
1092
1093 2003-07-16 Dave Love <fx@gnu.org>
1094
1095 * lisp/url.el (url-retrieve-synchronously): Revert last change.
1096 Should be revisited.
1097
1098 2003-06-26 Sam Steingold <sds@gnu.org>
1099
1100 * lisp/url-handlers.el (url-handlers-create-wrapper): Do not call
1101 method on invalid urls.
1102
1103 2003-05-29 Dave Love <fx@gnu.org>
1104
1105 * lisp/url.el (url-retrieve-synchronously): Use sleep-for, not
1106 sit-for. From monnier@gnu.org.
1107
1108 2002-11-04 Walter C. Pelissero <walter@pelissero.org>
1109
1110 * lisp/url-methods.el (url-scheme-register-proxy): Make sure to convert
1111 port numbers to integers when creating the URL objects for proxies.
1112
1113 2002-10-29 William M. Perry <wmperry@gnu.org>
1114
1115 * lisp/url-http.el (url-http-parse-headers): When doing a
1116 redirect, some broken software (sourceforge) sends a redirect to
1117 '/', which is blatantly illegal (see section 14.30 of the HTTP/1.1
1118 specification). I wish we could deal with such lame software
1119 appropriately (spank the authors), but this is the web, so we have
1120 to kow-tow to the servers.
1121
1122 2002-10-27 William M. Perry <wmperry@gnu.org>
1123
1124 * lisp/url-http.el (url-http-create-request): If we are talking to
1125 the default port for a the selected protocol, do NOT send the port
1126 in the HOST header. This fixes the login page at sourceforge.
1127
1128 2002-09-17 William M. Perry <wmperry@gnu.org>
1129
1130 * lisp/url-http.el (url-http-handle-cookies): New function to deal
1131 with cookie headers.
1132 (url-http-parse-headers): Call `url-http-handle-cookies' here so
1133 that cookie additions and deletions get handled immediately.
1134 This is so that sites that set cookies while doing redirects
1135 (my.yahoo.com, outlook web access, etc) work. This should also
1136 fix sites that delete cookies on invalid access or other error
1137 pages the user might not actually see.
1138 (url-http-parse-headers): Silently convert non-HEAD and non-GET
1139 methods to GET in redirects. Too many web sites do this now, and
1140 it is just likely to confuse users.
1141
1142 2002-05-17 Dave Love <fx@gnu.org>
1143
1144 * texi/url.txi: Start making it vaguely useful.
1145
1146 * texi/Makefile.in (install): Cope with Debian install-info.
1147 From Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Grossjohann).
1148
1149 2002-04-22 Dave Love <fx@gnu.org>
1150
1151 * lisp/url-misc.el (man): Autoload to avoid warning.
1152 (url-man): Don't require man here.
1153 (url-data): Generalize in line with the RFC.
1154
1155 * lisp/url-gw.el (url-open-stream): Remove obsolete `tcp' case.
1156
1157 * lisp/url-vars.el: Doc fixes.
1158 (url-mime-charset-string): New function.
1159 (url-mime-charset-string): Use it to set the variable.
1160 (url-set-mime-charset-string): New function.
1161 (set-language-environment-hook): Use it.
1162 (url-vars-unload-hook): New function.
1163
1164 * lisp/url-cookie.el (url-header-comparison): Delete.
1165 (url-cookie-handle-set-cookie): Use assoc-ignore-case to avoid assoc*.
1166 (url-cookie-save-interval): Make value agree with doc.
1167
1168 * lisp/url.el: Doc fixes.
1169 (url-mm-callback): Don't call mm-destroy-parts immediately for
1170 external viewing -- set up a process sentinel.
1171
1172 2002-02-02 William M. Perry <wmperry@gnu.org>
1173
1174 * lisp/Makefile.in (SOURCES): Remove mule-sysdp.el from the build rules.
1175
1176 2001-12-12 William M. Perry <wmperry@gnu.org>
1177
1178 * lisp/url-vars.el (url-nonrelative-link): Patch from Stefan
1179 Monnier to use ` instead of ^ to match the relative link.
1180
1181 2001-12-10 William M. Perry <wmperry@gnu.org>
1182
1183 * lisp/url-dav.el (url-dav-file-attributes): Fix bad call to
1184 plist-get (reversed args).
1185
1186 * lisp/url-file.el (url-file-build-filename): Make sure that we
1187 have a parsed URL in this function.
1188
1189 2002-01-22 Dave Love <fx@gnu.org>
1190
1191 * lisp/url-cache.el (url-cache-file-writable-p): Doc fix.
1192
1193 * lisp/url-imap.el (url-imap): Maybe disable multibyte.
1194 Bind coding-system-for-read. Require mm-util.
1195
1196 * lisp/url.el (url-do-setup): Use (featurep 'xemacs).
1197
1198 * lisp/mule-sysdp.el: Removed (obsolete).
1199
1200 2001-12-09 William M. Perry <wmperry@gnu.org>
1201
1202 * lisp/url-dav.el (url-dav-delete-something): Utility macro to
1203 remove an arbitrary resource.
1204 (url-dav-delete-directory): Use it.
1205 (url-dav-delete-file): Ditto.
1206 (url-dav-make-directory): New function.
1207 (url-dav-rename-file): New function.
1208 (url-dav-register-handler): New function to easily register a
1209 WebDAV-specific file-name-handler operation.
1210 (url-dav-file-name-all-completions, url-dav-file-name-completion):
1211 New functions that allow file-name completion for WebDAV resources.
1212
1213 2001-12-08 William M. Perry <wmperry@gnu.org>
1214
1215 * lisp/url-dav.el (url-dav-directory-files): New function to
1216 mimic `directory-files' for WebDAV.
1217 (url-dav-delete-directory): New function to mimic
1218 `delete-directory' for WebDAV.
1219
1220 2001-12-06 William M. Perry <wmperry@gnu.org>
1221
1222 * lisp/url-dav.el (url-dav-process-DAV:locktoken): Parse the
1223 DAV:locktoken hrefs into a usable format.
1224 (url-dav-process-response): Use an unwind-protect to make sure
1225 that we clean up the buffer, even if there is a parsing error.
1226 (url-dav-request): New function to act as the main entry point for
1227 making DAV requests. Takes care of building the XML document with
1228 appropriate namespaces, depth, etc, and parses the results.
1229 (url-dav-get-properties): Use new url-dav-request function.
1230 This is now just a thin wrapper around that to use PROPFIND and set any
1231 extra properties we are looking for.
1232 (url-dav-unlock-resource): New function to release a lock given a
1233 URL and a lock-token.
1234 (url-dav-process-DAV:getlastmodified)
1235 (url-dav-process-DAV:creationdate)
1236 (url-dav-process-DAV:iscollection)
1237 (url-dav-process-DAV:ishidden): Fix typos! Its url-dav-*, not
1238 url-dave-*!
1239 (url-dav-active-locks): New function to get a list of all the
1240 active locks for a resource.
1241 (url-dav-save-resource): New function to actually save a resource
1242 using the PUT method. I can now successfully save files to an
1243 HTTP server with some manual steps from a lisp-interaction buffer.
1244
1245 * lisp/url-http.el (url-http-wait-for-headers-change-function):
1246 Special case the 204/205 response codes. Some servers do not
1247 send back a 0 content-length for these, and we would hang.
1248 (url-http-parse-headers): Mark 204/205 response codes as
1249 'successful' so that the callbacks get activated.
1250 (url-http-options): Fix unbound variable usage.
1251
1252 * lisp/url-dav.el: Added full copyright information.
1253 (url-dav-process-response): Make sure that we create a DAV:status
1254 property when parsing a singleton response.
1255 (url-dav-file-attributes): If the properties returned did not have
1256 a successful HTTP response code, then ignore them and use the
1257 HEAD-based attributes.
1258
1259 * lisp/vc-dav.el: Added full copyright information.
1260
1261 * lisp/url-dav.el (url-dav-process-supportedlock-property):
1262 Deal with text nodes in DAV:supportedlock nodes.
1263 (url-dav-file-attributes-mode-string): This now gets the entire
1264 property list instead of just the DAV:supportedlock node.
1265 (url-dav-file-attributes): Make sure to pass the whole list in.
1266 (url-dav-file-attributes-mode-string): Now properly sets do 'd' mode.
1267 (url-dav-file-attributes-mode-string): Now uses the Apache mod_dav
1268 'executable' bit to set the 'x' mode. See `mod_dav's custom
1269 properties' at http://www.webdav.org/mod_dav/ for more details.
1270 (url-dav-find-parser): New function to find the proper parser for
1271 a node-type. Looks for
1272 url-dav-process-XXX (url-dav-process-DAV:prop), otherwise falls
1273 back to using url-dav-node-text. Caches the results on the nodes
1274 symbol name.
1275 (url-dav-dispatch-node): Utility routine to call a nodes handler easily.
1276 (url-dav-process-*): Rename most of the handlers and made them
1277 use url-dav-dispatch-node where appropriate.
1278 (url-dav-process-DAV:prop): Instead of using the dav-data-type
1279 property to dispatch the node, now uses dav-dispatch-node so that
1280 it is easy to add parsers for special nodes.
1281 (url-dav-process-DAV:depth, url-dav-process-DAV:resourcetype)
1282 (url-dav-process-DAV:locktype, url-dav-process-DAV:lockscope)
1283 (url-dav-process-DAV:getcontentlength)
1284 (url-dave-process-DAV:getlastmodified)
1285 (url-dave-process-DAV:creationdate)
1286 (url-dave-process-DAV:iscollection)
1287 (url-dave-process-DAV:ishidden): Aliases for the generic
1288 url-dav-process-foo-property routines.
1289 (url-dav-process-DAV:activelock)
1290 (url-dav-process-DAV:lockdiscovery): Can now correctly parse
1291 DAV:lockdiscovery nodes, so that we can find out who has a
1292 resource locked and properly parse the reponse to a LOCK request.
1293 (url-dav-process-DAV:status): Now parses out the numeric status
1294 from the HTTP response line.
1295 (url-dav-process-response): New function to handle all the
1296 parsing of an XML response from WebDAV. This handles all the
1297 logic of checking the response content-type to make sure it is
1298 XML, parses the tree, and interprets the tree.
1299 (url-dav-process-response): Make sure that all responses look
1300 like a DAV:multistatus response, even if we get a singleton
1301 response back. This will just make the upper layer logic simpler.
1302 (url-dav-get-properties): New optional argument NAMESPACES that
1303 specifies what namespaces to use in the XML request.
1304 (url-dav-get-properties): Got rid of the D: namespace in
1305 requests. It doesn't save that much space. Just use DAV:
1306 (url-dav-lock-identifier): New variable that should hold a URI
1307 pointing to contact information for the user. This will be used
1308 as the contents of the DAV:owner/DAV:href tag to identify the
1309 owner of a LOCK when requesting it. This will be shown to other
1310 users when the DAV:lockdiscovery property is requested, so make
1311 sure you are comfortable with it leaking to the outside world.
1312 (url-dav-lock-resource): New function to LOCK a dav resource.
1313
1314 2001-12-05 William M. Perry <wmperry@gnu.org>
1315
1316 * lisp/url-dav.el (url-dav-get-properties): New argument
1317 ATTRIBUTES that allows you to ask for specific properties instead
1318 of getting all properties via DAV:allprop.
1319
1320 * lisp/url-http.el (url-http-real-basic-auth-storage):
1321 New variable for normal HTTP basic authentication.
1322 (url-http-proxy-basic-auth-storage): New variable for HTTP proxy
1323 basic authentication.
1324 (url-http-handle-authentication): Follow new semantics for
1325 url-basic-auth-storage.
1326
1327 * lisp/url-auth.el (url-basic-auth-storage): Change meaning of
1328 this variable. It is now a symbol pointing to where we really
1329 want to store the authorization information. This fixes proxy
1330 auth and normal basic auth because of some local bindings that were
1331 making it impossible to store the credentials in the global binding.
1332 (url-basic-auth): Make sure we dereference url-basic-auth-storage
1333 everywhere.
1334
1335 * lisp/url-util.el (url-debug): Add new types 'dav and
1336 'retrieval to the customization list.
1337
1338 * lisp/url.el (url-retrieve-synchronously): Put in some debugging
1339 statements.
1340
1341 * lisp/url-http.el (url-http-head-file-attributes): Rename old
1342 url-http-file-attributes so that we can have a smarter one that
1343 tries WebDAV first, then HEAD.
1344 (url-http-file-attributes): New smart version that tries WebDAV first.
1345 (url-http-options): New function that returns information gleaned
1346 from an OPTIONS request for a URL. Returns a property list
1347 returning the methods supported for the resource, what DAV and
1348 DASL levels are supported, p3p information, and whether
1349 byte-ranges are supported or not.
1350 (url-http-wait-for-headers-change-function): If we got a 0-byte
1351 content-length, activate the callback immediately.
1352 (url-http-wait-for-headers-change-function): For content-length
1353 responses with actual body-data in the chunk we are handling, call
1354 url-http-content-length-after-change-function with the remaining
1355 data. Otherwise we can deadlock if the headers and the entire
1356 body exist arrive in one chunk.
1357
1358 * lisp/url-dav.el: New file to contain the WebDAV
1359 (http://www.webdav.org/) implementation.
1360 (url-dav-supported-p): Cheap way to figure out whether we will be
1361 able to do DAV at all. We rely on the XML parser expanding
1362 namespaces for us, and currently you need a patched version of
1363 xml.el to do this. Patch sent to author for consideration.
1364 (url-dav-file-attributes): Much more complete version of
1365 `file-attributes' using the WebDAV PROPFIND method. Now correctly
1366 finds out whether something is a directory (a WebDAV collection),
1367 the last modification time, and permissions (based on the
1368 DAV:supportedlock information).
1369 (url-dav-get-properties): Generic interface to get WebDAV
1370 properties for a URL. Can specify an optional `depth' parameter
1371 to tell the web server how many directory (collection) levels to
1372 recurse when retrieving the property lists. Returns an assoc
1373 list keyed off of the resource, the cdr of which is a property list.
1374 (url-dav-datatype-attribute): We support the XML-Data note
1375 (http://www.w3.org/TR/1998/NOTE-XML-data) to figure out what the
1376 datatypes of attributes are. Currently only date, dateTime, int,
1377 number, float, boolean, and uri are supported.
1378
1379 2001-12-04 William M. Perry <wmperry@gnu.org>
1380
1381 * lisp/url-handlers.el (file-name-absolute-p): New hooked
1382 version. If the filename matches our regexp, then it is always
1383 absolute, so just return `t'.
1384 (expand-file-name): New hooked version. If the fragment is an
1385 absolute file or URL, then expand it relative to '/'.
1386 (url-handler-regexp): New regexp for specific schemes that we
1387 want the file-name-handlers to work off of.
1388 (url-setup-file-name-handlers): Use it when installing the handlers.
1389
1390 * lisp/url-http.el (url-http-find-free-connection): Better logging
1391 about whether we are reusing an existing connection or not.
1392
1393 * lisp/url-methods.el (url-scheme-register-proxy): Fix bad call
1394 to string-match instead of match-string (and with reversed
1395 arguments even).
1396
1397 * lisp/url-http.el (url-http-debug): Change to now use the
1398 generic url-debug function to do the actual logging. Still a
1399 separate function so that we can do our magic on the network
1400 connection if the user quits while we are downloading.
1401
1402 * lisp/url-handlers.el (url-file-handler): Now logs the result of
1403 the hooked or real call.
1404
1405 * lisp/url-util.el (url-debug): New function for generic debug logging.
1406
1407 2001-11-28 William M. Perry <wmperry@gnu.org>
1408
1409 * lisp/url-imap.el (url-imap-open-host): Use backquote.
1410 (url-imap): Now switches to 'login as the imap authenticator if
1411 the URL provides a username and password.
1412
1413 * lisp/url-handlers.el (url-setup-file-name-handlers): Use cl &
1414 push to replace some strange logic in here.
1415 (url-run-real-handler): New function to run the real hooks in
1416 case we get a false positive or an operation that we do not
1417 support. The old way disabled _ALL_ file-name-handlers when
1418 we hit something we didn't understand - this disables JUST us.
1419 (url-file-handler): Remove the logic about removing the leading
1420 '/' off of the first argument... it may not be safe to always
1421 assume that the first argument is the one we are acting on -
1422 `default' is the second argument for expand-file-name for example.
1423 (url-setup-file-name-handlers): Use url-nonrelative-link
1424 directly. This means that you must type in the URL directly
1425 without prefixing it with a '/'.
1426
1427 (gnus-cache-articles-in-group "nnml+mail:comp.emacs-devel")
1428
1429 Ends up calling (expand-file-name "nnml+mail:comp.emacs-devel" ...)
1430 which activates us (because 'nnml+mail' _is_ a valid scheme name
1431 for a URI). We get thoroughly confused and end up returning
1432 `nil' when we shouldn't.
1433
1434 2001-11-26 William M. Perry <wmperry@gnu.org>
1435
1436 * lisp/url-handlers.el (file-writable-p): Add NULL handler for
1437 this so that visiting a URL directly will work.
1438 (file-symlink-p): Ditto.
1439 (url-insert-file-contents): If `visit' is non-nil then make sure
1440 we set buffer-file-name. After these changes you can visit
1441 http://www.gnu.org/ directly from the minibuffer.
1442 (url-insert-file-contents): When inserting the file contents,
1443 use a save-excursion so that we behave just like the original.
1444
1445 2001-11-25 William M. Perry <wmperry@gnu.org>
1446
1447 * lisp/url-util.el (url-hexify-string): Fix bad use of mapconcat.
1448
1449 2001-11-24 William M. Perry <wmperry@gnu.org>
1450
1451 * lisp/url-about.el (url-about): New loader scheme to handle
1452 about:foo URLs. Automatically tries to find a `url-about-foo'
1453 function to display the actual data.
1454 (url-about-protocols): Implement about:protocols.
1455
1456 * lisp/url-http.el (url-http): Make sure that we signal an error
1457 when we cannot open a network connection for whatever reason.
1458 Before, it would just silently clean up after itself and the user
1459 got absolutely no indication that an error had occurred. If the
1460 error should truly be ignored, the caller should do that for us.
1461 (url-http-chunked-encoding-after-change-function): Doh! Need to
1462 user marker-position in some log messages now that
1463 url-http-chunked-start is a marker.
1464
1465 2001-11-22 William M. Perry <wmperry@gnu.org>
1466
1467 * lisp/url-https.el: Fixed definition of url-https - was using the
1468 wrong signature. Too much cut & paste.
1469 (url-https-create-secure-wrapper): Fix so that url-https works
1470 at all. Was not taking a null `method' into account when calling
1471 the wrapped function so url-https tried to call url-http-nil. *sigh*
1472
1473 * lisp/url-http.el
1474 (url-http-chunked-encoding-after-change-function): Add some
1475 feedback when not debugging about what content-type and chunk # we
1476 are reading.
1477 (url-http-chunked-encoding-after-change-function): Use a marker
1478 for url-http-chunked-start so that we can safely delete the
1479 chunk-tokens instead of just marking them as invisible.
1480 (url-http-chunked-encoding-after-change-function): Actually delete
1481 the chunk-tokens. Now that we are not run from 'real'
1482 after-change functions, this is safe, and the right thing to do.
1483 Otherwise the HTML parser still saw them and inferred all sorts of
1484 bad things about the document (ie: nothing had a title!)
1485
1486 2001-11-21 William M. Perry <wmperry@gnu.org>
1487
1488 * lisp/url-http.el (url-http-debug): Document this variable.
1489 People other than I might want to use it.
1490 (url-http-debug): Put some code in here to check quit-flag
1491 directly. When the chunked encoding went into a tight spin, your
1492 Emacs would be wedged forever. This short-circuits all the
1493 after-change functions and signals an error.
1494 (url-http-debug): If url-http-debug is non-nil and non-t, then log
1495 the debug messages using `message' as well as sending them to the
1496 buffer.
1497 (url-http-chunked-encoding-after-change-function): Got rid of the
1498 no-initial-crlf. Had an epiphany and I can just infer this from
1499 url-http-chunked-counter being 0.
1500 (url-http-chunked-encoding-after-change-function): Move the debug
1501 statement about reading chunk #foo into the loop so that each
1502 chunk will have a log message associated with it.
1503 (url-http-chunked-encoding-after-change-function): Make sure to
1504 set read-next-chunk to nil when the regular expression match fails
1505 to fire. Otherwise we could loop forever.
1506 (url-http-chunked-encoding-after-change-function): Tweak the
1507 regular expression to be a little less greedy when looking for a chunk.
1508 (url-http-wait-for-headers-change-function): Remove the last
1509 argument when calling
1510 url-http-chunked-encoding-after-change-function. It is no longer
1511 needed. I should use my brain sometime.
1512
1513 * lisp/url-vars.el (and): Fix feature test for xemacs and
1514 coding-system-list behavior.
1515
1516 * lisp/url-http.el
1517 (url-http-chunked-encoding-after-change-function): Add optional
1518 no-initial-crlf flag that modifies the regular expression.
1519 This is only set from url-http-wait-for-headers-change-function so that
1520 the initial CRLF in the HTTP headers is not swallowed.
1521 (url-http-chunked-encoding-after-change-function): Fix a few
1522 off-by-one errors by using (match-end 0) instead of 1.
1523 (url-http-chunked-encoding-after-change-function): Add a few
1524 url-http-debug calls to help track down problems in the chunked
1525 encoding.
1526 (url-http-chunked-encoding-after-change-function): The chunk
1527 reading in here is now in a while loop so that if Emacs feeds us a
1528 chunk of data that happens to contain more than one 'chunk'
1529 delimiter, we behave correctly.
1530 (url-http-wait-for-headers-change-function): Make sure that we
1531 pass no-initial-crlf to
1532 url-http-chunked-encoding-after-change-function when passing
1533 initial data to the decoder.
1534 (url-http-generic-filter): url-http-debug statement so we can tell
1535 when/where our after-change-functions are being called.
1536
1537 2001-10-11 Dave Love <fx@gnu.org>
1538
1539 * lisp/url-handlers.el: Doc fixes.
1540 (string-match): Use (featurep 'xemacs).
1541
1542 * lisp/url-methods.el (url-scheme-get-property): Avoid `mapc'.
1543
1544 * lisp/url-proxy.el (url-find-proxy-for-url): Avoid `pop'.
1545
1546 * lisp/url-vars.el (url-running-xemacs): Delete.
1547 (url-gateway-unplugged): New variable.
1548
1549 * lisp/url-gw.el (url-open-stream): Use url-gateway-unplugged.
1550 Comment out OS/2 stuff.
1551
1552 2001-10-05 Dave Love <fx@gnu.org>
1553
1554 * lisp/url-mailto.el (url-mailto): Don't send auto-generated mail
1555 without confirmation.
1556
1557 2001-10-02 Dave Love <fx@gnu.org>
1558
1559 * lisp/url-http.el (url-http-create-request): Check cache for
1560 proxy-obj, if defined, rather than url.
1561 (url-http): Use dolist, not mapc (runtime cl dependency).
1562
1563 * lisp/url-methods.el: Maybe require cl at runtime.
1564 (url-scheme-register-proxy): Fix fetching from environment.
1565 Don't concat a number.
1566
1567 2001-10-01 Dave Love <fx@gnu.org>
1568
1569 * lisp/url-parse.el: Use modern backquote syntax.
1570
1571 * lisp/url-vars.el (url-uncompressor-alist): Add bzip2.
1572 (url-mail-command): Prefer compose-mail.
1573 (tcp-binary-process-input-services): Comment out.
1574 (url-working-buffer): New constant.
1575
1576 * lisp/url-util.el (url-extract-mime-headers): New function.
1577
1578 * lisp/url-mailto.el (url-mailto): Set source-url. Don't add
1579 User-Agent.
1580
1581 2001-09-20 Dave Love <fx@gnu.org>
1582
1583 * lisp/url-http.el (url-http-create-request): Don't concat a number.
1584
1585 2001-06-05 Dave Love <fx@gnu.org>
1586
1587 * lisp/url.el (url-do-setup): Doc fix. Don't try to frob
1588 tcp-binary-process-input-services. Remove function wrapper for lambda.
1589 (url-retrieve): Barf with sensible message if url-type is null.
1590
1591 * lisp/url-http.el (url-http): Don't try to set process
1592 coding-system here -- done in url-gw.
1593
1594 * lisp/url-gw.el (url-gw-inhibit-code-conversion): Remove.
1595 (url-open-stream): Bind coding-system-for{read,write} when setting
1596 up the connexion. Don't call url-gw-inhibit-code-conversion.
1597
1598 2001-05-24 William M. Perry <wmperry@gnu.org>
1599
1600 * lisp/url.el (url-retrieve-synchronously): Avoid accept-process-output
1601 in url-retrieve-synchronously.
1602
1603 2001-05-23 William M. Perry <wmperry@gnu.org>
1604
1605 * lisp/url.el (url-retrieve-synchronously): Don't put a timeout on
1606 accept-process-output. This is evidently causing hangs in Emacs
1607 21 when viewing complex pages with images or stylesheets.
1608 www.yahoo.com is now viewable.
1609
1610 * lisp/url-gw.el (url-open-stream): Avoid using mule-sysdp
1611 (mule-inhibit-code-conversion) and just have a local function that
1612 does this minimal cruft.
1613 (url-gw-inhibit-code-conversion): New function to turn off code
1614 conversion in a process.
1615
1616 2001-05-22 William M. Perry <wmperry@gnu.org>
1617
1618 * lisp/url.el (url-retrieve-synchronously): Use lexical-let so
1619 that we can allow multiple asynch retrievals to happen at once.
1620 (url-retrieve-synchronously): Use a much smaller timeout when
1621 doing the accept-process-output. This gets rid of the long delays
1622 if you are on a fast net connection and retrieve small documents
1623 that finish asynchronously before the first accept-process-output
1624 can be run. All hail broadband and 100Mb in the house!
1625 (url-retrieve-synchronously): Add documentation for this function.
1626 (url-retrieve): Ditto.
1627 (url-mm-url): Ditto.
1628
1629 * lisp/url-vars.el: Replaced `HTTP/1.0' with just `HTTP' in some
1630 documentation strings. Ok, so I'm anal.
1631
1632 * lisp/url-methods.el (url-scheme-methods): Add default methods
1633 for file-directory-p and file-truename.
1634
1635 2001-05-22 Dave Love <fx@gnu.org>
1636
1637 * lisp/url-auth.el (url-warn): Autoload.
1638
1639 * lisp/url-proxy.el (url-warn): Autoload.
1640
1641 * lisp/url-nfs.el: Fix `file-truname' typo.
1642
1643 * lisp/url-news.el: Require cl when compiling.
1644 (url-warn, gnus-group-read-ephemeral-group): Autoload.
1645 (url-nntp-default-port, url-news-default-port, url-nntp): Delete.
1646 (url-news-fetch-newsgroup): Declare gnus-group-buffer special.
1647
1648 * lisp/url-util.el (mule-decode-string): Don't autoload.
1649 (url-hexify-string): Just barf on multibyte characters.
1650 (url-generate-unique-filename): New function.
1651
1652 * lisp/url-file.el (url-file): Use url-generate-unique-filename,
1653 not mm-generate-unique-filename.
1654
1655 * lisp/url-http.el: Declare things special in various places.
1656 (url-http-activate-callback): Don't set
1657 url-http-real-after-change-function.
1658
1659 2001-05-22 William M. Perry <wmperry@gnu.org>
1660
1661 * lisp/url-http.el (url-http-attempt-keepalives): New variable to
1662 control whether we try to do keep-alives for our connections.
1663 (url-http-version): New variable to control whether we advertise
1664 ourselves as an HTTP/1.1 client or not. This can be useful for
1665 avoiding chunked encoding, and other 1.1 features we may not have
1666 fully implemented yet.
1667 (url-http-create-request): Honor the new variables.
1668
1669 2001-05-21 Dave Love <fx@gnu.org>
1670
1671 * lisp/url-vars.el (mm-mime-mule-charset-alist): Don't readjust it
1672 in XEmacs.
1673 (url-mime-charset-string): Don't reverse the list before sorting.
1674
1675 2001-05-17 William M. Perry <wmperry@gnu.org>
1676
1677 * lisp/url-http.el (url-http-generic-filter): Avoid using
1678 after-change-functions natively. There are just too many ways
1679 that this screws up in Emacs 21. Use a filter function on the
1680 process instead, and call the hook on
1681 url-http-after-change-function manually. [Actually, it will work
1682 in Emacs 21, but one problem that has been fixed in Emacs 21
1683 exists in Emacs 20. -- fx]
1684
1685 * lisp/url-vars.el (url-mime-charset-string): sort-coding-systems
1686 does not exist on older versions of Emacs, or any version of
1687 XEmacs. Do not call it unless it is bound.
1688
1689 2001-05-17 Dave Love <fx@gnu.org>
1690
1691 * lisp/url-http.el (url-http-create-request): Fix non-GET requests.
1692
1693 2001-05-16 Dave Love <fx@gnu.org>
1694
1695 * lisp/url-vars.el: Doc fixes. Require mm-util.
1696 (url-mime-charset-string): New variable.
1697
1698 * lisp/url-http.el: Doc fixes.
1699 (url-http-create-request): Rearrange how we assemble the request.
1700 Avoid generating bogus requests with an empty real-fname.
1701 (url-http-handle-authentication): Declare status and success special.
1702 (url-http): Call mm-disable-multibyte. Set process buffer's
1703 coding systems to binary.
1704
1705 * lisp/url-misc.el (url-data): Call mm-disable-multibyte.
1706
1707 * lisp/url-file.el: Don't require mule-sysdp. Fix `file-truname' typo.
1708 (url-file-find-possibly-compressed-file): Doc fix.
1709 (url-file): Bind coding-system-for-read. Call mm-disable-multibyte.
1710
1711 * lisp/url-cache.el: Don't require mule-sysdp.
1712 (url-store-in-cache): Avoid mule-write-region-no-coding-system.
1713
1714 * lisp/url.el: Don't require mule-sysdp.
1715 (url-retrieve): Only set text properties if url is a string.
1716
1717 2001-05-14 Dave Love <fx@gnu.org>
1718
1719 * lisp/url-http.el (url-http-create-request):
1720 Declare proxy-object, proxy-info special.
1721 (url-http-handle-authentication): Declare success special.
1722
1723 2001-05-12 Dave Love <fx@gnu.org>
1724
1725 * lisp/url-http.el: Revert last change.
1726
1727 2001-05-10 Dave Love <fx@gnu.org>
1728
1729 * lisp/url-http.el (url-http-generic-after-change-function):
1730 Make it permanent-local.
1731
1732 2001-05-05 Dave Love <fx@gnu.org>
1733
1734 * lisp/url-http.el: Autoload some functions.
1735 (cl): Require when compiling.
1736 (url-http-extra-headers): Defvar when compiling.
1737 (url-http): Treat after-change-functions as a local hook.
1738
1739 * lisp/url-history.el (url-parse): Require.
1740 (url-do-setup): Autoload.
1741
1742 * lisp/url-gw.el: Require url-vars. Autoload some functions.
1743
1744 * lisp/url-file.el: Require mailcap. Require cl when compiling.
1745 Use (featurep 'xemacs).
1746 (url-file-build-filename): Bind pos-index.
1747 (url-file): Call url-find-file-dired, not url-dired-find-file.
1748
1749 * lisp/url-dired.el: Add copyright notice. Autoload some functions.
1750 (url-dired-minor-mode-map): Use (featurep 'xemacs).
1751 (url-dired-find-file-mouse): Use mouse-set-point, not event-point.
1752 (url-find-file-dired): Rename from one version of url-dired-find-file.
1753
1754 * lisp/url-cid.el: Don't require widget. Require mm-decode
1755 unconditionally.
1756
1757 * lisp/url-util.el: Autoload mule-decode-string,
1758 timezone-parse-date, timezone-make-date-arpa-standard.
1759 (url-unreserved-chars): Fix list per RFC 2396.
1760 (url-hexify-string): Maybe string-make-unibyte.
1761
1762 * lisp/url-news.el: Require nntp.
1763
1764 * lisp/url-imap.el: Require cl when compiling. Require nnimap
1765 unconditionally.
1766
1767 2001-05-04 Dave Love <fx@gnu.org>
1768
1769 * lisp/url-handlers.el (url-file-local-copy): Use make-temp-file,
1770 not non-existent mailcap-generate-unique-filename.
1771
1772 * lisp/url-privacy.el: Require url-vars. Require cl when compiling.
1773
1774 * lisp/url-parse.el: Require url-vars.
1775 Autoload url-scheme-get-property.
1776
1777 * lisp/url-nfs.el: Require cl when compiling. Test for XEmacs
1778 with featurep.
1779
1780 * lisp/url-mailto.el: Require cl when compiling.
1781
1782 * lisp/url-cookie.el (url-cookie-handle-set-cookie):
1783 Call url-parse-args, not url-util-parse-args.
1784
1785 * lisp/url-cache.el (url-cache-expired): Remove bogus `return'.
1786
1787 2001-04-09 Dave Love <fx@gnu.org>
1788
1789 * lisp/mule-sysdp.el (mule-detect-coding-version)
1790 (mule-code-convert-region, mule-inhibit-code-conversion)
1791 (mule-write-region-no-coding-system, mule-encode-string)
1792 (mule-decode-string, mule-truncate-string)
1793 (mule-find-charset-region, mule-coding-system-name)
1794 (mule-find-coding-system, mule-make-iso-character): Grok Mule 5.0.
1795 [There must be a better way.]
1796 (mule-coding-system-p, string-width): Use defalias.
1797
1798 2001-01-03 Sam Steingold <sds@gnu.org>
1799
1800 * lisp/url-http.el (url-http-wait-for-headers-change-function):
1801 set `url-http-end-of-headers' to 0 for HTTP 0.9.
1802
1803 2001-01-02 Sam Steingold <sds@gnu.org>
1804
1805 * lisp/url-auth.el (provide): `url-auth', not `urlauth'.
1806
1807 2000-12-22 Dave Love <fx@gnu.org>
1808
1809 * lisp/url-history.el (url): Don't require (to avoid recursion).
1810 (cl): Require when compiling.
1811
1812 * lisp/url-http.el (url-auth): Require.
1813 (url-http-handle-authentication): Fix typo.
1814
1815 * lisp/url-cookie.el (url-cookie-setup-save-timer): Fix typo.
1816
1817 2000-12-20 Dave Love <fx@gnu.org>
1818
1819 * lisp/url.el: Require mm-decode, mm-view when compiling.
1820 <not (fboundp 'puthash)>: Define puthash and
1821 autoload other has functions rather than using cl-...hash.
1822 (url-warn): Define.
1823
1824 * lisp/url-ns.el, lisp/url-methods.el, lisp/url-http.el:
1825 Avoid cl-...hash functions.
1826
1827 * lisp/url-history.el: Avoid cl-...hash functions.
1828 (url): Require.
1829
1830 * lisp/url-gw.el, lisp/url-cookie.el: Require cl only when compiling.
1831
1832 2000-10-03 William M. Perry <wmperry@aventail.com>
1833
1834 * lisp/url-util.el (url-get-url-at-point): Guard against 'url'
1835 getting set to nil due to bad string matching. Subsequent matches
1836 would then choke because we passed string-match a nil.
1837
1838 * lisp/url-http.el (url-http-parse-headers): Need to make the
1839 connection as 'free' when we get a 304 response (found in cache),
1840 or when a keep-alive connection timed out, it would re-parse the
1841 headers and dispatch to the callback again. Eek.
1842
1843 2000-10-02 William M. Perry <wmperry@aventail.com>
1844
1845 * lisp/url-http.el (url-http-chunked-encoding-after-change-function):
1846 implement chunked transfer-coding.
1847 (url-http-create-request): We can now advertise ourselves as a 1.1
1848 compliant browser!
1849
1850 2000-07-28 Sam Steingold <sds@gnu.org>
1851
1852 * lisp/url-methods.el (url-scheme-default-loader): `callback' and
1853 `cbargs' are optional args (for calling from w3).
1854 (url-scheme-register-proxy): Typos fixes: `url-match' replaced
1855 with `string-match' and `protocol' with `scheme'.
1856
1857 2000-07-18 Sam Steingold <sds@gnu.org>
1858
1859 * lisp/url-handlers.el (require 'url): For url-retrieve-synchronously.
1860 * lisp/url-history.el (url-history-save-interval): Avoid circularity.
1861
1862 2000-07-10 William M. Perry <wmperry@aventail.com>
1863
1864 * lisp/mule-sysdp.el (mule-make-iso-character): If we are not in
1865 mule, and the character requested is > 255, then return "~"
1866 instead of letting whoever call us signal an error when they try
1867 to insert the character.
1868 (mule-make-iso-character): Also wrap the whole thing in a
1869 condition case and return "~" on error, in case make-char bombs on us.
1870
1871 * lisp/url-cid.el (url-cid): Fix stupid mistake in the loader
1872 for cid parts.
1873
1874 * lisp/url-util.el (url-display-percentage): New routine that uses
1875 the progress bar under XEmacs if available. Looks very sexy under
1876 XEmacs/GTK hacked to use the GNOME statusbar.
1877
1878 * lisp/url-http.el
1879 (url-http-content-length-after-change-function): Use new function
1880 url-display-percentage instead of url-lazy-message.
1881
1882 2000-01-27 William M. Perry <wmperry@aventail.com>
1883
1884 * lisp/url-file.el (url-file-build-filename): Work around for
1885 differences in ange-ftp / efs handling of port numbers other than 21.
1886
1887 1999-12-24 William M. Perry <wmperry@aventail.com>
1888
1889 * lisp/url-irc.el: Added pointer to draft specification for the
1890 IRC URL so people don't think I'm crazy.
1891
1892 * configure.in: Checks to make sure that Gnus was found, since we
1893 HAVE to have it now. Removed conditional compilation of url-cid.el.
1894
1895 1999-12-16 Eric Marsden <emarsden@mail.dotcom.fr>
1896
1897 * lisp/url-util.el (url-get-url-at-point): Allow URLs wrapped in
1898 () to have periods at the end of the chunk.
1899
1900 1999-12-14 William M. Perry <wmperry@aventail.com>
1901
1902 * lisp/url-misc.el (url-man): Implement `man' URL types.
1903 (url-info): Autoload.
1904 (url-man): Ditto.
1905 (url-rlogin): Ditto.
1906 (url-telnet): Ditto.
1907 (url-tn3270): Ditto.
1908 (url-generic-emulator-loader): Ditto.
1909
1910 * lisp/url-https.el (url-https-create-secure-wrapper): New macro
1911 to wrap arbitrary `http' methods with the appropriate magic to
1912 turn SSL on.
1913 (file-exists-p): Use it.
1914 (file-readable-p): Use it.
1915 (file-attributes): Use it.
1916
1917 * lisp/url-news.el (url-news-fetch-newsgroup): When building the
1918 server spec for Gnus, make sure we set
1919 nntp-open-connection-function directly, so that other news-related
1920 functions above us can set it.
1921 (url-snews): Implement `snews' URLs using `nntp-open-ssl-stream'.
1922 (url-nntp): Autoload.
1923 (url-snews): Ditto.
1924 (url-news): Ditto.
1925
1926 1999-12-12 William M. Perry <wmperry@aventail.com>
1927
1928 * lisp/url-http.el (url-http-parse-response): New function to
1929 parse just the HTTP response code out of the buffer, without
1930 taking any other actions.
1931 (url-http-wait-for-headers-change-function): Use it here when we
1932 know we have an HTTP/1.x response.
1933 (url-http-wait-for-headers-change-function): Special case a
1934 response code of '304' or there could be some delays waiting for
1935 keep-alives to time out on cached documents with no known
1936 content-length on the server.
1937
1938 1999-12-11 William M. Perry <wmperry@aventail.com>
1939
1940 * aclocal.m4 (AC_CHECK_CUSTOMLOADS): Don't use $(EMACS) in here -
1941 the Makefile does that for us. We just need to provide what files
1942 to load/functions to run.
1943
1944 * lisp/url-imap.el (url-imap-open-host): Need to bind
1945 nnimap-server-buffer or `nnimap-open-server' chokes trying to use
1946 the current buffer as the IMAP server buffer, which fails miserably.
1947
1948 1999-12-11 Simon Josefsson <jas@pdc.kth.se>
1949
1950 * lisp/url-imap.el: Initial (rough) implementation for IMAP urls.
1951
1952 1999-12-11 William M. Perry <wmperry@aventail.com>
1953
1954 * lisp/url-file.el (url-file-asynch-callback): Make the checks for
1955 ange-ftp vs. efs calling semantics consistent, so that if someone
1956 has NEITHER of them loaded, everything should still work.
1957
1958 * lisp/url-handlers.el (url-copy-file): Autoload.
1959 (url-file-local-copy): Ditto.
1960 (url-insert-file-contents): Ditto.
1961 (url-setup-file-name-handlers): Ditto.
1962
1963 1999-12-10 William M. Perry <wmperry@aventail.com>
1964
1965 * lisp/url-http.el (mail-parse): Since we use functions from here,
1966 we should require it, eh?
1967
1968 1999-12-10 Shenghuo ZHU <zsh@cs.rochester.edu>
1969
1970 * lisp/url-cookie.el (url-cookie-multiple-line): One line cookie
1971 if nil.
1972 (url-cookie-generate-header-lines): Use it.
1973
1974 1999-12-06 William M. Perry <wmperry@aventail.com>
1975
1976 * lisp/mule-sysdp.el (mule-code-convert-region): Deal with Mule
1977 4.1 gracefully.
1978
1979 * lisp/url-news.el: Reimplemented news and nntp URL support.
1980 No longer bothers to check for outdated Gnus versions, since this
1981 will not work without them anyway.
1982
1983 1999-12-05 Dave Love <fx@gnu.org>
1984
1985 * lisp/url-methods.el, lisp/url-proxy.el, lisp/url-util.el,
1986 lisp/url.el:
1987 Require url-parse.
1988
1989 1999-12-05 William M. Perry <wmperry@aventail.com>
1990
1991 * lisp/url-http.el (url-http-find-free-connection): Spit out a
1992 message when we have to contact a host so the user always gets
1993 at least some feedback.
1994
1995 * lisp/url-expand.el (url-expander-remove-relative-links): Moved and
1996 renamed function.
1997 (url-default-expander): Use it.
1998
1999 * lisp/url-file.el (url-file-asynch-callback): Deal with just efs-auto
2000 as well as efs.
2001 (url-file): Add default content-type of application/octet-stream if
2002 none known.
2003 (url-file): Correct bad call to url-host-is-local-p.
2004
2005 * lisp/url-handlers.el (url-insert-file-contents): Emacs doesn't
2006 like buffer-substring with nil arguments.
2007 (url-copy-file): Use mm-destroy-parts instead of just killing
2008 the buffer. Use defined interfaces when available!
2009 (url-insert-file-contents): Ditto.
2010
2011 * lisp/url-http.el (url-http-create-request): Lots of changes to
2012 get proxying working.
2013
2014 * lisp/url-methods.el (url-scheme-register-proxy): New function to
2015 find and register a proxy for a specific scheme.
2016 (url-scheme-get-property): Use it when we load a URL scheme for
2017 the first time.
2018
2019 * lisp/url-util.el (url-get-url-at-point): Re-integrated.
2020
2021 1999-12-04 William M. Perry <wmperry@aventail.com>
2022
2023 * lisp/url-file.el (url-file): Signal an error if
2024 url-file-build-filename could not find the filename.
2025
2026 1999-12-01 William M. Perry <wmperry@aventail.com>
2027
2028 * lisp/url.el (url-retrieve): Use url-history-update-url instead
2029 of manipulating the hash table directly.
2030
2031 * lisp/url-history.el (url-completion-function): New function to
2032 use for reading a URL with completion.
2033 (url-history-update-url): New function to hide the hashtable
2034 implementation from people inserting things into the history.
2035
2036 1999-11-30 William M. Perry <wmperry@aventail.com>
2037
2038 * lisp/url-proxy.el (url-proxy): Minor tweaks to get proxy support
2039 working.
2040
2041 * lisp/url-parse.el (url-generic-parse-url): Fix bad call to
2042 url-parse-args, which had changed the type of arguments it expects.
2043
2044 * lisp/url-handlers.el (url-insert-file-contents): Ditto.
2045 (url-copy-file): Ditto.
2046
2047 * lisp/url.el (url-mm-callback): Use mm-destroy-parts instead of
2048 just killing the buffer. Use defined interfaces when available!
2049
2050 * aclocal.m4 (AC_EMACS_LISP): Correctly redirect things out to
2051 AC_FD_CC so they show up in config.log
2052 (AC_EMACS_CHECK_LIB): Duh, fixed stupid mistake that would make
2053 this always return 't' instead of 'yes' on successfully finding
2054 the library.
2055
2056 * lisp/url-http.el (url-http-parse-headers): Add some
2057 DAV-specific error codes.
2058
2059 * lisp/url.el (url-retrieve): Allow pre-parsed URLs to be passed in.
2060 (url-retrieve-synchronously): Duh, make this function actually
2061 work again. Numerous problems with it, including variable name
2062 collisions - I love dynamically scoped lisps!
2063
2064 * lisp/url-nfs.el (url-nfs-create-wrapper): New function to create
2065 wrappers onto the appropriate file-based URLs for file-name-handlers.
2066
2067 * lisp/url-ftp.el: Moved the FTP stuff into it's own file - it
2068 might get messy with file-name-handlers and things.
2069
2070 * lisp/url-http.el (url-http-clean-headers): Fix problem when
2071 using 'HEAD' requests. Thou shalt not change the length of the
2072 region during an after-change-function.
2073
2074 * lisp/url-methods.el (url-scheme-methods): New variable that
2075 holds a list of the methods/variables we look for in a URL scheme.
2076 (url-scheme-get-property): Use it.
2077
2078 1999-11-29 William M. Perry <wmperry@aventail.com>
2079
2080 * lisp/url-http.el (url-http-file-attributes): Reimplement.
2081 (url-http-file-exists-p): Ditto.
2082
2083 * lisp/url-nfs.el: Reimplemented the `nfs' URL scheme.
2084
2085 * lisp/url-file.el (url-file-create-wrapper): New macro to create
2086 file-name-handler stubs for all the FTP/FILE stuff.
2087
2088 * lisp/url-handlers.el: New file to handle file-name-handler-alist
2089 cruft. Generic interface on top of functions that each URL
2090 loader provides, if capable.
2091
2092 1999-11-27 William M. Perry <wmperry@aventail.com>
2093
2094 * lisp/url-https.el: Implemented HTTPS support.
2095
2096 1999-11-26 William M. Perry <wmperry@aventail.com>
2097
2098 * url-privacy.el (url-setup-privacy-info): Don't rely on
2099 device-type being defined. Not going to bother redistributing
2100 devices.el for just one function.
2101
2102 * url-methods.el (url-scheme-get-property): Emacs does not have
2103 the 3rd-argument to plist-get to specify the default. *sigh*
2104
2105 * url-dired.el (add-minor-mode): Add definition for Emacs.
2106
2107 * url-http.el (url-http-generic-after-change-function):
2108 New function, since Emacs does not allow you to change the
2109 after-change-functions variable from within a function run by
2110 said hook. This just hands it off to the REAL function.
2111 Side-effect is that this now works on Emacs at all. :)
2112
2113 * Initial checkin of rewritten URL library.
2114
2115 ;; Local variables:
2116 ;; coding: utf-8
2117 ;; add-log-time-zone-rule: t
2118 ;; End:
2119
2120 Copyright (C) 1999, 2001, 2002, 2004, 2005,
2121 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
2122
2123 This file is part of GNU Emacs.
2124
2125 GNU Emacs is free software: you can redistribute it and/or modify
2126 it under the terms of the GNU General Public License as published by
2127 the Free Software Foundation, either version 3 of the License, or
2128 (at your option) any later version.
2129
2130 GNU Emacs is distributed in the hope that it will be useful,
2131 but WITHOUT ANY WARRANTY; without even the implied warranty of
2132 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2133 GNU General Public License for more details.
2134
2135 You should have received a copy of the GNU General Public License
2136 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
2137
2138 ;; arch-tag: ac117078-3091-4533-be93-098162ac2926