cvs commit: hugs98 Install hugs98/src char.c char.h input.c machdep.c prelude.h hugs98/src/unix configure.in

ross 2003/12/02 10:50:57 PST Modified files: . Install src char.c char.h input.c machdep.c prelude.h src/unix configure.in Log: Add multi-byte encoding of Unicode Chars for I/O and in strings, selected with one of the configure options --enable-unicode-chars=locale --enable-unicode-chars=utf8 In the first case, you run Hugs in a suitable environment with the locale set to what you want. This has been tested with the locales C, en_GB.iso88591, ru_RU.koi8r and en_GB.UTF-8 (inside xterm 4.2.0), zh_CN.gb2312 and zh_TW.big5 (inside multilingual rxvt 2.6.4). The second version hardwires the UTF-8 encoding, and turns off readline. (If you have a recent glibc, readline, etc, use the locale version instead, and select a UTF-8 locale.) All testing has been on Linux. It shouldn't be hard to make it work on NT, but Dimitry and I don't know how. The big compromise here is that strings inside Hugs are also encoded in the same way. Compared with using wide chars internally, this saves space, and avoids zillions of source changes. But it has limitations, in particular chars that can't be encoded aren't allowed in string literals, even as numeric escapes. So (with locale encoding) in the C locale, "\xa0" isn't allowed. These patches don't permit Unicode in source identifiers and symbols. Dimitry: I think this represents all of your changes (except for your TCL front-end), though I've mangled them a bit -- please test. Revision Changes Path 1.16 +29 -0 hugs98/Install 1.6 +202 -0 hugs98/src/char.c 1.4 +47 -1 hugs98/src/char.h 1.79 +3 -3 hugs98/src/input.c 1.108 +6 -0 hugs98/src/machdep.c 1.59 +4 -0 hugs98/src/prelude.h 1.99 +38 -4 hugs98/src/unix/configure.in
participants (1)
-
ross@glass.cse.ogi.edu