How to decide what to kill / packages



> If no explicit package qualifier is given, then it looks in *package*.
> If a qualifier is given, then look there.  Also, note that package:foo
> implies that foo has been exported (made "public") from the package.
> Otherwise, you have to use package::foo.  But this usually means that
> foo is internal to the package and you shouldn't be using that.
> 
> Ray

Sorry, I still do not understand: if foo is not defined in *package*, 
would Lisp look somewhere else? I suspect that it doesn't. I just read 
that there is a list of packages that a given package 'uses'. So, suppose 
that

(defun foo (...) body1) is part of pack1 
(defun foo (...) body2) is part of pack2.

If I am using pack1 and pack2 (I suppose I'd do this via 

(use-package pack1 pack2))

what would foo do? (I do not understand the HyperSpec, sorry)

I suppose a call to foo within pack1 would call pack1:foo, wouldn't it?

Thank you, 
Martin