Subject: [clisp-list] Uninterned symbol as argument to IN-PACKAGE

From: Paolo Amoroso <[email-masked]>
Date: Tue, 10 Apr 2001 11:07:12 +0200

If my understanding of the HyperSpec is correct, the IN-PACKAGE form in the
following transcript (CLISP 2000-03-06 under Red Hat Linux 6.2) should not
generate an error:

[1]> (defpackage #:foo)
#<PACKAGE FOO>
[2]> (in-package #:foo)

*** - EVAL: variable #:FOO has no value
1. Break [3]>

What gives?

Paolo
-- 
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/

---

From: Sam Steingold <[email-masked]>
Date: 10 Apr 2001 10:13:01 -0400

> * In message <xAjSOqyXzU58g0fERjFs=[email-masked]>
> * On the subject of "[clisp-list] Uninterned symbol as argument to IN-PACKAGE"
> * Sent on Tue, 10 Apr 2001 11:07:12 +0200
> * Honorable Paolo Amoroso <[email-masked]> writes:
>
> If my understanding of the HyperSpec is correct, the IN-PACKAGE form
> in the following transcript (CLISP 2000-03-06 under Red Hat Linux 6.2)
> should not generate an error:
> 
> [1]> (defpackage #:foo)
> #<PACKAGE FOO>
> [2]> (in-package #:foo)
> 

1. you are using a version 2 releases old.  please upgrade.

2. CLISP has two IN-PACKAGE symbols: LISP:IN-PACKAGE, a CLtL1 function,
   and CL:IN-PACKAGE, an ANSI CL macro.  You are in the USER package,
   which uses LISP, not in CL-USER, which uses CL.  Thus:

$ clisp -q -norc -p CL-USER
[1]> (defpackage #:foo)
#<PACKAGE FOO>
[2]> (in-package #:foo)
#<PACKAGE FOO>
FOO[3]> 
$

3. The current CVS version removes this distinction - there is no CLtL1
   support anymore and LISP is a nickname for COMMON-LISP and USER is a
   nickname for COMMON-LISP-USER.

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
Small languages require big programs, large languages enable small programs.