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

248 commits

Author SHA1 Message Date
Michael Albinus
8032423239 Make url-http thread-safe (Bug#73199)
* lisp/url/url-http.el (url-http-open-connections): Adapt docstring.
(current-thread, thread-live-p): Declare.
(url-http-mark-connection-as-busy)
(url-http-mark-connection-as-free)
(url-http-find-free-connection): Use extended hash key.  (Bug#73199)
2024-10-11 12:06:08 +02:00
Basil L. Contovounesios
f7c2fe3337 Pacify some docstring control char warnings
Other instances are discussed in the following thread:
https://lists.gnu.org/r/emacs-devel/2024-02/msg00797.html

* lisp/allout.el (allout-command-prefix): Declare :type as
key-sequence.  Mark up key sequences in docstring.
* lisp/auth-source.el (auth-source--decode-octal-string):
* lisp/ffap.el (ffap-search-backward-file-end):
* lisp/gnus/gnus-art.el (gnus-page-delimiter):
* lisp/gnus/nnheader.el (nnheader-strip-cr):
* lisp/proced.el (proced-log):
* lisp/progmodes/idlw-shell.el (idlwave-shell-prompt-pattern):
* lisp/url/url-http.el (url-http-clean-headers):
* lisp/vcursor.el (vcursor-interpret-input): Quote control
characters in docstrings.
2024-02-28 17:04:20 +01:00
Po Lu
ecf08f0621 Merge from savannah/emacs-29
dc4e6b1329 ; Update copyright years in more files
64b3777631 ; Run set-copyright from admin.el
8e1c56ae46 ; Add 2024 to copyright years

# Conflicts:
#	doc/misc/modus-themes.org
#	doc/misc/texinfo.tex
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
#	etc/themes/modus-operandi-theme.el
#	etc/themes/modus-themes.el
#	etc/themes/modus-vivendi-theme.el
#	lib/alloca.in.h
#	lib/binary-io.h
#	lib/c-ctype.h
#	lib/c-strcasecmp.c
#	lib/c-strncasecmp.c
#	lib/careadlinkat.c
#	lib/cloexec.c
#	lib/close-stream.c
#	lib/diffseq.h
#	lib/dup2.c
#	lib/filemode.h
#	lib/fpending.c
#	lib/fpending.h
#	lib/fsusage.c
#	lib/getgroups.c
#	lib/getloadavg.c
#	lib/gettext.h
#	lib/gettime.c
#	lib/gettimeofday.c
#	lib/group-member.c
#	lib/malloc.c
#	lib/md5-stream.c
#	lib/md5.c
#	lib/md5.h
#	lib/memmem.c
#	lib/memrchr.c
#	lib/nanosleep.c
#	lib/save-cwd.h
#	lib/sha1.c
#	lib/sig2str.c
#	lib/stdlib.in.h
#	lib/strtoimax.c
#	lib/strtol.c
#	lib/strtoll.c
#	lib/time_r.c
#	lib/xalloc-oversized.h
#	lisp/auth-source-pass.el
#	lisp/emacs-lisp/lisp-mnt.el
#	lisp/emacs-lisp/timer.el
#	lisp/info-look.el
#	lisp/jit-lock.el
#	lisp/loadhist.el
#	lisp/mail/rmail.el
#	lisp/net/ntlm.el
#	lisp/net/webjump.el
#	lisp/progmodes/asm-mode.el
#	lisp/progmodes/project.el
#	lisp/progmodes/sh-script.el
#	lisp/textmodes/flyspell.el
#	lisp/textmodes/reftex-toc.el
#	lisp/textmodes/reftex.el
#	lisp/textmodes/tex-mode.el
#	lisp/url/url-gw.el
#	m4/alloca.m4
#	m4/clock_time.m4
#	m4/d-type.m4
#	m4/dirent_h.m4
#	m4/dup2.m4
#	m4/euidaccess.m4
#	m4/fchmodat.m4
#	m4/filemode.m4
#	m4/fsusage.m4
#	m4/getgroups.m4
#	m4/getloadavg.m4
#	m4/getrandom.m4
#	m4/gettime.m4
#	m4/gettimeofday.m4
#	m4/gnulib-common.m4
#	m4/group-member.m4
#	m4/inttypes.m4
#	m4/malloc.m4
#	m4/manywarnings.m4
#	m4/mempcpy.m4
#	m4/memrchr.m4
#	m4/mkostemp.m4
#	m4/mktime.m4
#	m4/nproc.m4
#	m4/nstrftime.m4
#	m4/pathmax.m4
#	m4/pipe2.m4
#	m4/pselect.m4
#	m4/pthread_sigmask.m4
#	m4/readlink.m4
#	m4/realloc.m4
#	m4/sig2str.m4
#	m4/ssize_t.m4
#	m4/stat-time.m4
#	m4/stddef_h.m4
#	m4/stdint.m4
#	m4/stdio_h.m4
#	m4/stdlib_h.m4
#	m4/stpcpy.m4
#	m4/strnlen.m4
#	m4/strtoimax.m4
#	m4/strtoll.m4
#	m4/time_h.m4
#	m4/timegm.m4
#	m4/timer_time.m4
#	m4/timespec.m4
#	m4/unistd_h.m4
#	m4/warnings.m4
#	nt/configure.bat
#	nt/preprep.c
#	test/lisp/register-tests.el
2024-01-02 10:28:14 +08:00
Po Lu
8e1c56ae46 ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
Stefan Kangas
346e571230 Never send user email address in HTTP requests
It used to be possible to customize 'url-privacy-level' so that the
user's email address was sent along in HTTP requests.  Since
'url-privacy-level' is also a blocklist, rather than an allowlist,
this meant that a mere misconfiguration of Emacs risked exposing the
user's email address.  This is a serious privacy risk, and it is thus
better if we remove this dangerous feature altogether.

* lisp/url/url-http.el (url-http-create-request): Never send the
user email address.
* lisp/url/url-vars.el (url-personal-mail-address): Make obsolete.
* lisp/url/url-privacy.el (url-setup-privacy-info): Don't set
above obsolete variable.
* doc/misc/url.texi (Customization):
* lisp/url/url-vars.el (url-privacy-level): Update documentation
to reflect the above changes.
2023-12-17 10:00:22 +01:00
Eli Zaretskii
cae528457c ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
Stefan Kangas
321f33a2b1 Improve how url-http displays status messages
* lisp/url/url-util.el (url-display-message): New function.
(url-display-percentage): Make obsolete in favor of
url-display-message.

* lisp/url/url-http.el
(url-http-content-length-after-change-function):
Prefer 'url-display-message' to 'url-display-percentage'.
(url-http-content-length-after-change-function)
(url-http-chunked-encoding-after-change-function):
Remove ineffectual calls to 'url-display-percentage'.
2022-08-07 13:14:20 +02:00
Lars Ingebrigtsen
8348ace63a Revert "Fix about:protocols in EWW"
This reverts commit b49c174010.

We're making this obsolete instead.
2022-08-04 11:09:40 +02:00
Po Lu
b49c174010 Fix about:protocols in EWW
* lisp/net/eww.el (eww--dwim-expand-url): Handle `about: ' URLs.
(bug#56885)
* lisp/url/url-about.el (url-about): Return correct content type
for HTML data.
* lisp/url/url-http.el (url-http--get-referer): Refrain from
looking for a referrer if the lastloc had no host.
2022-08-04 15:52:03 +08:00
Stefan Kangas
836ef4293f Make url-util space trimming functions obsolete
* lisp/url/url-util.el (url-eat-trailing-space)
(url-strip-leading-spaces): Make obsolete in favor of
'string-trim'.  Update caller.
2022-08-03 10:39:47 +02:00
Stefan Kangas
4e79f77635 Merge from origin/emacs-28
5e47ec9511 ; * lisp/url/url-http.el (url-http-parse-headers): Fix typo.
ba0871bef1 ; Fix typos: prefer American spelling
e3e7f31faa Adapt Tramp doc

# Conflicts:
#	etc/NEWS
#	etc/themes/modus-themes.el
#	lisp/emacs-lisp/byte-opt.el
#	test/lisp/so-long-tests/spelling-tests.el
2022-07-14 11:37:42 +02:00
Stefan Kangas
5e47ec9511 ; * lisp/url/url-http.el (url-http-parse-headers): Fix typo. 2022-07-13 13:11:46 +02:00
Lars Ingebrigtsen
d22bd210af Improve url-http debugging
* lisp/url/url-http.el (url-http-parse-headers): Output the
headers we receive in the debug output.
* lisp/url/url-vars.el (url-extensions-header): Remove useless header.
2022-05-12 14:07:45 +02:00
Nacho Barrientos
26faa2b943 Unify local variable initialisation in url-http
* lisp/url/url-http.el (url-http-chunked-last-crlf-missing): Treat
url-http-chunked-last-crlf-missing as any other buffer variable by
declaring and initialising it the same way as the other related
ones (bug#54989).

Copyright-paperwork-exempt: yes
2022-04-18 11:37:12 +02:00
Nacho Barrientos
0829c6836e Fix chunked encoding connections in url-http
* lisp/url/url-http.el
(url-http-chunked-encoding-after-change-function): Ensure that chunked
encoding is interpreted correctly (bug#54989).

As per [0], the last chunk of 0 bytes is always accompanied by a last
CRLF that signals the end of the message:

     chunked-body   = *chunk
                      last-chunk
                      trailer-part
                      CRLF
                      ^ this one

     chunk          = chunk-size [ chunk-ext ] CRLF
                      chunk-data CRLF
     chunk-size     = 1*HEXDIG
     last-chunk     = 1*("0") [ chunk-ext ] CRLF

     chunk-data     = 1*OCTET ; a sequence of chunk-size octets

`url-http-chunked-encoding-after-change-function' is able to process
(and remove) that terminator IF AVAILABLE in the buffer when
processing the response, however it won't wait for it if it's not yet
there.

In other words:

| Bottom of the response buffer | Bottom of the full response |
|    (visible to url-http)      | (to be delivered to Emacs)  |
| ------------------------------+-----------------------------|
| 0\r\n                         | 0\r\n                       |
|                               | \r\n                        |

If the last chunk is processed when the bottom of the response buffer
is as above (note that the whole response has not yet been delivered
to Emacs), url-http will call the user callback without waiting for
the final terminator to be read from the socket.

This is normally not an issue when doing one-shot requests, but it's
problematic when the connection is reused immediately. As there are 2
bytes from the request N that have not been dealt with, they'll be
considered as part of the response of the request N+1. On top, it
turns out that when processing the headers of request N+1,
`url-http-wait-for-headers-change-function' will consider the request
a "headerless malformed response" delivering it broken to the caller.

The proposed fix implements a state in which
`url-http-chunked-encoding-after-change-function` properly waits for
the very last element of the message preventing the problem explained
above from happening.

For additional context, this bug was found when debugging
magit/ghub (see [1] for details).

[0] https://datatracker.ietf.org/doc/html/rfc7230#section-4.1
[1] https://github.com/magit/ghub/issues/81

Copyright-paperwork-exempt: yes
2022-04-17 13:00:12 +02:00
Lars Ingebrigtsen
37b11e5f16 Further IDNA/proxy url fixes
* lisp/url/url-http.el (url-http-create-request): Puny-encode
domains (bug#54921).
2022-04-16 17:02:01 +02:00
Lars Ingebrigtsen
346749f67d Handle non-ASCII domains correctly in url-https-proxy-connect
* lisp/url/url-http.el (url-https-proxy-connect)
(url-https-proxy-after-change-function): Handle IDNA domains
correctly.
2022-04-14 18:08:00 +02:00
Lars Ingebrigtsen
56bdfe7820 Fix problem with fetching images via Cloudflare
* lisp/url/url-http.el (url-http): Factor out url-interactive-p.
* lisp/url/url-auth.el (url-basic-auth):
(url-basic-auth):
(url-digest-prompt-creds): Use it to not query the user.

* lisp/url/url-queue.el (url-queue-start-retrieve): Don't send a
bogus empty Authorization header (bug#54246) -- this triggers
Cloudflare's anti-attack software.  Instead rely on
url-request-noninteractive.

* lisp/url/url-vars.el (url-interactive-p): New utility function.
2022-03-06 17:41:28 +01:00
Eli Zaretskii
19dcb237b5 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
Lars Ingebrigtsen
43c1ee90cb Don't use `format' on strings without % format directives
* lisp/vc/ediff-init.el (ediff-BAD-INFO):
* lisp/url/url-ldap.el (url-ldap):
* lisp/url/url-http.el (url-http--user-agent-default-string):
* lisp/textmodes/reftex.el (reftex-access-parse-file):
* lisp/textmodes/reftex-index.el (reftex-index-phrases-info):
* lisp/textmodes/ispell.el (ispell-create-debug-buffer):
* lisp/term.el (serial-read-speed):
* lisp/progmodes/verilog-mode.el (verilog-scan-debug):
* lisp/progmodes/idlwave.el (idlwave-find-module):
* lisp/progmodes/compile.el (compilation-revert-buffer):
* lisp/org/org-agenda.el (org-search-view):
* lisp/net/telnet.el (telnet-revert-buffer):
* lisp/net/soap-inspect.el (soap-sample-value-for-xs-simple-type):
* lisp/net/newst-backend.el (newsticker--cache-read):
* lisp/mh-e/mh-seq.el (mh-msg-is-in-seq):
* lisp/mail/smtpmail.el (smtpmail-via-smtp):
* lisp/mail/emacsbug.el (report-emacs-bug):
* lisp/jsonrpc.el (jsonrpc-error):
* lisp/help-fns.el (describe-variable):
* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt):
* lisp/gnus/gnus.el (gnus-group-startup-message):
(gnus-group-startup-message):
* lisp/gnus/gnus-group.el (gnus-group-restart):
* lisp/frame.el (make-frame-on-display):
* lisp/emulation/viper-ex.el (ex-help):
* lisp/calendar/icalendar.el (icalendar--convert-ical-to-diary):
(icalendar--add-diary-entry):
* lisp/calendar/cal-tex.el (cal-tex-end-document):
* lisp/calc/calcalg3.el (math-ninteg-romberg): Don't use `format'
on strings that have no % format directives in them.
2021-09-21 17:52:53 +02:00
Jonas Bernoulli
0b98ea5fbe
No longer raise error when http authentication failed
* lisp/url/url-http.el (url-http-handle-authentication): Return t
instead of raising an error, instructing the caller to invoke the
request specific error handler (bug#50511).
2021-09-20 21:18:41 +02:00
Stefan Kangas
63f419f133 ; Minor stylistic fixes found by checkdoc 2021-09-16 19:37:07 +02:00
dickmao
b7d3c1e577 Forestall "Selected deleted buffer" in url-http-generic-filter
* lisp/url/url-http.el (url-http-generic-filter): Check that
corresponding buffer is still live before using it (bug#49928).
2021-08-09 15:46:00 +02:00
Thomas Fitzsimmons
5f539581a4 * lisp/url/url-http.el (url-http): Fix docstring typo. 2021-02-19 17:32:59 -05:00
Glenn Morris
bd5b4b35bc Merge from origin/emacs-27
7355209f53 (origin/emacs-27) * lisp/window.el (recenter-top-bottom): ...
dc78f8a4ea (emacs-27) url-http.el: Special-case NTLM authentication
85b0137858 * lisp/isearch.el (isearch-lazy-highlight): Fix defcustom ...
cbeda21083 Sync latest SKK-JISYO.L
2021-02-03 08:11:08 -08:00
Thomas Fitzsimmons
dc78f8a4ea url-http.el: Special-case NTLM authentication
* lisp/url/url-http.el (url-http-handle-authentication): Do not
signal an error on NTLM authorization strings.  (Bug#43566)
2021-01-31 19:11:16 -05:00
Stefan Monnier
b870e584a4 Use lexical-binding in all of lisp/url
* lisp/url/url-dav.el: Use lexical-binding.
(url-dav-process-DAV:prop): Remove unused var `handler-func`.
(url-dav-lock-resource): Remove unused var `child-url`.
(url-dav-active-locks): Remove unused var `properties`.
(url-dav-delete-directory): Remove unused var `props`.
(url-dav-file-name-completion): Remove unused var `result`.

* lisp/url/url-expand.el (url-expand-file-name): Use \s

* lisp/url/url-file.el (url-file): Improve regexp.

* lisp/url/url-gw.el: Use lexical-binding.
(url-open-stream): Remove unused var `cur-retries`, `retry`, `errobj`.

* lisp/url/url-imap.el: Use lexical-binding.
(imap-username, imap-password): Declare.

* lisp/url/url-mailto.el: Use lexical-binding.
(url-mailto): Remove unused var `func`.  Use `push`.

* lisp/url/url-news.el: Use lexical-binding.
(url-news): Remove unused var `article-brackets`.

* lisp/url/url-cid.el:
* lisp/url/url-cache.el:
* lisp/url/url-about.el:
* lisp/url/url-tramp.el:
* lisp/url/url-proxy.el:
* lisp/url/url-privacy.el:
* lisp/url/url-nfs.el:
* lisp/url/url-ldap.el:
* lisp/url/url-misc.el:
* lisp/url/url-methods.el: Use lexical-binding.
2021-01-26 18:17:00 -05:00
Paul Eggert
ba05d005e5 Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright".
2021-01-01 01:13:56 -08:00
Paul Eggert
8c1fe1e5ef Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2021-01-01 00:32:32 -08:00
Stefan Kangas
7c113c344e Prefer setq-local in url/*.el
* lisp/url/url-cookie.el (url-cookie-write-file):
* lisp/url/url-http.el (url-http-parse-headers):
* lisp/url/url-util.el (url-extract-mime-headers): Prefer setq-local.
2020-12-06 08:51:23 +01:00
Stefan Kangas
ea218f424a Don't set XEmacs only properties start-open and end-open
* lisp/epa.el (epa-sign-region, epa-encrypt-region):
* lisp/erc/erc.el (erc-display-prompt):
* lisp/gnus/message.el (message-forward-make-body-mime):
* lisp/net/eudc-bob.el (eudc-bob-display-jpeg)
(eudc-bob-display-audio, eudc-bob-display-generic-binary):
* lisp/url/url-http.el
(url-http-chunked-encoding-after-change-function): Don't set XEmacs
only properties start-open and end-open.
2020-11-20 16:43:57 +01:00
Daniele Nicolodi
5d2a83ea0e url-http: Fix handling of redirect locations
* lisp/url/url-http.el (url-http-parse-headers): Parse redirect
URIs more like other web browsers (bug#42382).

RFC 7231 the Location header is defined to carry a URI-reference.
According to RFC 3986 it should be percent-encoded and thus should not
contain spaces. However, there are HTTP server implementation (notably
nginx) that do not do that. This makes Emacs url-http.el behave like
most other HTTP client implementatios. Also remove the stripping of
angle bracket quotes as they are not valid according to the RFCs.

Copyright-paperwork-exempt: yes
2020-07-19 21:16:55 +02:00
Satoshi Nakagawa
f8f3e77fa8 Support Proxy-Authorization in HTTPS CONNECT proxies
* lisp/url/url-http.el (url-https-proxy-connect): Support CONNECT
with Proxy-Authorization header (bug#42422).

Copyright-paperwork-exempt: yes
2020-07-19 21:12:17 +02:00
Stefan Kangas
c1772ce296 Declare some <package>-version variables obsolete
These are not used for anything these days and can therefore be
removed.  Package developers should check the Emacs version instead.
Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html

* lisp/calendar/icalendar.el (icalendar-version):
* lisp/dframe.el (dframe-version):
* lisp/emacs-lisp/checkdoc.el (checkdoc-version):
* lisp/emulation/edt.el (edt-version):
* lisp/international/mule.el (mule-version)
(mule-version-date):
* lisp/linum.el (linum-version):
* lisp/play/bubbles.el (bubbles-version):
* lisp/speedbar.el (speedbar-version):
* lisp/textmodes/remember.el (remember-version):
* lisp/url/url-vars.el (url-version):
* lisp/woman.el (woman-version): Declare obsolete.

* lisp/emacs-lisp/checkdoc.el (checkdoc-start-section):
* lisp/speedbar.el (speedbar-mode):
* lisp/url/url-about.el (url-about-protocols):
* lisp/url/url-http.el (url-http--user-agent-default-string):
* lisp/url/url-news.el (url-news-fetch-message-id):
* lisp/woman.el (woman-menu, woman-mode): Stop using variables
declared obsolete above.
2020-03-21 02:49:25 +01:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Eli Zaretskii
433dd77b4a Fix a typo in url-http.el
* lisp/url/url-http.el (url-http-parse-headers): Fix a typo.
Reported by Mattias Engdegård <mattiase@acm.org>.
2019-10-02 18:24:03 +03:00
Lars Ingebrigtsen
f9f8dcae70 Allow url-insert-file-contents to work on 304 responses
* lisp/url/url-http.el (url-http--insert-file-helper): If the
server answers 304 Not modified, then that's not an error
(bug#26063).
2019-09-24 10:43:32 +02:00
Lars Ingebrigtsen
1f137133ed Fix old problem with HTTPS HTTP 0.9 sentinels
* lisp/url/url-http.el (url-http-end-of-document-sentinel): Pass
on the tls parameter if we have HTTPS (bug#14983).
2019-09-24 10:01:34 +02:00
Thomas Fitzsimmons
c02f3125cd Do not recreate full URL for proxied HTTPS requests (Bug#35969)
* lisp/url/url-http.el (url-http-create-request): Do not recreate
full URL for proxied HTTPS requests.
(url-https-proxy-after-change-function): Do not bind
url-http-proxy to nil before calling url-http-create-request.
(Bug#35969)
2019-08-15 23:29:51 -04:00
Eli Zaretskii
629068a89d Fix fetching URLs with stuff that looks like HTTP headers
* lisp/url/url-http.el (url-http-parse-headers): Narrow the
buffer to the headers at the beginning to make sure
url-handle-content-transfer-encoding uses the correct
headers.  (Bug#37023)
2019-08-14 17:53:14 +03:00
Mattias Engdegård
408e75e819 Clean up file-size-function
It is now called `byte-count-to-string-function', and used instead of
calling `file-size-human-readable' directly where appropriate.

* lisp/files.el (file-size-human-readable-iec): New.
(file-size-function): Rename to byte-count-to-string-function.  Better
default value.  Eliminate lambda.  Better default for custom choice.
Put in group `files'.  More descriptive doc string.  Move.
(out-of-memory-warning-percentage, warn-maybe-out-of-memory)
(get-free-disk-space):
* lisp/dired.el (dired-number-of-marked-files):
* lisp/url/url-http.el (url-http-simple-after-change-function)
(url-http-content-length-after-change-function):
Use byte-count-to-string-function.
* test/lisp/files-test.el (files-test-file-size-human-readable):
Test file-size-human-readable-iec.
2019-08-02 12:38:44 +02:00
Pip Cet
e310843d9d Don't double-decompress cached HTTP responses (bug#36773)
* lisp/url/url-http.el (url-handle-content-transfer-encoding): Modify
the message headers as well as the message body to reflect
decompression.
* lisp/mail/mail-utils.el (mail-fetch-field): Add DELETE argument, to
delete header lines included in the result.
2019-07-27 13:54:04 +03:00
Lars Ingebrigtsen
64b469f6ae Don't infloop in url.el when sending invalid basic auth
* lisp/url/url-http.el (url-http-handle-authentication): Bail out
if the wrong credentials were passed to the server instead of
inflooping (bug#27022).
2019-07-26 10:55:45 +02:00
Mattias Engdegård
866f527ddf Optional space and unit in `file-size-human-readable' (bug#35756)
To improve readability of strings produced by
`file-size-human-readable', add two optional arguments:

- SPACE, to provide a string (typically a space or non-breaking space)
to put between the number and unit.  For compatibility, the default is
an empty string.

- UNIT, a string to use as unit.  For compatibility, the default is
"B" in `iec' mode and the empty string otherwise.

Also fix a glitch with small numbers in `iec' mode which caused a
stray "i" in the result.

* lisp/files.el (file-size-human-readable):
Add optional SPACE and UNIT arguments and handle small numbers correctly.
(files--ask-user-about-large-file, warn-maybe-out-of-memory):
Call with `iec' and space.
* test/lisp/files-tests.el (files-test-file-size-human-readable): New test.
* lisp/url/url-http.el (url-http-simple-after-change-function)
(url-http-content-length-after-change-function): Call with `iec' and space.
* etc/NEWS (Lisp Changes): Mention the change.
2019-06-23 20:30:50 +02:00
Paul Eggert
f744797af1 Go back to "Maintainer: emacs-devel@gnu.org"
Restore lines saying "Maintainer: emacs-devel@gnu.org" when there is
no special maintainer for a file.  Although this wasn't documented
it was common practice and removing the lines didn't have consensus.
2019-05-25 14:25:18 -07:00
Paul Eggert
bef1be8730 Fixes for "Maintainer:" and related lines
Mostly, this just removes "Maintainer: emacs-devel@gnu.org" lines,
which are not that useful.  It also cleans up and regularizes a
few similar lines.
2019-05-19 21:34:27 -07:00
Stefan Monnier
5f9671e57e * lisp/emacs-lisp/package.el: Fix decoding of downloaded files
This is a different fix for bug#34909, which should also fix bug#35739.

Our downloading code used to automatically decode the result according
to the usual heuristics for files.  This caused problems when we later
needed to save the data in a file that needed to be byte-for-byte
equal to the original in order to pass the signature verification,
especially because we didn't keep track of which coding-system was
used to decode the data.

(package--unless-error): New macro extracted from
package--with-response-buffer-1, so that we can specify edebug and
indent specs.
(package--with-response-buffer-1): Use it.  More importantly, change
code so it runs `body` in a unibyte buffer with undecoded data.
(package--download-one-archive): Don't encode with utf-8 since the data
is not decoded yet.
(describe-package-1): Explicitly decode the readem.txt files here.

* lisp/url/url-handlers.el (url-insert-file-contents): Use it.
(url-insert): Don't decode if buffer is unibyte.

* lisp/url/url-http.el (url-http--insert-file-helper): New function,
extracted from url-insert-file-contents.
2019-05-18 18:32:47 -04:00
Lars Ingebrigtsen
4f1df40db3 Fix obscure HTTP chunked parsing problem
* lisp/url/url-http.el
(url-http-chunked-encoding-after-change-function): Ensure that we
parse the entire initial chunked header as the length (bug#35658).
2019-05-15 07:12:26 +02:00
Lars Ingebrigtsen
15bd081ce6 Indent url-http-chunked-encoding-after-change-function 2019-05-15 06:59:12 +02:00
Dmitry Gutov
8635e011ed Don't signal error from url debug functions
* lisp/url/url-http.el (url-http-debug): Don't signal error.

* lisp/url/url-util.el (url-debug): Same (bug#34763).
2019-04-13 03:36:45 +03:00