Path: utzoo!attcan!uunet!lll-winken!ames!mailrus!uflorida!gatech!udel!princeton!phoenix!eliot From: eliot@phoenix.Princeton.EDU (Eliot Handelman) Newsgroups: comp.lang.lisp Subject: Re: Problems with Lisp Packages Message-ID: <6729@phoenix.Princeton.EDU> Date: 28 Feb 89 20:45:14 GMT References: <117@bosco.dit.upm.es> <36624@think.UUCP> <1519@papaya.bbn.com> Reply-To: eliot@phoenix.Princeton.EDU (Eliot Handelman) Organization: Princeton University, NJ Lines: 23 In article <117@bosco.dit.upm.es> ibm@bosco.UUCP (Ignacio Bellido Montes) writes: > (DEFUN FOO (X) > (COND ((EQUAL (CAR X) 'YES) ... ) > ((EQUAL (CAR X) 'NO) ... ) > (T (PRINT 'ERROR))) > ) > When the current package is the same where the function is defined, >the function is well evaluated. But when I use the function from another >package, using (PACKAGE-FOO::FOO), the predicate EQUAL fails. I haven't seen anyone suggest what seems to me the most obvious solution, given that you really want to set up the problem as above: simply export all of the symbols that you really need. For example: (in-package 'package-foo) (export '(foo yes no)) (defun foo (x) ...) -Eliot