[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
MCL 2.0 final defsys package screw
- To: info-mcl%cambridge.apple.com@apple.COM
- Subject: MCL 2.0 final defsys package screw
- From: nathan@akbar.teleos.com
- Date: Thu, 10 Sep 92 13:32:00 -0700
I am trying to load a version of defsys that we have been using here
for several years. The source contains the following copyright notice:
;;; Copyright (c) 1987, Prime Computer, Inc., Natick, MA 01760
;;; All Rights Reserved
I know that the code we have is happy under 2.0b1p3, but when I try to
load it into 2.0 final I get:
> Error: value (PACKAGE-NAME SPACKAGE) is not of the expected type (OR STRING SYMBOL).
> While executing: IN-PACKAGE
The offending piece of code is:
(defun ...
(if package
(let ((spackage *package*))
(unwind-protect
(progn (in-package package)
(load path))
(in-package (package-name spackage))))
(load path))
...)
I assume that the problem has to do with a change in when in-package
gets evaluated (presumably related to the change between CLtL1 and
CLtL2) and what it expects to see as its argument. Packages have
always seemed a little magical to me, so I was hoping someone would
tell me whether the following translation would have the correct
effect:
(if package
(let ((*package* (find-package package)))
(load path))
(load path))
Thanks in advance,
Nathan Wilson
Teleos Research
nathan@teleos.com