GNU bug report logs -
#76748
31.0.50; `unload-feature' unbinds NEW-ALIAS and BASE-VARIABLE of variable alias
Previous Next
Reported by: Jens Schmidt <jschmidt4gnu <at> vodafonemail.de>
Date: Tue, 4 Mar 2025 20:58:02 UTC
Severity: normal
Found in version 31.0.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sun, 16 Mar 2025 00:12:09 -0400
with message-id <jwvcyehfwco.fsf-monnier+emacs <at> gnu.org>
and subject line Re: bug#76748: 31.0.50; `unload-feature' unbinds NEW-ALIAS and BASE-VARIABLE of variable alias
has caused the debbugs.gnu.org bug report #76748,
regarding 31.0.50; `unload-feature' unbinds NEW-ALIAS and BASE-VARIABLE of variable alias
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
76748: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76748
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
1. `defalias' on builtin variable, like in vhdl-mode.el:
./progmodes/vhdl-mode.el:2331: (defvaralias 'vhdl-last-input-event 'last-input-event)
Start with "emacs -Q", then execute with C-j in *scratch*:
(require 'vhdl-mode)
vhdl-mode
(unload-feature 'vhdl-mode)
=>
Lisp error: (error "Built-in variables may not be unbound")
makunbound(vhdl-last-input-event)
#f(compiled-function (x) #<bytecode -0x15f00789bdf1ec4b>)(vhdl-last-input-event)
apply(#f(compiled-function (x) #<bytecode -0x15f00789bdf1ec4b>) vhdl-last-input-event nil)
loadhist-unload-element(vhdl-last-input-event)
unload-feature(vhdl-mode)
2. `define-obsolete-variable-alias' on non-builtin, like this:
./net/shr.el:164:(define-obsolete-variable-alias 'shr-external-browser 'browse-url-secondary-browser-function "27.1")
Start with "emacs -Q", then execute with C-j in *scratch*:
(require 'browse-url)
browse-url
browse-url-secondary-browser-function
browse-url-default-browser
(require 'shr)
shr
(unload-feature 'shr)
nil
browse-url-secondary-browser-function
=> Lisp error: (void-variable browse-url-secondary-browser-function)
My understanding is that `unload-feature' in
case 1. tries to unbind BASE-VARIABLE of the alias, and not NEW-ALIAS,
and fails to do so and in
case 2. unbinds both CURRENT-NAME and OBSOLETE-NAME.
I would expect that in these cases `unload-feature' should unbind
NEW-ALIAS/OBSOLETE-NAME from the feature being unloaded, but leave
BASE-VARIABLE/CURRENT-NAME unchanged. (Except of course if both items
of the alias originate from the same feature.)
In GNU Emacs 31.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version
3.24.38, cairo version 1.16.0) of 2025-03-04 built on sappc2
Repository revision: e978737f57ef8447bba5796dd945ac185fcadffa
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12201009
System Description: Debian GNU/Linux 12 (bookworm)
Configured using:
'configure --with-native-compilation --with-mailutils'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR GTK3
ZLIB
Important settings:
value of $LC_COLLATE: POSIX
value of $LC_TIME: POSIX
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: @im=ibus
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
minibuffer-regexp-mode: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr comp-run bytecomp byte-compile comp-common rx
emacsbug lisp-mnt message mailcap yank-media puny dired dired-loaddefs
rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config
gnus-util text-property-search time-date subr-x mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd touch-screen 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 lcms2 dynamic-setting system-font-setting
font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar
make-network-process tty-child-frames native-compile emacs)
Memory information:
((conses 16 58395 9074) (symbols 48 6196 0) (strings 32 15316 2044)
(string-bytes 1 469694) (vectors 16 9916)
(vector-slots 8 139508 9528) (floats 8 23 12) (intervals 56 263 0)
(buffers 984 11))
[Message part 3 (message/rfc822, inline)]
> Please see the attached patch.
Thanks, pushed to `master` closing,
Stefan
This bug report was last modified 67 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.