• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

A multilingual input method framework


Commit MetaInfo

Revisiond6cdf032f3371094ee7fec0fee8ae932839c4a85 (tree)
Time2006-12-24 21:17:22
Authoryamaken <yamaken@ff9a...>
Commiteryamaken

Log Message

* sigscheme/README
* sigscheme/NEWS
* sigscheme/doc/spec.txt

- Update

* sigscheme/doc/gc-protection.txt
* sigscheme/doc/release.txt

- Add FIXME comment

* sigscheme/configure.in

- Add "char unsigned" info to result

Change Summary

Incremental Difference

--- a/sigscheme/NEWS
+++ b/sigscheme/NEWS
@@ -41,7 +41,7 @@ Overview of changes from 0.6.1 to 0.7.0
4141 - [SRFI-77, R6RS] The SRFI-77 procedures 'least-fixnum' and 'greatest-fixnum'
4242 have been upgraded to R6RS (R5.91RS) (nothing is actually changed)
4343
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
4545 corrupted GC problem on SPARC and IA-64. It needs API change
4646
4747 - 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
7373
7474 [R5RS] and [SRFI-n] tags indicate specification conformance fixes.
7575
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
7778
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
8081
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
8284
83- - Fix possible crash on parsing R5RS-reserved chars |[]{}
85+ - [CRITICAL] Fix potential SEGV on long string parsing
8486
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 |[]{}
8688
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
8891
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
9193
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
10495 which may cause SEGV
10596
106- - Add lacking or incomplete error handlings for port operations
107-
10897 - [R5RS] Fix invalid acceptance of definition form on where neither toplevel
10998 nor internal definition is allowed
11099
@@ -161,21 +150,39 @@ Overview of changes from 0.6.1 to 0.7.0
161150 - [SRFI-60] Fix invalid result of (logand). Now it returns -1 as same
162151 as the reference implementation
163152
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
165169
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
167172
168- - Fix compile error on environments that lacks stdint.h -compatible
173+ - [MAJOR] Fix compile error on environments that lacks stdint.h -compatible
169174 definitions
170175
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
173178
174- - Fix broken evaluation of quasiquoted vectors splicing with improper list
179+ - [MAJOR] Fix broken evaluation of quasiquoted vectors splicing with improper
180+ list
175181
176- - Fix 64-bit capability of quasiquoted vectors
182+ - [MAJOR] Fix 64-bit capability of quasiquoted vectors
177183
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
179186
180187 - Fix '0' prefix incapability on a maximum-length binary number literal. See
181188 "R5RS conformance: Numbers: Literals" subsection of doc/spec.txt for
--- a/sigscheme/README
+++ b/sigscheme/README
@@ -12,7 +12,15 @@ SigScheme is a R5RS Scheme interpreter for embedded use.
1212 Web access to the repository:
1313 http://websvn.freedesktop.org/uim/branches/r5rs/sigscheme/
1414
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.
1624
1725 Mailinglist: uim@freedesktop.org
1826
@@ -20,8 +28,8 @@ Mailinglist: uim@freedesktop.org
2028 Features
2129 --------
2230
23-- Conforms to R5RS basically (not fully comformant)
24-- R5RS hygienic macros
31+- Conforms to R5RS basically (not fully)
32+- R5RS hygienic macros (experimental)
2533 - Supports Following SRFIs
2634 - SRFI-2 : And-let*
2735 - SRFI-6 : Basic String Ports
@@ -34,7 +42,7 @@ Features
3442 - SRFI-48 : Intermediate Format Strings
3543 - SRFI-60 : Integer as Bits (partial)
3644 - SRFI-75 : R6RS Unicode data (partial and obsolete)
37-- Multibyte character support
45+- Multibyte character encodings support
3846 - Partial SIOD compatibility
3947
4048 See doc/spec.txt and doc/design.txt for furtuer information.
@@ -45,38 +53,59 @@ How to build
4553
4654 At first, you need to run ./configure with some options at the top directory.
4755
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
4987
50-(1) --enable-configuration=CONFIGURATION
88+ In addition to (2), you can enable other optional and switchable character
89+ encodings.
5190
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
5492
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).
5893
59-(2) --enable-multibyte=ENCODING
94+Then type 'make' at the top directory.
6095
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
6497
65- - 'utf8'
66- - 'euccn'
67- - 'eucjp'
68- - 'euckr'
69- - 'sjis'
7098
71-Then, run make command at the top directory.
99+Test
100+----
72101
73-$ make
102+ $ make check
74103
75104
76105 Installation
77106 ------------
78107
79-$ make install
108+ $ make install
80109
81110
82111 How to use
@@ -84,14 +113,14 @@ How to use
84113
85114 To run SigScheme in interactive mode, type as follows.
86115
87-$ sscm
116+ $ sscm
88117
89-To execute a file, do like following.
118+To execute a Scheme script, specify it as argument.
90119
91-$ sscm filename
120+ $ sscm <filename>
92121
93122
94123 Acknowledgements
95124 ----------------
96125
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/)
--- a/sigscheme/configure.in
+++ b/sigscheme/configure.in
@@ -1065,6 +1065,7 @@ host (compile for): $ac_cv_host
10651065 host data model: $ac_cv_data_model
10661066 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}
10671067 host endian: $ax_c_endian
1068+host char unsigned: $ac_cv_c_char_unsigned
10681069 host arithmetic rshift: $ax_cv_c_arithmetic_rshift
10691070 host safe va_list ref: $ax_cv_c_referenceable_passed_va_list
10701071 Compiler: $CC
--- a/sigscheme/doc/gc-protection.txt
+++ b/sigscheme/doc/gc-protection.txt
@@ -1,6 +1,8 @@
11 GC protection for on-stack objects
22 ==================================
33
4+FIXME: obsolete
5+
46
57 About
68 -----
--- a/sigscheme/doc/release.txt
+++ b/sigscheme/doc/release.txt
@@ -1,6 +1,9 @@
11 Release management of SigScheme
22 ===============================
33
4+FIXME: obsolete
5+
6+
47 Acknowledgement
58 ---------------
69
--- a/sigscheme/doc/spec.txt
+++ b/sigscheme/doc/spec.txt
@@ -8,9 +8,7 @@ General
88 64-bit data models
99 ~~~~~~~~~~~~~~~~~~
1010
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.
1412
1513 Addressable memory space
1614 ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -52,7 +50,10 @@ causes an error.
5250 Macros
5351 ~~~~~~
5452
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.
5657
5758 Numbers
5859 ~~~~~~~
@@ -375,6 +376,12 @@ Numbers
375376 - *procedure:* exact->inexact z
376377 - *procedure:* inexact->exact z
377378
379+Promises
380+^^^^^^^^
381+
382+ - *library syntax:* delay <expression>
383+ - *library procedure:* force promise
384+
378385 System interface
379386 ^^^^^^^^^^^^^^^^
380387
@@ -587,6 +594,8 @@ TODOs
587594 SIOD compatibility
588595 ------------------
589596
597+FIXME: describe them.
598+
590599 - #f and '()
591600
592601 - let and let* bindings