v0.15.0: Critical input/rendering fixes, subagent-reviewed #7

Merged
amr merged 36 commits from feature/v0.11.0-slots into main 2026-05-11 22:03:18 -04:00
2 changed files with 11 additions and 11 deletions
Showing only changes of commit 3ce7f9949c - Show all commits

View File

@@ -68,12 +68,12 @@
(:file "render-tests") (:file "render-tests")
(:file "theme-tests") (:file "theme-tests")
(:file "input-tests") (:file "input-tests")
(:file "scrollbox-tabbar-tests" :pathname "../../tests/scrollbox-tabbar-tests.lisp") (:file "scrollbox-tabbar-tests" :pathname "../../tests/scrollbox-tabbar-tests")
(:file "select-tests" :pathname "../../tests/select-tests.lisp") (:file "select-tests" :pathname "../../tests/select-tests")
(:file "markdown-tests" :pathname "../../tests/markdown-tests.lisp") (:file "markdown-tests" :pathname "../../tests/markdown-tests")
(:file "dialog-tests" :pathname "../../tests/dialog-tests.lisp") (:file "dialog-tests" :pathname "../../tests/dialog-tests")
(:file "mouse-tests" :pathname "../../tests/mouse-tests.lisp") (:file "mouse-tests" :pathname "../../tests/mouse-tests")
(:file "slot-tests" :pathname "../../tests/slot-tests.lisp")))) (:file "slot-tests" :pathname "../../tests/slot-tests"))))
:perform (test-op (o c) :perform (test-op (o c)
(let ((run (find-symbol "RUN" :fiveam)) (let ((run (find-symbol "RUN" :fiveam))
(explain (find-symbol "EXPLAIN!" :fiveam))) (explain (find-symbol "EXPLAIN!" :fiveam)))

View File

@@ -19,9 +19,9 @@
(in-package :cl-tty.layout) (in-package :cl-tty.layout)
(defun normalize-box (spec) (defun normalize-box (spec)
(cond ((null spec) '(:top 0 :right 0 :bottom 0 :left 0)) (cond ((null spec) (list :top 0 :right 0 :bottom 0 :left 0))
((numberp spec) `(:top ,spec :right ,spec :bottom ,spec :left ,spec)) ((numberp spec) (list :top spec :right spec :bottom spec :left spec))
(t (loop with result = '(:top 0 :right 0 :bottom 0 :left 0) (t (loop with result = (list :top 0 :right 0 :bottom 0 :left 0)
for (key val) on spec by #'cddr for (key val) on spec by #'cddr
do (setf (getf result key) val) do (setf (getf result key) val)
finally (return result))))) finally (return result)))))
@@ -39,8 +39,8 @@
(direction :initform :column :initarg :direction :accessor layout-node-direction) (direction :initform :column :initarg :direction :accessor layout-node-direction)
(grow :initform 0 :initarg :grow :accessor layout-node-grow) (grow :initform 0 :initarg :grow :accessor layout-node-grow)
(shrink :initform 1 :initarg :shrink :accessor layout-node-shrink) (shrink :initform 1 :initarg :shrink :accessor layout-node-shrink)
(padding :initform '(:top 0 :right 0 :bottom 0 :left 0) :initarg :padding :accessor layout-node-padding) (padding :initform (list :top 0 :right 0 :bottom 0 :left 0) :initarg :padding :accessor layout-node-padding)
(margin :initform '(:top 0 :right 0 :bottom 0 :left 0) :initarg :margin :accessor layout-node-margin) (margin :initform (list :top 0 :right 0 :bottom 0 :left 0) :initarg :margin :accessor layout-node-margin)
(gap :initform 0 :initarg :gap :accessor layout-node-gap) (gap :initform 0 :initarg :gap :accessor layout-node-gap)
(position-type :initform :relative :initarg :position-type :accessor layout-node-position-type) (position-type :initform :relative :initarg :position-type :accessor layout-node-position-type)
(position-offset :initform nil :initarg :position-offset :accessor layout-node-position-offset) (position-offset :initform nil :initarg :position-offset :accessor layout-node-position-offset)