[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
a (last ?) package question
Date: Tue, 5 SEP 89 19:29:19 PDT
From: KARNICKY@crvax.sri.com (Karnicky)
Now, when I load this file, I get an error message at the point that the
(use-package 'zelda 'user) is run which says USER already contains the
symbols u d tt db l s h sd m st restart w e eplan editdb and findme.
When I RESUME from this error the problematic symbols in the USER package
are uninterned, and the program does exactly what I wanted.
Question: How did those symbols get interned into the USER package?
Is this load file correctly arranged?
;;; -*- Mode: LISP; Base: 10; Syntax: Common-lisp -*-
(defpackage zelda
(:prefix-name "ZELDA")
(:use symbolics-common-lisp)
(:export u d tt db l s h sd m st restart w e eplan editdb findme))
When this file is loaded, it is read in the USER package. Therefore,
all the non-prefixed symbols in the DEFPACKAGE form are interned in the
USER package. Replace the symbols in the :EXPORT option with strings
(don't forget to make them uppercase) and you should be OK.
Just as a matter of style, I'd be careful with all those single-letter
symbols. Users tend to use such things as temporary, throw-away
variables and functions. The external symbols of a package form an
interface to its facilities, so the names should generally be more
descriptive.
barmar