[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Issue: DEFPACKAGE (Version 7)



    Date: 5 Dec 88 16:39 PST
    From: cl-cleanup@sail.stanford.edu

    If the specified name already refers to an existing package, then the 
    name-to-package mapping for that name is not changed.   At most, the 
    existing package will be modified to reflect the new definition;  it is 
    undefined what happens if the new definition is at variance with the 
    current state of that package.

What does "at variance" mean in this context?  Is the following
undefined?

(progn
  (defpackage my-package
    (:use lisp))

  (defpackage my-package
    (:use lisp)
    (:import-from my-other-package another-symbol)))

Is the second definition (which specifies an imported symbol that is not
accessible in the package at the time) at variance with the state of the
package?

My first reaction is that the only thing that should be undefined is if
the new definition specifies a different :USE list.  The rest of the
possible conflicts could be handled using the normal error handling of
the package modification functions.

                                                barmar