summaryrefslogtreecommitdiff
path: root/cl-forth.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'cl-forth.lisp')
-rw-r--r--cl-forth.lisp12
1 files changed, 6 insertions, 6 deletions
diff --git a/cl-forth.lisp b/cl-forth.lisp
index faa48a6..ec2a0f3 100644
--- a/cl-forth.lisp
+++ b/cl-forth.lisp
@@ -46,12 +46,12 @@
(let ((flag t))
(cond ((char= #\| next-char)
(read-char line-stream)
- (if (char-equal #\Space
- (peek-char nil line-stream nil nil))
- (collect (make-token :pipe line-num col :identifier)
- into tokens)
- (progn (unread-char #\| line-stream)
- (setf flag nil))))
+ (let ((peeked (peek-char nil line-stream nil nil)))
+ (if (or (not peeked) (char-equal #\Space peeked))
+ (collect (make-token :pipe line-num col :identifier)
+ into tokens)
+ (progn (unread-char #\| line-stream)
+ (setf flag nil)))))
((char= #\Space next-char) (read-char line-stream))
((char= #\; next-char) ;; and not in string
(finish))