home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / LISP / PDLISP.ZIP / ERROR.L < prev    next >
Encoding:
Text File  |  1986-03-25  |  1.1 KB  |  38 lines

  1. ; error.l - Copyright (c) 1985, 1986 by David Morein.
  2. ; All rights reserved, worldwide.
  3. ; this file contains the UNXLISP error handler.
  4. ;
  5. ; note - this is an initialization file, see the manual for more info.
  6. ;
  7. (pdq /sys/cmd)
  8. ;
  9. ; global symbols:
  10. ;
  11. (global 'errset 'err '*print_err_messages*)
  12. ; in above line, '*print_err_messages will be deleted
  13. ;
  14. (setq *print_err_messages* t)    ;turn on squawk flag.
  15. ;
  16. (def errset (nlambda (form)
  17.     (catch    ('?*error*? 'control_c_label)
  18.         (eval form))))    ;set up an error frame.
  19. ;
  20. ; errset will eventually be replaced by something like:
  21. ;(def errset (lambda (form &optional perrflg &aux old_perrflg result)
  22. ;    (setq old_perrflg *print_err_messages*)
  23. ;    (setq *print_err_messages* perrflg)
  24. ;    (setq result (catch '?*error*? form))
  25. ;    (setq *print_err_messages* old_perrflg)
  26. ;    (return result)))
  27. ;
  28. (def err (lambda (form)    
  29.     (cond (*print_err_messages* (princ form) (terpri)))
  30.     (throw '?*error*? nil)))    ;throw to nearest error frame.
  31. ;
  32. (status error_label '?*error*?)    ;set internal error label.
  33. ;
  34. (popd)    ;return to entry directory
  35. ;
  36. ;**************************** end of error.l ****************************
  37.  
  38.