diff --git a/changelog b/changelog index fbf66fa..101de02 100644 --- a/changelog +++ b/changelog @@ -1,8 +1,13 @@ -20090806 tpd src/axiom-website/patches.html 20090807.01.tpd.patch -20090806 tpd src/interp/Makefile remove comp.lisp -20090806 tpd src/interp/comp.lisp remove macros reference -20090806 tpd src/interp/vmlisp.lisp merge comp.lisp -20090806 tpd src/interp/comp.lisp removed, merged with vmlisp.lisp +20090807 tpd src/axiom-website/patches.html 20090807.02.tpd.patch +20090807 tpd src/interp/Makefile remove spaderror.lisp +20090807 tpd src/interp/comp.lisp remove spaderror reference +20090807 tpd src/interp/vmlisp.lisp merge spaderror.lisp +20090807 tpd src/interp/spaderror.lisp removed, merged with vmlisp.lisp +20090807 tpd src/axiom-website/patches.html 20090807.01.tpd.patch +20090807 tpd src/interp/Makefile remove comp.lisp +20090807 tpd src/interp/comp.lisp remove comp reference +20090807 tpd src/interp/vmlisp.lisp merge comp.lisp +20090807 tpd src/interp/comp.lisp removed, merged with vmlisp.lisp 20090806 tpd src/axiom-website/patches.html 20090806.01.tpd.patch 20090806 tpd src/interp/Makefile remove macros.lisp 20090806 tpd src/interp/debugsys.lisp remove macros reference diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 23d5292..ba40569 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1752,6 +1752,8 @@ vmlisp.lisp and nlib.lisp merged
vmlisp.lisp and macros.lisp merged
20090807.01.tpd.patch vmlisp.lisp and comp.lisp merged
+20090807.02.tpd.patch +vmlisp.lisp and spaderror.lisp merged
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet index 79cb8c4..0cb65b3 100644 --- a/src/interp/Makefile.pamphlet +++ b/src/interp/Makefile.pamphlet @@ -128,7 +128,7 @@ expanded in later compiles. All macros are assumed to be in this list of files. <>= DEP= ${MID}/vmlisp.lisp \ - ${MID}/spaderror.lisp ${MID}/debug.lisp \ + ${MID}/debug.lisp \ ${MID}/spad.lisp ${MID}/bits.lisp \ ${MID}/setq.lisp ${MID}/property.lisp \ ${MID}/unlisp.lisp ${MID}/foam_l.lisp \ @@ -221,7 +221,6 @@ OBJS= ${OUT}/vmlisp.${O} \ ${OUT}/sfsfun-l.${O} ${OUT}/sfsfun.${O} \ ${OUT}/simpbool.${O} ${OUT}/slam.${O} \ ${OUT}/sockio.${O} ${OUT}/spad.${O} \ - ${OUT}/spaderror.${O} \ ${OUT}/template.${O} ${OUT}/termrw.${O} \ ${OUT}/daase.${O} \ ${OUT}/fortcall.${O} \ @@ -493,7 +492,7 @@ DOCFILES=${DOC}/alql.boot.dvi \ ${DOC}/sfsfun-l.lisp.dvi \ ${DOC}/simpbool.boot.dvi \ ${DOC}/slam.boot.dvi ${DOC}/sockio.lisp.dvi \ - ${DOC}/spaderror.lisp.dvi ${DOC}/spad.lisp.dvi \ + ${DOC}/spad.lisp.dvi \ ${DOC}/sys-pkg.lisp.dvi ${DOC}/template.boot.dvi \ ${DOC}/termrw.boot.dvi ${DOC}/topics.boot.dvi \ ${DOC}/unlisp.lisp.dvi \ @@ -1669,42 +1668,6 @@ ${DOC}/spad.lisp.dvi: ${IN}/spad.lisp.pamphlet @ -\subsection{spaderror.lisp \cite{35}} -<>= -${OUT}/spaderror.${O}: ${MID}/spaderror.lisp - @ echo 123 making ${OUT}/spaderror.${O} from ${MID}/spaderror.lisp - @ ( cd ${MID} ; \ - if [ -z "${NOISE}" ] ; then \ - echo '(progn (compile-file "${MID}/spaderror.lisp"' \ - ':output-file "${OUT}/spaderror.${O}") (${BYE}))' | ${DEPSYS} ; \ - else \ - echo '(progn (compile-file "${MID}/spaderror.lisp"' \ - ':output-file "${OUT}/spaderror.${O}") (${BYE}))' | ${DEPSYS} \ - >${TMP}/trace ; \ - fi ) - -@ -<>= -${MID}/spaderror.lisp: ${IN}/spaderror.lisp.pamphlet - @ echo 124 making ${MID}/spaderror.lisp \ - from ${IN}/spaderror.lisp.pamphlet - @ (cd ${MID} ; \ - ${TANGLE} ${IN}/spaderror.lisp.pamphlet >spaderror.lisp ) - -@ -<>= -${DOC}/spaderror.lisp.dvi: ${IN}/spaderror.lisp.pamphlet - @echo 125 making ${DOC}/spaderror.lisp.dvi \ - from ${IN}/spaderror.lisp.pamphlet - @(cd ${DOC} ; \ - cp ${IN}/spaderror.lisp.pamphlet ${DOC} ; \ - ${DOCUMENT} ${NOISE} spaderror.lisp ; \ - rm -f ${DOC}/spaderror.lisp.pamphlet ; \ - rm -f ${DOC}/spaderror.lisp.tex ; \ - rm -f ${DOC}/spaderror.lisp ) - -@ - \subsection{sys-pkg.lisp \cite{36}} <>= ${OUT}/sys-pkg.${LISP}: ${MID}/sys-pkg.lisp @@ -7715,10 +7678,6 @@ clean: <> <> -<> -<> -<> - <> <> <> @@ -7790,7 +7749,6 @@ pp \bibitem{32} {\bf \$SPAD/src/interp/property.lisp.pamphlet} \bibitem{33} {\bf \$SPAD/src/interp/sockio.lisp.pamphlet} \bibitem{34} {\bf \$SPAD/src/interp/spad.lisp.pamphlet} -\bibitem{35} {\bf \$SPAD/src/interp/spaderror.lisp.pamphlet} \bibitem{36} {\bf \$SPAD/src/interp/sys-pkg.lisp.pamphlet} \bibitem{38} {\bf \$SPAD/src/interp/util.lisp.pamphlet} \bibitem{39} {\bf \$SPAD/src/interp/vmlisp.lisp.pamphlet} diff --git a/src/interp/debugsys.lisp.pamphlet b/src/interp/debugsys.lisp.pamphlet index a6e17d0..2ff0988 100644 --- a/src/interp/debugsys.lisp.pamphlet +++ b/src/interp/debugsys.lisp.pamphlet @@ -163,7 +163,6 @@ loaded by hand we need to establish a value. (thesymb "/int/interp/slam.clisp") (thesymb (concatenate 'string "/obj/" *sys* "/interp/sockio.o")) (thesymb "/int/interp/spad.lisp") - (thesymb "/int/interp/spaderror.lisp") (thesymb "/int/interp/template.clisp") (thesymb "/int/interp/termrw.clisp") (thesymb "/int/interp/daase.lisp") diff --git a/src/interp/spaderror.lisp.pamphlet b/src/interp/spaderror.lisp.pamphlet deleted file mode 100644 index 8d76741..0000000 --- a/src/interp/spaderror.lisp.pamphlet +++ /dev/null @@ -1,126 +0,0 @@ -\documentclass{article} -\usepackage{axiom} -\begin{document} -\title{\$SPAD/src/interp spaderroor.lisp} -\author{Timothy Daly} -\maketitle -\begin{abstract} -\end{abstract} -\eject -\tableofcontents -\eject -\section{License} -<>= -;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. -;; All rights reserved. -;; -;; Redistribution and use in source and binary forms, with or without -;; modification, are permitted provided that the following conditions are -;; met: -;; -;; - Redistributions of source code must retain the above copyright -;; notice, this list of conditions and the following disclaimer. -;; -;; - Redistributions in binary form must reproduce the above copyright -;; notice, this list of conditions and the following disclaimer in -;; the documentation and/or other materials provided with the -;; distribution. -;; -;; - Neither the name of The Numerical ALgorithms Group Ltd. nor the -;; names of its contributors may be used to endorse or promote products -;; derived from this software without specific prior written permission. -;; -;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER -;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -@ -<<*>>= -<> - -;; this files contains basic routines for error handling -(in-package "BOOT") - -(defun error-format (message args) - (let ((|$BreakMode| '|break|)) - (declare (special |$BreakMode|)) - (if (stringp message) (apply #'format nil message args) nil))) - -;;(defmacro |trappedSpadEval| (form) form) ;;nop for now - -;; failed union branch -- value returned for numeric failure -(setq |$numericFailure| (cons 1 "failed")) - -(defvar |$oldBreakMode|) - -;; following macro evaluates form returning Union(type-of form, "failed") - -(defmacro |trapNumericErrors| (form) - `(let ((|$oldBreakMode| |$BreakMode|) - (|$BreakMode| '|trapNumerics|) - (val)) - (setq val (catch '|trapNumerics| ,form)) - (if (eq val |$numericFailure|) val - (cons 0 val)))) - -;;;;;; considering this version for kcl -;;(defmacro |trapNumericErrors| (form) -;; `(let ((val)) -;; (setq val (errorset ,form)) -;; (if (NULL val) |$numericFailure| (cons 0 (car val))))) - -;; the following form embeds around the akcl error handler -#+:akcl -(eval-when - (load eval) - (unembed 'system:universal-error-handler) - (embed 'system:universal-error-handler - '(lambda (type correctable? op - continue-string error-string &rest args) - (block - nil - (setq |$NeedToSignalSessionManager| T) - (if (and (boundp '|$inLispVM|) (boundp '|$BreakMode|)) - (cond ((eq |$BreakMode| '|validate|) - (|systemError| (error-format error-string args))) - ((and (eq |$BreakMode| '|trapNumerics|) - (eq type :ERROR)) - (setq |$BreakMode| nil) (throw '|trapNumerics| |$numericFailure|)) - ((and (eq |$BreakMode| '|trapNumerics|) - (boundp '|$oldBreakMode|) - (setq |$BreakMode| |$oldBreakMode|) - nil)) ;; resets error handler - ((and (null |$inLispVM|) - (memq |$BreakMode| '(|nobreak| |query| |resume|))) - (let ((|$inLispVM| T)) ;; turn off handler - (return - (|systemError| (error-format error-string args))))) - ((eq |$BreakMode| '|letPrint2|) - (setq |$BreakMode| nil) - (throw '|letPrint2| nil)))) - (apply system:universal-error-handler type correctable? op - continue-string error-string args ))))) - - - - - - - - - - -@ -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document} diff --git a/src/interp/vmlisp.lisp.pamphlet b/src/interp/vmlisp.lisp.pamphlet index 6759138..ecc4ed6 100644 --- a/src/interp/vmlisp.lisp.pamphlet +++ b/src/interp/vmlisp.lisp.pamphlet @@ -5144,6 +5144,68 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size (defmacro PRESET (L) `(spadlet . ,L)) (defmacro RESET (L) `(spadlet . ,L)) +;; this files contains basic routines for error handling +(defun error-format (message args) + (let ((|$BreakMode| '|break|)) + (declare (special |$BreakMode|)) + (if (stringp message) (apply #'format nil message args) nil))) + +;;(defmacro |trappedSpadEval| (form) form) ;;nop for now + +;; failed union branch -- value returned for numeric failure +(setq |$numericFailure| (cons 1 "failed")) + +(defvar |$oldBreakMode|) + +;; following macro evaluates form returning Union(type-of form, "failed") + +(defmacro |trapNumericErrors| (form) + `(let ((|$oldBreakMode| |$BreakMode|) + (|$BreakMode| '|trapNumerics|) + (val)) + (setq val (catch '|trapNumerics| ,form)) + (if (eq val |$numericFailure|) val + (cons 0 val)))) + +;;;;;; considering this version for kcl +;;(defmacro |trapNumericErrors| (form) +;; `(let ((val)) +;; (setq val (errorset ,form)) +;; (if (NULL val) |$numericFailure| (cons 0 (car val))))) + +;; the following form embeds around the akcl error handler +#+:akcl +(eval-when + (load eval) + (unembed 'system:universal-error-handler) + (embed 'system:universal-error-handler + '(lambda (type correctable? op + continue-string error-string &rest args) + (block + nil + (setq |$NeedToSignalSessionManager| T) + (if (and (boundp '|$inLispVM|) (boundp '|$BreakMode|)) + (cond ((eq |$BreakMode| '|validate|) + (|systemError| (error-format error-string args))) + ((and (eq |$BreakMode| '|trapNumerics|) + (eq type :ERROR)) + (setq |$BreakMode| nil) (throw '|trapNumerics| |$numericFailure|)) + ((and (eq |$BreakMode| '|trapNumerics|) + (boundp '|$oldBreakMode|) + (setq |$BreakMode| |$oldBreakMode|) + nil)) ;; resets error handler + ((and (null |$inLispVM|) + (memq |$BreakMode| '(|nobreak| |query| |resume|))) + (let ((|$inLispVM| T)) ;; turn off handler + (return + (|systemError| (error-format error-string args))))) + ((eq |$BreakMode| '|letPrint2|) + (setq |$BreakMode| nil) + (throw '|letPrint2| nil)))) + (apply system:universal-error-handler type correctable? op + continue-string error-string args ))))) + + @ \eject \begin{thebibliography}{99}