[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
silly (?) question about mixed definitions and packages
Date: Fri, 3 Nov 89 20:39 EST
From: barmar@think.com (Barry Margolin)
Date: Fri, 3 Nov 89 14:42 PST
From: Montgomery Kosma <kosma@ALAN.LAAC-AI.Dialnet.Symbolics.COM>
When compiling and loading the following file (a set of stubs,
essentially, to get some other stuff to compile without actually having
another whole system available), I am getting the following error:
Compiling TRI:MOM;BIG-MOM;DATAVAULT-SIMULATOR-HACK.LISP.NEWEST
Loading TRI:MOM;BIG-MOM;DATAVAULT-SIMULATOR-HACK.BIN.NEWEST
Warning: Function CLOSE, being redefined by file TRI:MOM;BIG-MOM;DATAVAULT-SIMULATOR-HACK,
was previously defined by file SYS:CLCP;IOFNS. OK? (Y, P, or N) Proceed.
...
(in-package 'cmfs)
(defun cmfs::close (&rest ignore))
...
How did you create the package CMFS? It looks like it is inheriting the
CLOSE symbol from the COMMON-LISP package. The CMFS package is not
supposed to :USE any other packages, since it has symbols like this that
would conflict. It should be created with
(make-package 'cmfs :use nil)
If you don't specify :USE NIL, it defaults to :USE '(COMMON-LISP).
Of course if he does this then he'll have to get rid of the in-package 'cmfs,
since he won't get the definition of lisp:defun after the in-package.