X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdefpackage.lisp;h=1d6a191ed04cf7f9186539c6f60cd149c40b6ab4;hb=35bfc07cbd9aa8029e9cc42f1a3fab27f1a673f4;hp=01d38ce00a105d70aeacb0e9afadf141cbc14a73;hpb=4898ef32c639b1c7f4ee13a5ba566ce6debd03e6;p=sbcl.git diff --git a/src/code/defpackage.lisp b/src/code/defpackage.lisp index 01d38ce..1d6a191 100644 --- a/src/code/defpackage.lisp +++ b/src/code/defpackage.lisp @@ -142,7 +142,8 @@ `(eval-when (:compile-toplevel :load-toplevel :execute) (%defpackage ,(stringify-name package "package") ',nicknames ',size ',shadows ',shadowing-imports ',(if use-p use :default) - ',imports ',interns ',exports ',implement ',lock ',doc)))) + ',imports ',interns ',exports ',implement ',lock ',doc + (sb!c:source-location))))) (defun check-disjoint (&rest args) ;; An arg is (:key . set) @@ -172,7 +173,8 @@ names)) (defun %defpackage (name nicknames size shadows shadowing-imports - use imports interns exports implement lock doc-string) + use imports interns exports implement lock doc-string + source-location) (declare (type simple-string name) (type list nicknames shadows shadowing-imports imports interns exports) @@ -188,6 +190,8 @@ :use nil :internal-symbols (or size 10) :external-symbols (length exports)))))) + (sb!c:with-source-location (source-location) + (setf (package-source-location package) source-location)) (unless (string= (the string (package-name package)) name) (error 'simple-package-error :package name