|   | 
 ANSI Common Lisp    11 Packages    11.2 Dictionary of Packages
 
| 11.2.10  shadowing-import | 
Function | 
  
 - Syntax:
 - 
shadowing-import
symbols &optional package
  
  t
 
  - Arguments and Values:
 - 
symbols - a designator for a list of symbols.
package  - a package designator.
 The default is the current package.
 
  - Description:
 - 
shadowing-import is like import, 
but it does not signal an error even if the importation of a symbol 
would shadow some symbol already accessible in package.  
shadowing-import inserts each of symbols 
into package as an internal symbol, regardless
of whether another symbol of the same name is shadowed by this
action.
If a different symbol of the same name is already present
in package,
that symbol is first uninterned from package.
The new symbol is added to package's shadowing-symbols list.  
 
shadowing-import does name-conflict
checking to the extent that it checks whether a distinct existing
symbol with the same name is accessible; if so, it is shadowed by
the new symbol, which implies that it must be uninterned
if it was 
present in package.
 
  - Examples:
 - 
 (in-package "COMMON-LISP-USER")   #<PACKAGE "COMMON-LISP-USER">
 (setq sym (intern "CONFLICT"))    CONFLICT
 (intern "CONFLICT" (make-package 'temp))    TEMP::CONFLICT, NIL
 (package-shadowing-symbols 'temp)    NIL
 (shadowing-import sym 'temp)    T 
 (package-shadowing-symbols 'temp)   (CONFLICT)
 
  - Side Effects:
 - 
shadowing-import 
changes the state of the package system in such a way that
the consistency rules do not hold across the change.
package's shadowing-symbols list is modified.
 
  - Affected By:
 - 
Current state of the package system.
  - See Also:
 - 
import, unintern, package-shadowing-symbols
  - Allegro CL Implementation Details:
 - 
 None.
  
 |