fix dialog navigation and sidebar data construction

Dialog: use consistent cl-tty.dialog: prefix for all select accessors.
The :cl-tty.select and :cl-tty.dialog packages each define their own
SELECT class with separate accessor generic functions. Mixing prefixes
caused "no applicable method" errors. Now all 14 references use
cl-tty.dialog: (make-select, select-filter, select-next, etc.)

Sidebar: fix sidebar-lines append arguments. Each item must be a
proper list of cons cells, not a bare cons. Replaced all quoted
'("x" . :y) with (list (cons "x" :y)). Also fixed the quoted
cons call that was never evaluated.

Bash script: add --disable-debugger and --eval '(uiop:quit 0)' to
the tui sbcl invocation. Prevents the debugger from entering raw
terminal mode on error and ensures clean exit.

cl-tty: delete stale select-package.lisp and select.lisp orphan files
(not tangled by any current org file).
This commit is contained in:
2026-05-20 12:07:56 -04:00
parent 9492e00318
commit 0629f8c6d3
3 changed files with 32 additions and 31 deletions

View File

@@ -395,13 +395,14 @@ case "$COMMAND" in
stty -icanon -echo -ixon 2>/dev/null || true
# Ensure COLORTERM is set for modern backend detection
export COLORTERM="${COLORTERM:-truecolor}"
sbcl --noinform \
sbcl --noinform --disable-debugger \
--load "$HOME/quicklisp/setup.lisp" \
--eval '(push (truename "'"$PASSEPARTOUT_DATA_DIR"'/") asdf:*central-registry*)' \
--eval '(setf *debugger-hook* nil uiop:*compile-file-failure-behaviour* :warn)' \
--eval '(ql:quickload :passepartout/tui)' \
--eval '(in-package :passepartout)' \
--eval '(passepartout.channel-tui:tui-main)'
--eval '(passepartout.channel-tui:tui-main)' \
--eval '(uiop:quit 0)'
rc=$?
stty icanon echo ixon 2>/dev/null
exit $rc