signal.scm 450 B

12345678910111213141516171819
  1. (define-module (lang elisp internals signal)
  2. #:use-module (lang elisp internals format)
  3. #:replace (error)
  4. #:export (signal
  5. wta))
  6. (define (signal error-symbol data)
  7. (scm-error 'elisp-signal
  8. #f
  9. "Signalling ~A with data ~S"
  10. (list error-symbol data)
  11. #f))
  12. (define (error . args)
  13. (signal 'error (list (apply format args))))
  14. (define (wta expected actual pos)
  15. (signal 'wrong-type-argument (list expected actual)))