Files
emacs/lisp
Peder O. Klingenberg a2d71cecae Emulate more dynamic bindings in request buffers
Many variables were copied from the dynamic environment to the request
buffer, which allowed them to influence the handling of requests and
responses.  But some were not, notably some of the mime-related
variables, and the user-agent and privacy variables.  This made them
unreliable when dynamically bound around a call to `url-retrieve'; they
would have the desired effect when reusing an existing connection, but
not when url-http opened a new connection.  In the case of reused
connections, the request construction happens in the dynamic scope of
`url-http', but in the case where a fresh connection is needed, request
construction happens outside that dynamic scope.

This commit adds the remaining variables used in request construction to
the set of buffer local variables mirroring the dynamic values from
url-http, and adds a comment describing the mechanism used and how avoid
the pitfall of inconsistent handling of dynamic bindings.

* lisp/url/url-http.el (url-http-extensions-header): New internal-ish
variable.
(url-http-create-request): Use the new variable instead of the global
one.
(url-http-idle-sentinel): Debug-log when the connection closes.
(url-http): Set up more buffer-local variants of dynamic variables in
the buffer used for the request, and add comment describing why this
copying is needed.

(Bug#61916)
2025-07-26 12:09:07 +03:00
..
2025-07-19 06:56:58 -04:00
2025-07-25 16:42:08 -07:00
2025-07-19 06:56:58 -04:00
2025-07-07 21:12:30 +02:00
2025-03-31 10:21:58 -04:00
2025-05-17 06:52:01 -04:00
2025-05-10 07:40:30 -04:00
2025-07-05 14:38:48 +02:00
2025-07-05 14:38:48 +02:00
2025-05-17 06:52:01 -04:00
2025-07-19 06:56:58 -04:00
2025-03-25 13:44:15 -04:00
2025-07-19 06:56:58 -04:00
2025-07-19 06:56:58 -04:00
2025-07-25 16:42:08 -07:00
2025-05-17 21:54:54 -04:00
2025-06-07 12:43:39 +03:00
2025-07-22 17:47:38 +02:00
2025-07-22 17:47:38 +02:00
2025-04-11 10:02:54 +08:00
2025-07-13 08:41:38 +03:00
2025-07-06 18:33:17 +03:00
2025-06-14 11:23:54 -04:00
2025-03-16 12:52:40 -04:00
2025-06-07 13:32:41 +03:00
2025-05-17 11:57:43 +03:00
2025-07-15 21:57:59 +01:00
2025-07-12 05:25:02 -04:00
2025-07-15 21:57:59 +01:00
2025-05-23 09:59:02 +02:00
2025-03-15 23:05:18 +13:00
2025-07-14 12:37:11 -04:00
2025-06-12 10:04:51 +03:00
2025-04-26 10:57:33 -04:00
2025-07-16 10:49:26 +01:00
2025-03-30 16:17:00 +02:00

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
'term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.