#

Variable *PACKAGE*

Value Type:

a package object.

Initial Value:

the `COMMON-LISP-USER` package.

Description:

Whatever package object is currently the value of *package* is referred to as the current package.

Examples:

     (in-package "COMMON-LISP-USER") =>  #<PACKAGE "COMMON-LISP-USER">
     *package* =>  #<PACKAGE "COMMON-LISP-USER">
     (make-package "SAMPLE-PACKAGE" :use '("COMMON-LISP"))
    =>  #<PACKAGE "SAMPLE-PACKAGE">
     (list
       (symbol-package
         (let ((*package* (find-package 'sample-package)))
           (setq *some-symbol* (read-from-string "just-testing"))))
       *package*)
    =>  (#<PACKAGE "SAMPLE-PACKAGE"> #<PACKAGE "COMMON-LISP-USER">)
     (list (symbol-package (read-from-string "just-testing"))
           *package*)
    =>  (#<PACKAGE "COMMON-LISP-USER"> #<PACKAGE "COMMON-LISP-USER">)
     (eq 'foo (intern "FOO")) =>  true
     (eq 'foo (let ((*package* (find-package 'sample-package)))
                (intern "FOO")))
    =>  false

Affected By:

load, compile-file, in-package

See Also:

compile-file, in-package, load, package

Notes: None.

Copyright 1996-2005, LispWorks Ltd. All rights reserved.