1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-11 22:11:21 -08:00
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
..
calc calc: Allow strings with character codes above Latin-1 2025-06-14 17:07:19 +03:00
calendar Saner defaults for `calendar-read-sexp' (Bug#78964) 2025-07-19 11:50:31 +03:00
cedet * lisp/cedet/semantic.el: Turn off semantic-mode in all buffers (bug#76815), 2025-06-07 10:36:00 +03:00
emacs-lisp Merge from origin/emacs-30 2025-07-19 06:56:58 -04:00
emulation Fix setting viper-d-com in viper 2025-06-28 11:44:40 +03:00
erc Don't round-trip auto-reconnect probe in ERC 2025-04-16 17:30:13 -07:00
eshell Handle Eshell prompts where stickiness properties are 't' 2025-07-22 22:24:15 -07:00
gnus Add new function 'dom-inner-text' 2025-07-25 16:42:08 -07:00
image Merge from origin/emacs-30 2025-07-19 06:56:58 -04:00
international ; Fix last change 2025-07-07 21:12:30 +02:00
language japan-util.el: Cosmetic changes 2025-03-31 10:21:58 -04:00
leim/quail Fix thai-pattachote input method 2025-04-26 16:46:34 +03:00
mail Check for text about Org-mode when submitting emacs bugs 2025-07-05 10:36:16 +03:00
mh-e Merge from origin/emacs-30 2025-05-17 06:52:01 -04:00
net Simplify code in 'newsticker--buffer-do-insert-text' 2025-07-26 12:00:02 +03:00
nxml Merge from origin/emacs-30 2025-05-10 07:40:30 -04:00
obsolete Make elint obsolete (bug#78685) 2025-07-05 14:38:48 +02:00
org org-persist.el: Silence fewer warnings and fix found warning 2025-07-13 23:14:53 -04:00
play Recommend using 'keymap-set' in Commentaries 2025-03-15 04:10:27 +01:00
progmodes Make elint obsolete (bug#78685) 2025-07-05 14:38:48 +02:00
term Add "Send to..." context menu item to mouse.el 2025-07-19 14:15:55 +02:00
textmodes Define setfunction for bibtex-generate-url-list (bug#78798) 2025-07-20 01:01:12 -05:00
url Emulate more dynamic bindings in request buffers 2025-07-26 12:09:07 +03:00
use-package Fix use-package :custom-face to set face-defface-spec (bug#77928) 2025-04-27 10:48:55 +03:00
vc VC: New support for other working trees 2025-07-25 19:34:04 +01:00
abbrev.el Merge from origin/emacs-30 2025-05-17 06:52:01 -04:00
align.el
allout-widgets.el
allout.el
ansi-color.el
ansi-osc.el Handle OSC sequences in term (bug#78263) 2025-06-12 10:01:26 +03:00
apropos.el
arc-mode.el Improve support of UTF-8 encoded file names in ZIP archives 2025-05-07 21:43:59 +03:00
array.el
auth-source-pass.el cedet: Delete obsolete object name arg to EIEIO constructors 2025-04-07 00:03:20 -04:00
auth-source.el lisp/auth-source.el (authinfo--keywords): Avoid obsolete font-lock face vars 2025-04-25 16:35:04 -04:00
autoinsert.el lisp/autoinsert.el (auto-insert-alist): Don't quote lambda 2025-06-30 11:28:34 -04:00
autorevert.el Handle an error of file-notify-add-watch in autorevert.el 2025-07-21 09:24:23 +02:00
avoid.el
battery.el Merge from origin/emacs-30 2025-07-19 06:56:58 -04:00
bind-key.el Improve repeat-continue property handling 2025-06-11 09:28:42 +03:00
bindings.el Revert "New command 'mode-line-invisible-mode'" 2025-07-05 13:29:46 +03:00
bookmark.el bookmark.el: Cosmetic changes 2025-03-25 13:44:15 -04:00
bs.el lisp/bs.el (bs--goto-current-buffer): Fix thinko in last commit 2025-05-08 10:51:16 -04:00
buff-menu.el
button.el Prevent button.el from clearing help-echo strings 2025-03-08 17:29:34 +01:00
calculator.el Recommend using 'keymap-global-set' in Commentaries 2025-03-15 04:06:31 +01:00
case-table.el
ChangeLog.1 ; Delete troff markers from ChangeLog files 2025-02-20 02:46:43 +01:00
ChangeLog.2 ; Delete troff markers from ChangeLog files 2025-02-20 02:46:43 +01:00
ChangeLog.3 ; Delete troff markers from ChangeLog files 2025-02-20 02:46:43 +01:00
ChangeLog.4 ; Delete troff markers from ChangeLog files 2025-02-20 02:46:43 +01:00
ChangeLog.5 ; Delete troff markers from ChangeLog files 2025-02-20 02:46:43 +01:00
ChangeLog.6 ; Delete troff markers from ChangeLog files 2025-02-20 02:46:43 +01:00
ChangeLog.7 ; Delete troff markers from ChangeLog files 2025-02-20 02:46:43 +01:00
ChangeLog.8 ; Delete troff markers from ChangeLog files 2025-02-20 02:46:43 +01:00
ChangeLog.9 ; Delete troff markers from ChangeLog files 2025-02-20 02:46:43 +01:00
ChangeLog.10
ChangeLog.11
ChangeLog.12
ChangeLog.13
ChangeLog.14
ChangeLog.15
ChangeLog.16
ChangeLog.17
char-fold.el
chistory.el Use defvar-keymap for command-history-mode-map 2025-03-15 04:06:31 +01:00
cmuscheme.el
color.el
comint.el Improve discoverability of using dumb-emacs-ansi terminal type 2025-06-25 16:21:54 +01:00
completion-preview.el Merge from savannah/emacs-30 2025-03-16 20:16:57 +08:00
completion.el
composite.el Improve 'C-u C-x =' for ligatures of ASCII characters 2025-03-22 12:39:46 +02:00
COPYING
cus-dep.el
cus-edit.el cus-edit.el: Don't quote lambdas and improve macro declaration 2025-07-01 17:37:02 -04:00
cus-face.el
cus-start.el ; * lisp/cus-start.el (standard): Improve commentary (bug#78637). 2025-06-28 09:56:08 +03:00
cus-theme.el Fix widget relationship in customize-themes 2025-04-02 08:10:18 -03:00
custom.el * lisp/custom.el (defcustom): Remove empty doc string. 2025-07-22 14:30:58 +02:00
dabbrev.el
delim-col.el
delsel.el
descr-text.el Improve 'C-u C-x =' for ligatures of ASCII characters 2025-03-22 12:39:46 +02:00
desktop.el * lisp/desktop.el: Fix the recent cleanup. 2025-04-23 09:51:34 +03:00
dframe.el
dired-aux.el Merge from origin/emacs-30 2025-07-19 06:56:58 -04:00
dired-x.el lisp/dired-x.el (dired-omit-lines): Don't quote lambda 2025-07-03 17:10:27 -04:00
dired.el Merge from origin/emacs-30 2025-07-19 06:56:58 -04:00
dirtrack.el
disp-table.el ; * lisp/disp-table.el (standard-display-unicode-special-glyphs): Fix typo. 2025-05-21 11:11:10 +02:00
display-fill-column-indicator.el ; Fix documentation of previous change. 2025-03-09 11:20:33 +02:00
display-line-numbers.el
dnd.el
doc-view.el Use css to set SVG foreground in docview 2025-07-10 17:54:33 +01:00
dom.el Add new function 'dom-inner-text' 2025-07-25 16:42:08 -07:00
dos-fns.el
dos-vars.el
dos-w32.el
double.el
dynamic-setting.el Respond to display configuration updates on Android 2025-04-10 15:25:38 +08:00
ebuff-menu.el
ecomplete.el
editorconfig-conf-mode.el
editorconfig-core-handle.el
editorconfig-core.el
editorconfig-fnmatch.el
editorconfig-tools.el
editorconfig.el editorconfig.el: Fix bug#78097 2025-05-17 21:54:54 -04:00
edmacro.el Prefer incf to cl-incf in remaining files 2025-02-26 02:57:03 +01:00
ehelp.el Recommend using 'keymap-set' in Commentaries 2025-03-15 04:10:27 +01:00
elec-pair.el Support strings for electric pairs (bug#78053) 2025-06-21 12:24:55 +03:00
electric.el Revert addition of electric-block-comment-mode & follow-up commits 2025-04-22 20:47:56 +08:00
elide-head.el
emacs-lock.el
env.el Document return values of the various read-* functions 2025-03-09 15:02:39 +02:00
epa-dired.el
epa-file.el Prefer incf to cl-incf in remaining files 2025-02-26 02:57:03 +01:00
epa-hook.el
epa-ks.el
epa-mail.el
epa.el
epg-config.el
epg.el
expand.el expand.el: Simplify by always using a list in expand-list 2025-06-30 19:57:04 -04:00
external-completion.el Use 'hash-table-contains-p' in a few places 2025-03-29 14:59:44 +01:00
ezimage.el
face-remap.el
facemenu.el
faces.el ; Fix last change (bug#77945) 2025-06-07 12:43:39 +03:00
ffap.el Add option 'ffap-prefer-remote-file' (bug#78925) 2025-07-12 11:48:52 +03:00
filecache.el
fileloop.el
filenotify.el Add file notification handler for Tramp's "smb" method. 2025-07-05 19:21:48 +02:00
files-x.el Add function exec-suffixes 2025-07-22 17:47:38 +02:00
files.el Add function exec-suffixes 2025-07-22 17:47:38 +02:00
filesets.el ; Normalize spacing in last change 2025-04-11 10:02:54 +08:00
find-cmd.el
find-dired.el
find-file.el
find-lisp.el Support 'dired-hide-details-mode' in find-lisp.el 2025-05-17 16:46:07 +03:00
finder.el
flow-ctrl.el
foldout.el
follow.el ; * lisp/follow.el (follow-mode-prefix-key): Improve. 2025-03-18 00:16:29 +01:00
font-core.el
font-lock.el Expose some lambdas currently hidden in quoted data 2025-03-24 17:14:26 -04:00
format-spec.el
format.el
forms.el
frame.el Handle multiple mouse events in display-buffer-override-next-command 2025-07-09 09:48:17 +03:00
frameset.el (register-type, register--type): Delete functions 2025-04-30 12:28:35 -04:00
fringe.el
generic-x.el
help-at-pt.el New Eldoc function `eldoc-show-help-at-pt' 2025-03-29 13:50:26 +03:00
help-fns.el Fix *Help* text when a command is bound to a single key 2025-06-26 17:39:19 +03:00
help-macro.el
help-mode.el lisp/help-mode.el (help-mode-context-menu): Don't quote lambda 2025-07-05 19:32:50 -04:00
help.el Use 'outline-heading-end-regexp' consistently. 2025-05-29 19:52:20 +03:00
hex-util.el
hexl.el
hfy-cmap.el
hi-lock.el ; Fix my last commit 2025-03-02 19:46:15 +01:00
hilit-chg.el Recommend using 'keymap-global-set' in Commentaries 2025-03-15 04:06:31 +01:00
hippie-exp.el
hl-line.el ; Fix global-hl-line-highlight after recent commit 2025-03-20 19:05:29 +01:00
htmlfontify.el
ibuf-ext.el Prefer incf to cl-incf in remaining files 2025-02-26 02:57:03 +01:00
ibuf-macs.el (define-ibuffer-op): Minor tweak to Shipmints's patch 2025-02-26 09:13:04 -05:00
ibuffer.el Improve 'define-ibuffer-op' macro (bug#76222) 2025-02-26 09:10:27 -05:00
icomplete.el Icomplete: rename some internal helper functions (bug#77546) 2025-04-06 14:08:14 +01:00
ido.el Recommend using 'keymap-set' in Commentaries 2025-03-15 04:10:27 +01:00
ielm.el Don't recommend legacy keymap functions in docstrings 2025-03-16 13:48:11 +01:00
iimage.el
image-file.el
image-mode.el Prefer plusp/minusp to cl-plusp/cl-minusp 2025-02-17 22:46:56 +01:00
image.el
imenu.el Allow duplicate menu entries in Imenu 2025-07-13 08:41:38 +03:00
indent-aux.el Fix 'kill-ring-deindent-mode' 2025-07-06 18:33:17 +03:00
indent.el
info-look.el
info-xref.el Prefer incf to cl-incf in remaining files 2025-02-26 02:57:03 +01:00
info.el Backport expansion of Time Stamp documentation 2025-03-30 11:39:53 -07:00
informat.el
isearch.el * lisp/isearch.el (search-within-boundaries): Optimize (bug#78520). 2025-05-28 20:15:21 +03:00
isearchb.el Recommend using 'keymap-set' in Commentaries 2025-03-15 04:10:27 +01:00
jit-lock.el Replace anonymous lambda timers with named functions 2025-03-04 02:42:45 +01:00
jka-cmpr-hook.el
jka-compr.el
json.el Replace uses of replace-buffer-contents 2025-03-29 17:49:49 -04:00
jsonrpc.el Make cl-gensym obsolete in favor of built-in gensym 2025-02-25 01:25:15 +01:00
keymap.el Merge from origin/emacs-30 2025-06-14 11:23:54 -04:00
kmacro.el Enable kmacro-call-macro to function in some circumstances 2025-03-02 16:05:04 +08:00
ldefs-boot.el VC: New support for other working trees 2025-07-25 19:34:04 +01:00
loadhist.el Correctly unload variable aliases. 2025-03-16 12:52:40 -04:00
loadup.el cus-start.el: Reliably distinguish preload from nonpreload 2025-06-27 22:55:17 -04:00
locate.el
lpr.el
ls-lisp.el ; Improve documentation of ls-lisp.el 2025-05-11 14:42:51 +03:00
macros.el Improve documentation of 'insert-kbd-macro' 2025-04-27 09:52:25 +03:00
Makefile.in
man.el Workaround for "M-x man" on macOS 15 and later 2025-06-21 12:33:12 +03:00
master.el
mb-depth.el Make second arg to defvar-local optional 2025-03-09 18:24:22 +01:00
md4.el
menu-bar.el Amend last change to 'kill-this-buffer' 2025-07-09 10:59:13 +02:00
midnight.el
minibuf-eldef.el Make second arg to defvar-local optional 2025-03-09 18:24:22 +01:00
minibuffer.el Fix 'completion-ignore-case' with 'completion--file-name-table' 2025-05-19 20:02:45 +03:00
misc.el Make second arg to defvar-local optional 2025-03-09 18:24:22 +01:00
misearch.el Use 'file-equal-p' in 'multi-isearch-read-files' (bug#77678). 2025-04-29 20:14:07 +03:00
mouse-copy.el Don't recommend legacy keymap functions in docstrings 2025-03-16 13:48:11 +01:00
mouse-drag.el Don't recommend legacy keymap functions in docstrings 2025-03-16 13:48:11 +01:00
mouse.el Add "Send to..." context menu item to mouse.el 2025-07-19 14:15:55 +02:00
mpc.el lisp/mpc.el (mpc-describe-song): Don't quote lambdas 2025-07-06 10:39:33 -04:00
msb.el Prefer incf to cl-incf in remaining files 2025-02-26 02:57:03 +01:00
mwheel.el
newcomment.el (comment-setup-function): Make it usable with add-function 2025-05-05 14:05:36 -04:00
notifications.el
novice.el
obarray.el
outline.el outline.el: Don't silence buffer text modification 2025-07-17 12:57:04 -04:00
paren.el ; Fix last change (bug#78396) 2025-06-07 13:32:41 +03:00
password-cache.el Use 'hash-table-contains-p' in a few places 2025-03-29 14:59:44 +01:00
pcmpl-cvs.el
pcmpl-git.el Add file completion for git apply, am to pcomplete 2025-02-18 00:03:05 +01:00
pcmpl-gnu.el
pcmpl-linux.el
pcmpl-rpm.el * lisp/pcmpl-rpm.el: Generate completions for dnf5 2025-06-28 12:45:12 +03:00
pcmpl-unix.el
pcmpl-x.el Use 'hash-table-contains-p' in a few places 2025-03-29 14:59:44 +01:00
pcomplete.el
pgtk-dnd.el
pixel-scroll.el
plstore.el
printing.el Recommend using 'keymap-global-set' in Commentaries 2025-03-15 04:06:31 +01:00
proced.el ; * lisp/proced.el (proced-update): Display read syntax for filter value 2025-07-18 16:48:10 +12:00
profiler.el Prefer incf to cl-incf in remaining files 2025-02-26 02:57:03 +01:00
ps-bdf.el
ps-mule.el
ps-print.el Recommend using 'keymap-global-set' in Commentaries 2025-03-15 04:06:31 +01:00
ps-samp.el
pulse.el ; Fix last change 2025-05-17 11:57:43 +03:00
README
recentf.el ; Fix recently introduced "ELisp". 2025-07-15 21:57:59 +01:00
rect.el Avoid infinite recursion under 'rectangle-mark-mode' 2025-04-27 10:08:38 +03:00
register.el register.el: Fix use of cl-find-class 2025-06-16 17:15:37 -04:00
registry.el Prefer incf to cl-incf in remaining files 2025-02-26 02:57:03 +01:00
repeat.el * lisp/repeat.el (repeat-mode): Use 'called-interactively-p'. 2025-07-23 20:56:05 +03:00
replace.el Merge from origin/emacs-30 2025-07-12 05:25:02 -04:00
reposition.el
reveal.el
rfn-eshadow.el
ring-bell-fns.el New pulse functions for pulse faces and new file for ring bell fns 2025-05-17 11:49:19 +03:00
rot13.el
rtree.el
ruler-mode.el Show drag cursor on all window lines (mode, tab, header) 2025-04-15 21:52:47 +03:00
savehist.el ; Fix recently introduced "ELisp". 2025-07-15 21:57:59 +01:00
saveplace.el Recommend using 'keymap-set' in Commentaries 2025-03-15 04:10:27 +01:00
scroll-all.el
scroll-bar.el
scroll-lock.el Fix shift-translation support of 'scroll-lock-mode' commands 2025-07-15 16:23:03 +03:00
select.el ; Improve documentation of 'gui-get-selection' use on X 2025-03-15 11:48:36 +02:00
send-to.el Fix send-to on non-macOS platforms and macOS crash on "emacs -nw" 2025-07-19 18:57:34 +02:00
server.el Improve message handling on server stop 2025-03-29 13:44:09 +03:00
ses.el Minor fix. 2025-05-23 09:59:02 +02:00
shadowfile.el
shell.el Promote bookmark-handler prop 'bookmark-inhibit to list (bug#65039) 2025-03-19 16:58:55 +01:00
simple.el ; * lisp/simple.el (shell-command): Fix last change (bug#79067). 2025-07-21 13:41:18 +03:00
skeleton.el
so-long.el ; * lisp/so-long.el: Documentation 2025-03-15 23:05:18 +13:00
sort.el
soundex.el
speedbar.el Added a check to see if the 'speedbar-buffer' is still alive 2025-04-01 14:26:30 +03:00
sqlite-mode.el Fix 'sqlite-mode-delete' with NULL field values 2025-07-26 11:49:19 +03:00
sqlite.el Use cl-with-gensyms in with-sqlite-transaction 2025-02-24 19:35:55 +01:00
startup.el Diagnose load-path only if interactive 2025-07-24 22:13:47 -07:00
strokes.el Prefer incf to cl-incf in remaining files 2025-02-26 02:57:03 +01:00
subr.el (cl--class-allparents): Fix bug#78989 2025-07-14 12:37:11 -04:00
svg.el
t-mouse.el
tab-bar.el Cache only the last string in 'tab-bar-format-align-right' (bug#78953) 2025-07-10 09:40:51 +03:00
tab-line.el ; * lisp/tab-line.el (tab-line-exclude-buffers): missing backslash 2025-07-19 15:12:52 +02:00
tabify.el
talk.el
tar-mode.el
tempo.el
term.el ; Fix last change. 2025-06-12 10:04:51 +03:00
thingatpt.el
thread.el
time-stamp.el Backport expansion of Time Stamp documentation 2025-03-30 11:39:53 -07:00
time.el ; * lisp/time.el (world-clock--sort-entries): Avoid compiler warning. 2025-06-14 17:21:18 +03:00
timezone.el
tmm.el ; Fix typos 2025-02-22 14:48:29 +01:00
tool-bar.el Merge from origin/emacs-30 2025-04-26 10:57:33 -04:00
tooltip.el Provide tool-tip display delays on TTY frames 2025-03-01 17:16:08 +02:00
touch-screen.el
transient.el Update to Transient v0.9.3-8-gecd64f17 2025-07-01 18:23:32 +02:00
tree-widget.el Use defvar-keymap for some trivial keymaps 2025-03-16 13:48:11 +01:00
treesit-x.el Use keyword :commit with full hashes for treesit-language-source-alist. 2025-06-20 19:58:28 +03:00
treesit.el ; * lisp/treesit.el (treesit-parser-changed-regions): Declare. 2025-07-09 11:46:50 +01:00
tty-tip.el ; Don't set symbol-packages in tty-tip.el 2025-03-19 20:45:06 +01:00
tutorial.el
type-break.el
uniquify.el uniquify-get-unique-names: Return a list with propertized strings 2025-07-02 05:46:24 +03:00
userlock.el
vcursor.el Recommend using 'keymap-global-set' in Commentaries 2025-03-15 04:06:31 +01:00
version.el
view.el view-mode-exit: Respect view-read-only 2025-07-16 10:49:26 +01:00
visual-wrap.el ; Remove superfluous POSITION argument from 'visual-wrap--apply-to-line' 2025-06-10 22:09:26 -07:00
w32-fns.el
w32-vars.el
wdired.el ; Add missing require to wdired.el 2025-02-26 03:08:25 +01:00
which-key.el Merge from origin/emacs-30 2025-03-30 16:17:00 +02:00
whitespace.el Avoid whitespace-mode breaking standard-display-unicode-special-glyphs 2025-06-07 12:21:38 +03:00
wid-browse.el
wid-edit.el Optionally suppress recentf open file messages (bug#78666) 2025-06-23 11:51:31 +02:00
widget.el
windmove.el Fix for 'windmove-do-window-select' if other-window is 'no-select 2025-07-19 11:29:03 +03:00
window-tool-bar.el window-tool-bar: Use `static-if' from Compat 30 2025-03-13 06:08:58 +01:00
window-x.el Rename some of the new window layout commands 2025-04-09 13:34:55 +08:00
window.el Improve documentation of 'quit-window' 2025-07-21 15:35:36 +03:00
winner.el ; * lisp/winner.el (winner--set-dont-bind-my-keys): Fix typo. 2025-03-15 18:24:28 +01:00
woman.el Recommend using 'keymap-set' in Commentaries 2025-03-15 04:10:27 +01:00
x-dnd.el
xdg.el Use 'hash-table-contains-p' in a few places 2025-03-29 14:59:44 +01:00
xml.el
xt-mouse.el Implement dragging and resizing of tty child frames 2025-03-17 09:50:19 +01:00
xwidget.el Prefer incf to cl-incf in remaining files 2025-02-26 02:57:03 +01:00
yank-media.el Make yank-media auto select the best mime type 2025-02-22 11:37:23 +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.