X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/65eebc3b1882c74ea1e3e6eefbb1aecb10802b61..e783e65bc434b69ad73684c035aac345878ba6e9:/src/module-parse.lisp diff --git a/src/module-parse.lisp b/src/module-parse.lisp index 197e3e4..f90f360 100644 --- a/src/module-parse.lisp +++ b/src/module-parse.lisp @@ -103,7 +103,8 @@ (define-module (pathname :location location :truename truename) (let* ((*readtable* (copy-readtable)) (*package* (find-package '#:sod-user)) (char-scanner (make-instance 'charbuf-scanner - :stream f-stream)) + :stream f-stream + :filename (namestring pathname))) (scanner (make-instance 'sod-token-scanner :char-scanner char-scanner))) (with-default-error-location (scanner) @@ -112,7 +113,9 @@ (define-module (pathname :location location :truename truename) (parse (skip-many () (seq ((pset (parse-property-set scanner)) (nil (error () - (plug module scanner pset)))) + (plug module scanner pset) + (skip-until (:keep-end nil) + #\; #\})))) (check-unused-properties pset)))) (declare (ignore consumedp)) (unless winp (syntax-error scanner result)))))))))