better errors for ecmascript parser too
authorAndy Wingo <wingo@pobox.com>
Thu, 18 Nov 2010 12:03:49 +0000 (13:03 +0100)
committerAndy Wingo <wingo@pobox.com>
Thu, 18 Nov 2010 12:03:49 +0000 (13:03 +0100)
* module/language/ecmascript/parse.scm (syntax-error): Better errors
  here too.

module/language/ecmascript/parse.scm

index 4c23117..b8868a3 100644 (file)
   #:use-module (language ecmascript tokenize)
   #:export (read-ecmascript read-ecmascript/1 make-parser))
 
-(define (syntax-error message . args)
-  (throw 'syntax-error 'tokenize #f message #f #f args))
+(define* (syntax-error message #:optional token)
+  (if (lexical-token? token)
+      (throw 'syntax-error #f message
+             (and=> (lexical-token-source token)
+                    source-location->source-properties)
+             (or (lexical-token-value token)
+                 (lexical-token-category token))
+             #f)
+      (throw 'syntax-error #f message #f token #f)))
 
 (define (read-ecmascript port)
   (let ((parse (make-parser)))