A multilingual input method framework
Revision | d6cdf032f3371094ee7fec0fee8ae932839c4a85 (tree) |
---|---|
Time | 2006-12-24 21:17:22 |
Author | yamaken <yamaken@ff9a...> |
Commiter | yamaken |
* sigscheme/README
* sigscheme/NEWS
* sigscheme/doc/spec.txt
* sigscheme/doc/gc-protection.txt
* sigscheme/doc/release.txt
* sigscheme/configure.in
@@ -41,7 +41,7 @@ Overview of changes from 0.6.1 to 0.7.0 | ||
41 | 41 | - [SRFI-77, R6RS] The SRFI-77 procedures 'least-fixnum' and 'greatest-fixnum' |
42 | 42 | have been upgraded to R6RS (R5.91RS) (nothing is actually changed) |
43 | 43 | |
44 | - - The API of function call with GC-ready stack has been changed to resolve | |
44 | + - The API for function call with GC-ready stack has been changed to resolve | |
45 | 45 | corrupted GC problem on SPARC and IA-64. It needs API change |
46 | 46 | |
47 | 47 | - Definition of dotted list length is changed to SRFI-1's from |
@@ -73,38 +73,27 @@ Overview of changes from 0.6.1 to 0.7.0 | ||
73 | 73 | |
74 | 74 | [R5RS] and [SRFI-n] tags indicate specification conformance fixes. |
75 | 75 | |
76 | - - Fix crashes by broken va_list passing of format.c on x86_64 platform | |
76 | + - [CRITICAL] Fix crashes by broken va_list passing of format.c on x86_64 | |
77 | + platform | |
77 | 78 | |
78 | - - Fix crashes by corrupted GC mark on stack on specific platforms that have | |
79 | - (alignof(ScmObj) < sizeof(ScmObj)), such as m68k | |
79 | + - [CRITICAL] Fix corrupted GC on some architectures such as SPARC and IA-64 | |
80 | + with libgcroots | |
80 | 81 | |
81 | - - Fix potential SEGV on long string parsing | |
82 | + - [CRITICAL] Fix crashes by corrupted GC mark on stack on specific platforms | |
83 | + that have (alignof(ScmObj) < sizeof(ScmObj)), such as m68k | |
82 | 84 | |
83 | - - Fix possible crash on parsing R5RS-reserved chars |[]{} | |
85 | + - [CRITICAL] Fix potential SEGV on long string parsing | |
84 | 86 | |
85 | - - Fix broken GC on systems that have 8-byte aligned malloc(3) such as Cygwin | |
87 | + - [CRITICAL] Fix possible crash on parsing R5RS-reserved chars |[]{} | |
86 | 88 | |
87 | - - Fix broken 64-bit data model capability of storage-compact | |
89 | + - [CRITICAL] Fix broken GC on systems that have 8-byte aligned malloc(3) such | |
90 | + as Cygwin | |
88 | 91 | |
89 | - - Fix broken out of range error detection of string->number which fails every | |
90 | - conversion once after the error has occurred | |
92 | + - [CRITICAL] Fix broken 64-bit data model capability of storage-compact | |
91 | 93 | |
92 | - - Fix possible crash on parsing script prelude longer than 64 chars | |
93 | - | |
94 | - - Fix possible crash on parsing script prelude that only has | |
95 | - "#! /usr/bin/env" | |
96 | - | |
97 | - - Fix a broken error handling on character encoding switching when | |
98 | - !SCM_USE_MULTIBYTE_CHAR | |
99 | - | |
100 | - - Fix infinite loop on raising error objects that contain circular list when | |
101 | - SCM_USE_HYGIENIC_MACRO | |
102 | - | |
103 | - - Fix broken ScmBaseCharPort inheritance of ScmSingleByteCharPort | |
94 | + - [CRITICAL] Fix broken ScmBaseCharPort inheritance of ScmSingleByteCharPort | |
104 | 95 | which may cause SEGV |
105 | 96 | |
106 | - - Add lacking or incomplete error handlings for port operations | |
107 | - | |
108 | 97 | - [R5RS] Fix invalid acceptance of definition form on where neither toplevel |
109 | 98 | nor internal definition is allowed |
110 | 99 |
@@ -161,21 +150,39 @@ Overview of changes from 0.6.1 to 0.7.0 | ||
161 | 150 | - [SRFI-60] Fix invalid result of (logand). Now it returns -1 as same |
162 | 151 | as the reference implementation |
163 | 152 | |
164 | - - Fix incomplete singlebyte charater support | |
153 | + - [MAJOR] Add lacking or incomplete error handlings for port operations | |
154 | + | |
155 | + - [MAJOR] Fix incomplete singlebyte charater support | |
156 | + | |
157 | + - [MAJOR] Fix broken sign extention for 8-bit char on string port read | |
158 | + | |
159 | + - [MAJOR] Fix broken out of range error detection of string->number which | |
160 | + fails every conversion once after the error has occurred | |
161 | + | |
162 | + - [MAJOR] Fix possible crash on parsing script prelude longer than 64 chars | |
163 | + | |
164 | + - [MAJOR] Fix possible crash on parsing script prelude that only has | |
165 | + "#! /usr/bin/env" | |
166 | + | |
167 | + - [MAJOR] Fix a broken error handling on character encoding switching when | |
168 | + !SCM_USE_MULTIBYTE_CHAR | |
165 | 169 | |
166 | - - Fix broken sign extention for 8-bit char on string port read | |
170 | + - [MAJOR] Fix infinite loop on raising error objects that contain circular | |
171 | + list when SCM_USE_HYGIENIC_MACRO | |
167 | 172 | |
168 | - - Fix compile error on environments that lacks stdint.h -compatible | |
173 | + - [MAJOR] Fix compile error on environments that lacks stdint.h -compatible | |
169 | 174 | definitions |
170 | 175 | |
171 | - - Fix missized-cast of 'quotient' which results a broken value on 64-bit | |
172 | - configurations | |
176 | + - [MAJOR] Fix missized-cast of 'quotient' which results a broken value on | |
177 | + 64-bit configurations | |
173 | 178 | |
174 | - - Fix broken evaluation of quasiquoted vectors splicing with improper list | |
179 | + - [MAJOR] Fix broken evaluation of quasiquoted vectors splicing with improper | |
180 | + list | |
175 | 181 | |
176 | - - Fix 64-bit capability of quasiquoted vectors | |
182 | + - [MAJOR] Fix 64-bit capability of quasiquoted vectors | |
177 | 183 | |
178 | - - Fix passing circular list into error object when SRFI-38 is not enabled | |
184 | + - [MAJOR] Fix passing circular list into error object when SRFI-38 is not | |
185 | + enabled | |
179 | 186 | |
180 | 187 | - Fix '0' prefix incapability on a maximum-length binary number literal. See |
181 | 188 | "R5RS conformance: Numbers: Literals" subsection of doc/spec.txt for |
@@ -12,7 +12,15 @@ SigScheme is a R5RS Scheme interpreter for embedded use. | ||
12 | 12 | Web access to the repository: |
13 | 13 | http://websvn.freedesktop.org/uim/branches/r5rs/sigscheme/ |
14 | 14 | |
15 | -Please report us if you find a problem. | |
15 | + | |
16 | +See following files for further information. | |
17 | + | |
18 | + - doc/spec.txt: specifications of SigScheme | |
19 | + - QALog: quality assurance state | |
20 | + | |
21 | +Please report us if you find a problem. And if you have a time, run | |
22 | +'make-report.sh' and send us the result regardless of PASSed or FAILed. It | |
23 | +greatly helps the development, especially for non-PC platforms. | |
16 | 24 | |
17 | 25 | Mailinglist: uim@freedesktop.org |
18 | 26 |
@@ -20,8 +28,8 @@ Mailinglist: uim@freedesktop.org | ||
20 | 28 | Features |
21 | 29 | -------- |
22 | 30 | |
23 | -- Conforms to R5RS basically (not fully comformant) | |
24 | -- R5RS hygienic macros | |
31 | +- Conforms to R5RS basically (not fully) | |
32 | +- R5RS hygienic macros (experimental) | |
25 | 33 | - Supports Following SRFIs |
26 | 34 | - SRFI-2 : And-let* |
27 | 35 | - SRFI-6 : Basic String Ports |
@@ -34,7 +42,7 @@ Features | ||
34 | 42 | - SRFI-48 : Intermediate Format Strings |
35 | 43 | - SRFI-60 : Integer as Bits (partial) |
36 | 44 | - SRFI-75 : R6RS Unicode data (partial and obsolete) |
37 | -- Multibyte character support | |
45 | +- Multibyte character encodings support | |
38 | 46 | - Partial SIOD compatibility |
39 | 47 | |
40 | 48 | See doc/spec.txt and doc/design.txt for furtuer information. |
@@ -45,38 +53,59 @@ How to build | ||
45 | 53 | |
46 | 54 | At first, you need to run ./configure with some options at the top directory. |
47 | 55 | |
48 | -$ ./configure [--enable-configuration=CONF] [--enable-multibyte=ENC] | |
56 | + $ ./configure [--enable-conf=CONF] [--enable-default-encoding=ENCODING] | |
57 | + | |
58 | +(1) --enable-conf=CONF | |
59 | + | |
60 | + This specifies a base configuration set. Select one from the list below | |
61 | + suitable for your purpose. | |
62 | + | |
63 | + - full: compile with full features but broken ones | |
64 | + - regular: (default) compile with typically needed features | |
65 | + - small: compile with primary features only | |
66 | + - r5rs: compile with strict R5RS conformances | |
67 | + - siod: emulate some SIOD features and bugs | |
68 | + - dev: developer-friendly configuration | |
69 | + - uim: configure for uim | |
70 | + | |
71 | +(2) --enable-default-encoding=ENCODING | |
72 | + | |
73 | + SigScheme normally selects UTF-8 as default encoding. You can change it by | |
74 | + this option as follows. | |
75 | + | |
76 | + $ ./configure --enable-default-encoding=eucjp | |
77 | + | |
78 | + Following encodings can be specified. | |
79 | + | |
80 | + - utf8 | |
81 | + - euccn | |
82 | + - eucjp | |
83 | + - euckr | |
84 | + - sjis | |
85 | + | |
86 | +(3) --enable-ENCODING | |
49 | 87 | |
50 | -(1) --enable-configuration=CONFIGURATION | |
88 | + In addition to (2), you can enable other optional and switchable character | |
89 | + encodings. | |
51 | 90 | |
52 | -You can choose the functionality with this option. Please select in the | |
53 | -following candidates. | |
91 | + $ ./configure --enable-default-encoding=eucjp --enable-eucjp --enable-sjis | |
54 | 92 | |
55 | - - 'full': compiled with full spec including all supported SRFIs. | |
56 | - - 'r5rs': compiled with the functionality only defined in R5RS. | |
57 | - - 'siod': compiled in compatible with SIOD(Scheme In One Defun). | |
58 | 93 | |
59 | -(2) --enable-multibyte=ENCODING | |
94 | +Then type 'make' at the top directory. | |
60 | 95 | |
61 | -By default, SigScheme is built with UTF-8 as default encoding. You can change | |
62 | -the default encoding with this option. Currently, following encodings are | |
63 | -supported. | |
96 | + $ make | |
64 | 97 | |
65 | - - 'utf8' | |
66 | - - 'euccn' | |
67 | - - 'eucjp' | |
68 | - - 'euckr' | |
69 | - - 'sjis' | |
70 | 98 | |
71 | -Then, run make command at the top directory. | |
99 | +Test | |
100 | +---- | |
72 | 101 | |
73 | -$ make | |
102 | + $ make check | |
74 | 103 | |
75 | 104 | |
76 | 105 | Installation |
77 | 106 | ------------ |
78 | 107 | |
79 | -$ make install | |
108 | + $ make install | |
80 | 109 | |
81 | 110 | |
82 | 111 | How to use |
@@ -84,14 +113,14 @@ How to use | ||
84 | 113 | |
85 | 114 | To run SigScheme in interactive mode, type as follows. |
86 | 115 | |
87 | -$ sscm | |
116 | + $ sscm | |
88 | 117 | |
89 | -To execute a file, do like following. | |
118 | +To execute a Scheme script, specify it as argument. | |
90 | 119 | |
91 | -$ sscm filename | |
120 | + $ sscm <filename> | |
92 | 121 | |
93 | 122 | |
94 | 123 | Acknowledgements |
95 | 124 | ---------------- |
96 | 125 | |
97 | -Part of this software is funded by IPA (http://www.ipa.go.jp/) | |
126 | +Some parts of this software are funded by IPA (http://www.ipa.go.jp/) |
@@ -1065,6 +1065,7 @@ host (compile for): $ac_cv_host | ||
1065 | 1065 | host data model: $ac_cv_data_model |
1066 | 1066 | host align (C/S/I/L/P): ${ac_cv_alignof_char}/${ac_cv_alignof_short}/${ac_cv_alignof_int}/${ac_cv_alignof_long}/${ac_cv_alignof_void_p} |
1067 | 1067 | host endian: $ax_c_endian |
1068 | +host char unsigned: $ac_cv_c_char_unsigned | |
1068 | 1069 | host arithmetic rshift: $ax_cv_c_arithmetic_rshift |
1069 | 1070 | host safe va_list ref: $ax_cv_c_referenceable_passed_va_list |
1070 | 1071 | Compiler: $CC |
@@ -1,6 +1,8 @@ | ||
1 | 1 | GC protection for on-stack objects |
2 | 2 | ================================== |
3 | 3 | |
4 | +FIXME: obsolete | |
5 | + | |
4 | 6 | |
5 | 7 | About |
6 | 8 | ----- |
@@ -1,6 +1,9 @@ | ||
1 | 1 | Release management of SigScheme |
2 | 2 | =============================== |
3 | 3 | |
4 | +FIXME: obsolete | |
5 | + | |
6 | + | |
4 | 7 | Acknowledgement |
5 | 8 | --------------- |
6 | 9 |
@@ -8,9 +8,7 @@ General | ||
8 | 8 | 64-bit data models |
9 | 9 | ~~~~~~~~~~~~~~~~~~ |
10 | 10 | |
11 | - - Supports LL64, LLP64, LP64 and ILP64 (storage-fatty) | |
12 | - | |
13 | - - storage-compact does not support any of above (yet) | |
11 | +Supports LL64, LLP64, LP64 and ILP64 on both storage-fatty and storage-compact. | |
14 | 12 | |
15 | 13 | Addressable memory space |
16 | 14 | ~~~~~~~~~~~~~~~~~~~~~~~~ |
@@ -52,7 +50,10 @@ causes an error. | ||
52 | 50 | Macros |
53 | 51 | ~~~~~~ |
54 | 52 | |
55 | -The hygienic macros are fully supported. | |
53 | +The hygienic macros are fully supported. But although the macro expansion | |
54 | +engine itself works well and can be expected as R5RS-conformant, its | |
55 | +integration into SigScheme is not fully validated yet. It is likely having a | |
56 | +problem on identifier references. | |
56 | 57 | |
57 | 58 | Numbers |
58 | 59 | ~~~~~~~ |
@@ -375,6 +376,12 @@ Numbers | ||
375 | 376 | - *procedure:* exact->inexact z |
376 | 377 | - *procedure:* inexact->exact z |
377 | 378 | |
379 | +Promises | |
380 | +^^^^^^^^ | |
381 | + | |
382 | + - *library syntax:* delay <expression> | |
383 | + - *library procedure:* force promise | |
384 | + | |
378 | 385 | System interface |
379 | 386 | ^^^^^^^^^^^^^^^^ |
380 | 387 |
@@ -587,6 +594,8 @@ TODOs | ||
587 | 594 | SIOD compatibility |
588 | 595 | ------------------ |
589 | 596 | |
597 | +FIXME: describe them. | |
598 | + | |
590 | 599 | - #f and '() |
591 | 600 | |
592 | 601 | - let and let* bindings |