Subject: Maxima with Corman CL - defsystem defsetf bug
From: Mike Thomas
Date: Wed, 29 Sep 2004 16:36:25 +1000
Hi Maxima Lisp experts.
I'm using James' pure Lisp build mechanism with Corman CL, but running into
trouble with defsetf get-system in "defsystem.lisp" in the function
"create-component".
I've inserted a format statement just before the problem statement as
follows:
...
(format t "name = ~A ; component = ~A ; ~A ~A ~A ~A" name component (eq
type :defsystem) (eq type :system) (eq type :subsystem) (get-system name))
;; Type specific setup:
(when (or (eq type :defsystem) (eq type :system) (eq type :subsystem))
(setf (get-system name) component))
...
With Corman CL this gives:
===================================================================
name = maxima ; component = #<DEFSYSTEM: maxima> ; T NIL NIL NIL;;; An error
occurred in function (SETF GET-SYSTEM):
;;; Error: Not a list: maxima
;;; Entering Corman Lisp debug loop.
;;; Use :C followed by an option to exit. Type :HELP for help.
;;; Restart options:
;;; 1 Abort to top level.
===================================================================
With GCL the printout is the same but there is, of course, no problem:
===================================================================
name = maxima ; component = #<DEFSYSTEM: maxima> ; T NIL NIL NIL
===================================================================
I am at the limits of my understanding of CL here and would appreciate any
advice as to how to understand and isolate this bug in Corman CL.
Cheers
Mike Thomas.