Eliminates the cl-tty.container package by merging scrollbox and tabbar components directly into cl-tty.box, where the component system lives. Changes: - added scrollbox/tabbar exports to cl-tty.box defpackage in package.org - changed scrollbox.org in-package from cl-tty.container to cl-tty.box - changed tabbar.org in-package from cl-tty.container to cl-tty.box - tabbar's key-event-key references are qualified with cl-tty.input: (avoids circular :use dependency with cl-tty.input which :uses cl-tty.box) - deleted container-package.org - updated test packages, integration tests, scripts, ASDF - all 14 test suites pass at 100%
73 lines
3.2 KiB
Common Lisp
73 lines
3.2 KiB
Common Lisp
;; Deep compiler audit - compile every file with full warnings
|
|
(load "~/quicklisp/setup.lisp")
|
|
(ql:register-local-projects)
|
|
(ql:quickload :cl-tty :silent t)
|
|
(ql:quickload :fiveam :silent t :error t)
|
|
(ql:quickload :bordeaux-threads :silent t)
|
|
|
|
(defparameter *results* '())
|
|
|
|
(defun audit-compile (file)
|
|
(let* ((warnings '())
|
|
(notes '())
|
|
(style-warnings '()))
|
|
;; Redirect compiler output during compilation
|
|
(handler-bind
|
|
((style-warning
|
|
(lambda (c) (push (format nil " STYLE-WARNING: ~a" c) style-warnings) (muffle-warning c)))
|
|
(warning
|
|
(lambda (c) (push (format nil " WARNING: ~a" c) warnings) (muffle-warning c)))
|
|
(sb-ext:compiler-note
|
|
(lambda (c) (push (format nil " NOTE: ~a" c) notes) (muffle-warning c))))
|
|
(multiple-value-bind (fasl warn-p fail-p)
|
|
(compile-file file :print nil :verbose nil)
|
|
(delete-file fasl)
|
|
(push (list file warn-p fail-p (reverse style-warnings) (reverse warnings) (reverse notes))
|
|
*results*)))))
|
|
|
|
(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/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/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"
|
|
"src/backend/modern-tests.lisp" "src/backend/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/dialog-tests.lisp"
|
|
"tests/markdown-tests.lisp" "tests/dialog-tests.lisp"
|
|
"tests/dialog-tests.lisp" "tests/slot-tests.lisp"
|
|
"tests/framebuffer-tests.lisp")))
|
|
(dolist (f files)
|
|
(if (probe-file f)
|
|
(audit-compile f)
|
|
(format t "~&SKIP (not found): ~a~%" f))))
|
|
|
|
(format t "~&~%=== COMPILER AUDIT RESULTS ===~%")
|
|
(dolist (r (reverse *results*))
|
|
(destructuring-bind (file warn-p fail-p style-warnings warnings notes) r
|
|
(format t "~&~a~%" file)
|
|
(format t " warn=~a fail=~a" warn-p fail-p)
|
|
(when notes (format t " (~d notes)" (length notes)))
|
|
(when style-warnings (format t " (~d style-warnings)" (length style-warnings)))
|
|
(when warnings (format t " (~d warnings)" (length warnings)))
|
|
(format t "~%")
|
|
(dolist (s style-warnings) (format t "~a~%" s))
|
|
(dolist (w warnings) (format t "~a~%" w))))
|
|
|
|
(format t "~%=== DONE ===~%")
|
|
(uiop:quit 0)
|