chiark / gitweb /
src/final.lisp (test-module): By default, just report and count up errors.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 25 Mar 2017 18:17:53 +0000 (18:17 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Fri, 8 Jun 2018 18:58:28 +0000 (19:58 +0100)
This makes the whole return value thing more useful.  You can still get
a backtrace (or enter the debugger or whatever) by setting the new
BACKTRACE argument.

doc/misc.tex
src/final.lisp

index e97fcb02c199f3e9b6b7a2a0a5d016434e85c98a..5ef4d1fd803962ec98deefbe5e174817b33ce75f 100644 (file)
@@ -568,7 +568,8 @@ These symbols are defined in the @!optparse| package.
 \begin{describe}{var}{*debugout-pathname*}
 \end{describe}
 
-\begin{describe}{fun}{test-module @<path> \&key :reason :clear @> @<status>}
+\begin{describe}{fun}
+    {test-module @<path> \&key :reason :clear :backtrace @> @<status>}
 \end{describe}
 
 \begin{describe}{fun}
index 05284910991f0e6196edb715a3c241896d1cf04b..8cd42f83478d5834dd8424276a36a00d5c7a86f6 100644 (file)
@@ -39,7 +39,7 @@ (export '*debugout-pathname*)
 (defvar *debugout-pathname* #p"debugout.c")
 
 (export 'test-module)
-(defun test-module (path &key reason clear)
+(defun test-module (path &key reason clear backtrace)
   "Read a module from PATH, to exercise the machinery.
 
    If CLEAR is non-nil, then reset the translator's state before proceeding.
@@ -51,7 +51,8 @@ (defun test-module (path &key reason clear)
    warnings encountered while processing the module."
   (when clear (clear-the-decks))
   (multiple-value-bind (module nerror nwarning)
-      (count-and-report-errors () (read-module path))
+      (if backtrace (read-module path)
+         (count-and-report-errors () (read-module path)))
     (when (and module reason)
       (with-open-file (out *debugout-pathname*
                       :direction :output