1.1--- a/lisp/lib/skel/comp/asd.lisp Mon Jun 24 23:03:42 2024 -0400
1.2+++ b/lisp/lib/skel/comp/asd.lisp Tue Jun 25 19:56:31 2024 -0400
1.3@@ -12,7 +12,7 @@
1.4 ;;; Code:
1.5 (in-package :skel/comp/asd)
1.6
1.7-(defclass sk-lisp-system (skel asdf:system)
1.8+(defclass sk-lisp-system (sk-module asdf:system)
1.9 ;; these slots are inferred in ASDF:SYSTEM. Since we are primarily concerned
1.10 ;; with generating ASDF:SYSTEM definitions rather than parsing them we restore them here.
1.11 ((serial :initform nil :type boolean :accessor sk-lisp-system-serial)
1.12@@ -31,15 +31,22 @@
1.13 (id:update-id sys)
1.14 sys))
1.15
1.16+(defmethod sk-convert ((self asdf:system))
1.17+ (to-sk-system self))
1.18+
1.19 (defun find-sk-system (system)
1.20 (to-sk-system (asdf:find-system system)))
1.21
1.22-(defun parse-sk-system (name path &optional opts)
1.23+(defun parse-sk-lisp-system (name path &optional opts)
1.24 (to-sk-system (asdf::parse-component-form nil (list* :system name :pathname path opts))))
1.25
1.26 (defmethod sk-load ((self sk-lisp-system) &key force force-not verbose version)
1.27 (asdf:load-system self :force force :force-not force-not :verbose verbose :version version))
1.28
1.29+(defmethod sk-load-component ((kind (eql :lisp-system)) (path pathname))
1.30+ (declare (ignore kind))
1.31+ (parse-sk-lisp-system (pathname-name path) path))
1.32+
1.33 ;; (defmethod sk-compile ((self sk-lisp-system) stream &key &allow-other-keys))
1.34
1.35 (defun sk-write-asd-components (module)
1.36@@ -93,7 +100,7 @@
1.37 (terpri s)))))
1.38
1.39 ;; (sk-write-file (find-sk-system :obj) :path "test")
1.40-;; (describe (parse-sk-system "skel" "/home/ellis/comp/core/lisp/lib/"))
1.41+;; (describe (parse-sk-lisp-system "skel" "/home/ellis/comp/core/lisp/lib/"))
1.42
1.43 (defmethod sk-read-file ((self sk-lisp-system) path)
1.44- (parse-sk-system (pathname-name path) (pathname-directory path)))
1.45+ (parse-sk-lisp-system (pathname-name path) (pathname-directory path)))