From: Jack Tanner
Subject: package name syntax error
Date: 
Message-ID: <b1n4rk$953$1@usenet01.srv.cis.pitt.edu>
I ran into this problem trying to compile Loom 3.0 with ACL 6.1, but it 
seems like a the problem is bigger.

Loom has a file called compile-loom.lisp, with this code at the very top:

(unless (find-package "COMMON-LISP")
   (let ((lisp-package (find-package "LISP")))
     (rename-package lisp-package
		    "LISP"
		    (append (package-nicknames lisp-package)
			    '("COMMON-LISP" "CL")))))

What happens is that "COMMON-LISP" is not a package that exists in ACL, 
nor is "LISP", so lisp-package is nil, and rename-package tries to 
rename nil, and dies with "Error: nil is not a package". (Alternatively, 
   it could be package-nicknames that dies, for the same reason. It 
doesn't matter.)

It seems like Franz changed the syntax of various -package calls, and 
this code doesn't work any more. I don't want to rewrite Loom. Is there 
some way to enable backward compatibility that will work with this old 
syntax?

Also, does anyone know of other gotchas to compiling Loom 3.0 with a 
recent ACL compiler, and how to address any related instances of 
backwards compatibility?

Thanks,
JT

From: Matthew Danish
Subject: Re: package name syntax error
Date: 
Message-ID: <20030203212753.B9355@lain.cheme.cmu.edu>
On Mon, Feb 03, 2003 at 08:22:34PM -0500, Jack Tanner wrote:
> It seems like Franz changed the syntax of various -package calls, and
> this code doesn't work any more. I don't want to rewrite Loom. Is
> there some way to enable backward compatibility that will work with
> this old syntax?

Franz has decided to create their own dialect of Lisp called ``Modern
mode'' where all symbols are not interned upper-case by default.  All CL
symbols are interned as lower-case.  This causes problems when you use
strings to designate symbols, as you can see.  I recommend that you use
the ``ANSI mode'' compiler named ``alisp'' instead.

-- 
; Matthew Danish <·······@andrew.cmu.edu>
; OpenPGP public key: C24B6010 on keyring.debian.org
; Signed or encrypted mail welcome.
; "There is no dark side of the moon really; matter of fact, it's all dark."
From: Jack Tanner
Subject: Re: package name syntax error
Date: 
Message-ID: <b1ndu1$b6g$1@usenet01.srv.cis.pitt.edu>
Matthew Danish wrote:
> Franz has decided to create their own dialect of Lisp called ``Modern
> mode'' where all symbols are not interned upper-case by default.  All CL
> symbols are interned as lower-case.  This causes problems when you use
> strings to designate symbols, as you can see.  I recommend that you use
> the ``ANSI mode'' compiler named ``alisp'' instead.

Thanks, alisp worked.

-JT
From: Barry Margolin
Subject: Re: package name syntax error
Date: 
Message-ID: <9VE%9.24$0g1.2245@paloalto-snr1.gtei.net>
In article <············@usenet01.srv.cis.pitt.edu>,
Jack Tanner  <····@hotmail.com> wrote:
>I ran into this problem trying to compile Loom 3.0 with ACL 6.1, but it 
>seems like a the problem is bigger.
>
>Loom has a file called compile-loom.lisp, with this code at the very top:
>
>(unless (find-package "COMMON-LISP")
>   (let ((lisp-package (find-package "LISP")))
>     (rename-package lisp-package
>		    "LISP"
>		    (append (package-nicknames lisp-package)
>			    '("COMMON-LISP" "CL")))))
>
>What happens is that "COMMON-LISP" is not a package that exists in ACL, 
>nor is "LISP", so lisp-package is nil, and rename-package tries to 
>rename nil, and dies with "Error: nil is not a package". (Alternatively, 
>   it could be package-nicknames that dies, for the same reason. It 
>doesn't matter.)
>
>It seems like Franz changed the syntax of various -package calls, and 
>this code doesn't work any more. I don't want to rewrite Loom. Is there 
>some way to enable backward compatibility that will work with this old 
>syntax?

Why do you think they changed the syntax of the package functions?  I
suspect the issue is with the package names.  They probably have a package
named "common-lisp" rather than "COMMON-LISP", because you're running in a
configuration that defaults symbol and package names to lowercase rather
than uppercase.

I'll bet if you change your strings to keyword symbols you'll be OK.

(unless (find-package :common-lisp)
   (let ((lisp-package (find-package :lisp)))
     (rename-package lisp-package
		    :lisp
		    (append (package-nicknames lisp-package)
			    '(:common-lisp :cl)))))

-- 
Barry Margolin, ······@genuity.net
Genuity, Woburn, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.