The select widget (filtered option list) was only used by the dialog system. Merging removes an entire package boundary, simplifies the dependency chain, and reduces the library from 12 packages to 11. Changes: - absorb select class, accessors, filter, navigation, key handling, rendering, fuzzy matching, and all tests into dialog.org - update cl-tty.dialog package to use cl-tty.box (for dirty-mixin) and cl-tty.layout (for layout-node) - remove select.org, select-package.lisp, select.lisp, select-tests - update ASDF, run-all-tests.lisp, scripts to drop select references - update integration tests to use cl-tty.dialog instead of cl-tty.select All 13 test suites pass at 100%.
86 lines
3.2 KiB
Common Lisp
86 lines
3.2 KiB
Common Lisp
;; Code audit: load everything with full safety, collect warnings
|
|
(load "~/quicklisp/setup.lisp")
|
|
(ql:register-local-projects)
|
|
(ql:quickload :cl-tty :silent t)
|
|
(ql:quickload :fiveam :silent t)
|
|
|
|
;; Redirect warnings into a collector
|
|
(defvar *warnings* '())
|
|
(defvar *notes* '())
|
|
(defvar *style-warnings* '())
|
|
|
|
(setf sb-ext:*compiler-note-condition-handler*
|
|
(lambda (c)
|
|
(push (format nil "NOTE: ~a" c) *notes*)
|
|
(muffle-warning c)))
|
|
|
|
(setf sb-ext:*compiler-warning-condition-handler*
|
|
(lambda (c)
|
|
(etypecase c
|
|
(sb-int:simple-style-warning
|
|
(push (format nil "STYLE-WARNING: ~a" c) *style-warnings*))
|
|
(t
|
|
(push (format nil "WARNING: ~a" c) *warnings*)))
|
|
(muffle-warning c)))
|
|
|
|
;; Load all source files directly to catch per-file warnings
|
|
(let ((files
|
|
'("src/backend/classes.lisp" "src/backend/package.lisp"
|
|
"src/backend/detection.lisp" "src/backend/simple.lisp" "src/backend/modern.lisp"
|
|
"src/layout/layout.lisp"
|
|
"src/components/container-package.lisp"
|
|
"src/components/dialog-package.lisp" "src/components/dialog.lisp"
|
|
"src/components/dirty.lisp"
|
|
"src/components/input-package.lisp" "src/components/input.lisp"
|
|
"src/components/keybindings.lisp"
|
|
"src/components/markdown-package.lisp" "src/components/markdown.lisp"
|
|
"src/components/mouse-package.lisp" "src/components/mouse.lisp"
|
|
"src/components/package.lisp" "src/components/render.lisp"
|
|
"src/components/scrollbox.lisp" "src/components/slot-package.lisp"
|
|
"src/components/slot.lisp" "src/components/tabbar.lisp"
|
|
"src/components/text-input.lisp" "src/components/text.lisp"
|
|
"src/components/textarea.lisp" "src/components/theme.lisp"
|
|
"src/components/box.lisp"
|
|
"src/rendering/framebuffer.lisp"
|
|
"demo.lisp")))
|
|
(dolist (f files)
|
|
(handler-bind ((warning #'muffle-warning))
|
|
(load f))))
|
|
|
|
;; Also run the test files for good measure
|
|
(dolist (f '("src/backend/tests.lisp" "src/backend/modern-tests.lisp"
|
|
"src/layout/tests.lisp"
|
|
"src/components/box-tests.lisp"
|
|
"src/components/dirty-tests.lisp"
|
|
"src/components/render-tests.lisp"
|
|
"src/components/theme-tests.lisp"
|
|
"src/components/input-tests.lisp"
|
|
"tests/scrollbox-tabbar-tests.lisp"
|
|
"tests/markdown-tests.lisp"
|
|
"tests/dialog-tests.lisp"
|
|
"tests/mouse-tests.lisp"
|
|
"tests/slot-tests.lisp"
|
|
"tests/framebuffer-tests.lisp"))
|
|
(load f))
|
|
|
|
(format t "~&=== COMPILER AUDIT RESULTS ===~%")
|
|
(format t "WARNINGS (~d):~%" (length *warnings*))
|
|
(dolist (w (reverse *warnings*))
|
|
(format t " ~a~%" w))
|
|
(format t "STYLE-WARNINGS (~d):~%" (length *style-warnings*))
|
|
(dolist (w (reverse *style-warnings*))
|
|
(format t " ~a~%" w))
|
|
(format t "NOTES (~d):~%" (length *notes*))
|
|
(dolist (n (reverse *notes*))
|
|
(format t " ~a~%" n))
|
|
|
|
(unless *warnings*
|
|
(format t "~&No compiler warnings.~%"))
|
|
(unless *style-warnings*
|
|
(format t "No style-warnings.~%"))
|
|
(unless *notes*
|
|
(format t "No notes.~%"))
|
|
|
|
(format t "~&=== AUDIT COMPLETE ===~%")
|
|
(uiop:quit 0)
|