bug-lispm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Recent self changes, and :CAR message to pathname


From: Eric Swenson
Subject: Recent self changes, and :CAR message to pathname
Date: Thu, 12 Dec 2024 21:28:29 -0800

Recent changes prevent QLD from working. What happens that there is an 
unclaimed message error due to :CAR being sent to the “network/chaos/chuse” 
pathname. This code 

This stems from the (SETF (GETHASH (LIST FUNCTION-SPEC ARG2) 
FUNCTION-SPEC-HASH-TABLE) ARG1) in FUNCTION-SPEC-DEFAULT-HANDLER.  The apparent 
culprit is (:METHOD HASH-TABLE :CASE :SET :GET-HASH)

The hash table in question is the EQUAL-HASH-TABLE set up in 
CANONICALIZE-COLD-LOAD-PATHNAMES.

It appears we’re missing a DEFSETF for GETHASH.  This appears in system 130, 
but not in 301.

Here is a diff for the fix:

➜  sys-trunk fossil diff sys2/setf.lisp
Index: sys2/setf.lisp
==================================================================
--- sys2/setf.lisp
+++ sys2/setf.lisp
@@ -965,10 +965,14 @@

 (defsetf get (object property &optional (default nil defaultp)) (value)
   (let ((tem (if defaultp `(prog1 ,property ,default) property)))
     `(setprop ,object ,tem ,value)))
 (deflocf get get-location)
+
+(defsetf gethash (object hash-table &optional (default nil defaultp)) (value)
+  (let ((tem (if defaultp `(prog1 ,hash-table ,default) hash-table)))
+    `(sethash ,object ,tem ,value)))

 (defsetf get-from-area (object property area &optional (default nil defaultp)) 
(value)
   (let ((tem (if defaultp `(prog1 ,property ,default) property)))
     `(setprop-in-area ,object ,tem ,value ,area)))
 (deflocf get-from-area get-location-from-area)

Here is a patch that fixes the issue:

Attachment: system-301-7.lisp
Description: Binary data



reply via email to

[Prev in Thread] Current Thread [Next in Thread]