Could you please explain me the difference between
(defpackage :test
(:use #:cl #:excl #:clim))
(in-package :test)
(define-application-frame test ()
........
and
(defpackage :test
(:use #:cl #:excl)
(:shadowing-import-from #:clim))
(in-package :test)
(define-application-frame test ()
.....
In the second case I get the error
Error: attempt to call `define-application-frame' which is an undefined
function.
which I unable to explain because I thoght both forms of defpackage should
produce
the same result. Where was I wrong?
[Using ACL70]
--
Vladimir Zolotykh
Vladimir Zolotykh <······@eurocom.od.ua> writes:
> Could you please explain me the difference between
> (defpackage :test
> (:use #:cl #:excl #:clim))
> (in-package :test)
> (define-application-frame test ()
> ........
> and
> (defpackage :test
> (:use #:cl #:excl)
> (:shadowing-import-from #:clim))
> (in-package :test)
> (define-application-frame test ()
> .....
> In the second case I get the error
> Error: attempt to call `define-application-frame' which is an undefined
> function.
> which I unable to explain because I thoght both forms of defpackage
> should produce
> the same result. Where was I wrong?
> [Using ACL70]
The :shadowing-import-from clause takes a list of names you want to
import from the given package. You need to import at least
define-application-frame. See:
<http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-symbols.html>
for a longer explanation.
-Peter
--
Peter Seibel ·····@javamonkey.com
Lisp is the red pill. -- John Fraser, comp.lang.lisp
Thank you both
What a shameful blunder of mine!
On Thu, 06 Jan 2005 18:04:22 GMT, Peter Seibel <·····@javamonkey.com>
wrote:
> Vladimir Zolotykh <······@eurocom.od.ua> writes:
>
>> Could you please explain me the difference between
>> (defpackage :test
>> (:use #:cl #:excl #:clim))
>> (in-package :test)
>> (define-application-frame test ()
>> ........
>> and
>> (defpackage :test
>> (:use #:cl #:excl)
>> (:shadowing-import-from #:clim))
>> (in-package :test)
>> (define-application-frame test ()
>> .....
>> In the second case I get the error
>> Error: attempt to call `define-application-frame' which is an undefined
>> function.
>> which I unable to explain because I thoght both forms of defpackage
>> should produce
>> the same result. Where was I wrong?
>> [Using ACL70]
>
> The :shadowing-import-from clause takes a list of names you want to
> import from the given package. You need to import at least
> define-application-frame. See:
>
> <http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-symbols.html>
>
> for a longer explanation.
>
> -Peter
>
--
Vladimir Zolotykh
Vladimir Zolotykh <······@eurocom.od.ua> writes:
> (defpackage :test
> (:use #:cl #:excl)
> (:shadowing-import-from #:clim))
The :shadowing-import-from option never causes a package (test)
to use another package (clim). It merely imports a set of
symbols from the specified package (clim) and makes them shadow
any inherited symbols. However, in your defpackage form, this
set of symbols is empty, because you did not list any symbols at
the right side of #:clim.