Quality Assurance Log
=====================

The file for developer's own quality management.


Checkpoints
-----------

- Specification conformance check by eyes

  Whether conforms to the expected specification (R5RS, SRFI, or
  SigScheme-local specs such as SAL).

- Specification conformance check by tests

  Ensure the conformance by tests.

- General code review (logic, structure, meaning, validity etc)

- 64-bit data model capability check by eyes

  Whether the codes are capable of LL64(ILP32), LP64, LLP64 and ILP64.

- 64-bit data model capability check by tests

  Ensure the capability by tests.

- Coding style check (doc/style.txt)

  Don't forget checking duplicate evaluation of side-effective expression on
  macro invocations.

- Normal case tests

- Corner case tests


Format and Examples
-------------------

- Free format log

  Record significant achievements to 'Log' section in ChangeLog format

2006-06-06 YamaKen <yamaken AT bp.iij4u.or.jp>

        * general code review for all core files


- Status record template

file:              
category:          
spec by eyes:      
spec by tests:     
general review:    
64-bit by eyes:    
64-bit by tests:   
coding style:      
normal case tests: 
corner case tests: 

  * The unit for status recording is file. Check all functions in a file at a
    time
  * category = (base|core|semicore|r5rs|srfi|opt|ext|other)
  * record comma separated username@revision for each checkpoints
  * don't overwrite per-user checkpoints. i.e. record as "yamaken@r3499,
    yamaken@r3670" instead of recording latest "yamaken@r3670" only
  * don't fold each line
  * '-' means "unneeded"
  * blank field means "unchecked"

- Examples

file:              scmint.h
category:          base
spec by eyes:      -
spec by tests:     -
general review:    yamaken@r3499, ekato@r3499
64-bit by eyes:    yamaken@r3499, ekato@r3499
64-bit by tests:   
coding style:      yamaken@r3499
normal case tests: 
corner case tests: 

file:              syntax.c
category:          r5rs
spec by eyes:      yamaken@r3499, yamaken@r3670
spec by tests:     
general review:    yamaken@r3499
64-bit by eyes:    yamaken@r3499
64-bit by tests:   -
coding style:      yamaken@r3499
normal case tests: 
corner case tests: 


Categorized File List
---------------------

- SigScheme-independent base libraries (base)

  * scmint.h
  * scmport.h
  * scmport-config.h
  * scmport-null.h
  * scmport-null.c
  * scmport-file.c
  * scmport-file.h
  * scmport-str.h
  * scmport-str.c
  * scmport-basechar.c
  * scmport-sbchar.h
  * scmport-sbchar.c
  * scmport-mbchar.h
  * scmport-mbchar.c
  * encoding.h
  * encoding-dummy.h
  * encoding-config.h
  * encoding.c
  * global.h
  * global-aggregated.c

- Core (core)

  * config-old.h
  * sigscheme.h
  * sigschemeinternal.h
  * storage-common.h
  * storage-fatty.h
  * storage-compact.h
  * storage.c
  * storage-gc.c
  * gcroots.h
  * gcroots.c
  * strcasecmp.c
  * alloc.c
  * error.c
  * env.c
  * symbol.c
  * continuation.c
  * eval.c
  * module.c
  * sigscheme.c

- Semi-core (semicore)

  * port.c
  * read.c
  * write.c
  * load.c
  * format.c

- R5RS Syntaxes and Procedures (r5rs)

  * syntax.c
  * procedure.c
  * number.c
  * number-io.c
  * list.c
  * deep-cadrs.c
  * char.c
  * string.c
  * string-procedure.c
  * vector.c
  * qquote.c
  * macro.c
  * promise.c

- SRFIs (srfi)

  * module-srfi1.c
  * module-srfi2.c
  * module-srfi6.c
  * module-srfi8.c
  * module-srfi9.c
  * module-srfi23.c
  * module-srfi28.c
  * module-srfi34.c
  * module-srfi38.c
  * module-srfi43.c
  * module-srfi48.c
  * module-srfi55.c
  * module-srfi60.c

- Optional Features (opt)

  * legacy-macro.c
  * module-sscm-ext.c
  * module-siod.c

- Others (other)

  * main.c
  * sigscheme-combined.h
  * dllentry.c


Status Summary
--------------

  $ tools/summarize_quality.rb QALog

----------------------------------------------------------------
+-------- specification conformance check by eyes
|+------- specification conformance check by tests
||+------ general code review (logic, structure, meaning, validity etc)
|||+----- 64-bit data model capability check by eyes
||||+---- 64-bit data model capability check by tests
|||||+--- coding style check (doc/style.txt)
||||||+-- normal case tests
|||||||+- corner case tests
||||||||
y yy y   base scmint.h
y yy y   base scmport.h
y yy y   base scmport-config.h
y yy y   base scmport-null.h
y yy y   base scmport-null.c
y yy y   base scmport-file.c
y yy y   base scmport-file.h
y yy y   base scmport-str.h
y yy y   base scmport-str.c
y yy y   base scmport-basechar.c
y yy y   base scmport-sbchar.h
y yy y   base scmport-sbchar.c
y yy y   base scmport-mbchar.h
y yy y   base scmport-mbchar.c
y yy y   base encoding.h
y yy y   base encoding-dummy.h
y yy y   base encoding-config.h
y yy y   base encoding.c
y yy yy  base global.h
y yy y   base global-aggregated.c
y yy y   core config-old.h
y yy y   core sigscheme.h
y yy y   core sigschemeinternal.h
y yy y   core storage-common.h
y yy y   core storage-fatty.h
y yy yy  core storage-compact.h
y yy y   core storage.c
y yy y   core storage-gc.c
y yy yy  core gcroots.h
y yy yy  core gcroots.c
yyyy yyy core strcasecmp.c
y yy y   core alloc.c
y yy y   core error.c
y yy y   core env.c
y yy y   core symbol.c
yyyy yyy core continuation.c
yyyy yyy core eval.c
y yy y   core module.c
y yy y   core sigscheme.c
y yy y   semicore port.c
yyyy yyy semicore read.c
y yy y   semicore write.c
y yy y   semicore load.c
yyyyyyyy semicore format.c
yyyy yyy r5rs syntax.c
yyyy yyy r5rs procedure.c
yyyyyyyy r5rs number.c
yyyyyyyy r5rs number-io.c
yyyy yyy r5rs list.c
yyyy yyy r5rs deep-cadrs.c
yyyy yy  r5rs char.c
yyyy yyy r5rs string.c
yyyy yy  r5rs string-procedure.c
yyyy yyy r5rs vector.c
yyyy yyy r5rs qquote.c
         r5rs macro.c
yyyy yy  r5rs promise.c
yyyy yyy srfi module-srfi1.c
yyyy yyy srfi module-srfi2.c
yyyy yyy srfi module-srfi6.c
yyyy yyy srfi module-srfi8.c
yyyy yyy srfi module-srfi9.c
yyyy yy  srfi module-srfi23.c
yyyy yyy srfi module-srfi28.c
yyyy yyy srfi module-srfi34.c
yyyy yyy srfi module-srfi38.c
yyyy yyy srfi module-srfi43.c
yyyy yyy srfi module-srfi48.c
yyyy yy  srfi module-srfi55.c
yyyyyyyy srfi module-srfi60.c
yyyy yyy opt legacy-macro.c
y yy y   opt module-sscm-ext.c
y yy y   opt module-siod.c
         other main.c
y yy y   other sigscheme-combined.h
         other dllentry.c
----------------------------------------------------------------


Status
------

file:              scmint.h
category:          base
spec by eyes:      yamaken@r3961, yamaken@r3992, yamaken@r4134
spec by tests:     
general review:    yamaken@r3961
64-bit by eyes:    yamaken@r3961, yamaken@r4134
64-bit by tests:   
coding style:      yamaken@r3961
normal case tests: 
corner case tests: 

file:              scmport.h
category:          base
spec by eyes:      yamaken@r3963, yamaken@r3992, yamaken@r3999, yamaken@r4138
spec by tests:     
general review:    yamaken@r3963, yamaken@r3992
64-bit by eyes:    yamaken@r3963, yamaken@r3992
64-bit by tests:   
coding style:      yamaken@r3963, yamaken@r3992
normal case tests: 
corner case tests: 

file:              scmport-config.h
category:          base
spec by eyes:      yamaken@r3963
spec by tests:     
general review:    yamaken@r3963
64-bit by eyes:    yamaken@r3963
64-bit by tests:   
coding style:      yamaken@r3963
normal case tests: 
corner case tests: 

file:              scmport-null.h
category:          base
spec by eyes:      yamaken@r3963
spec by tests:     
general review:    yamaken@r3963
64-bit by eyes:    yamaken@r3963
64-bit by tests:   
coding style:      yamaken@r3963
normal case tests: 
corner case tests: 

file:              scmport-null.c
category:          base
spec by eyes:      yamaken@r3963, yamaken@r3992, yamaken@r4068
spec by tests:     
general review:    yamaken@r3963, yamaken@r3992
64-bit by eyes:    yamaken@r3963, yamaken@r3992
64-bit by tests:   
coding style:      yamaken@r3963, yamaken@r3992
normal case tests: 
corner case tests: 

file:              scmport-file.c
category:          base
spec by eyes:      yamaken@r3963, yamaken@r3992, yamaken@r4068
spec by tests:     
general review:    yamaken@r3963, yamaken@r3992
64-bit by eyes:    yamaken@r3963, yamaken@r3992
64-bit by tests:   
coding style:      yamaken@r3963, yamaken@r3992
normal case tests: 
corner case tests: 

file:              scmport-file.h
category:          base
spec by eyes:      yamaken@r3963, yamaken@r4068
spec by tests:     
general review:    yamaken@r3963
64-bit by eyes:    yamaken@r3963
64-bit by tests:   
coding style:      yamaken@r3963
normal case tests: 
corner case tests: 

file:              scmport-str.h
category:          base
spec by eyes:      yamaken@r3963
spec by tests:     
general review:    yamaken@r3963
64-bit by eyes:    yamaken@r3963
64-bit by tests:   
coding style:      yamaken@r3963
normal case tests: 
corner case tests: 

file:              scmport-str.c
category:          base
spec by eyes:      yamaken@r3963, yamaken@r3992, yamaken@r4068, yamaken@r4298
spec by tests:     
general review:    yamaken@r3963, yamaken@r3992
64-bit by eyes:    yamaken@r3963, yamaken@r3992
64-bit by tests:   
coding style:      yamaken@r3963, yamaken@r3992
normal case tests: 
corner case tests: 

file:              scmport-basechar.c
category:          base
spec by eyes:      yamaken@r3963, yamaken@r3992, yamaken@r4068
spec by tests:     
general review:    yamaken@r3963, yamaken@r3992
64-bit by eyes:    yamaken@r3963, yamaken@r3992
64-bit by tests:   
coding style:      yamaken@r3963, yamaken@r3992
normal case tests: 
corner case tests: 

file:              scmport-sbchar.h
category:          base
spec by eyes:      yamaken@r3963
spec by tests:     
general review:    yamaken@r3963
64-bit by eyes:    yamaken@r3963
64-bit by tests:   
coding style:      yamaken@r3963
normal case tests: 
corner case tests: 

file:              scmport-sbchar.c
category:          base
spec by eyes:      yamaken@r3963, yamaken@r3992, yamaken@r3999, yamaken@r4060, yamaken@r4068
spec by tests:     
general review:    yamaken@r3963, yamaken@r3992
64-bit by eyes:    yamaken@r3963, yamaken@r3992
64-bit by tests:   
coding style:      yamaken@r3963, yamaken@r3992
normal case tests: 
corner case tests: 

file:              scmport-mbchar.h
category:          base
spec by eyes:      yamaken@r4528
spec by tests:     
general review:    yamaken@r4528
64-bit by eyes:    yamaken@r4528
64-bit by tests:   
coding style:      yamaken@r4528
normal case tests: 
corner case tests: 

file:              scmport-mbchar.c
category:          base
spec by eyes:      yamaken@r4528
spec by tests:     
general review:    yamaken@r4528
64-bit by eyes:    yamaken@r4528
64-bit by tests:   
coding style:      yamaken@r4528
normal case tests: 
corner case tests: 

file:              encoding.h
category:          base
spec by eyes:      yamaken@r4527
spec by tests:     
general review:    yamaken@r4527
64-bit by eyes:    yamaken@r4527
64-bit by tests:   
coding style:      yamaken@r4527
normal case tests: 
corner case tests: 

file:              encoding-dummy.h
category:          base
spec by eyes:      yamaken@r4067
spec by tests:     
general review:    yamaken@r4067
64-bit by eyes:    yamaken@r4067
64-bit by tests:   
coding style:      yamaken@r4067
normal case tests: 
corner case tests: 

file:              encoding-config.h
category:          base
spec by eyes:      yamaken@r4527
spec by tests:     
general review:    yamaken@r4527
64-bit by eyes:    yamaken@r4527
64-bit by tests:   
coding style:      yamaken@r4527
normal case tests: 
corner case tests: 

file:              encoding.c
category:          base
spec by eyes:      yamaken@r4527, yamaken@r4585
spec by tests:     
general review:    yamaken@r4527
64-bit by eyes:    yamaken@r4527
64-bit by tests:   
coding style:      yamaken@r4527
normal case tests: 
corner case tests: 

file:              global.h
category:          base
spec by eyes:      yamaken@r4060, yamaken@r4175
spec by tests:     
general review:    yamaken@r4060
64-bit by eyes:    yamaken@r4060
64-bit by tests:   
coding style:      yamaken@r4060
normal case tests: yamaken@r4103
corner case tests: 

file:              global-aggregated.c
category:          base
spec by eyes:      yamaken@r4060
spec by tests:     
general review:    yamaken@r4060
64-bit by eyes:    yamaken@r4060
64-bit by tests:   
coding style:      yamaken@r4060
normal case tests: 
corner case tests: 

file:              config-old.h
category:          core
spec by eyes:      yamaken@r4145
spec by tests:     
general review:    yamaken@r4145
64-bit by eyes:    yamaken@r4145
64-bit by tests:   
coding style:      yamaken@r4145
normal case tests: 
corner case tests: 

file:              sigscheme.h
category:          core
spec by eyes:      yamaken@r4061, yamaken@r4103, yamaken@r4110, yamaken@r4111, yamaken@r4138, yamaken@r4152, yamaken@r4182
spec by tests:     
general review:    yamaken@r4061
64-bit by eyes:    yamaken@r4061
64-bit by tests:   
coding style:      yamaken@r4061
normal case tests: 
corner case tests: 

file:              sigschemeinternal.h
category:          core
spec by eyes:      yamaken@r4061, yamaken@r4101, yamaken@r4103, yamaken@r4152, yamaken@r4550
spec by tests:     
general review:    yamaken@r4061
64-bit by eyes:    yamaken@r4061
64-bit by tests:   
coding style:      yamaken@r4061
normal case tests: 
corner case tests: 

file:              storage-common.h
category:          core
spec by eyes:      yamaken@r4066, yamaken@r4108, yamaken@r4152, yamaken@r4809
spec by tests:     
general review:    yamaken@r4066
64-bit by eyes:    yamaken@r4066
64-bit by tests:   
coding style:      yamaken@r4066
normal case tests: 
corner case tests: 

file:              storage-fatty.h
category:          core
spec by eyes:      yamaken@r4066, yamaken@r4108, yamaken@r4127, yamaken@r4809
spec by tests:     
general review:    yamaken@r4066
64-bit by eyes:    yamaken@r4066
64-bit by tests:   
coding style:      yamaken@r4066
normal case tests: 
corner case tests: 

file:              storage-compact.h
category:          core
spec by eyes:      yamaken@r4103, yamaken@r4123, yamaken@r4135, yamaken@r4809
spec by tests:     
general review:    yamaken@r4103
64-bit by eyes:    yamaken@r4103, yamaken@r4135
64-bit by tests:   
coding style:      yamaken@r4103
normal case tests: yamaken@r4103, yamaken@r4123, yamaken@r4135, yamaken@r4809
corner case tests: 

file:              storage.c
category:          core
spec by eyes:      yamaken@r4066, yamaken@r4152, yamaken@r4809
spec by tests:     
general review:    yamaken@r4066
64-bit by eyes:    yamaken@r4066
64-bit by tests:   
coding style:      yamaken@r4066
normal case tests: 
corner case tests: 

file:              storage-gc.c
category:          core
spec by eyes:      yamaken@r4066, yamaken@r4101, yamaken@r4108, yamaken@r4110, yamaken@r4111, yamaken@r4152, yamaken@r4182, yamaken@r4515, yamaken@r4809
spec by tests:     
general review:    yamaken@r4066
64-bit by eyes:    yamaken@r4066
64-bit by tests:   
coding style:      yamaken@r4066
normal case tests: 
corner case tests: 

file:              gcroots.h
category:          core
spec by eyes:      yamaken@r4203, yamaken@r4734
spec by tests:     
general review:    yamaken@r4203, yamaken@r4734
64-bit by eyes:    yamaken@r4203, yamaken@r4734
64-bit by tests:   
coding style:      yamaken@r4203, yamaken@r4734
normal case tests: yamaken@r4203
corner case tests: 

file:              gcroots.c
category:          core
spec by eyes:      yamaken@r4203, yamaken@r4734
spec by tests:     
general review:    yamaken@r4203, yamaken@r4734
64-bit by eyes:    yamaken@r4203, yamaken@r4734
64-bit by tests:   
coding style:      yamaken@r4203, yamaken@r4734
normal case tests: yamaken@r4203
corner case tests: 

file:              strcasecmp.c
category:          core
spec by eyes:      yamaken@r4053
spec by tests:     yamaken@r4053
general review:    yamaken@r4053
64-bit by eyes:    yamaken@r4053
64-bit by tests:   
coding style:      yamaken@r4053
normal case tests: yamaken@r4053
corner case tests: yamaken@r4053

file:              alloc.c
category:          core
spec by eyes:      yamaken@r3945
spec by tests:     
general review:    yamaken@r3945
64-bit by eyes:    yamaken@r3945
64-bit by tests:   
coding style:      yamaken@r3945
normal case tests: 
corner case tests: 

file:              error.c
category:          core
spec by eyes:      yamaken@r3950, yamaken@r4062, yamaken@r4152
spec by tests:     
general review:    yamaken@r3950
64-bit by eyes:    yamaken@r3950
64-bit by tests:   
coding style:      yamaken@r3950
normal case tests: 
corner case tests: 

file:              env.c
category:          core
spec by eyes:      yamaken@r3946, yamaken@r4613
spec by tests:     
general review:    yamaken@r3946
64-bit by eyes:    yamaken@r3946
64-bit by tests:   
coding style:      yamaken@r3946
normal case tests: 
corner case tests: 

file:              symbol.c
category:          core
spec by eyes:      yamaken@r3947
spec by tests:     
general review:    yamaken@r3947
64-bit by eyes:    yamaken@r3947
64-bit by tests:   
coding style:      yamaken@r3947
normal case tests: 
corner case tests: 

file:              continuation.c
category:          core
spec by eyes:      yamaken@r3880, yamaken@r4138, yamaken@r4603, yamaken@r4893
spec by tests:     yamaken@r3880, yamaken@r4076, yamaken@r4603
general review:    yamaken@r3880
64-bit by eyes:    yamaken@r3880
64-bit by tests:   
coding style:      yamaken@r3880
normal case tests: yamaken@r3880, yamaken@r4603
corner case tests: yamaken@r3880, yamaken@r4603

file:              eval.c
category:          core
spec by eyes:      yamaken@r3865, yamaken@r4103, yamaken@r4152, yamaken@r4299, yamaken@r4603, yamaken@r4946, yamaken@r4950
spec by tests:     yamaken@r3865, yamaken@r4076, yamaken@r4103, yamaken@r4603, yamaken@r4946, yamaken@r4950
general review:    yamaken@r3865, yamaken@r4946
64-bit by eyes:    yamaken@r3865, yamaken@r4946
64-bit by tests:   
coding style:      yamaken@r3866, yamaken@r4946
normal case tests: yamaken@r3865, yamaken@r4103, yamaken@r4603, yamaken@r4946, yamaken@r4950
corner case tests: yamaken@r3865, yamaken@r4103, yamaken@r4603, yamaken@r4946, yamaken@r4950

file:              module.c
category:          core
spec by eyes:      yamaken@r4019, yamaken@r4182
spec by tests:     
general review:    yamaken@r4019
64-bit by eyes:    yamaken@r4019
64-bit by tests:   
coding style:      yamaken@r4019
normal case tests: 
corner case tests: 

file:              sigscheme.c
category:          core
spec by eyes:      yamaken@r4017, yamaken@r4019, yamaken@r4066, yamaken@r4152, yamaken@r4182, yamaken@r4543, yamaken@r4722, yamaken@r4818, yamaken@r4880
spec by tests:     
general review:    yamaken@r4017
64-bit by eyes:    yamaken@r4017
64-bit by tests:   
coding style:      yamaken@r4017
normal case tests: 
corner case tests: 

file:              port.c
category:          semicore
spec by eyes:      yamaken@r3992, yamaken@r4152, yamaken@r4533
spec by tests:     
general review:    yamaken@r3992, yamaken@r4533
64-bit by eyes:    yamaken@r3992
64-bit by tests:   
coding style:      yamaken@r3992
normal case tests: 
corner case tests: 

file:              read.c
category:          semicore
spec by eyes:      yamaken@r4012, yamaken@r4533, yamaken@r4550
spec by tests:     yamaken@r4012, yamaken@r4014, yamaken@r4015, yamaken@r4533
general review:    yamaken@r4012, yamaken@r4533
64-bit by eyes:    yamaken@r4012
64-bit by tests:   
coding style:      yamaken@r4012
normal case tests: yamaken@r4012, yamaken@r4533
corner case tests: yamaken@r4012, yamaken@r4533

file:              write.c
category:          semicore
spec by eyes:      yamaken@r4041, yamaken@r4152, yamaken@r4543, yamaken@r4800
spec by tests:     
general review:    yamaken@r4041
64-bit by eyes:    yamaken@r4041, yamaken@r4800
64-bit by tests:   
coding style:      yamaken@r4041
normal case tests: 
corner case tests: 

file:              load.c
category:          semicore
spec by eyes:      yamaken@r4017, yamaken@r4182, yamaken@r4541, yamaken@r4722
spec by tests:     
general review:    yamaken@r4017
64-bit by eyes:    yamaken@r4017
64-bit by tests:   
coding style:      yamaken@r4017
normal case tests: 
corner case tests: 

file:              format.c
category:          semicore
spec by eyes:      yamaken@r4052, yamaken@r4070, yamaken@r4152, yamaken@r4543
spec by tests:     yamaken@r4052, yamaken@r4070
general review:    yamaken@r4052
64-bit by eyes:    yamaken@r4052
64-bit by tests:   yamaken@r4075
coding style:      yamaken@r4052
normal case tests: yamaken@r4052, yamaken@r4070, yamaken@r4075
corner case tests: yamaken@r4052, yamaken@r4070, yamaken@r4075

file:              syntax.c
category:          r5rs
spec by eyes:      yamaken@r3704, yamaken@r4103, yamaken@r4152
spec by tests:     yamaken@r3704, yamaken@r4014, yamaken@r4076, yamaken@r4103
general review:    yamaken@r3704
64-bit by eyes:    yamaken@r3704
64-bit by tests:   
coding style:      yamaken@r3704
normal case tests: yamaken@r3704, yamaken@r4103
corner case tests: yamaken@r3896, yamaken@r4103

file:              procedure.c
category:          r5rs
spec by eyes:      yamaken@r3880, yamaken@r4152
spec by tests:     yamaken@r3880
general review:    yamaken@r3880
64-bit by eyes:    yamaken@r3880
64-bit by tests:   
coding style:      yamaken@r3880
normal case tests: yamaken@r3880
corner case tests: yamaken@r3880

file:              number.c
category:          r5rs
spec by eyes:      yamaken@r3943, yamaken@r4071
spec by tests:     yamaken@r3943, yamaken@r4071
general review:    yamaken@r3943
64-bit by eyes:    yamaken@r3943
64-bit by tests:   yamaken@r4071
coding style:      yamaken@r3943
normal case tests: yamaken@r3943, yamaken@r4071
corner case tests: yamaken@r3943, yamaken@r4071

file:              number-io.c
category:          r5rs
spec by eyes:      yamaken@r3943, yamaken@r4071, yamaken@r4760
spec by tests:     yamaken@r3943, yamaken@r4071, yamaken@r4760
general review:    yamaken@r3943
64-bit by eyes:    yamaken@r3943
64-bit by tests:   yamaken@r4071
coding style:      yamaken@r3943
normal case tests: yamaken@r3943, yamaken@r4071, yamaken@r4760
corner case tests: yamaken@r3943, yamaken@r4071, yamaken@r4760

file:              list.c
category:          r5rs
spec by eyes:      yamaken@r3902
spec by tests:     yamaken@r3902
general review:    yamaken@r3902
64-bit by eyes:    yamaken@r3902
64-bit by tests:   
coding style:      yamaken@r3902
normal case tests: yamaken@r3902
corner case tests: yamaken@r3902

file:              deep-cadrs.c
category:          r5rs
spec by eyes:      yamaken@r3892
spec by tests:     yamaken@r3903
general review:    yamaken@r3892
64-bit by eyes:    yamaken@r3892
64-bit by tests:   
coding style:      yamaken@r3892
normal case tests: yamaken@r3903
corner case tests: yamaken@r3903

file:              char.c
category:          r5rs
spec by eyes:      yamaken@r4550
spec by tests:     yamaken@r4550, yamaken@r4563
general review:    yamaken@r4550
64-bit by eyes:    yamaken@r4550
64-bit by tests:   
coding style:      yamaken@r4550
normal case tests: yamaken@r4550, yamaken@r4563
corner case tests: 

file:              string.c
category:          r5rs
spec by eyes:      yamaken@r3911, yamaken@r4865
spec by tests:     yamaken@r3911, yamaken@r4865
general review:    yamaken@r3911
64-bit by eyes:    yamaken@r3911
64-bit by tests:   
coding style:      yamaken@r3911
normal case tests: yamaken@r3911, yamaken@r4865
corner case tests: yamaken@r3911

file:              string-procedure.c
category:          r5rs
spec by eyes:      yamaken@r4552, yamaken@r4564, yamaken@r4865
spec by tests:     yamaken@r4552, yamaken@r4564, yamaken@r4865
general review:    yamaken@r4552
64-bit by eyes:    yamaken@r4552
64-bit by tests:   
coding style:      yamaken@r4552
normal case tests: yamaken@r4552, yamaken@r4865
corner case tests: 

file:              vector.c
category:          r5rs
spec by eyes:      yamaken@r4562
spec by tests:     yamaken@r4562
general review:    yamaken@r4562
64-bit by eyes:    yamaken@r4562
64-bit by tests:   
coding style:      yamaken@r4562
normal case tests: yamaken@r4562
corner case tests: yamaken@r4562

file:              qquote.c
category:          r5rs
spec by eyes:      yamaken@r3649
spec by tests:     yamaken@r3649
general review:    yamaken@r3649
64-bit by eyes:    yamaken@r3649
64-bit by tests:   
coding style:      yamaken@r3649
normal case tests: yamaken@r3649
corner case tests: yamaken@r3649

file:              macro.c
category:          r5rs
spec by eyes:      
spec by tests:     
general review:    
64-bit by eyes:    
64-bit by tests:   
coding style:      
normal case tests: 
corner case tests: 

file:              promise.c
category:          r5rs
spec by eyes:      yamaken@r4740
spec by tests:     yamaken@r4740
general review:    yamaken@r4740
64-bit by eyes:    yamaken@r4740
64-bit by tests:   
coding style:      yamaken@r4740
normal case tests: yamaken@r4740
corner case tests: 

file:              module-srfi1.c
category:          srfi
spec by eyes:      yamaken@r4643
spec by tests:     yamaken@r4643
general review:    yamaken@r4643
64-bit by eyes:    yamaken@r4643
64-bit by tests:   
coding style:      yamaken@r4643
normal case tests: yamaken@r4643
corner case tests: yamaken@r4643

file:              module-srfi2.c
category:          srfi
spec by eyes:      yamaken@r4583
spec by tests:     yamaken@r4583
general review:    yamaken@r4583
64-bit by eyes:    yamaken@r4583
64-bit by tests:   
coding style:      yamaken@r4583
normal case tests: yamaken@r4583
corner case tests: yamaken@r4583

file:              module-srfi6.c
category:          srfi
spec by eyes:      yamaken@r3992, yamaken@r4172
spec by tests:     yamaken@r3992
general review:    yamaken@r3992
64-bit by eyes:    yamaken@r3992
64-bit by tests:   
coding style:      yamaken@r3992
normal case tests: yamaken@r3992
corner case tests: yamaken@r3992

file:              module-srfi8.c
category:          srfi
spec by eyes:      yamaken@r4572
spec by tests:     yamaken@r4572
general review:    yamaken@r4572
64-bit by eyes:    yamaken@r4572
64-bit by tests:   
coding style:      yamaken@r4572
normal case tests: yamaken@r4572
corner case tests: yamaken@r4572

file:              module-srfi9.c
category:          srfi
spec by eyes:      yamaken@r4810, yamaken@r4939
spec by tests:     yamaken@r4939
general review:    yamaken@r4810, yamaken@r4939
64-bit by eyes:    yamaken@r4810, yamaken@r4939
64-bit by tests:   
coding style:      yamaken@r4810, yamaken@r4939
normal case tests: yamaken@r4939
corner case tests: yamaken@r4939

file:              module-srfi23.c
category:          srfi
spec by eyes:      yamaken@r3953
spec by tests:     yamaken@r3953
general review:    yamaken@r3953
64-bit by eyes:    yamaken@r3953
64-bit by tests:   
coding style:      yamaken@r3953
normal case tests: yamaken@r3953
corner case tests: 

file:              module-srfi28.c
category:          srfi
spec by eyes:      yamaken@r4052
spec by tests:     yamaken@r4052
general review:    yamaken@r4052
64-bit by eyes:    yamaken@r4052
64-bit by tests:   
coding style:      yamaken@r4052
normal case tests: yamaken@r4052
corner case tests: yamaken@r4052

file:              module-srfi34.c
category:          srfi
spec by eyes:      yamaken@r3959
spec by tests:     yamaken@r3959
general review:    yamaken@r3959
64-bit by eyes:    yamaken@r3959
64-bit by tests:   
coding style:      yamaken@r3959
normal case tests: yamaken@r3959
corner case tests: yamaken@r3959

file:              module-srfi38.c
category:          srfi
spec by eyes:      yamaken@r4041
spec by tests:     yamaken@r4041
general review:    yamaken@r4041
64-bit by eyes:    yamaken@r4041
64-bit by tests:   
coding style:      yamaken@r4041
normal case tests: yamaken@r4041
corner case tests: yamaken@r4041

file:              module-srfi43.c
category:          srfi
spec by eyes:      yamaken@r4943
spec by tests:     yamaken@r4943
general review:    yamaken@r4943
64-bit by eyes:    yamaken@r4943
64-bit by tests:   
coding style:      yamaken@r4943
normal case tests: yamaken@r4943
corner case tests: yamaken@r4943

file:              module-srfi48.c
category:          srfi
spec by eyes:      yamaken@r4052
spec by tests:     yamaken@r4052
general review:    yamaken@r4052
64-bit by eyes:    yamaken@r4052
64-bit by tests:   
coding style:      yamaken@r4052
normal case tests: yamaken@r4052
corner case tests: yamaken@r4052

file:              module-srfi55.c
category:          srfi
spec by eyes:      yamaken@r4713
spec by tests:     yamaken@r4713
general review:    yamaken@r4713
64-bit by eyes:    yamaken@r4713
64-bit by tests:
coding style:      yamaken@r4713
normal case tests: yamaken@r4713
corner case tests:

file:              module-srfi60.c
category:          srfi
spec by eyes:      yamaken@r3944
spec by tests:     yamaken@r3944
general review:    yamaken@r3944
64-bit by eyes:    yamaken@r3944
64-bit by tests:   yamaken@r3944
coding style:      yamaken@r3944
normal case tests: yamaken@r3944
corner case tests: yamaken@r3944

file:              legacy-macro.c
category:          opt
spec by eyes:      yamaken@r4946
spec by tests:     yamaken@r4946
general review:    yamaken@r4946
64-bit by eyes:    yamaken@r4946
64-bit by tests:   
coding style:      yamaken@r4946
normal case tests: yamaken@r4946
corner case tests: yamaken@r4946

file:              module-sscm-ext.c
category:          opt
spec by eyes:      yamaken@r4020, yamaken@r4182, yamaken@r4606
spec by tests:     
general review:    yamaken@r4020
64-bit by eyes:    yamaken@r4020
64-bit by tests:   
coding style:      yamaken@r4020
normal case tests: 
corner case tests: 

file:              module-siod.c
category:          opt
spec by eyes:      yamaken@r4021
spec by tests:     
general review:    yamaken@r4021
64-bit by eyes:    yamaken@r4021
64-bit by tests:   
coding style:      yamaken@r4021
normal case tests: 
corner case tests: 

file:              main.c
category:          other
spec by eyes:      
spec by tests:     
general review:    
64-bit by eyes:    
64-bit by tests:   
coding style:      
normal case tests: 
corner case tests: 

file:              sigscheme-combined.h
category:          other
spec by eyes:      yamaken@r4022
spec by tests:     
general review:    yamaken@r4022
64-bit by eyes:    yamaken@r4022
64-bit by tests:   
coding style:      yamaken@r4022
normal case tests: 
corner case tests: 

file:              dllentry.c
category:          other
spec by eyes:      
spec by tests:     
general review:    
64-bit by eyes:    
64-bit by tests:   
coding style:      
normal case tests: 
corner case tests: 


Log
---
2007-09-13  YamaKen <yamaken AT bp.iij4u.or.jp>
        * eval.c
          - Fix non-toplevel definition by a form returned by syntactic
            closure, and QA done again @r4950 for define-macro with
            test-legacy-macro.scm

2007-09-08  YamaKen <yamaken AT bp.iij4u.or.jp>
        * module-srfi43.c
          - QA done @r4943 with test-srfi43.scm

        * legacy-macro.c
        * eval.c
          - QA done @r4946 for define-macro with test-legacy-macro.scm

2007-09-04  YamaKen <yamaken AT bp.iij4u.or.jp>
        * module-srfi9.c
          - QA done again @r4939 (including the fix in r4928) with
            test-srfi9.scm

2007-08-24  YamaKen <yamaken AT bp.iij4u.or.jp>
        * sigscheme.c
          - QA done again @r4880 for revised array<->list conversion
            functions. Both 2 functions are fully tested with test-array2list.c

2007-08-19  YamaKen <yamaken AT bp.iij4u.or.jp>
        * string.c
        * string-procedure.c
          - QA done again @r4865 for multibyte string handlings. string-length
            is fixed, and new procedure %%string-reconstruct! has been added
            with tests in test-string-proc.scm

2007-08-11  YamaKen <yamaken AT bp.iij4u.or.jp>
        * sigscheme.c
          - QA done again @r4818 for array<->list conversion functions. The 3
            functions are fully tested with test-array2list.c

2007-08-09  YamaKen <yamaken AT bp.iij4u.or.jp>
        * storage-gc.c
        * storage-compact.h
        * storage-fatty.h
        * storage-common.h
        * storage.c
          - QA done again @r4809 for GC around freecell and scm_gc_protectedp()

        * module-srfi9.c
          - QA done @r4810 by eyes

2007-08-07  YamaKen <yamaken AT bp.iij4u.or.jp>
        * write.c
          - Fix misinitialized hash table and QA done again @r4800 for hash
            tables

2007-07-21  YamaKen <yamaken AT bp.iij4u.or.jp>
        * number-io.c
          - QA done again @r4760 for scm_string2number()

2007-07-18  YamaKen <yamaken AT bp.iij4u.or.jp>
        * gcroots.h
        * gcroots.c
          - QA done again @r4734

        * promise.c
          - QA done @r4740

2007-07-13  YamaKen <yamaken AT bp.iij4u.or.jp>
        * module-srfi55.c
        * srfi-55.scm
          - QA done @r4713 with test-srfi55.scm

        * load.c
        * sigscheme.c
          - system load-path related functions are added, and 2nd arg is added
            to scm_initialize(). Checked by eyes and tests

2007-07-01  YamaKen <yamaken AT bp.iij4u.or.jp>
        * module-srfi1.c
          - QA done @r4643 with test-srfi1-another.scm, test-srfi1.scm and
            stone-srfi1.scm

2007-06-30  YamaKen <yamaken AT bp.iij4u.or.jp>
        * env.c
          - QA done again @r4613 with test-misc.scm

2007-06-16  YamaKen <yamaken AT bp.iij4u.or.jp>
        * module-sscm-ext.c
          - QA done again @r4606 for newly added let-optionals* with
            test-sscm-ext.scm and gauche-let-optionals.scm

2007-06-15  YamaKen <yamaken AT bp.iij4u.or.jp>
        * eval.c
        * continuation.c
          - Fix the case continuation takes multiple values
          - QA done again @r4603 with test-continuation.scm

2007-06-13  YamaKen <yamaken AT bp.iij4u.or.jp>
        * module-srfi2.c
          - QA done @r4583 with test-srfi2.scm and oleg-srfi2.scm

2007-05-29  YamaKen <yamaken AT bp.iij4u.or.jp>
        * module-srfi8.c
          - QA done @r4572 with test-srfi8.scm

2007-05-25  YamaKen <yamaken AT bp.iij4u.or.jp>
        * vector.c
          - QA done @r4562 with test-vector.scm

2007-05-20  YamaKen <yamaken AT bp.iij4u.or.jp>
        * string-procedure.c
          - QA done @r4552 with test-string-{proc,cmp}.scm

2007-05-19  YamaKen <yamaken AT bp.iij4u.or.jp>
        * char.c
          - QA done @r4550 with test-char{,-pred}.scm

2007-04-13  YamaKen <yamaken AT bp.iij4u.or.jp>
        * write.c
        * format.c
        * sigscheme.c
          - QA done again @r4543 for SCM_USE_MULTIBYTE_CHAR

2007-04-10  YamaKen <yamaken AT bp.iij4u.or.jp>
        * load.c
          - QA done again @r4541 for SCM_USE_MULTIBYTE_CHAR

2007-04-06  YamaKen <yamaken AT bp.iij4u.or.jp>
        * port.c
        * read.c
          - QA done again @r4533 for SCM_USE_MULTIBYTE_CHAR and
            SCM_USE_R6RS*_CHARS
        * unittest.scm
          - (assert-parseable): Fix broken parse error detection

2007-03-31  YamaKen <yamaken AT bp.iij4u.or.jp>
        * scmport-mbchar.h
        * scmport-mbchar.c
          - QA done @r4528
          - Fix broken read state update for mbc

2007-03-30  YamaKen <yamaken AT bp.iij4u.or.jp>
        * encoding-config.h
        * encoding.h
        * encoding.c
          - QA done @r4527
          - The encoding rule itself has not been verified because it had
            already been done at the time I added the codec interface-based API
          - Make Shift_JIS encoding name (CES) and Unicode CCS names proper

2007-03-25  YamaKen <yamaken AT bp.iij4u.or.jp>
        * storage-gc.c
          - QA done again @r4515
          - Check new scm_gc_protectedp(), scm_gc_protected_contextp() and
            scm_prealloc_heaps() with test-gc-protect.c

2006-12-24  YamaKen <yamaken AT bp.iij4u.or.jp>
        * gcroots.h
        * gcroots.c
          - QA done @r4203

2006-12-23  YamaKen <yamaken AT bp.iij4u.or.jp>
        * sigscheme.h
        * storage-gc.c
        * sigscheme.c
        * module.c
        * load.c
        * module-sscm-ext.c
          - QA done again @r4182
          - libgcroots API and its SigScheme-specific implementation is
            introduced to resolve corrupted GC problem on SPARC and IA-64. It
            needs API change

2006-12-19  YamaKen <yamaken AT bp.iij4u.or.jp>
        * config-old.h
          - QA done @r4145

2006-12-18  YamaKen <yamaken AT bp.iij4u.or.jp>
        * error.c
        * format.c
        * storage-gc.c
        * procedure.c
        * write.c
        * sigscheme.h
        * storage-common.h
        * storage.c
        * sigschemeinternal.h
        * eval.c
        * port.c
        * sigscheme.c
        * syntax.c
          - QA done again @r4152
          - Fix broken conditional compilation on smaller configurations such
            as --enable-conf={small,uim,siod}

2006-12-16  YamaKen <yamaken AT bp.iij4u.or.jp>
        * configure.in
        * config-old.h
        * ax_feature_configurator.m4
          - Significant changes @r4144-4145
          - The (broken) --enable and --disable handlings are entirely replaced
            with newly developed, dependency-based ax_feature_configurator.m4

2006-12-14  YamaKen <yamaken AT bp.iij4u.or.jp>

        * sigscheme.h
        * continuation.c
          - QA done again @r4138
          - Fix broken conditional configurations

2006-12-13  YamaKen <yamaken AT bp.iij4u.or.jp>

        * storage-compact.h
        * sigscheme.c
          - QA done again @r4134-4135
          - Fix bit size exceeding problem of SCM_SAL_*_{BITS,MAX,MIN}

        * sigscheme-stdint.h
        * scmint.h
          - QA done again @r4126-4127
          - sigscheme-stdint.h has been removed and replaced with
            AC_TYPE_UINTPTR_T and so on of autoconf 2.60
          - *_MIN and *_MAX are replaced with newly defined macros in scmint.h
          - Add ALIGNOF_* macros

2006-12-12  YamaKen <yamaken AT bp.iij4u.or.jp>

        * string-core.c
        * string.c
        * string-procedure.c
        * number.c
        * number-io.c
          - File reorganization done @r4112-4118. See svn log
          - Be careful about this string-related files renaming
            string.c      -> string-procedure.c
            string-core.c -> string.c
          - number-io.c has been split off from number.c
          - test-number-conv.scm has been renamed to test-number-io.scm
          - test-let.scm has been split into 4 files

2006-12-11  YamaKen <yamaken AT bp.iij4u.or.jp>

        * sigscheme.h
        * storage-gc.c
          - QA done again @r4110, @r4111
          - Fix broken max heap size configuration
          - Limit max heap size by countable number of cells

        * storage-compact.h
          - QA done @r4109 by eyes and some normal case tests
          - Fix broken 64-bit data model capability

2006-12-09  YamaKen <yamaken AT bp.iij4u.or.jp>

        * syntax.c
        * eval.c
        * sigscheme.h
        * sigschemeinternal.h
          - QA done again @r4103
          - [R5RS] Fix syntactic keyword to value evaluation that only bound
            to syntax or macro (i.e. (eq? if and) has been invalidated). But
            binding syntactic keywords to first-class objects such as (define
            else 3) and (define do 4) are still allowed
          - [R5RS] Fix first-class binding objects acceptance of let-syntax,
            letrec-syntax and define-syntax

          - Specs have been validated against following R5RS sections:
            "3.1 Variables; syntactic keywords; and regions"
            "4.1.1 Variable references"
            "5.3 Syntax definitions"
            "7.1.1 Lexical structure"

2006-12-07  YamaKen <yamaken AT bp.iij4u.or.jp>

        * test-c2/
        * test-c/
          - @r4086, the Cutter-based C testing framework has been replaced with
            the new framework developed by Jun Inoue. All of old contents of
            test-c/ have been removed, and test-c2/ has been renamed to
            test-c/. Be careful to read old logs.

        * syntax.c
        * eval.c
        * continuation.c
          - QA done again @r4076

          Details:
          - Proper tail recursion conformance tests have been passed with
            test-tail-rec.scm and runtest-tail-rec.sh on both fatty and compact
            on x86_64-unknown-linux-gnu and i386-unknown-freebsd

        * format.c
          - QA done @r4070, @r4075
          - Fix broken va_list passing on x86_64 platform

          Details:
          - "64-bit by tests" have been passed with previously written
            test-c2/test-format.c and test-srfi48.scm with some fixes and
            additions for the tests, on both fatty and compact on
            x86_64-unknown-linux-gnu

        * number.c
          - QA done @r4071
          - Fix broken out of range error detection of scm_string2number()
            which fails every conversion once after the error has occurred

          Details:
          - "64-bit by tests" have been passed with previously written
            test-number-{arith,cmp,conv,literal}.scm with some trivial fixes
            for the tests, on both fatty and compact on
            x86_64-unknown-linux-gnu

2006-12-06  YamaKen <yamaken AT bp.iij4u.or.jp>

        * scmport-file.c
          - QA done again @r4068 by eyes and hand tests
          - Fix *BSD-dependent error detection for fputs(3) with ISO 9899:1999
          - Check again other std C functions against ISO 9899:1999

        * encoding-dummy.h
          - QA done @r4067 by eyes

2006-12-05  YamaKen <yamaken AT bp.iij4u.or.jp>

        * storage-fatty.h
        * storage-common.h
        * storage.c
        * storage-gc.c
          - QA done @r4066 by eyes except for #if SCM_USE_HYGIENIC_MACRO
          - Fix possible crash of the broken GC protection on initialization

        * sigscheme.h
        * sigschemeinternal.h
          - QA done @r4061 by eyes

        * global.h
        * global-aggregated.c
          - QA done @r4060 by eyes
          - Fix broken aggregated global variables handling
          - Fix writable static data feature dependency

2006-12-02  YamaKen <yamaken AT bp.iij4u.or.jp>

        * strcasecmp.c
          - QA done @r4053 except for "64-bit by tests"

          Details:
          - Replace test-c/test_strcasecmp.c with test-c2/test-strcasecmp.c
          - Complete all required tests for these procedures I'm aware of

        * format.c
        * module-srfi28.c
        * module-srfi48.c
          - QA done @r4052 except for "64-bit by tests" and #if
            SCM_USE_MULTIBYTE_CHAR
          Details:
          - Complete all required tests for these procedures I'm aware of in
            test-srfi{28,48}.scm and test-c/test_format.c
          - Specs have been validated against SRFI-28:
            * format
          - Specs have been validated against SRFI-48:
            * format, pretty-print

        * write.c
        * module-srfi38.c
          - QA done @r4041 except for "64-bit by tests" and #if
            SCM_USE_HYGIENIC_MACRO
          - Fix inacceptance of optional 'optarg' argument of
            'write-with-shared-structure'
          - Fix possible datum index overflow of SRFI-38 write/ss on 64-bit
            platforms

          Details:
          - Complete all required tests for these procedures I'm aware of in
            test-srfi38.scm
          - Specs have been validated against following R5RS sections:
            * write, display
              "6.6.3 Output"
          - Specs have been validated against SRFI-38:
            * write-with-shared-structure

2006-11-30  YamaKen <yamaken AT bp.iij4u.or.jp>

        * sigscheme-combined.h
          - QA done @r4022 by eyes

        * module-siod.c
          - QA done @r4021 by eyes
          - Fix broken body result of %%closure-code when body-length == 1

        * module-sscm-ext.c
          - QA done @r4020 by eyes

          Details:
          - 'length*' is validated with test-list.scm
          - These procedure specs have been validated against following R6RS
            (R5.91RS) sections:
            * fixnum-width, least-fixnum, greatest-fixnum
              "16.3  Fixnums"
              "16.3.1  Quotient-ring fixnum operations"

        * module.c
          - QA done @r4019 by eyes

        * load.c
        * sigscheme.c
          - QA done @r4017 by eyes
          - (scm_set_lib_path): Change to holding copied library path string
          - Fix possible crash on parsing script prelude longer than 64 chars
          - Fix possible crash on parsing script prelude that only has
            "#! /usr/bin/env"
          - Fix a broken error handling on character encoding switching when
            !SCM_USE_MULTIBYTE_CHAR
          - Fix acceptable pathname length of a script name of sscm command
            previously one char lesser than maximum

          Details:
          - Specs have been validated against following R5RS sections:
            * load
              "6.6.4 System interface"
          - Specs have been validated against SRFI-22:
            * load

2006-11-29  YamaKen <yamaken AT bp.iij4u.or.jp>

        * read.c
          - QA done @r4012 except for "64-bit by tests" and SRFI-75 supports
          - Remove initial hyphen support for symbols (such as '-sym). Use
            (string->symbol "-sym") instead
          - Fix potential SEGV on long string parsing
          - Fix possible crash on parsing R5RS-reserved chars |[]{}

          Details:
          - Since SRFI-75 had already been obsoleted, SCM_USE_SRFI75 parts are
            not validated deeply. It will be replaced with stable R6RS
            implementation once the specifications have been stabilized
          - Complete all required tests for these procedures I'm aware of in
            test-{formal-syntax,symbol,string,char,number-literal}.scm except
            for SRFI-75 -related ones
          - Specs have been validated against following R5RS sections:
            * read
              "2. Lexical conventions"
              "2.1 Identifiers"
              "2.2 Whitespace and comments"
              "2.3 Other notations"
              "6.6.2 Input"
              "7.1.1 Lexical structure"
              "7.1.2 External representations"
              "7.1.5 Transformers"
          - Character literals specs have been briefly checked (but not
            conformed) against following R6RS sections:
              "3  Lexical syntax and read syntax"
              "3.2  Lexical syntax"
              "3.2.1  Formal account"
              "3.2.3  Identifiers"
              "3.2.5  Characters"
              "3.2.6  Strings"

2006-11-18  YamaKen <yamaken AT bp.iij4u.or.jp>

        * scmport.h
        * scmport-null.c
        * scmport-file.c
        * scmport-str.c
        * scmport-basechar.c
        * scmport-sbchar.c
        * scmport-mbchar.c
        * scmint.h
          - QA done again @r3992 by eyes
          - Change the low-level port API to fix the design error about error
            handling (get_byte() and peek_byte() were not able to detect read
            error)
          - Fix broken sign extention for 8-bit char on string port read

        * port.c
          - QA done @r3992 by eyes
          - Add lacking or incomplete error handlings for port operations

          Details:
          - Specs have been validated against following R5RS sections:
            * call-with-input-file, call-with-output-file, input-port?,
              output-port?, current-input-port, current-output-port,
              with-input-from-file, with-output-to-file, open-input-file,
              open-output-file, read-char, peek-char, eof-object?, char-ready?,
              newline, write-char
              "6.6.1 Ports"
              "6.6.2 Input"
              "6.6.3 Output"

        * module-srfi6.c
          - QA done @r3992

          Details:
          - Add some tests to test-srfi6.scm
          - Specs have been validated against SRFI-6:
            * open-input-string, open-output-string, get-output-string

2006-11-09  YamaKen <yamaken AT bp.iij4u.or.jp>

       * scmport.h
       * scmport-config.h
       * scmport-null.h
       * scmport-null.c
       * scmport-file.h
       * scmport-file.c
       * scmport-str.h
       * scmport-str.c
       * scmport-basechar.c
       * scmport-sbchar.h
       * scmport-sbchar.c
          - QA done @r3963
          - Fix broken ScmBaseCharPort inheritance of ScmSingleByteCharPort
            which may cause SEGV

       * scmint.h
          - QA done @r3961

2006-11-08  YamaKen <yamaken AT bp.iij4u.or.jp>

        * module-srfi34.c
          - QA done @r3959
          - [SRFI-34] Add current handler to error object to behave as same as
            the reference implementation of SRFI-34 'raise'

          Details:
          - Perform some tests by hand, since it cannot be checked by
            assert-error
          - Specs have been validated against SRFI-34:
            * with-exception-handler, guard, raise

2006-11-07  YamaKen <yamaken AT bp.iij4u.or.jp>

        * module-srfi23.c
          - QA done @r3953 by eyes
          - [SRFI-23] Display error message and optional objects as same as the
            reference implementation of SRFI-23

          Details:
          - Perform some tests for normal and invalid cases by hand, since it
            cannot be checked by assert-error
          - Specs have been validated against SRFI-23:
            * error

        * error.c
          - QA done @r3950 by eyes

2006-11-06  YamaKen <yamaken AT bp.iij4u.or.jp>

        * symbol.c
          - QA done @r3947 by eyes

        * env.c
          - QA done @r3946 by eyes except for #if SCM_USE_HYGIENIC_MACRO part.
            It must be validated together when QA for the macro feature is
            performed

        * alloc.c
        * sigschemeinternal.h (LBUF part)
          - QA done @r3945 by eyes

2006-11-05  YamaKen <yamaken AT bp.iij4u.or.jp>

        * module-srfi60.c
          - QA done @r3944
          - [SRFI-60] Fix invalid result of (logand). Now it returns -1 as same
            as the reference implementation

          Details:
          - Complete all required tests for currently provided SRFI-60
            procedures I'm aware of
          - Specs have been validated against SRFI-60:
            * bitwise-and, logand, bitwise-ior, logior, bitwise-xor, logxor,
              bitwise-not, lognot, bitwise-merge, bitwise-if, any-bits-set?,
              logtest

        * number.c
          - QA done @r3943 except for "64-bit by tests". And all required tests
            for 64-bit configuration itself are also written, but since both
            storage-compact and fatty produces SEGV when displaying an integer
            on LP64 env, debug needed
          - [R5RS] Fix broken result of 'modulo' on no-remainder cases
          - Fix missized-cast of 'quotient' which results a broken value on
            64-bit configurations
          - [R5RS] Reject invalid number strings such as "0xa" and " 1" on
            'string->number'
          - [R5RS] Reject invalid number literals such as "#x0xa"
          - (INT_LITERAL_LEN_MAX): Fix '0' prefix incapability on a
            maximum-length binary number literal. See "R5RS conformance:
            Numbers: Literals" subsection of doc/spec.txt for further details

          Details:
          - Add test-number-{arith,cmp,conv,literal,pred}.scm and complete all
            required tests for these procedures I'm aware of
          - Specs have been validated against following R5RS sections:
            * +, *, -, /, number?, integer?, =, <, <=, >, >=, zero?, positive?,
              negative?, odd?, even?, max, min, abs, quotient, modulo,
              remainder, number->string, string->number
              "6.2 Numbers"
              "6.2.1 Numerical types"
              "6.2.2 Exactness"
              "6.2.3 Implementation restrictions"
              "6.2.4 Syntax of numerical constants"
              "6.2.5 Numerical operations"
              "6.2.6 Numerical input and output"
              "7.1.1 Lexical structure"
          - Arithmetic behaviors and rounding specs for integers are validated
            against following ISO/IEC 9899:1999(E) standard:
            * /, quotient, remainder
              "6.3.1.4 Real floating and integer"
              "6.5.5 Multiplicative operators"

2006-10-09  YamaKen <yamaken AT bp.iij4u.or.jp>

        * string-core.c
          - QA done @r3911 except for "64-bit by tests"

          Details:
          - Complete all required tests for these procedures I'm aware of in
            test-string-core.scm
          - Specs have been validated against following R5RS sections:
            * string?, string-length, string=?, string-append, string-copy
              "6.3.5 Strings"

2006-10-03  YamaKen <yamaken AT bp.iij4u.or.jp>

        * list.c
          - QA done for 'append', 'reverse', 'list-tail', 'list-ref' @r3901
            except for "64-bit by tests". Rest parts of list.c is not validated
            yet
          - QA done for 'memq', 'memv', 'member', 'assq', 'assv', 'assoc'
            and all list.c @r3902 except for "64-bit by tests"
          - [R5RS] Fix broken improper tail handling of 'list-ref'
          - [R5RS] Fix improper list acceptance of 'reverse'

          Details:
          - Complete all required tests for these procedures I'm aware of in
            test-list.scm
          - Add test-member.scm and test-assoc.scm and complete all required
            tests I'm aware of
          - Specs have been validated against following R5RS sections:
            * append, reverse, list-tail, list-ref, memq, memv, member, assq,
              assv, assoc
              "6.3.2 Pairs and lists"

            Since the 'member' and 'assoc' procedures use eq?, eqv? and equal?
            that already validated before, "6.1 Equivalence predicates" is not
            checked again here

        * deep-cadr.c
          - QA done again for all c[ad]+r procedures @r3903 with fixed
            test-pair.scm

2006-10-02  YamaKen <yamaken AT bp.iij4u.or.jp>

        * list.c
        * sigscheme.h
        * sigschemeinternal.h
        * syntax.c
          - QA done for 'length' @r3896 except for "64-bit by tests". Rest
            parts of list.c is not validated yet
          - QA done for 'length'-related macros of sigscheme.h @r3896. Rest
            parts of sigscheme.h is not validated yet
          - QA done for 'length'-related macros of sigschemeinternal.h
            @r3897. Rest parts of sigschemeinternal.h is not validated yet
          - Fix infinite loop of 'quote' triggered by (error a-circular-list)

          Details:
          - Add tests for 'length' to test-list.scm and complete all required
            'length'-related tests I'm aware of
          - Add test-length.c and complete all required 'length'-related tests
            I'm aware of
          - (scm_s_quote): Fix infinite loop of SCM_UNWRAP_SYNTAX() by error
            objects that contain circular list
          - (scm_p_length): Fix passing circular list into error object when
            SRFI-38 is not enabled
          - Specs have been validated against following R5RS sections:
            * length
              "6.3.2 Pairs and lists"
              "Improper Lists" section of SRFI-1

        * sigscheme/src/sigschemeinternal.h
        * sigscheme/src/sigscheme.h
        * sigscheme/src/list.c
          - Definition of dotted list length is changed to SRFI-1's from
            SigScheme-speciific one @r3898. See svn log for further information

2006-09-30  YamaKen <yamaken AT bp.iij4u.or.jp>

        * list.c
          - QA done for null?, list? @r3893 except for "64-bit by tests". Rest
            parts of list.c is not validated yet

          Details:
          - Specs have been validated against following R5RS sections:
            * null?, list?
              "6.3.2 Pairs and lists"

        * test-bool.scm
          - Fix boolean? tests. Since the predicates must return exact #t if
            true as described in "6.3.1 Booleans" of R5RS, assert-true is
            insufficient
        * test-misc.scm
          - Likewise for procedure? with "6.4 Control features"
        * test-pair.scm
          - Likewise for pair? with "6.3.2 Pairs and lists"
        * test-symbol.scm
          Likewise for symbol? with "6.3.3 Symbols"
        * test-eq.scm
          Likewise for eq? with "6.1 Equivalence predicates"
        * test-eqv.scm
          Likewise for eq? with "6.1 Equivalence predicates"
        * test-equal.scm
          Likewise for eq? with "6.1 Equivalence predicates"

2006-09-27  YamaKen <yamaken AT bp.iij4u.or.jp>

        * list.c
        * deep-cadrs.c
          - QA done for pair?, cons, car, cdr, set-car!, set-cdr! and all
            c[ad]+r procedures @r3892 except for "64-bit by tests". Rest parts
            of list.c is not validated yet

          Details:
          - Add test-pair.scm (some tests that I wrote and R5RS examples are
            moved from test-list.scm) and complete all required tests I'm aware
            of
          - Specs have been validated against following R5RS sections:
            * pair?, cons, car, cdr, set-car!, set-cdr!, caar, cadr, cdar,
              cddr, caddr, cdddr, caaar, caadr, cadar, cdaar, cdadr, cddar,
              caaaar, caaadr, caadar, caaddr, cadaar, cadadr, caddar, cadddr,
              cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar, cddddr
              "3.3 External representations"
              "3.4 Storage model"
              "6.3.2 Pairs and lists"

2006-09-25  YamaKen <yamaken AT bp.iij4u.or.jp>

        * procedure.c
        * continuation.c
        * eval.c
          - QA done for call-with-current-continuation and dynamic-wind
            together with all parts of procedure.c and continuation.c @r3880
            except for "64-bit by tests"
          - [R5RS] Fix improper tail recursion of call-with-values on a corner
            case
          - [R5RS] Proper tail recursion conformance of 'eval' has been marked
            as 'uncertain'

          Details:
          - Add various tests to test-continuation.scm, test-dyn-extent.scm and
            test-tail-rec.scm and complete all required tests I'm aware of
          - All proper tail recursion conformance (including '=>' clause of
            'cond' and 'apply') are tested except for R5RS 'eval' and SRFI-34
            'guard'. See the comments of scm_p_eval() and rec-by-eval for
            further information about 'eval'
          - Specs have been validated against following R5RS sections:
            * call-with-current-continuation, dynamic-wind, call-with-values
              "3.5 Proper tail recursion"
              "6.4 Control features"

        * test/
          - Some test-*.scm have been renamed as follows. Take care of the
            renamings to dig into old logs

            * test-syntax.scm -> test-formal-syntax.scm
            * test-exp.scm    -> test-syntax.scm   (R5RS syntaxes)
            * test-exp.scm    -> test-obsolete.scm (obsolete tests)
            * test-map-2.scm  -> test-map.scm

2006-09-20  YamaKen <yamaken AT bp.iij4u.or.jp>

        * procedure.c
          - QA done for symbol?, symbol->string, string->symbol and general
            symbol comparisons @r3873. Rest parts of procedure.c is not
            validated yet
          - QA done for procedure? @r3874. Rest parts of procedure.c is not
            validated yet
          - QA done for map and for-each @r3875 and @r3876. Rest parts of
            procedure.c is not validated yet
          - QA done for values and call-with-values @r3877 except for proper
            tail-recursion test of call-with-values. Rest parts of procedure.c
            is not validated yet
          - [R5RS] Fix improper list acceptance on single-arg map

          Details:
          - Add uneven-length lists rejection (as error) on multiple-args
            map. Although such forms are not allowed by R5RS, causing the error
            is SigScheme-specific implementation
          - Add test-symbol.scm, test-misc.scm, test-map-2.scm and complete all
            required tests I'm aware of
          - Specs have been validated against following R5RS sections:
            * symbol?, symbol->string, string->symbol
              "2. Lexical conventions"
              "2.1 Identifiers"
              "4.1.2 Literal expressions"
              "6.3.3 Symbols"
              "7.1.1 Lexical structure"
            * procedure?, map, for-each
              "6.4 Control features"
            * values, call-with-values
              "3.5 Proper tail recursion"
              "4.1.3 Procedure calls"
              "6.4 Control features"

2006-09-07  YamaKen <yamaken AT bp.iij4u.or.jp>

        * procedure.c
          - QA done for 'not' and boolean? @r3869. Rest parts of procedure.c is
            not validated yet

          Details:
          - Add test-bool.scm and complete all required tests I'm aware of
          - Specs have been validated against following R5RS sections:
            * not, boolean?
              "6.3.1 Booleans"

2006-09-05  YamaKen <yamaken AT bp.iij4u.or.jp>

        * procedure.c
          - QA done for eq?, eqv? and equal? @r3868 except for "64-bit by
            tests" and hygienic macros capability. Other parts of procedure.c
            is not validated yet

          Details:
          - Fix a critical bug of 'scm_type' of storage-compact
          - Deprecate test-equation.scm since R5RS specification is not
            reflected well, and test cases are considerably insufficient
          - Add test-{eq,eqv,equal}.scm and complete all required tests I'm
            aware of
          - Specs have been validated against following R5RS sections:
            * eq?, eqv?, equal?
              "6.1 Equivalence predicates"
              "2. Lexical conventions"
              "2.1 Identifiers"

2006-09-02  YamaKen <yamaken AT bp.iij4u.or.jp>

        * eval.c
          - QA done @r3865 and @r3866 except for "64-bit by tests" and
            hygienic macros capability

          Details:
          - Fix a critical bug of 'call' appears on a minor build
            configuration
          - Add tests for 'eval' returns multiple values,
            scheme-report-environment and null-environment to test-eval.scm
          - Add tests for 'apply' invalid forms, single-argument,
            multi-aruguments and returns multiple values to test-apply.scm
          - Specs have been validated against following R5RS sections:
            * apply
              "4.1.3 Procedure calls"
              "6.4 Control features"
            * eval
              "4.1.1 Variable references"
              "4.1.2 Literal expressions"
              "4.1.3 Procedure calls"
              "4.1.4 Procedures"
              "6.4 Control features" (continuation, multiple values)
              "6.5 Eval"
            * interaction-environment
              "6.5 Eval"

          - Specs have been validated against following R5RS sections, but not
            conformed yet although tests are written for the future:
            * scheme-report-environment
              "6.5 Eval"
            * null-environment
              "6.5 Eval"

2006-07-08 YamaKen <yamaken AT bp.iij4u.or.jp>

        * syntax.c
          - QA done @r3704 except for "64-bit by tests" and hygienic macros
            capability and proper tail recursion capability of '=>' form of
            'cond'
          - [R5RS] Fix invalid acceptance of definition form on where neither
            toplevel nor internal definition is allowed
          - [R5RS] Fix invalid acceptance of 'begin' that contains definitions
            and expressions intermixed
          - [R5RS] Fix invalid acceptance of <body> that contains definitions
            and expressions intermixed on 'let', 'let*', 'letrec' and function
            form 'define'
          - [R5RS] Fix invalid no-expressions <body> acceptance of 'let',
            'let*', 'letrec' and function form 'define'
          - [R5RS] Fix invalid acceptance of binding syntactic keyword as value
            on 'define', 'let', 'let*', 'letrec' and 'do'
          - Add optional duplicate variable check to 'let', 'let*', 'letrec'
            and 'do' (it is not required by R5RS)
          - [R5RS] Fix broken per-iteration env isolation of 'do'
          - [R5RS] Fix proper tail recursion incapability of '=>' form of
            'cond'
          - [R5RS] Fix invalid acceptance of cond-like '=>' form of 'case'
            which is not defined in R5RS
          - [R5RS] Remove 'delay' and 'force' since they are completely broken

          Details:
          - Accept '(begin)' as valid internal and toplevel definition as
            defined in "7.1.6 Programs and definitions" of R5RS, and reject as
            expression as defined in "7.1.3 Expressions". This behavior is
            strictly conforms to R5RS and same as Scheme48 1.3. (i.e. '(begin)'
            is valid only at where definitions are allowed)
          - Remove broken internal definition on
            !SCM_STRICT_DEFINE_PLACEMENT. Since it breaks the R5RS internal
            definitions semantics, the macro is replaced with
            SCM_USE_INTERNAL_DEFINITIONS and the feature is made exclusively
            selectable from only 'completely valid' or 'disabled'. The broken
            internal definitions have been withdrawn
          - I found that 'delay' implementation is completely misunderstood and
            broken. So the implementation of 'delay' and 'force' are rewritten
            as "not implemented yet" error generator and separated into
            a placeholder file promise.c
          - Add test-let.scm, test-lambda.scm, test-begin.scm,
            test-define-internal.scm, test-do.scm and complete all required
            tests I'm aware of
          - Add and fix various tests to test-exp.scm, test-syntax.scm and
            test-define.scm
          - Specs have been validated against following R5RS sections:
            * quote
              "3.3 External representations"
              "4.1.2 Literal expressions"
              "7.1.3 Expressions"
            * lambda
              "4.1.4 Procedures"
              "7.1.3 Expressions"
              "5.2.2 Internal definitions"
              "7.1.6 Programs and definitions"
            * if
              "4.1.5 Conditionals"
              "7.1.3 Expressions"
            * set!
              "4.1.6 Assignments"
              "7.1.3 Expressions"
            * cond, case, and, or
              "3.5 Proper tail recursion"
              "4.2.1 Conditionals"
              "7.1.3 Expressions"
            * let, named lfet, let*, letrec
              "4.2.2 Binding constructs"
              "4.2.4 Iteration"
              "5.2.2 Internal definitions"
              "7.1.3 Expressions"
              "7.1.6 Programs and definitions"
            * begin
              "4.2.3 Sequencing"
              "5.2.2 Internal definitions"
              "7.1.3 Expressions"
              "7.1.6 Programs and definitions"
            * do
              "4.2.4 Iteration"
              "7.1.3 Expressions"
            * define
              "3.1 Variables; syntactic keywords; and regions"
              "4.1.1 Variable references"
              "4.2.3 Sequencing"
              "4.3 Macros"
              "5.1 Programs"
              "5.2 Definitions"
              "5.2.1 Top level definitions"
              "5.2.2 Internal definitions"
              "7.1.1 Lexical structure"
              "7.1.3 Expressions"
              "7.1.6 Programs and definitions"

2006-06-25 YamaKen <yamaken AT bp.iij4u.or.jp>

        * qquote.c
          - QA done @r3649 except for "64-bit by tests"
          - Specs have been validated against R5RS "4.2.6 Quasiquotation" and
            "7.1.4 Quasiquotations"
          - Fix some bugs including a destructive one
          - An unquote-splicing behavior is different to some other
            implementations, but I believe that this implementation is
            proper. See "unquote-splicing nested" of test-quote.scm

2006-06-24 YamaKen <yamaken AT bp.iij4u.or.jp>

        * Create this file and define record formats.
