REMHASH on weak hash tables doesn't work
REMHASH on weak hash tables doesn't seem to work.
ECL (Embeddable Common-Lisp) 24.5.10 (git:UNKNOWN)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2013 Juan J. Garcia-Ripoll
Copyright (C) 2018 Daniel Kochmanski
Copyright (C) 2023 Daniel Kochmanski and Marius Gerbershagen
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.
Top level in: #<process TOP-LEVEL 0x7f082f10af00>.
> (let ((h (make-hash-table :weakness :key)))
(dotimes (i 10000)
(let ((k i))
(setf (gethash k h) *package*)
(assert (remhash k h))
(let ((v (gethash k h)))
(assert (null v) () "Entry (~S ~S) was not deleted." k v)))))
Condition of type: SIMPLE-ERROR
Entry (0 #<"COMMON-LISP-USER" package>) was not deleted.
Should have been deleted. The same things happens with :WEAKNESS :VALUE, too. It works fine on 21.2.1 in Debian.
ECL was Built from 24.5.10 tarball from the ecl web site.
VERSION "24.5.10"
VCS-ID "UNKNOWN"
OS "Linux"
MACHINE-TYPE "x86_64"
FEATURES (:QUICKLISP :ASDF-PACKAGE-SYSTEM :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :WALKER :CDR-6 :GRAY-STREAMS-MODULE :CDR-1 :CDR-5 :LINUX :FORMATTER ...)