From 2e0110e9e99034f49a59d68af509ae3015184b7a Mon Sep 17 00:00:00 2001 From: screwlisp Date: Thu, 2 Jul 2026 23:19:05 +1200 Subject: just use package inferred. --- better-eg.png | Bin 0 -> 119973 bytes class.lisp | 27 +++++++++++++++++++++++++++ frame.lisp | 19 +++++++++++++++++++ packages.lisp | 0 simple-text-clim-frame.asd | 6 ++++++ some.text | 7 +++++++ 6 files changed, 59 insertions(+) create mode 100644 better-eg.png create mode 100644 class.lisp delete mode 100644 packages.lisp diff --git a/better-eg.png b/better-eg.png new file mode 100644 index 0000000..efd8344 Binary files /dev/null and b/better-eg.png differ diff --git a/class.lisp b/class.lisp new file mode 100644 index 0000000..ba68fcc --- /dev/null +++ b/class.lisp @@ -0,0 +1,27 @@ +(uiop:define-package + :simple-text-clim-frame/class + (:export #:my-class #:my-display) + (:import-from :asdf)) + +(in-package :simple-text-clim-frame/class) + +(defclass my-class () + ((text-slot + :initform #.(format + nil + "~{~a~^~%~}" + (with-open-file + (in (merge-pathnames + #P"some.text" + (asdf:system-source-directory + "simple-text-clim-frame"))) + (loop for line = (read-line in nil nil) + while line + collect line)))))) + +(defmethod my-display ((obj my-class) stream) + (with-slots + (text-slot) + obj + (princ text-slot stream))) + diff --git a/frame.lisp b/frame.lisp index e69de29..f8555e1 100644 --- a/frame.lisp +++ b/frame.lisp @@ -0,0 +1,19 @@ +(uiop:define-package + :simple-text-clim-frame/frame + (:export) + (:mix-reexport :simple-text-clim-frame/class) + (:mix :clim :clim-lisp)) + +(in-package :simple-text-clim-frame/frame) + +(define-application-frame + my-frame + (my-class standard-application-frame) + () + (:panes + (title :title :display-string "My title") + (app :application :display-function 'my-display)) + (:layouts + (default + (vertically () title app)))) + diff --git a/packages.lisp b/packages.lisp deleted file mode 100644 index e69de29..0000000 diff --git a/simple-text-clim-frame.asd b/simple-text-clim-frame.asd index e69de29..08afcb3 100644 --- a/simple-text-clim-frame.asd +++ b/simple-text-clim-frame.asd @@ -0,0 +1,6 @@ +(defsystem + simple-text-clim-frame + :class :package-inferred-system + :depends-on (:simple-text-clim-frame/frame) + :components + ((:static-file "some.text"))) diff --git a/some.text b/some.text index e69de29..b5a8741 100644 --- a/some.text +++ b/some.text @@ -0,0 +1,7 @@ +this + is + some + text + ! ,,,, + checking commas work + is a lisp thing. -- cgit v1.2.3