Add 32-bit characters
authorMichael Gran <spk121@yahoo.com>
Wed, 29 Jul 2009 13:38:32 +0000 (06:38 -0700)
committerMichael Gran <spk121@yahoo.com>
Wed, 29 Jul 2009 13:38:32 +0000 (06:38 -0700)
commit904a78f11d2d11a58d5df365a44c4fbbd4c96df3
treec0df0bc8bfcb70ce62ce7de6d42b9df26352b7e8
parent77332b21a01fac906ae4707426e00f01e62c0415
Add 32-bit characters

This adds the 32-bit standalone characters.  Strings are still
8-bit.  Characters larger than 8-bit can only be entered or
displayed in octal format at this point.  At this point, the
terminal's display encoding is expected to be Latin-1.

        * module/language/assembly/compile-bytecode.scm (write-bytecode):
        add 32-bit char

        * module/language/assembly.scm (object->assembly): add 32-bit char
        (assembly->object): add 32-bit char

        * libguile/vm-i-system.c (make-char32): new op

        * libguile/print.c (iprin1): print 32-bit char

        * libguile/numbers.h: add type scm_t_wchar

        * libguile/numbers.c: add type scm_t_wchar

        * libguile/chars.h: new type scm_t_wchar
        (SCM_CODEPOINT_MAX): new
        (SCM_IS_UNICODE_CHAR): new
        (SCM_MAKE_CHAR): operate on 32-bit char

        * libguile/chars.c: comparison operators now use Unicode
        codepoints
        (scm_c_upcase): now receives and returns scm_t_wchar
        (scm_c_downcase): now receives and returns scm_t_wchar
libguile/chars.c
libguile/chars.h
libguile/numbers.c
libguile/numbers.h
libguile/print.c
libguile/vm-i-system.c
module/language/assembly.scm
module/language/assembly/compile-bytecode.scm