[mcclim-cvs] CVS mcclim/Drei
thenriksen
thenriksen at common-lisp.net
Sat Jan 5 11:55:18 UTC 2008
Update of /project/mcclim/cvsroot/mcclim/Drei
In directory clnet:/tmp/cvs-serv22760/Drei
Modified Files:
lisp-syntax.lisp
Log Message:
Handle non-character objects in the buffer even when the syntax is
erroneous.
--- /project/mcclim/cvsroot/mcclim/Drei/lisp-syntax.lisp 2008/01/05 09:13:56 1.49
+++ /project/mcclim/cvsroot/mcclim/Drei/lisp-syntax.lisp 2008/01/05 11:55:18 1.50
@@ -274,6 +274,7 @@
(defclass error-lexeme (lisp-lexeme) ())
(defclass literal-object-lexeme (lisp-lexeme literal-object-mixin) ())
+(defclass literal-object-error-lexeme (lisp-lexeme literal-object-mixin) ())
(defclass left-parenthesis-lexeme (lisp-lexeme) ())
(defclass simple-vector-start-lexeme (lisp-lexeme) ())
(defclass right-parenthesis-lexeme (lisp-lexeme) ())
@@ -619,9 +620,13 @@
(defmethod lex ((syntax lisp-syntax) (state lexer-error-state) scan)
(macrolet ((fo () `(forward-object scan)))
- (loop until (end-of-line-p scan)
- do (fo))
- (make-instance 'error-lexeme)))
+ (cond ((not (or (end-of-buffer-p scan)
+ (characterp (object-after scan))))
+ (fo)
+ (make-instance 'literal-object-error-lexeme))
+ (t (loop until (end-of-line-p scan)
+ do (fo))
+ (make-instance 'error-lexeme)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
More information about the Mcclim-cvs
mailing list