;;; -*- Mode: Lisp; Package: User; Base: 10. -*- ;;; (defun run-ada () (let ((fonts (send terminal-io :font-map))) (unwind-protect (let ((files (cdr (fs:directory-list "CT:ADA;*.ADA#>" :fast)))) (send terminal-io :set-font-map '(fonts:bigfnt)) (loop for file on files do (setf (car file) (list* (send (caar file) :name) #|:font fonts:bigfnt |# :value (car file)))) (loop as file = (tv:menu-choose files "Choose an ADA file to execute:") while file (send terminal-io :clear-screen) ;; Next two lines stolen from expansion of ADAF (incremental_build_diana_init) (adaf_int (list (string file)) terminal-io terminal-io terminal-io terminal-io terminal-io nil))) (send terminal-io :set-font-map fonts)))) (defun auto-run-ada () (let ((fonts (send terminal-io :font-map)) (more? (send terminal-io :more-p))) (unwind-protect (let ((file '("lm:ada.latest;ijcai85.ada"))) (send terminal-io :set-font-map '(fonts:bigfnt)) (send terminal-io :set-more-p nil) (loop until (listen) doing (send terminal-io :clear-screen) ;; Next two lines stolen from expansion of ADAF (incremental_build_diana_init) (adaf_int file terminal-io terminal-io terminal-io terminal-io terminal-io nil) (process-sleep 180. "Computer * Thought"))) (send terminal-io :set-font-map fonts) (send terminal-io :set-more-p more?))))