1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-30 00:51:50 -08:00
Commit graph

331 commits

Author SHA1 Message Date
Ted Zlatanov
4f0f72be56 mention bug#8706 in the last url-util.el ChangeLog entry 2012-05-15 04:53:49 -04:00
Ted Zlatanov
530e968e58 add url-build-query-string and improve url-parse-query-string as per bug#8706
* url/url-util.el (url-build-query-string): New function.
(url-parse-query-string): Allow that '=' is not required and split
URL parameters on ';', not just '&'.
2012-05-15 04:47:38 -04:00
Lars Magne Ingebrigtsen
ac9f0b75eb Make URL redirection work again.
The previous changes would make redirection fail, since the expansion
would end up with URLs that looked like "http:www.bing.com/hello".

* url-expand.el (url-default-expander): Copy over the fullness of
the new URL object based on the definition URL object.
2012-05-14 09:56:04 +02:00
Chong Yidong
9f9aa0448a Cleanups and improvements for FFAP and URL.
* ffap.el (ffap-url-unwrap-local): Make it work right.
Use url-generic-parse-url, and handle host names and Windows
filenames properly.
(ffap-url-unwrap-remote): Use url-generic-parse-url.
(ffap-url-unwrap-remote): Accept list values, specifying a list of
URL schemes to work on.
(ffap--toggle-read-only): New function.
(ffap-read-only, ffap-read-only-other-window)
(ffap-read-only-other-frame): Use it.
(ffap-fixup-url): Don't check ffap-ftp-regexp, since it is not
necessary for ffap-url-unwrap-remote.

* url-parse.el (url-path-and-query, url-port-if-non-default): New
functions.
(url-generic-parse-url): Don't set the portspec slot if it is not
specified; that is what `url-port' is for.
(url-port): Only require the scheme to be specified to call
url-scheme-get-property.

* url-util.el (url-encode-url): Use url-path-and-query.

* url-vars.el (url-mime-charset-string): Load mm-util lazily.

Fixes: debbugs:9131
2012-05-10 14:27:12 +08:00
Chong Yidong
bdac2d37fa * url-util.el (url--allowed-chars): Use upper-case for percent-encoding. 2012-05-09 20:20:26 +08:00
Chong Yidong
ce7b18ec41 Improve RFC 3986 conformance of url package.
Fix 2012-04-10 change to url.el.

* url-http.el (url-http-create-request): Ignore obsolete
attributes slot of url-object.

* url-parse.el: Improve RFC 3986 conformance.
(url-generic-parse-url): Do not populate the ATTRIBUTES slot,
since this is not reliable for general RFC 3986 URIs.  Keep the
whole path and query inside the FILENAME slot.  Improve docstring.
(url-recreate-url-attributes): Mark as obsolete.
(url-recreate-url): Handle missing scheme and userinfo.

* url-util.el (url-encode-url): New function for URL quoting.
(url-encoding-table, url-host-allowed-chars)
(url-path-allowed-chars): New constants.
(url--allowed-chars): New helper function.
(url-hexify-string): Use them.

* url-vars.el (url-nonrelative-link): Make the regexp stricter.

* url.el (url-retrieve-internal): Use url-encode-url.

Fixes: debbugs:7017
2012-05-09 16:33:48 +08:00
Stefan Monnier
e95a67dc75 Replace lexical-let by lexical-binding (except Gnus, CEDET, ERT).
* lisp/term/ns-win.el (ns-define-service):
* lisp/progmodes/pascal.el (pascal-goto-defun):
* lisp/progmodes/js.el (js--read-tab):
* lisp/progmodes/etags.el (tags-lazy-completion-table):
* lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
* lisp/emacs-lisp/ewoc.el (ewoc--wrap):
* lisp/emacs-lisp/assoc.el (aput, adelete, amake):
* lisp/doc-view.el (doc-view-convert-current-doc):
* lisp/url/url.el (url-retrieve-synchronously):
* lisp/vc/diff.el (diff-no-select): Replace lexical-let by lexical-binding.
2012-04-26 08:43:28 -04:00
Lars Magne Ingebrigtsen
8d8d31f91e Revert previous url-util patch.
The caller can as easily do the decoding themselves.
2012-04-10 19:02:04 +02:00
William Xu
a967e26b40 (url-retrieve-internal): Hexify multibye URL string first when necessary.
Also mention this in the relevant doc strings.

Fixes: debbugs:7017
2012-04-10 13:22:08 +02:00
Lars Magne Ingebrigtsen
4bbc3323df (url-unhex-string): Add an optional CODING-SYSTEM parameter.
Fixes: debbugs:6252
2012-04-10 04:14:13 +02:00
Lars Magne Ingebrigtsen
9ea49b28ab Add a policy list of domains that url.el can set cookies for
* etc/publicsuffix.txt: New file.

* lisp/url/url-cookie.el (url-cookie-two-dot-domains): Remove.
(url-cookie-host-can-set-p): Use `url-domsuf-cookie-allowed-p'
instead of the variable above.

Fixes: debbugs:1401
2012-04-10 03:57:45 +02:00
Lars Magne Ingebrigtsen
e0fe1d5589 Fix race condition in url-queue when doing the callback
* url-queue.el (url-queue-kill-job): Check whether the buffer has
been killed asynchronously before selecting it.
2012-03-25 15:38:22 +02:00
Lars Magne Ingebrigtsen
cc2ab73270 Always call the callback when timing out url-queue jobs
* url-queue.el (url-queue-kill-job): Make sure that the callback
is always called, even if we have a timeout.
2012-03-14 03:44:09 +01:00
Chong Yidong
091006330e Allow url-http to handle expired keepalive connections.
* lisp/url/url-http.el (url-http-end-of-document-sentinel): Handle
keepalive expiry by calling url-http again.
(url-http): New arg, for the above.

Fixes: debbugs:10223
2012-03-11 23:12:26 +08:00
Devon Sean McCullough
179f69112d Bugfix for url-http-find-free-connection.
* lisp/url/url-http.el (url-http-find-free-connection): Don't pass a nil
argument to url-http-mark-connection-as-busy.

Fixes: debbugs:10891
2012-03-11 17:43:01 +08:00
Lars Ingebrigtsen
27e7172ced Avoid a race condition in url-queue-kill-job
* url-queue.el (url-queue-kill-job): Delete the process sentinel
before killing the process to avoid a race condition between the
two processes killing off the process buffer.
2012-02-20 13:12:48 +01:00
Lars Ingebrigtsen
1e54a73bf0 Warn instead of erroring when pruning the URL cache
* url.el (url-retrieve-internal): Warn about file errors when
pruning the cache instead of bugging out.
2012-02-20 09:22:41 +01:00
Lars Ingebrigtsen
55645c6797 Make url-queue not kill a random buffer on error
* url-queue.el (url-queue-callback-function): Remove the job from
the queue so that we don't kill the current buffer, which will
then make the callback function kill a random buffer.
2012-02-19 09:49:09 +01:00
Lars Ingebrigtsen
f15bcb40f4 Kill jobs that we remove from the queue
* url-queue.el (url-queue-kill-job): Refactored out code.
(url-queue-remove-jobs-from-host): Use it to kill jobs that are in
flight.
2012-02-14 19:43:21 +01:00
Ted Zlatanov
e72a771d50 * url-future.el: Minor doc update. 2012-02-14 08:18:05 -05:00
Leo Liu
1deeb569b1 Remove unused require in url-future.el 2012-02-14 10:14:43 +08:00
Ted Zlatanov
6c0c7cfc67 Move url-future.el ERT test to test/automated/url-future-tests.el.
* lisp/url/url-future.el (url-future-test): Move to test/automated.

* test/automated/url-future-tests.el (url-future-tests): Move from
lisp/url/url-future.el and rename.
2012-02-13 13:45:36 -05:00
Lars Ingebrigtsen
3b8eb822d9 Cookie/redirection URL fixup
(url-http-parse-headers): When redirecting, pass on
the `inhibit-cookie' parameter.
2012-02-10 18:25:31 +01:00
Glenn Morris
a48ec60ca1 Fix previous URL doc change
* lisp/url/url-queue.el (url-queue-retrieve): Fic previous doc fix.

* doc/misc/url.texi (Retrieving URLs): Update url-retrieve arguments.
Mention url-queue-retrieve.

* etc/NEWS: Related edit.
2012-02-10 09:22:09 -08:00
Andreas Schwab
d7c5e1622f * url-http.el (url-http-clean-headers): Return the number of
removed characters.
	(url-http-wait-for-headers-change-function): Adjust end position
	after cleaning the headers.  (Bug#10768)
2012-02-10 12:36:42 +01:00
Glenn Morris
b74c9672c2 Document url-queue-retrieve
* doc/misc/url.texi (Retrieving URLs): Update url-retrieve arguments.
Mention url-queue-retrieve.

* lisp/url/url-queue.el (url-queue-retrieve): Doc fix.

* etc/NEWS: Edits.
2012-02-09 22:23:47 -05:00
Lars Ingebrigtsen
aacaa41911 Allow specifying whether to inhibit cookies on a per-URL basis
* url-http.el (url-http-create-request): Don't send cookies unless
requested.
(url-http-parse-headers): Don't store cookies unless requested.

* url.el (url-retrieve): Ditto

* url-queue.el (url-queue-retrieve): Take an optional
`inhibit-cookies' parameter.

* url-parse.el (url): Add the `use-cookies' slot to the URL struct
to be able to keep track of whether to do cookies or not on a
per-URL basis.
2012-02-08 01:04:42 +01:00
Lars Ingebrigtsen
7dd679eb09 Add extra checks before expiring the URL cache
(url-cache-prune-cache): Check that the directory exists before
trying to delete it.
2012-02-06 22:37:56 +01:00
Lars Ingebrigtsen
1968bb1b5c Expire URL items from the on-disk cache once in a while
* url.el (url-retrieve-number-of-calls): New variable.
(url-retrieve-internal): Use it to expire the cache once in a
while.

* url-cache.el (url-cache-prune-cache): New function.
2012-02-06 22:06:15 +01:00
Lars Ingebrigtsen
b6ea20f39c Try to mitigate DNS failures when downloading stuff asynchronously
* url-queue.el (url-queue-setup-runners): New function that uses
`run-with-idle-timer' for extra asynchronicity.
(url-queue-remove-jobs-from-host): New function.
(url-queue-callback-function): Remove jobs from the same host if
connection failed.
2012-02-06 02:13:24 +01:00
Juanma Barranquero
6df6ae42fe Fix typos in ChangeLogs. 2012-01-31 17:15:03 +01:00
Glenn Morris
e7a8cb8f82 * url-auth.el (url-digest-auth): Copy previous url-basic-auth change. 2012-01-12 00:14:41 -08:00
Glenn Morris
d8d469ef27 url-auth fix for password-protected urls in url-handler-mode.
* lisp/usr/url-auth.el (url-basic-auth): Allow reading usernames etc
when the minibuffer is already in use, eg in url-handler-mode.

Fixes: debbugs:10298
2012-01-12 00:11:24 -08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Juanma Barranquero
a98edce9ec Fix typos. 2011-12-06 02:30:54 +01:00
Paul Eggert
c80e3b4aed Spelling fixes. 2011-12-04 00:02:42 -08:00
Paul Eggert
e47695319f Spelling fixes. 2011-11-26 20:43:11 -08:00
Juanma Barranquero
c701515351 Fix typos. 2011-11-15 18:37:37 +01:00
Lars Magne Ingebrigtsen
122d94635f If the server hangs up while we're talking to it, just `message' the error instead of throwing an error. 2011-11-14 17:09:13 +01:00
Lars Magne Ingebrigtsen
14e1d9eab9 (url-cookie-expired-p): Protect against zero-length cookie expiry dates. 2011-11-03 22:53:59 +01:00
Chong Yidong
ac6c8639bd Fix more minor mode docstrings.
* lisp/emulation/cua-base.el (cua-mode):
* lisp/mail/footnote.el (footnote-mode):
* lisp/mail/mailabbrev.el (mail-abbrevs-mode):
* lisp/net/xesam.el (xesam-minor-mode):
* lisp/progmodes/bug-reference.el (bug-reference-mode):
* lisp/progmodes/cap-words.el (capitalized-words-mode):
* lisp/progmodes/compile.el (compilation-minor-mode)
(compilation-shell-minor-mode):
* lisp/progmodes/gud.el (gud-tooltip-mode):
* lisp/progmodes/hideif.el (hide-ifdef-mode):
* lisp/progmodes/idlw-shell.el (idlwave-shell-electric-debug-mode):
* lisp/progmodes/subword.el (subword-mode):
* lisp/progmodes/vhdl-mode.el (vhdl-electric-mode, vhdl-stutter-mode):
* lisp/progmodes/which-func.el (which-function-mode):
* lisp/term/tvi970.el (tvi970-set-keypad-mode):
* lisp/term/vt100.el (vt100-wide-mode):
* lisp/textmodes/flyspell.el (flyspell-mode):
* lisp/textmodes/ispell.el (ispell-minor-mode):
* lisp/textmodes/nroff-mode.el (nroff-electric-mode):
* lisp/textmodes/paragraphs.el (use-hard-newlines):
* lisp/textmodes/refill.el (refill-mode):
* lisp/textmodes/reftex.el (reftex-mode):
* lisp/textmodes/rst.el (rst-minor-mode):
* lisp/textmodes/sgml-mode.el (html-autoview-mode)
(sgml-electric-tag-pair-mode):
* lisp/textmodes/tex-mode.el (latex-electric-env-pair-mode):
* lisp/vc/diff-mode.el (diff-auto-refine-mode, diff-minor-mode):
* lisp/emulation/crisp.el (crisp-mode):
* lisp/emacs-lisp/eldoc.el (eldoc-mode):
* lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode): Doc fixes for new
minor mode behavior.

* lisp/erc/erc-fill.el (erc-fill-mode):
* lisp/erc/erc-track.el (erc-track-minor-mode): Doc fix.

* lisp/erc/erc.el (define-erc-module): Fix autogenerated docstring to
reflect Emacs 24 minor mode changes.

* lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Doc fix (in Emacs 24,
calling a minor mode from Lisp with nil arg enables it, so we have to
make the working a bit ambiguous here).
2011-10-19 20:26:14 -04:00
Christopher J. White
b02ba905b4 * url-http.el (url-http-create-request): Avoid adding extra CRLF (Bug#8931). 2011-09-24 18:58:40 -04:00
Lars Magne Ingebrigtsen
ad87170ff3 Fix URL connection failing handling.
* url-http.el (url-http-find-free-connection): If there was an
error on connect, make sure the user isn't bothered with
irrelevant questions.
2011-09-13 19:18:08 +02:00
Chong Yidong
98fdd2b837 * url-http.el (url-http-parse-headers): For HTTP 301/302/307, don't convert to a GET request.
Fixes: debbugs:701
2011-08-07 13:48:11 -04:00
Chris Newton
b0c9af93ab Copy over `url-show-status' to the async buffer
* url-http.el (url-http): Copy over `url-show-status' to the async
buffer so that `url-display-percentage' does the right thing
(bug#4680).
2011-07-13 16:12:06 +02:00
Julien Danjou
53d2167130 * url-cache.el (url-cache-extract): Set buffer multibyte flag to
nil (bug#8827).
2011-07-06 09:47:15 +02:00
Nicolas Avrutin
3487ca85e8 * url-http.el (url-http-create-request): Remove double carriage
return and newline.

Fixes: debbugs:8931
2011-07-03 18:03:47 +02:00
Lars Magne Ingebrigtsen
9aec558af4 * url-http.el (url-http-wait-for-headers-change-function): Remove
pointless "HTTP/0.9 How I hate thee!" message.

Fixes: debbugs:6735
2011-07-03 15:08:40 +02:00
Andreas Schwab
5993c059db * lisp/url/url-future.el (url-future-test): Fix scope of `saver'. 2011-06-04 09:53:22 +02:00
Glenn Morris
3b7d5980c9 Add :version tags for url-queue.el.
* lisp/url/url-queue.el (url-queue-parallel-processes, url-queue-timeout):
Add :version tag for options that will be new in 24.1.
2011-06-01 10:34:24 -07:00