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

641 commits

Author SHA1 Message Date
Tao Fang
7b9a5c2a45 Fix: (void-variable url-http-response-status)
* lisp/url/url-http.el
(url-https-proxy-after-change-function): Display the error
message before doing the callback to avoid a void variable
situation (bug#23290).
2016-04-26 01:24:44 +02:00
Lars Magne Ingebrigtsen
77ba0f1c5a `url-retrieve-synchronously' now takes an optional timeout parameter
* doc/misc/url.texi (Retrieving URLs): Document optional parameters.

* lisp/url/url.el (url-retrieve-synchronously): Allow passing
in a timeout parameter (bug#22940).
2016-04-26 00:47:51 +02:00
Clément Pit--Claudel
234ef3b432 Compute User-Agent dynamically in url-http
* url-http.el (url-http-user-agent-string): Compute User-Agent
string dynamically.
(url-http--user-agent-default-string): New function.

* url-vars.el (url-privacy-level): Allow `emacs' in list of
information not to send.
(url-user-agent): Add nil and `default' options; do not
pre-compute value.
2016-04-24 14:51:33 +02:00
Tao Fang
3c623c26ae Allow URL using HTTPS proxies using CONNECT
* lisp/url/url-http.el (url-http-find-free-connection): Allow
using proxies (bug#11788).
(url-http-end-of-document-sentinel): Ditto.
(url-http): The protocol may change from http to https and
vice versa.
(url-https-proxy-connect): Allow using CONNECT proxies for https.
2016-04-04 22:21:34 +02:00
Lars Ingebrigtsen
144bb0cf32 Allow binding `url-mime-accept-string'
* lisp/url/url-http.el (url-http): Allow binding
`url-mime-accept-string' (bug#22855).
2016-03-01 14:49:26 +11:00
Lars Ingebrigtsen
dfcdc1cbed Allow deleting all non-matching cookies
* lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
keeping matching cookies (bug#22720).
2016-02-23 12:51:24 +11:00
Lars Ingebrigtsen
f577f59a52 Fix merge conflicts in network-stream-tests.el 2016-02-22 15:06:33 +11:00
Lars Ingebrigtsen
3e67708d72 Add a function to delete URL cookies
* doc/misc/url.texi (Cookies): Document
url-cookie-delete-cookies.

* lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
2016-02-21 16:57:04 +11:00
Lars Ingebrigtsen
1bbffcd9d7 Remove debugging 2016-02-16 13:24:47 +11:00
Lars Ingebrigtsen
7f3441cc33 Do most of the coding system setup earlier
* src/process.c (Fmake_network_process): Set the read/write
coding systems here, so that special bindings work.
(Fmake_network_process): Complete the coding system setup here.
2016-02-16 13:01:05 +11:00
Lars Ingebrigtsen
204847702b Use :nowait t in url-gw
* lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
since we're not differentiating.
2016-02-15 15:59:49 +11:00
Lars Ingebrigtsen
da66e55850 Ensure progress when fetching from the queue
* lisp/url/url-queue.el (url-queue-check-progress): Ensure
that we have progress when fetching queued requests (bug#22576).
2016-02-08 17:13:01 +11:00
Lars Ingebrigtsen
12702b312b Make url.el use async DNS
* lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.

* src/process.c (syms_of_process): Add a `dns' subfeature for
make-network-process.
2016-02-05 14:03:26 +11:00
Nicolas Petton
46dfdd831b Do not ignore redirections of 301, 302 and 307 status codes
The current version of HTTP/1.1 (RFC 7231) no longer requires
confirmation on 301, 302 or 307 status codes, therefore we do not have
to ignore redirects for other requests than GET and HEAD.

* lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
and 307 redirects for other requests than GET and HEAD.
2016-02-04 21:43:42 +01:00
Lars Ingebrigtsen
cecf6c9ac5 Rework the mechanisms for async GnuTLS connections
* lisp/net/gnutls.el (open-gnutls-stream): Compute the
gnutls-boot parameters and pass them to the process object.
(gnutls-negotiate): New parameter :return-keywords that won't
connect to anything, just compute the keywords.

* lisp/url/url-http.el (url-http): Revert async TLS sentinel
hack, which is no longer necessary.

* src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
gnutls-mark-process.

* src/process.c (connect_network_socket): If we're connecting to
an asynchronous TLS socket, complete the GnuTLS boot sequence here.

* src/process.h: New parameter gnutls_async_parameters.
2016-01-31 02:32:21 +01:00
Lars Ingebrigtsen
0f47153b97 Implement asynchronous GnuTLS connections
* doc/misc/emacs-gnutls.texi (Help For Developers): Mention
the nowait parameter.

* lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
connections with the new nowait parameter.

* lisp/net/network-stream.el (network-stream-open-tls): Pass
on :nowait to open-gnutls-stream.

* lisp/url/url-http.el (url-http): Don't overwrite the
sentinel created by open-gnutls-stream.

* src/gnutls.c (Fgnutls_mark_process): New function.

* src/process.c (send_process): Don't write to GnuTLS sockets that
haven't been initialised yed.

* src/process.h: New slot gnutls_wait_p.
2016-01-31 01:34:45 +01:00
John Wiegley
6acd2aa02c - 2016-01-18 22:56:33 -08:00
Glenn Morris
30d465b060 Fix some custom types.
* lisp/gnus/gnus-fun.el (gnus-x-face-omit-files, gnus-face-omit-files):
* lisp/gnus/gnus.el (gnus-valid-select-methods):
* lisp/mail/rmail.el (rmail-get-coding-function):
* lisp/net/newst-treeview.el (newsticker-groups-filename):
* lisp/progmodes/hideif.el (hide-ifdef-exclude-define-regexp):
* lisp/textmodes/tildify.el (tildify-space-predicates):
* lisp/url/url-tramp.el (url-tramp-protocols):
Fix custom types.
2016-01-12 20:32:20 -05:00
John Wiegley
1dd4f26ab6 Merge from origin/emacs-25
ef33bc7 Spelling and grammar fixes
9c3dbab Fix copyright years by hand
0e96320 Update copyright year to 2016
2016-01-11 22:48:07 -08:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
John Wiegley
9f2f14a072 Merge emacs-25 into master (using imerge) 2015-12-29 21:40:28 -08:00
Jose A. Ortega Ruiz
499dac5497 Fix URL auth error message
* lisp/url/url-http.el (url-http-handle-authentication): Make the error
message more correct (bug#20069).

Copyright-paperwork-exempt: yes
2015-12-29 01:27:48 +01:00
Lars Ingebrigtsen
8b61c22ea1 IDNA-related fixes for the URL library
* lisp/url/url-http.el (url-http-create-request): IDNA-encode
the Host: header.

* lisp/url/url-util.el (url-encode-url): Don't hex-encode
domain names, but leave them as UTF-8, so that they can be
IDNA-encoded later when contacting the host.
2015-12-29 00:11:06 +01:00
James Stout
57029f3d84 Make chunked encoding trailer detection more compliant
* lisp/url/url-http.el
(url-http-chunked-encoding-after-change-function): Make
trailer detection more compliant (bug#16345).

Copyright-paperwork-exempt: yes
2015-12-28 20:55:36 +01:00
Alain Schneble
8dea6fe5b5 Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
* test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
* test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
* lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
information in URL-struct.
* lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
path and query into nil path and query, respectively.
* lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
empty path into an absolute ("/") path.
* lisp/url/url-expand.el (url-expand-file-name): Properly resolve
fragment-only URIs. Do not just return them unchanged.
* lisp/url/url-expand.el (url-default-expander): An empty path in the relative
reference URI should not drop the last segment.

Backport:

(cherry picked from commit b792ecea17)
2015-12-26 14:53:08 +01:00
Eli Zaretskii
bda3c4600b Document 'url-user-agent'.
* lisp/url/url-http.el (url-user-agent): Move from here...
* lisp/url/url-vars.el (url-user-agent): ...to here.  This is to
keep all the URL defcustoms in one place, and also have it defined
whenever the URL library is loaded.

* doc/misc/url.texi (Customization): Document 'url-user-agent'.
2015-12-26 15:31:32 +02:00
Alain Schneble
b792ecea17 Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
* test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
* test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
* lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
information in URL-struct.
* lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
path and query into nil path and query, respectively.
* lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
empty path into an absolute ("/") path.
* lisp/url/url-expand.el (url-expand-file-name): Properly resolve
fragment-only URIs. Do not just return them unchanged.
* lisp/url/url-expand.el (url-default-expander): An empty path in the relative
reference URI should not drop the last segment.
2015-12-26 00:50:25 +01:00
Lars Ingebrigtsen
0697719d73 Let url use default file modes when copying files
* lisp/url/url-handlers.el (url-copy-file): Use default file
modes when copying files (bug#11400).
2015-12-25 22:36:32 +01:00
Devon Sean McCullough
344303c8d9 Doc fix for url-http
* lisp/url/url-http.el (url-http): Document better return values
  (bug#13187) (tiny change)
2015-12-25 22:21:22 +01:00
Lars Ingebrigtsen
24228d28dc Allow http://user:pass@foo/ URLs again
* lisp/url/url-auth.el (url-basic-auth): Allow explicit
user/passwords in URLs (bug#19046).

Backport:

(cherry picked from commit b563715a2d)
2015-12-25 20:22:02 +01:00
Lars Ingebrigtsen
b563715a2d Allow http://user:pass@foo/ URLs again
* lisp/url/url-auth.el (url-basic-auth): Allow explicit
user/passwords in URLs (bug#19046).
2015-12-25 20:21:46 +01:00
Samer Masterson
f41c54b763 Autoload url-insert-buffer-contents
* lisp/url/url-handlers.el: Add autoload cookie so that
`package-list-packages' doesn't bug out (bug#21927) (tiny change)

Backport:

(cherry picked from commit 7a7b5b492f)
2015-12-25 19:05:21 +01:00
Samer Masterson
7a7b5b492f Autoload url-insert-buffer-contents
* lisp/url/url-handlers.el: Add autoload cookie so that
`package-list-packages' doesn't bug out (bug#21927) (tiny change)
2015-12-25 19:04:55 +01:00
Lars Ingebrigtsen
eeff251924 Don't store cookies with empty names
* lisp/url/url-cookie.el (url-cookie-store): Refuse to store
cookies with empty names (bug#21936).

Backport:

(cherry picked from commit 9f0fd7cb1a)
2015-12-25 17:03:53 +01:00
Lars Ingebrigtsen
9f0fd7cb1a Don't store cookies with empty names
* lisp/url/url-cookie.el (url-cookie-store): Refuse to store
cookies with empty names (bug#21936).
2015-12-25 06:33:25 +01:00
Eli Zaretskii
bcf4913e06 Allow 'browse-url-emacs' visit non-existent URLs
* lisp/url/url-handlers.el (url-insert-file-contents): Don't
signal an error if VISIT is non-nil, to more faithfully emulate
the behavior of 'insert-file-contents'.  (Bug#22160)
2015-12-19 11:54:18 +02:00
Paul Eggert
ac16149ba4 Fix docstring quoting problems with ‘ '’
Problem reported by Artur Malabarba in:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
Most of these fixes are to documentation; many involve fixing
longstanding quoting glitches that are independent of the
recent substitute-command-keys changes.  The changes to code are:
* lisp/cedet/mode-local.el (mode-local-augment-function-help)
(describe-mode-local-overload):
Substitute docstrings before displaying them.
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
Quote the generated docstring for later substitution.
2015-11-17 15:29:35 -08:00
Artur Malabarba
7cc233e1e3 * lisp/emacs-lisp/package.el: Fix a decoding issue
(package--with-response-buffer): Use `url-insert-buffer-contents'.
The previous code had some issues with decoding. Refactoring that
function allows us to use the decoding from url-handlers while still
treating both sync and async requests the same.

* lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
`url-insert-buffer-contents'.
(url-insert-buffer-contents): New function
2015-11-15 21:35:06 +00:00
Artur Malabarba
d99ccd6dd1 Backport: * lisp/emacs-lisp/package.el: Fix a decoding issue.
* lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
`url-insert-buffer-contents'.
(url-insert-buffer-contents): New function

(package--with-response-buffer): Use `url-insert-buffer-contents'.
The previous code had some issues with decoding. Refactoring that
function allows us to use the decoding from url-handlers while still
treating both sync and async requests the same.
2015-11-15 21:32:47 +00:00
Dmitry Gutov
ffa41ad2a0 Don't require default-directory to end with a slash
* doc/lispref/files.texi (Magic File Names): Document the change
in unhandled-file-name-directory.

* lisp/url/url-handlers.el
(url-handler-unhandled-file-name-directory): Update accordingly.

* src/buffer.c (default-directory): Update the docsting.

* src/fileio.c (unhandled-file-name-directory): Default to calling
`file-name-as-directory'
(http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
2015-10-29 03:01:45 +02:00
Thomas Fitzsimmons
325200ac1d Do not include authorization header in an HTTP redirect
* lisp/url/url-http.el (url-http-parse-headers): Do not
automatically include Authorization header in redirect.
(Bug#21350)
2015-09-23 01:58:13 -04:00
Paul Eggert
284c470ef7 Backslash cleanup in Elisp source files
This patch should not change behavior.  It typically omits backslashes
where they are redundant (e.g., in the string literal "^\$").
In a few places, insert backslashes where they make regular
expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
"^\\*", which has the same effect as a regular expression.
Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
RCS IDs, as that makes it clearer that the backslash is intended.
2015-09-17 16:09:39 -07:00
Paul Eggert
26bd978d87 Fix some more docstring etc. quoting problems
Mostly these fixes prevent the transliteration of apostrophes
that should stay apostrophes.  Also, prefer curved quotes in
Bahá’í proper names, as that’s the preferred Bahá’í style and
these names are chock-full of non-ASCII characters anyway.
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
(eieio-defclass-internal):
* lisp/emacs-lisp/eieio.el (defclass):
* lisp/hi-lock.el (hi-lock-mode):
Don’t transliterate Lisp apostrophes when generating a
doc string or diagnostic.
* lisp/international/mule-diag.el (list-coding-systems-1):
* lisp/international/ogonek.el (ogonek-jak, ogonek-how):
* lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
* lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
Substitute quotes before putting them in the help buffer.
2015-09-03 15:32:54 -07:00
Paul Eggert
8bbff0d64d Quoting fixes in lisp mail, mh-e, net, url
* lisp/mail/emacsbug.el (report-emacs-bug)
(report-emacs-bug-hook): Use straight quotes in outgoing email,
* lisp/mail/feedmail.el (feedmail-message-action-help-blat):
* lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
* lisp/mail/rmailout.el (rmail-output-read-file-name):
* lisp/net/imap.el (imap-interactive-login):
* lisp/net/tls.el (open-tls-stream):
* lisp/url/url-auth.el (url-register-auth-scheme):
Respect ‘text-quoting-style’ in diagnostics.
* lisp/mh-e/mh-e.el (mh-sortm-args):
Quote docstring example using text quotes, not as a Lisp quote.
2015-08-31 12:56:10 -07:00
Paul Eggert
760701ebe1 Don't quote symbols 'like-this' in docstrings etc.
* admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
* lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
* lisp/allout.el (allout-add-resumptions, allout-mode):
* lisp/calculator.el (calculator-operators):
* lisp/cedet/data-debug.el (dd-propertize):
* lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
* lisp/cedet/semantic/analyze/debug.el:
(semantic-analyzer-debug-global-miss-text):
* lisp/cedet/semantic/lex-spp.el:
(semantic-lex-spp-replace-or-symbol-or-keyword):
* lisp/cedet/semantic/symref.el:
(semantic-symref-cleanup-recent-buffers-fcn):
* lisp/cedet/semantic/tag.el (semantic-tag-class):
* lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
* lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
* lisp/gnus/pop3.el (pop3-authentication-scheme):
* lisp/help-fns.el (describe-function-orig-buffer):
* lisp/imenu.el (imenu--history-list):
* lisp/mail/feedmail.el (feedmail-confirm-outgoing)
(feedmail-display-full-frame, feedmail-deduce-bcc-where)
(feedmail-queue-default-file-slug)
(feedmail-queue-buffer-file-name):
* lisp/net/mairix.el (mairix-searches-mode-map):
* lisp/net/newst-backend.el (newsticker-retrieval-method)
(newsticker-auto-mark-filter-list):
* lisp/obsolete/vi.el (vi-mode):
* lisp/progmodes/cc-engine.el (c-literal-type):
* lisp/progmodes/cpp.el (cpp-face):
* lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
* lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
* lisp/progmodes/pascal.el (pascal-auto-lineup):
* lisp/progmodes/prog-mode.el (prog-widen):
* lisp/progmodes/verilog-mode.el (verilog-regexp-words)
(verilog-auto-lineup, verilog-auto-reset-widths)
(verilog-auto-arg-format, verilog-auto-inst-template-numbers):
* lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
(flyspell-maybe-correct-doubling):
* lisp/textmodes/table.el (table-justify, table-justify-cell)
(table-justify-row, table-justify-column, table-insert-sequence)
(table--justify-cell-contents):
* lisp/url/url-auth.el (url-get-authentication):
* lisp/window.el (display-buffer-record-window):
* lisp/xml.el (xml-parse-file, xml-parse-region):
* src/gfilenotify.c (Fgfile_add_watch):
Don't quote symbols with apostrophes in doc strings.
Use asymmetric quotes instead.
* lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
Likewise for symbol in diagnostic.
* lisp/image.el (image-extension-data):
* lisp/register.el (frame-configuration-to-register):
* src/buffer.c (syms_of_buffer):
Remove bogus apostrophes after symbols.
* lisp/thumbs.el (thumbs-conversion-program):
Quote Lisp string values using double-quotes, not apostrophes.
2015-08-20 17:34:57 -07:00
Glenn Morris
20cca4738a * lisp/url/url-handlers.el (url-file-name-completion)
(url-file-name-all-completions): Silence compiler.
2015-05-11 23:51:58 -07:00
Glenn Morris
5b0af214c8 Quieten compilation, eg in --without-x builds.
* lisp/dired-aux.el (lpr-printer-switch):
* lisp/frame.el (tool-bar-height):
* lisp/linum.el (font-info):
* lisp/window.el (font-info, overflow-newline-into-fringe)
(tool-bar-height):
* lisp/emacs-lisp/package-x.el (tar-data-buffer):
* lisp/gnus/gnus-util.el (iswitchb-mode):
* lisp/mail/rmailmm.el (libxml-parse-html-region):
* lisp/net/nsm.el (gnutls-peer-status)
(gnutls-peer-status-warning-describe):
* lisp/net/shr.el (libxml-parse-xml-region):
* lisp/url/url-http.el (gnutls-peer-status): Declare.
2015-05-08 20:13:47 -04:00
Paul Eggert
dd1404cca3 Rename ChangeLogs for gitlog-to-changelog
This patch was implemented via the following shell commands:
find * -name ChangeLog |
sed 's,.*,git mv & &.1,
s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
s, src/ChangeLog\.1$, src/ChangeLog.13,' |
sh
git commit -am"[this commit message]"
2015-04-07 00:00:06 -07:00
Stefan Monnier
8599360928 (url-insert-file-contents): Set buffer-file-coding-system
Fixes: debbugs:20010

* lisp/url/url-handlers.el (url-insert-file-contents): Call
after-insert-file-set-coding like insert-file-contents, to set
buffer-file-coding-system.
2015-03-15 14:21:04 -04:00
Glenn Morris
1ee99b6fbd # ChangeLog fix 2015-02-20 19:36:54 -05:00