home *** CD-ROM | disk | FTP | other *** search
- ; error.l - Copyright (c) 1985, 1986 by David Morein.
- ; All rights reserved, worldwide.
- ; this file contains the UNXLISP error handler.
- ;
- ; note - this is an initialization file, see the manual for more info.
- ;
- (pdq /sys/cmd)
- ;
- ; global symbols:
- ;
- (global 'errset 'err '*print_err_messages*)
- ; in above line, '*print_err_messages will be deleted
- ;
- (setq *print_err_messages* t) ;turn on squawk flag.
- ;
- (def errset (nlambda (form)
- (catch ('?*error*? 'control_c_label)
- (eval form)))) ;set up an error frame.
- ;
- ; errset will eventually be replaced by something like:
- ;(def errset (lambda (form &optional perrflg &aux old_perrflg result)
- ; (setq old_perrflg *print_err_messages*)
- ; (setq *print_err_messages* perrflg)
- ; (setq result (catch '?*error*? form))
- ; (setq *print_err_messages* old_perrflg)
- ; (return result)))
- ;
- (def err (lambda (form)
- (cond (*print_err_messages* (princ form) (terpri)))
- (throw '?*error*? nil))) ;throw to nearest error frame.
- ;
- (status error_label '?*error*?) ;set internal error label.
- ;
- (popd) ;return to entry directory
- ;
- ;**************************** end of error.l ****************************
-