diff --git a/package-inferred-system.lisp b/package-inferred-system.lisp index c1a649c1ebecb213b0ed7a88256f18586a8cade5..c20f1fee1af16d484f15e7c0982c58594bd184d3 100644 --- a/package-inferred-system.lisp +++ b/package-inferred-system.lisp @@ -138,7 +138,7 @@ otherwise return a default system name computed from PACKAGE-NAME." previous (eval `(defsystem ,system :class package-inferred-system - :source-file nil + :source-file ,(system-source-file top) :pathname ,dir :depends-on ,dependencies :around-compile ,around-compile diff --git a/test/package-inferred-system-test.script b/test/package-inferred-system-test.script index cedbb612f3959fad65dcec78a82b742085c6efeb..2d4a4d4228ae660eb4299c3e88ad761875440e62 100644 --- a/test/package-inferred-system-test.script +++ b/test/package-inferred-system-test.script @@ -12,3 +12,7 @@ ;; Test that around-compile is inherited by inferred systems. (assert-equal 3 (symbol-call :package-inferred-system-test/a :add10 1)) ;; add10 must have been compiled in base 2 + +;; Test that primary system name returns the correct value when called with a +;; package-inferred-system object. +(assert-equal "package-inferred-system-test" (primary-system-name (find-system :package-inferred-system-test/a/x)))