Hello everyone,

Recently, I'm trying to compile some lisp code in Mozilla's CVS:
http://lxr.mozilla.org/mozilla /source/js2/semantics/

I like CMUCL than others, but It seems that CMUCL cannot compile this,
maybe because chars more than 256 are not supported.

There's sth in these code, like:

(define-character-set '*white-space-or-line-terminator-char* '((#?0009
#?000D) #\space #?00A0 #?0085 (#?2000 #?200B) #?2028 #?2029 #?3000))

Since #? isn't in the Standard, I asked this question in comp.lang.lisp:
http://groups-beta.google.com/group/comp.lang.lisp/browse_thread/thread/678bfd11c772a53f/ba8497f84c755ab9?tvc=2#ba8497f84c755ab9

...,then I got a solution:

(defun sharp-question-reader (stream subchar arg)
  (declare (ignore subchar arg))
  (code-char (let ((*read-base* 16))
               (read stream t nil t))))

(set-dispatch-macro-character #\# #\? #'sharp-question-reader)

This code are very good for both sbcl and clisp, but on cmucl, it failed
on 16bit chars...

And I also known that: (from Barry Margolin on comp.lang.lisp)
"""
The standard doesn't specify how characters are encoded.  It doesn't
even require ASCII.  It specifies a minimum set of characters that must
be supported, additional characters and their encodings are all
implementation-dependent.  So if an implementation supports fewer than
256 characters, it certainly can limit the acceptable codes to 8 bits.
"""

So I want to know that 'is it hard to support more chars in cmucl?' if
cmucl does, I think it'll be perfect!

Thanks again.

-- 
(setq reply-to
  (concatenate 'string "Binghe " "<tianchunbinghe" '(#\@) "gmail.com>"))



Reply via email to