Subject: 30.1; url-queue-retrieve should use the url-request-* variables

From: Rahguzar <[email-masked]>
Date: Mon, 30 Jun 2025 17:12:29 +0500

Dear Emacs maintainers,

url-queue-retrieve has an api identical to that of url-retrieve however
unlike url-retrieve it doesn't handle the variables url-request-data,
url-request-method and url-request-extra-headers. This is a consequence
of asynchronous operation of url-queue-retrieve but these variables are
necessary for using many online apis e.g. anything that needs a POST
request.

I have a patch (to be send once the bug number is known) that handles
these variables by extending the url-queue struct to allow for saving
these variables and then let binding the saved values when url-retrieve
is eventually called.

Rahguzar

In GNU Emacs 30.1 (build 1, aarch64-redhat-linux-gnu, GTK+ Version
 3.24.49, cairo version 1.18.2) of 2025-06-16 built on
 af5aeaa01d474bd2ac7b93267ff10f61
System Description: Fedora Linux Asahi Remix 42 (Forty Two [Adams])

Configured using:
 'configure --build=aarch64-redhat-linux-gnu
 --host=aarch64-redhat-linux-gnu --program-prefix=
 --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
 --bindir=/usr/bin --sbindir=/usr/bin --sysconfdir=/etc
 --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
 --libexecdir=/usr/libexec --localstatedir=/var --runstatedir=/run
 --sharedstatedir=/var/lib --mandir=/usr/share/man
 --infodir=/usr/share/info --disable-gc-mark-trace --with-cairo
 --with-dbus --with-gif --with-gpm=no --with-harfbuzz --with-jpeg
 --with-modules --with-native-compilation=aot --with-pgtk --with-png
 --with-rsvg --with-sqlite3 --with-tiff --with-tree-sitter --with-webp
 --with-xpm build_alias=aarch64-redhat-linux-gnu
 host_alias=aarch64-redhat-linux-gnu CC=gcc 'CFLAGS=-DMAIL_USE_LOCKF -O2
 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches
 -pipe -Wall -Werror=format-security
 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1
 -mbranch-protection=standard -fasynchronous-unwind-tables
 -fstack-clash-protection -fno-omit-frame-pointer
 -mno-omit-leaf-frame-pointer ' 'LDFLAGS=-Wl,-z,relro -Wl,--as-needed
 -Wl,-z,pack-relative-relocs -Wl,-z,now
 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1
 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' CXX=g++ 'CXXFLAGS=-O2
 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches
 -pipe -Wall -Werror=format-security
 -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS
 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1
 -mbranch-protection=standard -fasynchronous-unwind-tables
 -fstack-clash-protection -fno-omit-frame-pointer
 -mno-omit-leaf-frame-pointer '
 PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG
LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB

Important settings:
  value of $LANG: en_US.utf8
  locale-coding-system: utf-8-unix

Major mode: mu4e:main

Minor modes in effect:
  corfu-history-mode: t
  corfu-popupinfo-mode: t
  server-mode: t
  mu4e-search-minor-mode: t
  mu4e-update-minor-mode: t
  mu4e-context-minor-mode: t
  dirvish-override-dired-mode: t
  satchel-mode: t
  nerd-icons-completion-mode: t
  marginalia-mode: t
  vertico-multiform-mode: t
  vertico-mode: t
  evil-goggles-mode: t
  anzu-mode: t
  evil-mode: t
  evil-local-mode: t
  recentf-mode: t
  savehist-mode: t
  save-place-mode: t
  electric-pair-mode: t
  override-global-mode: t
  pixel-scroll-precision-mode: t
  repeat-mode: t
  midnight-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  size-indication-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
/home/azeem/.local/state/emacs/elpaca/builds/transient/transient hides /usr/share/emacs/30.1/lisp/transient
/home/azeem/.local/state/emacs/elpaca/builds/ef-themes/theme-loaddefs hides /usr/share/emacs/30.1/lisp/theme-loaddefs

Features:
(shadow corfu-history corfu-popupinfo corfu evil-embrace embrace
expand-region text-mode-expansions the-org-mode-expansions
er-basic-expansions expand-region-core expand-region-custom
evil-surround jit-spell ispell face-remap emacsbug
mastodon-notifications vertico-grid embark-org org-element org-persist
xdg org-id org-refile org-element-ast inline avl-tree generator
embark-consult embark jka-compr vertico-directory vertico-sort helpful
cc-langs cc-vars cc-defs imenu trace cl-print edebug debug backtrace
info-look info dash help-fns radix-tree smerge-mode diff diff-mode
track-changes fabs consult undo-fu-session link-hint ffap goto-addr avy
shr-color mastodon-media mastodon-profile mastodon-auth mastodon-client
plstore mastodon mastodon-transient tp mastodon-search mastodon-widget
mastodon-tl image-mode exif url-cache mastodon-toot multisession sqlite
facemenu mastodon-iso mastodon-http url-http url-auth url-gw mm-archive
sort smiley gnus-cite mail-extr textsec uni-scripts idna-mapping
ucs-normalize uni-confusable textsec-check gnus-async gnus-bcklg
visual-wrap qp gnus-ml disp-table nndraft nnmh epa-file vertico-repeat
network-stream nsm gnus-agent gnus-srvr gnus-score score-mode nnvirtual
nntp gnus-cache server cape mu4e mu4e-org org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-src sh-script smie treesit executable
ob-comint org-pcomplete pcomplete org-list org-footnote org-faces
org-entities noutline outline org-version ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs
find-func org-compat org-macs mu4e-notification notifications mu4e-main
smtpmail mu4e-view mu4e-mime-parts crm cal-menu calendar cal-loaddefs
mu4e-headers mu4e-thread mu4e-actions mu4e-compose mu4e-draft gnus-msg
gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum
gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail
mail-source utf7 nnoo parse-time iso8601 gnus-spec gnus-int gnus-range
gnus-win gnus nnheader range mu4e-search mu4e-lists mu4e-bookmarks
mu4e-mark mu4e-message shr pixel-fill kinsoku url-file svg xml dom
browse-url flow-fill mule-util hl-line mu4e-contacts mu4e-update
mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline
mu4e-vars mu4e-helpers mu4e-config mu4e-window ido message sendmail
yank-media puny dirvish transient format-spec cus-start autorevert
filenotify dired dired-loaddefs rfc822 mml mml-sec epa derived epg
rfc6068 epg-config gnus-util time-date mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr
mailabbrev mail-utils gmm-utils mailheader mu4e-obsolete usher satchel
ibuf-ext ibuffer ibuffer-loaddefs bookmark nerd-icons-completion
nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon
nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon
nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon
nerd-icons-data-powerline nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon marginalia
vertico-multiform vertico evil-goggles pulse color ef-reverie-theme
ef-themes pdf-loader anzu advice evil evil-integration evil-maps
evil-commands reveal evil-jumps evil-command-window evil-types
evil-search evil-ex evil-macros evil-repeat evil-states evil-core comp
comp-cstr cl-extra help-mode comp-run comp-common evil-common rect
evil-vars edmacro kmacro orderless compat mastodon-autoloads
yeetube-autoloads filechooser-autoloads wile-autoloads usher-autoloads
undo-fu-session-autoloads ef-themes-autoloads jit-spell-autoloads
satchel-autoloads pdf-tools-autoloads tablist-autoloads xr-autoloads
link-hint-autoloads avy-autoloads yaml-mode-autoloads
inspirehep-autoloads consult-hoogle-autoloads haskell-ng-mode-autoloads
fj-autoloads fedi-autoloads markdown-mode-autoloads tp-autoloads
magit-autoloads magit-section-autoloads llama-autoloads fabs-autoloads
companion-mode-autoloads eww-hacks-autoloads evil-embrace-autoloads
embrace-autoloads expand-region-autoloads evil-surround-autoloads
evil-nerd-commenter-autoloads evil-goggles-autoloads anzu-autoloads
evil-autoloads goto-chg-autoloads eshell-syntax-highlighting-autoloads
eat-autoloads package-lint-flymake-autoloads package-lint-autoloads
macrostep-autoloads helpful-autoloads dash-autoloads
highlight-quoted-autoloads dirvish-autoloads transient-autoloads
diredfl-autoloads trashed-autoloads vertico-autoloads
orderless-autoloads nerd-icons-completion-autoloads marginalia-autoloads
embark-consult-autoloads embark-autoloads nerd-icons-corfu-autoloads
nerd-icons-autoloads corfu-autoloads consult-autoloads cape-autoloads
password-store-autoloads with-editor-autoloads elpaca-log elpaca-ui
recentf tree-widget savehist saveplace elec-pair bind-key easy-mmode
ibuf-macs pcase elpaca-menu-elpa flymake project compile
text-property-search comint ansi-osc ansi-color thingatpt pixel-scroll
cua-base ring repeat rx midnight cus-edit pp cus-load wid-edit
elpaca-menu-melpa url url-proxy url-privacy url-expand url-methods
url-history url-cookie generate-lisp-file url-domsuf url-util url-parse
auth-source eieio eieio-core cl-macs password-cache json subr-x map
byte-opt gv bytecomp byte-compile url-vars mailcap elpaca-menu-org
cl-seq elpaca warnings icons elpaca-process cl-loaddefs cl-lib
elpaca-autoloads rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/pgtk-win pgtk-win term/common-win touch-screen pgtk-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify
dynamic-setting system-font-setting font-render-setting cairo gtk pgtk
multi-tty move-toolbar make-network-process native-compile emacs)

Memory information:
((conses 16 3256970 1211766) (symbols 48 49469 26)
 (strings 32 449541 37655) (string-bytes 1 163761912)
 (vectors 16 111861) (vector-slots 8 1725680 312142)
 (floats 8 2482 38002) (intervals 56 152451 5659) (buffers 992 79))