[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Common Lisp require is broken & I can't have the source.
- To: mac%mcc.arpa@CSNET-RELAY, BUG-LISPM%mcc.arpa@CSNET-RELAY, Slug%mcc.arpa@CSNET-RELAY, MCC-slug%mcc.arpa@CSNET-RELAY
- Subject: Common Lisp require is broken & I can't have the source.
- From: Kyra Lowther <toto%vermithrax.sch.symbolics.com@CSNET-RELAY>
- Date: Mon, 28 Jul 86 11:09 PDT
- Cc: hoss%vermithrax.sch.symbolics.com@CSNET-RELAY
- In-reply-to: <860724143709.5.MAC@MAC.MCC>
- Reply-to: TOTO%scrc-stony-brook.arpa@CSNET-RELAY
- Reply-to: TOTO%scrc-stony-brook.arpa@CSNET-RELAY
- Resent-date: Mon 28 Jul 86 17:08:13-CDT
- Resent-from: <CSNET-RELAY!r20.utexas.edu!CMP.SLUG>
- Resent-message-id: <12226375811.34.CMP.SLUG@R20.UTEXAS.EDU>
- Resent-to: SLUG:;
- Supersedes: <860725094554.5.TOTO@PUFF.SCH.Symbolics.COM>
Date: Thu, 24 Jul 86 14:37 CDT
From: Wilson M. Michaels <mac@MCC.ARPA>
In Symbolics 3600 Release 6.1, IP-TCP 29.13, Release-6-7 4.0,
COLOR 135.50, Experimental VISTA 4.0, microcode TMC5-COLOR-MIC 336,
FEP 127, FEP0:>v127-lisp.flod(5), FEP0:>v127-loaders.flod(5),
FEP0:>v127-debug.flod(10), FEP0:>v127-info.flod(5), on Mac's Color System:
The Common Lisp function (REQUIRE <name>) is broken. Here is a dumb
little version I hacked in order to get my job done:
;;;-*- Mode: LISP; Syntax: Zetalisp; Package: USER; Base: 10 -*-
(DEFUN REQUIRE (NAME) ;Once again I need SYMBOLICS source to fix a bug, but can't have it
(UNLESS (CL:FIND (CL:STRING NAME) CL:*MODULES* :TEST #'CL:STRING-EQUAL)
(MAKE-SYSTEM NAME :NOCONFIRM)))
I know this is in the Zetalisp package and REQUIRE is defined in the
Common Lisp package. That one is broken. It needs to be fixed by
SYMBOLICS.
This should take care of the string problem you are running into:
(defun require (module-name &optional pathname)
(setq module-name (string module-name))
(unless (member module-name *modules* :test #'equal)
(cond ((null pathname)
(make-system (zl:string module-name) :noconfirm))
((listp pathname)
(mapc #'load pathname))
(t (load pathname)))
(unless (member module-name *modules* :test #'equal)
(cerror "Proceed with no special action."
"The files that supposedly constitute the module ~A were loaded,~@
but they did not execute (PROVIDE ~:*~S)."
module-name))))