I'm using Corman Lisp 2.5. Looks like a bug to report. And your LET
expression didn't work, either. At least I know it is the
implementation and not me. Thanks everyone.
Edi Weitz wrote:
> You didn't tell us which Lisp implementation you are using but your
> first SETF form invokes undefined behaviour unless you've previously
> declared TEST with DEFPARAMETER or DEFVAR. Does the following form do
> what you expect?
>
> (let ((test (make-hash-table :test #'equalp)))
> (setf (gethash "one" test) 1)
> (gethash "ONE" test))
>
(message (Hello 'Jeff)
(you :wrote :on '(26 Jul 2004 13:30:49 -0700))
(
J> I'm using Corman Lisp 2.5. Looks like a bug to report. And your LET
J> expression didn't work, either. At least I know it is the
J> implementation and not me. Thanks everyone.
in hash-table.lisp (i have corman lisp 2.0, but looks like there's no
difference) you can find
(defun hash-equalp-function (obj)
(hash-equal-function obj))
that obviously leads to bug - "ONE" and "one" have different hashes - and
appear in different table entries..
)
(With-best-regards '(Alex Mizrahi) :aka 'killer_storm)
(prin1 "Jane dates only Lisp programmers"))