mdw-base (whitespace-char-p): Work out the whitespace characters.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 19 Dec 2006 15:00:46 +0000 (15:00 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Tue, 19 Dec 2006 15:00:46 +0000 (15:00 +0000)
This saves us needing a list of the whitespace characters known by
each individual implementation.

mdw-base.lisp

index 2c463e9..072c8d6 100644 (file)
 (defun whitespace-char-p (ch)
   "Return whether CH is a whitespace character or not."
   (case ch
-    ((#\space #\tab #\newline #\return #\vt
-             #+cmu #\formfeed
-             #+clisp #\page) t)
+    (#.(loop for i below char-code-limit
+            for ch = (code-char i)
+            unless (with-input-from-string (in (string ch))
+                     (peek-char t in nil))
+            collect ch)
+       t)
     (t nil)))
 
 (declaim (ftype (function nil ()) slot-unitialized))