/
ChangeLog.20040412
2331 lines (1868 loc) · 125 KB
/
ChangeLog.20040412
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2004-11-29 flw <flw@gurke>
* README, build.scm, chicken-setup.1, chicken-setup.scm, chicken.texi, configure.in, eval.scm, parameters.scm, wwchicken:
some bugfixes
- eval: ##sys#do-the-right-thing tested feature at compile time, which didn"t of course apply to the run-time
of compiled programs
- chicken-setup: added `-no-install" option
2004-11-29 iamphet <iamphet@gurke>
* csc.scm.in: mingw32: output .dll rather than .so
2004-11-24 flw <flw@gurke>
* README: *** empty log message ***
2004-11-24 iamphet <iamphet@gurke>
* eval.scm, parameters.scm: - mingw32: fixed dll names to search
2004-11-22 flw <flw@gurke>
* csc.scm.in, eval.scm, hen.el, library.scm, makefile.vc, posixwin.scm, runtime.c, TODO, chicken.h, chicken.texi:
Bugfixes, Sergey"s dlll-runtime changes
- eval: warning for declarations in interpreted code passed wrong argument to `error"
- hen.el: added changes contributed by Micky Latowicki
- library: `c-runtime" returns information about linked C runtime library; MSVC build supports linking with
dynamic runtime libs [Thanks to Sergey Khorev]
***DARCS***
Write the long patch description into this file.
The first line of this file will be the patch name.
Everything in this file from the above ***DARCS*** line on will be ignored.
This patch contains the following changes:
M ./chicken.h +1
M ./chicken.texi -2 +12
M ./csc.scm.in -1 +1
M ./eval.scm -1 +1
M ./hen.el -551 +410
M ./library.scm +4
M ./makefile.vc +3
M ./posixwin.scm -2
M ./runtime.c -2 +60
2004-11-17 flw <flw@gurke>
* TODO, build.scm, chicken.texi, configure.in, srfi-13.scm, wwchicken, Makefile.am, README:
- Fixed bug in handling of `pretty-print-width" [Thanks to Lars Rustemeier]
- Makefile.am: added `csc.scm" to CLEAN_FILES [Thanks to Sven Hartrumpf]
- srfi-13: fixed handling of string-parse-start+end return values [Thanks to Alex Shinn]
2004-11-12 flw <flw@gurke>
* HACKING, README, build.scm, chicken.texi, compiler.scm, configure.in, csi.scm, easyffi.scm, eval.scm, examples/eval-client.c, examples/eval-server.scm, examples/makefile.vc, extras.scm, library.scm, parameters.scm, srfi-18.scm, syntax-case.scm, vcbuild.bat, wwchicken:
- srfi-18: added Chris Double"s repl-hack to allow running threads while waiting for user input
- fixed several bugs in examples/makefile.vc [Thanks to Psy-Kosh]
- easyffi: handles typedef"s for function types
- fixed bug in `set-extension-specifier!"
- SRFI-55 support
- `declare" in interpreted code generates a warning
- `use"/`require-extension" also checks `##sys#features" when resolving requirements
2004-11-03 flw <flw@gurke>
* chicken-setup.scm, chicken.h, chicken.texi, configure.in, runtime.c, wwchicken:
- Added externally visible procedures `C_do_[un]register_finalizer()" [as suggested by John Lenz]
- fixed typo in chicken-setup [Thanks to Brian Mastenbrook]
* README, build.scm:
- Added externally visible procedure `C_do_register_finalizer()" [as suggested by John Lenz]
2004-11-01 flw <flw@gurke>
* HACKING, README, build.scm, chicken-setup.scm, chicken.texi, configure.in, csc.1, easyffi.scm, makefile.vc, wwchicken:
- easyffi: structure-maker accepts init-arguments
- `chicken-setup" is now built on Windows systems with the MSVC compiler (preliminary)
2004-10-18 flw <flw@gurke>
* benchmarks/shootout/bench, chicken.texi, csc.scm.in, easyffi.l, easyffi.scm, extras.scm, support.scm, wwchicken, HACKING, README, batch-driver.scm, c-platform.scm, chicken-setup.1, chicken-setup.scm, chicken.1, chicken.css, chicken.h:
- recovered some lost changes in csc.scm.in
- compiler: `-raw" option
- utils: `shift!" and `unshift!"
- fixed unneeded entries in chicken.css [Thanks to Johannes Groedem]
- easyffi: added support for C structures and unions
- compiler: if the last top-level form of a file compiled into a shared object returned #f, dynamic loading
would fail.
- extras: the second argument to `string-intersperse" defaults to " ".
2004-10-11 flw <flw@gurke>
* Makefile.am, README, TODO, banner.scm, build.scm, chicken.h, chicken.texi, configure.in, csc.scm.in, csi.scm, easyffi.l, easyffi.scm, library.scm, tinyclos.scm:
- tinyclos: there was no default initialize method for subclasses of <primitive> [Thanks to Johannes Groedem]
- csc: ".h" and ".hpp" files are processed as Scheme compiled with -ffi; Lars Nilsson pointed out a bug in the
handling of "-l..." on Windows
- easyffi: ___in/___out/___inout qualifiers
- library: `#\xXX" and `#\uXXXX" syntax
- Makefile.am: README.CVS and chicken.pdf are not installed
2004-09-29 flw <flw@gurke>
* Makefile.am, README, TODO, build.scm, chicken-setup.1, chicken-setup.scm, chicken.h, chicken.texi, compiler.scm, configure.in, easyffi.scm, eval.scm, match-support.scm, runtime.c, tweaks.scm:
- added `C_post_gc_hook"
- manual: clarified blocking behaviour of I/O from ports returned by `process" [Thanks to Tim Reid]
- extended range of character codes from 16 to 21 bit
- declarations are also registered in files loaded at compile-time
- chicken-setup: added `-dont-ask" option
2004-09-23 flw <flw@gurke>
* Makefile.am, README, TODO, chicken-setup.scm, chicken.h, chicken.texi, configure.in, extras.scm, psyntax.scm, syntax-case.scm, tinyclos.scm, wwchicken:
- configure.in: -DHAVE_ALLOCA_H will be added to CFLAGS on non-gcc platforms, if needed [Thanks to Mark Baily]
- chicken-setup: simple installs (with only a .scm file and no .setup file) keep the .so in the current directory
- added internal support for annotations in psyntax
- added some examples for `string-split-fields" [Thanks to Christian Pohlmann]
- The Makefile handles now the situation when the system is build in a different directory than the current one
[Thanks to Daniel Goertzen]
- tinyclos: added default initializer for <c++-object> [Thanks to Sergey Khorev]
- extras: `pretty-print" handles pointer objects
2004-09-20 flw <flw@gurke>
* README, TODO, batch-driver.scm, benchmarks/shootout/bench, benchmarks/shootout/heapsort.chicken, benchmarks/shootout/matrix.chicken, benchmarks/shootout/meroon.scm, benchmarks/shootout/meroon/Basics.scm, benchmarks/shootout/meroon/Coercers.scm, benchmarks/shootout/meroon/access.scm, benchmarks/shootout/meroon/alloc.scm, benchmarks/shootout/meroon/anomaly.scm, benchmarks/shootout/meroon/careless.scm, benchmarks/shootout/meroon/clone.scm, benchmarks/shootout/meroon/clostest.scm, benchmarks/shootout/meroon/coinst.scm, benchmarks/shootout/meroon/definers.scm, benchmarks/shootout/meroon/dispatch.scm, benchmarks/shootout/meroon/egal.scm, benchmarks/shootout/meroon/fill.scm, benchmarks/shootout/meroon/genes1.scm, benchmarks/shootout/meroon/genes2.scm, benchmarks/shootout/meroon/handy.scm, benchmarks/shootout/meroon/instance.chicken, benchmarks/shootout/meroon/libgen.scm, benchmarks/shootout/meroon/macinst.chicken, benchmarks/shootout/meroon/macros.scm, benchmarks/shootout/meroon/makefile, benchmarks/shootout/meroon/maker.scm, benchmarks/shootout/meroon/meroon-syntax.scm, benchmarks/shootout/meroon/meroon.chicken, benchmarks/shootout/meroon/modify.scm, benchmarks/shootout/meroon/multi.scm, benchmarks/shootout/meroon/option.scm, benchmarks/shootout/meroon/revision.scm, benchmarks/shootout/meroon/runtime.scm, benchmarks/shootout/meroon/show.scm, benchmarks/shootout/meroon/size.scm, benchmarks/shootout/meroon/trace.scm, benchmarks/shootout/meroon/unveil.scm, benchmarks/shootout/meroon/utils.scm, benchmarks/shootout/meroon/walker.scm, benchmarks/shootout/methcall.chicken, benchmarks/shootout/nestedloop.chicken, benchmarks/shootout/objinst.chicken, benchmarks/shootout/prodcons.chicken, benchmarks/shootout/ringmsg.chicken, benchmarks/shootout/sumcol.chicken, build.scm, chicken.h, chicken.texi, configure.in, posix.scm, posixwin.scm, wwchicken:
- dynamic-and-unsafe marker was incorrectly generated for non-dynamic files
- added Sergey Khorev"s additions to posixwin.scm (system-information, get-host-name, sleep, process, process-wait)
- posix: added `set-root-directory!"
- shootout: fixed heapsort, objinst and methcall use meroon, now
2004-09-15 flw <flw@gurke>
* benchmarks/shootout/bench, benchmarks/shootout/hash.chicken, benchmarks/shootout/wordfreq.chicken, mingw/INSTALL, mingw/Makefile.in, mingw/autogen.sh, mingw/configure.sh, mingw/installdllv.sh, mingw/mingw-cc.sh, mingw/mingw-cxx.sh, wwchicken:
removed ming directory and posixstub.scm
2004-09-13 flw <flw@gurke>
* benchmarks/shootout/README, benchmarks/shootout/ackermann.chicken, benchmarks/shootout/ary.chicken, benchmarks/shootout/bench, benchmarks/shootout/echo.chicken, benchmarks/shootout/except.chicken, benchmarks/shootout/fibo.chicken, benchmarks/shootout/hash.chicken, benchmarks/shootout/hash2.chicken, benchmarks/shootout/heapsort.chicken, benchmarks/shootout/hello.chicken, benchmarks/shootout/lists.chicken, benchmarks/shootout/lists1.chicken, benchmarks/shootout/matrix.chicken, benchmarks/shootout/methcall.chicken, benchmarks/shootout/moments.chicken, benchmarks/shootout/nestedloop.chicken, benchmarks/shootout/objinst.chicken, benchmarks/shootout/prodcons.chicken, benchmarks/shootout/random.chicken, benchmarks/shootout/regexmatch.chicken, benchmarks/shootout/reversefile.chicken, benchmarks/shootout/sieve.chicken, benchmarks/shootout/spellcheck.chicken, benchmarks/shootout/strcat.chicken, benchmarks/shootout/sumcol.chicken, benchmarks/shootout/wc.chicken, benchmarks/shootout/wordfreq.chicken, compiler.scm, configure.in, csi.scm, eval.scm, makefile.vc, posix.scm, posixwin.scm, runtime.c, srfi-18.scm, syntax-case.scm, wwchicken, Makefile.am, README, TODO, banner.scm, build.scm, c-backend.scm, chicken-config.in, chicken-setup.scm, chicken.h, chicken.texi:
- eval.scm: `load" sets `##sys#current-load-file" to loaded filename for duration of load (needed for line-info in debug egg)
- chicken.h, runtime.c: Eric Raible did some much needed cleaning up [Thanks!]
- chicken-setup: added `-csc-option"; errors in scripts were not reported
- chicken-config: resurrected `-extra-libs", because the current version of SWIG needs it
- wwchicken: removed coloring of egg-entries (didn"t work properly anyway)
- runtime.c: FAKE_APPLY (inline-asm hack to simulate `apply") has been disabled - apparently gcc 3.3.3 generates funnny code
with -Os
- compiler, csc: added `post-process" declaration
- posix: added `memory-mapped-file?"
- added posixwin.scm [Thanks to Sergey Khorev!]
- csi: ,ln pprints currently evaluated expression
- eval.scm: `load-noisily" takes couple of keyword arguments
- chicken-setup: allows aborting a sequence of installs
- srfi-18: `thread-start!" accepts a thunk as argument
- syntax-case: `debug-expand" accepts "p" which means: pprint and expand continuously
2004-09-10 njbeckford <njbeckford@gurke>
* README, configure.in:
Support shared libraries on MinGW by dropping -lm linker flag.
Got rid of creation of mingw/Makefile from mingw/Makefile.in
2004-09-09 njbeckford <njbeckford@gurke>
* Makefile.am, configure.in:
Use posixstub.scm instead of posix.scm for Mingw
Got rid of support for mingw/ directory
Do nothing in posixstub.scm
2004-08-30 flw <flw@gurke>
* FAQ.html, README, TODO, batch-driver.scm, build.scm, c-platform.scm, chicken-match-macros.scm, chicken.h, chicken.spec.in, chicken.texi, compiler.scm, configure.in, csi.scm, easyffi.scm, extras.scm, hen.el, library.scm, lolevel.scm, match-support.scm, psyntax-bootstrap.scm, psyntax.scm, runtime.c, scheduler.scm, support.scm, syntax-case.scm, wwchicken:
- configure checks for `-export-dynamic" (that was added in the previous CVS release, actually).
- syntax-case.scm: added `debug-expand".
- csi: prints newline on eof.
- easyffi: the prefix pseudo-declaration does not apply to class names; switching the prefix off didn"t work;
brackets following an identifier are allowed when types are parsed.
- library/optimizer/c-platform: `fp+", and further flonum operations.
- c-platform: `eqv?" should work with flonums in fixnum mode.
- this is release version 1.66 -------------------------------------------------------------------
- runtime.c: flonum-specific numops (`fp+", ...) check their argument type in safe mode.
- Default compiler options for icc and gcc use -Os instead of -O3.
- syntax-case.scm: uses internal syntax-error procedure.
- library.scm: got internal versions of `block-(ref|set!)"
- match: handles native and SRFI-9 records, `define-structure" and friends are gone.
- csi/match-support: "match-support" feature is properly registered and will not be loaded twice when `match"
is required in hygienic mode.
- New declaration-specifiers `c-options" and `link-options".
- `atom?" is now an optimized extended binding.
- batch-driver.scm: fixed bug in invocation of `user-pass-2".
- rewriting rule for `##sys#setslot" didn"t check argument count.
- runtime.c: `string->number" and `number->string" reported wrong required number of arguments [Thanks to
Alejandro Forero Cuervo]
- weak symbol hash-table should be slightly better distributed
- csc: accepts `-L<dir>" and handles invalid options more gracefully
- Runtime-option `-:x" signals uncaught thread-exceptions in primordial thread (is this the right way to
handle it?)
2004-08-18 flw <flw@gurke>
* syntax-case.scm, wwchicken, README, TODO, batch-driver.scm, build.scm, c-platform.scm, chicken-ffi-macros.scm, chicken.1, chicken.texi, compiler.scm, configure.in, easyffi.l, easyffi.scm, hen.el, posix.scm, psyntax.scm, support.scm:
- Added new macros `foreign-parse[/spec]" and read syntaxes `#>$ ... <#" and `#>% ... <#" which allow
access to the FFI parser [Suggested by Daniel B. Faken]
- The tinyclos unit is not anymore used automatically in parsed C++ code
- added `-ffi-custom" option.
- easyffi: handles prerprocessor macros nort starting at the first position of a line.
- posix.scm: added `file-[access|change]-time" and `file-stat" [Suggested by Peter Bex].
- utils.scm: `make-pathname" didn"t remove the leading "/" from the file component, if not needed.
- Fixed bug in the generation of an error-messages if non-matching argument-lists of inlined/customized calls
had a rest parameter.
2004-08-12 flw <flw@gurke>
* README, TODO, batch-driver.scm, build.scm, c-backend.scm, c-platform.scm, chicken-entry-points.scm, chicken-highlevel-macros.scm, chicken-more-macros.scm, chicken-setup.scm, chicken.h, chicken.texi, configure.in, csi.scm, easyffi.l, easyffi.scm, eval.scm, extras.scm, library.scm, lolevel.scm, makefile.dj, makefile.vc, pcre.scm, posix.scm, pregexp.scm, psyntax.scm, regex.scm, runtime.c, support.scm, tcp.scm, wwchicken:
- tcp.scm: added missing #define EINPROGRESS for Windows
- makefile.vc: still had some occurrences of "graph", where "partition" was needed
- csc.scm: fixed bug in handling of "-l..." on Windows
- wwchicken: `stream-cgi" is now in web category, `rgraph" needs `srfi-40"
- extras.scm: `noop", `atom?"
- eval.scm: error messages with a single void argument in addition to the message where
printed without the argument; `repl-prompt" holds now a procedure instead of a string
- chicken-setup.scm: errors during loading of a setup-script did not output anything
- library.scm: added `test-feature?"
- easyffi: parser accepts `#" everywhere now; illegal characters are shown in error message;
user-defined types are heeded when computing classes with full specialization
- "curried" `define" syntax ("(define ((foo x) y) ...)") is supported
- `include" preserves line-number counter of reader
- regex: `grep" uses `string-search" instead of `string-match" [Thanks to Alejandro Cuervo]
- posix: `set-group-id!", `create-session", `process-group-id" and `set-process-group-id!" [suggested by Peter Bex]
- lolevel: `pointer=?"
- new foreign types `symbol" and `number" [The latter was inspired by Daniel B. Faken]
- csi: changed prompt and added `#INDEX"/`#" read syntax for easier handling of the REPL history
- eval.scm: reading in a repl swallows any #\newline directly following the input [suggested by Taylor Campbell]
- chicken-more-macros.scm: `case-lambda" depends on srfi-1 at expansion time (so it"s loaded)
[thanks to Michele Simionato]
- changed the prefix for certain "easy" FFI macros from "__" to "___" to avoid collisions with identifiers
in C standard headers
2004-08-05 njbeckford <njbeckford@gurke>
* chicken-setup.scm:
Fixed bug for "chicken-setup xxx.egg". Previously it would unpack the
egg and then go into a recursive loop. Now it unpacks the egg and
runs the embedded setup script.
2004-08-02 flw <flw@gurke>
* TODO, c-backend.scm, chicken-entry-points.scm, chicken.texi, compiler.scm, easyffi.scm, eval.scm, extras.scm, support.scm, wwchicken:
- fixed instance-ref"s in FFI [Thanks to Petter Egesund]
- extras: `rassoc"; fixed buf in `alist-ref"
- wwchicken: added some links; categorized eggs
- eval: `set-extension-specifier!"
2004-08-01 sven1999 <sven1999@gurke>
* chicken-setup.scm: fixed typo: cmod should be chmod
2004-07-29 sven1999 <sven1999@gurke>
* library.scm: added unsafe variants for list->string and list->vector
2004-07-28 flw <flw@gurke>
* compiler.scm, configure.in, csi.1, extras.scm, hen.el, lolevel.scm, optimizer.scm, parameters.scm, posix.scm, support.scm, wwchicken, README, TODO, batch-driver.scm, build.scm, c-platform.scm, chicken-highlevel-macros.scm, chicken-more-macros.scm, chicken-setup.scm, chicken.texi:
- extras: `alist-ref"
- compiler: `define-optimizer" (but keep it undocumented)
- batch-driver.scm: fixed a bug related to using `user-pass-2"
- lolevel: added `record->vector"
- posix.scm: added `get-groups", `set-groups!" and `initialize-groups" [Suggested by Peter Bex]
2004-07-20 sven1999 <sven1999@gurke>
* chicken.texi:
removed @code from 1 @node line (causes crash on second run of tex), increased build number from 43 to 62
2004-07-19 flw <flw@gurke>
* examples/makefile, srfi-4.scm, support.scm, syntax-case.scm, tcp.scm, tweaks.scm, wwchicken, format.scm, library.scm, lolevel.scm, optimizer.scm, parameters.scm, partition.scm, pcre.scm, posix.scm, profiler.scm, psyntax-bootstrap.scm, regex.scm, runtime.c, scheduler.scm, srfi-13.scm, srfi-18.scm, srfi-25.scm, compiler.scm, configure.in, csi.scm, easyffi.l, easyffi.scm, eval.scm, extras.scm, README, TODO, banner.scm, batch-driver.scm, build.scm, c-backend.scm, c-platform.scm, chicken-default-entry-points.scm, chicken-entry-points.scm, chicken-ffi-macros.scm, chicken-highlevel-macros.scm, chicken-more-macros.scm, chicken-profile.scm, chicken-setup.1, chicken-setup.scm, chicken.h, chicken.scm, chicken.texi:
- easyffi: fixed error in parse-error message for unbalanced parens
- eval: `set-read-syntax!"
- extras: `read-token"
- some output routines use faster version of `write-char"
- compiler: `export" declaration is able to export toplevel variables from psyntax modules
- chicken-setup: some diagnostic output is suppressed in non-verbose mode
- wwchicken: fixed a bug related to creating proper timestamps for eggs
- c-backend.scm: unsafe marker wasn"t generated when no partitioning was selected
- eval.scm: `load" and include-path resolving ignores directory names
- visiting files (either explicitly or via `import") does load syntax-extensions, if needed
- when special core include files (like `chicken-more-macros.scm") are accessed via `use" or
`require-extension", then care is taken to load them only once
- easyffi.l: end of input resets pp-mode
- `print-error-message" didn"t show location (if provided)
- Chicken should now work on amd64 platforms [Thanks to Thomas Weidner and Tollef Fog Heen]
- `machine-type": returns "x86-64 on amd64 platforms
- chicken-setup: unpacks eggs into a temporary directory; host without port didn"t work; addded
`-keep" option
- changed snail-mail address in source file headers
- easyffi.l: uses `reverse-list->string"
- srfi-13: `string-contains-ci" wasn"t implemented; `string-contains[-ci]" had off-by-one error
[Thanks to Peter Wang]
- tcp.scm: error messages give location (mostly)
- tcp.scm: `tcp-connect" doesn"t block other threads [Thanks to Peter Wang]
2004-07-15 njbeckford <njbeckford@gurke>
* partition.scm: Changed copyright over to Felix.
2004-07-07 flw <flw@gurke>
* csi.scm, partition.scm, posix.scm, support.scm, wwchicken, build.scm, c-platform.scm, chicken.1, chicken.h, chicken.scm, chicken.texi, compiler.scm, configure.in, csc.scm.in, README, TODO, batch-driver.scm:
- chicken.h: added missing macro definition for `__discard"
- posix: stat routines did not expand tilde
- wwchicken: updates egg dates and colors table entries
- csi.scm: report was wrong [Thanks to Benedikt Rosenau]
- added `-split-level" compiler option [As suggested by Jonah Beckford]
- slightly better error checking for compiler options
- when processing foreign-declarations in SWIG mode, C syntax checks are disabled
2004-07-06 njbeckford <njbeckford@gurke>
* partition.scm: Imported some lambdas to make work in compiled mode.
* partition.scm: Got rid of most unused methods.
* partition.scm: Changed unit name to 'partition instead of 'graph.
* partition.scm, compiler.scm, chicken.texi, chicken.scm, Makefile.am:
Changed graph.scm to partition.scm.
Fixed bug in partition.scm related to not recalculating all relevant
neighbours.
Added -debug P, -debug Q and -debug R for the partitioning stuff.
2004-07-06 flw <flw@gurke>
* examples/makefile, testsuites/makefile.in, benchmarks/cscbench, optimizer.scm, parameters.scm, posix.scm, runtime.c, support.scm, wwchicken, hen.el, library.scm, makefile.dj, makefile.vc, compiler.scm, configure.in, csc.scm.in, csi.scm, easyffi.l, easyffi.scm, eval.scm, extras.scm, README, TODO, batch-driver.scm, build.scm, c-backend.scm, c-platform.scm, chicken-ffi-macros.scm, chicken-highlevel-macros.scm, chicken-more-macros.scm, chicken-setup.1, chicken-setup.scm, chicken.1, chicken.scm, chicken.texi, FAQ.html, Makefile.am:
- `define-record-type" expanded into code that didn"t allow subsequent exported definitions
in psyntax module forms [Thanks to Grzegorz Chrupala]
- removed some leftover occurrences of `-extra-libs" [Thanks to Sven Hartrumpf]
- `define-method" expands into a non-definition, which works better with the psyntax module system
[Thanks to Grzegorz Chrupala again]
- ",r" command in csi was broken
- library: added `memory-statistics"
- call/cc called with a known lambda is optimized away in case the continuation-variable is never used
- csi: uses `memory-statistics"
- fixed some errors in the manual [Thanks to Peter Barabas and Benedikt Rosenau]
- Jonah Beckford contributed a partitioning algorithm to the compiler that allows splitting a Scheme
file into multiple C files - very cool but still experimental
- extras: `conc"
- renamed unit `script-utils" to `utils"
- csc: handles `-split" properly
- compiler prefixes identifiers when generating split files
- easyffi: Added `__discard" marker
2004-06-19 flw <flw@gurke>
* examples/README, examples/makefile, optimizer.scm, psyntax.scm, wwchicken, eval.scm, library.scm, batch-driver.scm, c-platform.scm, chicken-ffi-macros.scm, chicken-highlevel-macros.scm, chicken-more-macros.scm, chicken-setup.1, chicken-setup.scm, chicken.css, chicken.h, chicken.texi, FAQ.html, Makefile.am, README, TODO:
- some library files were still not up-to-date with respect to the changed declaration syntax for internal
procedures (like FFI stubs or trampolines). This caused gcc 3.4 to choke on tcp (and possibly other files
that hadn"t been re-translated for longer) [Thanks to Pierre]
- eval.scm: `syntax-error"
- the SRFI-22 driver programs (trampolines) have been removed
- Makefile.am: added dependency for library.c (build.scm)
- chicken-setup: options `-fetch" and `-install-as-root"
- `open-output-file": append-mode was completely broken
- added css stylesheet for HTML version of manual [Thanks to Johannes Groedem]
- added case for amd64 to chicken.h (doesn"t yet run, though) [Thanks to thomas001]
- `define-foreign-[type|variable]" didn"t check first argument for being a symbol [thanks to Eric Meritt]
- added `use" as an alias for `require-extension"
- `command-line-arguments" filters out runtime options (anything starting with "-:")
- added another optimizer rule; `thread-specific[-set!]" is inlined in unsafe mode
- `print[*]" returns 1st argument
2004-06-13 njbeckford <njbeckford@gurke>
* hen.el:
Fixed: char table range must be t, charset, char or vector ... using solution at http://list-archive.xemacs.org/xemacs-beta/200310/msg00407.html
2004-06-09 flw <flw@gurke>
* wwchicken, support.scm, srfi-13.scm, parameters.scm, library.scm, hen.el, eval.scm, csi.scm, chicken.texi, chicken-more-macros.scm, chicken-config.in, chicken-highlevel-macros.scm, c-platform.scm, batch-driver.scm, README, Makefile.am:
- removed all support for SRFI-7
- the implementation of SRFI-9 is now much faster (equivalent to `define-record")
- fixed srfi-13"s `string-contains[-ci]"
- wwchicken generates egg-list and index-page automatically
2004-06-07 flw <flw@gurke>
* examples/mmcp.scm, examples/makefile, benchmarks/cscbench, wwchicken, syntax-case.scm, posix.scm, makefile.vc, makefile.dj, hen.el, csi.scm, csc.scm.in, compiler.scm, configure.in, chicken.texi, chicken-setup.scm, chicken-profile.scm, chicken-config.in, c-platform.scm, build.scm, batch-driver.scm, README, TODO, Makefile.am, FAQ.html:
- posix.scm: patched `file-mkstemp" [Thanks to Johannes Groedem]
- rcsi has been dumped
- csi now only uses the library, eval and extras units
- `extras" has been added to the list of units used by default in compiled code (this means csi
and compiled code have basically access to the same set of definitions)
- csc always links safe libs, providing `-unsafe-libraries" always links with unsafe ones (independent
of any other setting) [Thanks to Sven Hartrumpf]
- chicken-config: removed `-extra-libs" option (`-libs" adds all libraries now)
- chicken-setup: attempts to handle the "dll" extension transparently in `make" forms [Thanks to T. Kurt Bond]
- `undefine-macro!" and `macro?" work now with highlevel macros
2004-05-30 flw <flw@gurke>
* srfi-13.scm, support.scm, runtime.c, posix.scm, library.scm, format.scm, extras.scm, csc.scm.in, chicken.1, chicken.texi, compiler.scm, c-backend.scm, c-platform.scm, chicken-highlevel-macros.scm, chicken-more-macros.scm, TODO, batch-driver.scm:
- The emitting of the symbol for detecting safe/unsafe library mismatches didn"t work properly [Thanks to Peter Barabas]
- posix.scm: `user-information" returns now either a list or #f
- `include" accepts any number of arguments [Suggested by Taylor Campbell]
- library: added `reverse-list->string" (and removed it from srfi-13) and added some minor optimizations
to `[##sys#]substring" [Thanks to Sven Hartrumpf]
- posix: added `file-mkstemp" [Contributed by Johannes Groedem]
- format, library: uses `reverse-list->string"
- library: `read" is now faster [Thanks to Alain Mellon and Clifford Stein]
- chicken.texi: fixed some problems with "<" / ">" in HTML output [Thanks to Peter Barabas]
2004-05-27 catfive <catfive@gurke>
* wwchicken:
- fixed wwchicken manual links for compiler and interpreter command-line format
2004-05-26 flw <flw@gurke>
* support.scm, wwchicken, runtime.c, posix.scm, lolevel.scm, makefile.vc, optimizer.scm, hen.el, library.scm, easyffi.scm, eval.scm, csc.scm.in, configure.in, c-platform.scm, chicken-setup.scm, chicken.h, chicken.texi, compiler.scm, README, TODO, build.scm:
- makefile.vc: csc.scm.in is copied into csc.scm (or csc.scm wouldn"t be found)
- eval.scm: `set!" allows assignments to keywords [Thanks to Mikael]
- support.scm, optimizer.scm: inlined lambdas with empty rest list generated invalid code [Thanks Daniel B. Faken]
- chicken-setup: doesn"t assume ".so" anymore for compiled extensions, `install-extension" silently
handles ".so" extension on Windows [Thanks to T. Kurt Bond]
- library.scm: the third argument to `substring" is now optional
- csc.scm.in: `-l..." is passed to linker
- csc: .i files are passed to swig and passed on to chicken or the C compiler; -swig passes options to SWIG directly
- hen.el: added a few kewords for highlighting
- runtime.c: removed C_alloc_in_heap, since the continuation can not be saved and will be invalid if GC should occur
- compiler: rewriting rules for `string-append" and `substring" in unsafe mode; removed some unneeded variable
initialisations from compiler.scm
- added `custom-declare" declaration and processing of `.csc" files to compiler/csc for doing weird post-compilation
stuff...
- easyffi: `typedef ... *ID" is allowed
- posix: `user-information" returns 7 * #f, if the user can"t be found [Thanks to Peter Wang]
2004-05-20 flw <flw@gurke>
* eval.scm, configure.in, build.scm, chicken-config.in, chicken.texi, README, TODO, Makefile.am:
- eval.scm: usage of the CHICKEN_REPOSITORY variable for setting the repository-directory was broken
[Thanks to Peter Wang]
- removed csc.scm from distro-tarball [Thanks to Daniel B. Faken]
- chicken-config used `-Wl,-R" on Mac OS X, which is wrong [Thanks to Houman Zolfaghari]
- eval.scm: `require" didn"t check current directory [Thanks to Alain Mellan]
2004-05-19 flw <flw@gurke>
* wwchicken, README, chicken-default-entry-points.scm, chicken-setup.scm, chicken.h, chicken.texi, compiler.scm, csi.scm, extras.scm, hen.el, runtime.c:
- chicken-setup: `-program-path" does not influence path to chicken tools
- runtime.c: added `CHICKEN_is_running()"
- extras.scm: fixed bug in `write-string" [Thanks to Alejandro Forero Cuervo]
- csi.scm: fixed wrong implementation of `##csi#symbols-matching" [Thanks to Linh Dang]
- chicken-default-entry-points.scm: entry-point counter was not adjusted [Thanks to Daniel B. Faken]
2004-05-15 flw <flw@gurke>
* tinyclos.scm, wwchicken, pregexp.scm, runtime.c, makefile.vc, parameters.scm, extras.scm, hen.el, library.scm, csc.scm.in, easyffi.scm, eval.scm, compiler.scm, configure.in, chicken.h, chicken.texi, Makefile.am, README, build.scm, chicken-setup.scm:
- removed `extension-path", exposed `extension-info"
- chicken-setup stores full pathname in info file
- renamed `chicken-format-profile" to `chicken-profile"
- `import" also searches repository-path
- chicken-setup: file-extraction from downloaded files was broken (and several other things)
- warnings flush output
- added CHICKEN_global_... API
- compiler: `require-extension" warns if extension is not currently installed
- chicken-setup: automatically adds full path when `run"ning installed chicken programs;
verbose mode adds `-v" to csc invocations
- fixed two bugs in pregexp.scm [Thanks to Shmul]
- easyffi.scm: added `destructor_name" and `exception_handler" pseudo declarations
- tinyclos.scm: result-handling of type `(instance ...)" was broken for returned NULL pointers
- fixed a few bugs in the Windows build
2004-05-10 flw <flw@gurke>
* wwchicken, syntax-case.scm, makefile.vc, eval.scm, configure.in, chicken-setup.1, chicken-setup.scm, chicken.texi, chicken-profile.scm, chicken-profile.1, batch-driver.scm, build.scm, README, Makefile.am, FAQ.html:
- removed `extension-path`, exposed `extension-info
2004-05-09 flw <flw@gurke>
* parameters.scm, wwchicken, lolevel.scm, makefile.vc, hen.el, eval.scm, csc.scm.in, configure.in, csc.1, chicken.texi, chicken-setup.scm, chicken-setup.1, build.scm, README, Makefile.am:
- csc and chicken-format-profile are now executables
- added manpage for chicken-format-profile
- completely overhauled extension loading mechanism
- chicken-setup has been completely rewritten
- lolevel.scm: fixed bug in `pointer-f32/64-set!` [Thanks to jemhoff at student dot umass dot edu]
2004-05-05 flw <flw@gurke>
* configure.in, csi.scm, eval.scm, extras.scm, hen.el, parameters.scm, support.scm, build.scm, c-backend.scm, chicken-highlevel-macros.scm, chicken-more-macros.scm, chicken.texi, compiler.scm, Makefile.am, README, TODO, banner.scm, batch-driver.scm:
- #!eof is handled properly by the evaluator and compiler as a literal
- `read-line' optimization is disabled on Windows [Thanks to lars Rustemeier]
- added `require-extension'
- info files are not split, which seems to work better [Thanks to Linh Dang]
2004-05-03 flw <flw@gurke>
* FAQ.html, LICENSE, README, README.CVS, chicken.texi, format.txt, tinyclos-examples.scm:
moved files from doc directory into base dir
* library.scm, psyntax.scm, runtime.c, scheduler.scm, wwchicken, Makefile.am, TODO, c-backend.scm, compiler.scm, eval.scm, extras.scm:
- `#!eof' reads as end-of-file object, `#!eof' is also the printed reprsentation
- removed `package'
- scheduler.scm: uses usleep() on Cygwin [Thanks to Feanor]
- now uses texinfo format for documentation [Many thanks to Linh Dang for translating the manual]
- moved documentation files into base directory
- extras.scm: fixed bug in `disjoin' [Thanks to Peter Wang]
- library.scm: reader doesn't read `:' as a keyword
2004-04-30 flw <flw@gurke>
* wwchicken, syntax-case.scm, runtime.c, library.scm, makefile.vc, match-support.scm, psyntax.scm, eval.scm, extras.scm, TODO, compiler.scm, csi.scm:
- match-errors raise (exn match)
- syntax errors raise (mostly) (exn syntax)
- csi: added hooks for emacs interface [as suggested by Linh Dang]
- library: hid namespace/import stuff again
- fixed a bug in the manual (foreign-value example was wrong) [Thanks to Taylor Campbell]
2004-04-29 flw <flw@gurke>
* parameters.scm, pcre.scm, psyntax-bootstrap.scm, psyntax.scm, runtime.c, srfi-18.scm, syntax-case.scm, build.scm, c-backend.scm, compiler.scm, configure.in, csc.bat, easyffi.l, eval.scm, extras.scm, format.scm, library.scm:
- (declare (foreign-parse ...)) didn't properly macroexpand parsed code [Thanks to Matthias Heiler]
- fixed another bug in the C syntax checker, related to handling `#include <...>'
- runtime.c: added missing C_regparm declarations to please gcc 3.4 [Thanks to Sven Hartrumpf]
- library.scm: added a low-level 2-argument string-append (`##sys#string-append') for internal use
- eval.scm: added `##sys#do-the-right-thing' in preparation for a generic extension requirement form
- bumped version to 1.46
- syntax-case: changed generation of unique (module) identifiers slightly
- script-utils: added `read-all'
- extras: `read-file' accepts a filename, now
2004-04-21 flw <flw@gurke>
* support.scm, configure.in, csi.1, csi.scm, easyffi.l, easyffi.scm, eval.scm, format.scm, library.scm, batch-driver.scm, build.scm, c-backend.scm, chicken.1, compiler.scm:
- added missing documentation for `export' declaration [Thanks to Terence Brannon]
- fixed easyffi parser bug that caused preprocessor-state not to be cleared [Thanks to Feanor]
- removed line-number output in ffi-parser errors (which was incorrect anyway)
- keyword processing uses internal version of `get-keyword', and keyword-lookup is a bit faster
- changed default keyword-style to suffix
- chicken-format-profile.bat was built incorrectly
- rcsi still has access to all non-standard syntax
- C syntax checker didn't handle preprocessor commands properly in certain situations
- csc: only links with unsafe libs in benchmark-mode or with `-unsafe-libraries'
- Fixed some typos in the documentation [Thanks to z0d and Kim Liu]
- C syntax-checks for `foreign-declare' declarations checked each string separatly (which was wrong)
- csc: -shared + -embedded doesn't pass `-dynamic' to chicken (otherwise implicit exit handler isn't called)
- `format' prints keywords more consistently [Thanks to Alain Mellan]
2004-04-15 flw <flw@gurke>
* examples/calendar.scm, c-backend.scm, chicken-setup.1, chicken.h, configure.in, csc.bat, csi.scm, easyffi.l, extras.scm, library.scm, lolevel.scm, makefile.vc, psyntax.scm, runtime.c, scheduler.scm, srfi-18.scm, wwchicken, Makefile.am, TODO, batch-driver.scm, build.scm:
- scheduler: added `##sys#thread-unblock!' (and renamed old version to `##sys#thread-basic-unblock!')
- extras.scm: added fast path to `read-line' that uses fgets() for FILE* ports
- configure.in: -fno-strict-aliasing is now the default for gcc
- chicken.h: added missing prototype for C_i_foreign_tagged_pointer_argumentp
- Makefile.am: added target for chicken-format-profile
- c-backend.scm, runtime.c: loading code dynamically checks now whether the executing runtime and the one linked to the
loaded shared object are identical (i.e. have the same safety settings) [Thanks to Category 5 for suggesting a clever solution]
- Windows batch files are properly generated (without "#!..." line)
- chicken-setup: added `-registry' option
- `(define (...) ...)' didn't handle DSSSL keywords correctly with the syntax-case macro system
- updated makefile.vc
- fixed handling of she-bang line in srfi-7 scripts
- fixed bug in FFI C parser [Thanks to Daniel B. Faken]
2004-04-11 flw <flw@gurke>
* csi.scm, easyffi.scm, eval.scm, library.scm, lolevel.scm, psyntax.scm, runtime.c, support.scm, wwchicken, TODO, batch-driver.scm, build.scm, c-platform.scm, chicken-ffi-macros.scm, chicken.1, chicken.h, compiler.scm, configure.in, csc.1, csc.bat:
- easyffi: checks C syntax of foreign-declare, foreign-[callback-]lambda* and foreign-value/foreign-code
- option `-disable-c-syntax-checks'
- load-verbose is set to #t when `-:d' is given
- csi: features #:csi, #:rcsi
- some minor internal helper stuff for tagged pointers
- chicken-setup: `+[...]options' didn't work correctly
- lolevel: `tag-pointer', `tagged-pointer?' and `pointer-tag'
- the reader accepts symbols starting with `#%' and `#!', `#! ...' is only treated as commment
when used in the interpreter and it appears on the first line
- batch-driver: erroneously added `use' declaration for lolevel unit, when compiling she-bang scripts
- syntax `(define VAR)' is allowed now
- extended lambda lists (DSSSL style)
- `get-keyword' is slightly more relaxed
2004-03-31 flw <flw@gurke>
* wwchicken, chicken-match-macros.scm, syntax-case.scm, chicken-ffi-macros.scm, batch-driver.scm, TODO:
- syntax-case macro system loads ffi-macros before compilation
- fixed bug in expansion of `define-foreign-type'
- removed some dependencies of `match' from chicken-ffi-macro.scm
- added missing chicken-match-macros.scm and chicken-ffi-macros.scm to CVS [Thanks to Sven Hartrumpf]
2004-03-29 flw <flw@gurke>
* TODO, build.scm, chicken-default-entry-points.scm, chicken-entry-points.scm, chicken-highlevel-macros.scm, chicken-more-macros.scm, chicken.scm, configure.in, csc.bat, csi.scm, easyffi.scm, examples/calendar.scm, examples/ctclsh.scm, extras.scm, lolevel.scm, syntax-case.scm, tinyclos.scm, wwchicken, Makefile.am:
- easyffi: `const' variables are now always accessed by name and are always exported as a normal variable
- csc: didn't pass `-static' to the linker, when compiling a static executable
- tinyclos.scm: ##tinyclos#compute-std-cpl is now exported to allow fiddling with the MRO
- removed URL stuff again
- moved FFI macros into separate include file (`chicken-ffi-macros.scm')
- renamed all macro definition files by adding `chicken-' prefix (match.scm, entry-points.scm, default-entry-points.scm,
highlevel-macros.scm and moremacros.scm)
- added `define-foreign-record'
- bumped version to 1.42
- extras: string-chop
- renamed formatprofile to chicken-format-profile
2004-03-26 catfive <catfive@gurke>
* wwchicken:
small changes to feature list order and manual unit display
2004-03-22 flw <flw@gurke>
* configure.in, csc.bat, csi.scm, easyffi.l, easyffi.scm, eval.scm, formatprofile.bat, library.scm, lolevel.scm, makefile.vc, posix.scm, psyntax.scm, runtime.c, support.scm, tcp.scm, wwchicken, Makefile.am, TODO, batch-driver.scm, build.scm, c-backend.scm, chicken-config.in, chicken.h:
- csc: added `-W' as an alias for `-windows'
- added foreign type specifiers `byte' and `unsigned-byte'
- fixed bug in `string>=?' and `string<=?' [Thanks to Sven Hartrumpf]
- `require' of a used library unit printed load message even when already loaded
- formatprofile.bat will be properly built now
- argument-count error-messages print somewhat nicer (slightly)
- `tcp-listen' accepts optional argument to restrict receiving IP address
- added "tag" specifications to `#> ... <#' syntax
- added `#>: ... <#'
- script-utils: added URL parsing
- the additional paths given via `-ffi-include-path' replaced the default ("."), but should have been be added
- rcsi has to use syntax-case unit for SRFI-22 scripts
- fixed a few bugs in makefile.vc
- added `(exn runtime limit)' and `(exn arity)' conditions
- listed some exceptions in the manual (not complete, yet)
- added internal hack to allow self-evaluating symbols
- bumped version to 1.41
- `-Wl,-R...' isn't added to csc anymore and is not used on OS X [Thanks to Category 5]
2004-03-13 flw <flw@gurke>
* mingw/Makefile.in, Makefile.am, batch-driver.scm, build.scm, c-backend.scm, chicken.1, chicken.h, compiler.scm, configure.in, csc.1, csi.scm, easyffi.scm, eval.scm, library.scm, makefile.dj, makefile.vc, rcsibatch.bat, runtime.c:
- added `rcsi' (a restricted, paired down version of csi), this is also the interpreter invoked by the SRFI-22 trampolines)
[suggested by Michele Simionato]
- `(define-macro SYMBOL1 SYMBOL2)' is now allowed
- added several missing exports to easyffi.scm
- added `require-imports', the `-require-imports' option and the `CHICKEN_require_imports()' API
- `condition-property-accessor' accepts optional third argument; `print-error-message' handles incomplete comndition
objects better
2004-03-08 flw <flw@gurke>
* batch-driver.scm, build.scm, c-backend.scm, c-platform.scm, chicken-setup.1, chicken.1, chicken.h, compiler.scm, configure.in, csc.bat, csi.scm, easyffi.l, easyffi.scm, eval.scm, library.scm, lolevel.scm, runtime.c, support.scm, test-infrastructure-hygienic.scm, TODO:
- lolevel: added `global-make-unbound!' [suggested by Michele Simionato]
- runtime-option `-:o' and compiler-option '-disable-stack-overflow-checks'
- names of external definitions are checked for being valid C identifiers
- `abort' signals condition with 'arguments and 'location properties
- support for multiple symbol tables
- fixed bug in compiler-handling of `location'
- removed all stuff related to `visit'
- library: `import'
- lolevel: `locative-ref' didn't check argument count
- csc: `-cxx' selects alternative C++ compiler; arguments containing "%" are unquoted [suggested by Todd Kueny]
- chicken-setup: added a bunch of options to change/add options to the compiler stages; fixed several bugs related to
downloading eggs
- test-infrastructure: some aliases for output-generation APIs were missing [Thanks to Michele Simionato]
- bumped version to 1.38
2004-03-01 flw <flw@gurke>
* eval.scm, extras.scm, posix.scm, Makefile.am, TODO, batch-driver.scm, build.scm, c-platform.scm, configure.in, csc.bat, csi.1, csi.scm:
- extras: `shuffle' uses `sort!' instead of `sort' [thanks to Sven Hartrumpf]
- csc: added `-unsafe-libraries', compiling dynamically loadable file in unsafe mode links now by default with safe libraries
- csc, chicken-config: automatically adds `-Wl,R%libdir%' to linker invocation, if using gcc
- require accepts lists as pathnames for loading unregistered extensions, so "(require '(a b c))" will be equivalent
to `(load "a/b/c")', if no extension is registered under this name
- chicken, csc, csi: added `-syntax[-at-run-time]' as alias for `-hygienic[-at-run-time]' [Suggested by Category 5]
- chicken-setup: fixed bug in downloading routine
- posix: `process' forked one process too many
- extras: added `alist-update!'
- fixed several LaTeX bugs in the manual
2004-02-24 flw <flw@gurke>
* build.scm, chicken-setup.1, chicken.h, compiler.scm, configure.in, extras.scm, library.scm, lolevel.scm, runtime.c, srfi-25.scm:
- chicken-setup.in: allowed additional property-list in repository entries, added `-host' option
- added `make-weak-locative', `make-locative' returns now a non-weak one
- `location' always returns locatives for movable data
- added `#$' as an abbreviation for `location'
- chicken-setup: `-host' option accepts optional port specification
- print-error-message didn't handle condition objects without any message or arguments
- added `CHICKEN_[new|delete]_gc_root' and `CHICKEN_gc_root_[ref|set]' for more conveniently handling
GC-roots from C code
- extras.scm: added `shuffle' [suggested on c.l.s by Michele Simionato]
- csc.in: `-c++' implies `-ffi-define __cplusplus'
2004-02-19 flw <flw@gurke>
* benchmarks/cscbench, benchmarks/plists, library.scm, runtime.c, support.scm, TODO, batch-driver.scm, chicken.h, easyffi.l, easyffi.scm:
- easyffi.scm: `protected' member functions are ignored
- added missing `plists' file to benchmarks [Thanks to Sven Hartrumpf]
- fixed some references to the old `>>>' prompt in the manual [Thanks to Benedikt Rosenau]
- cscbench: added `-I..' to C compiler options [Thanks to Sven Hartrumpf]
- chicken-setup.in: supports downloading of eggs
- support.scm, batch-driver.scm: `-debug e' lists exported globals
- easyffi: added `__specialize' and `__abstract' keywords
- chicken.h, runtime.c: added new pointer type for exclusive use by SWIG
2004-02-09 flw <flw@gurke>
* benchmarks/boyer.scm, benchmarks/browse.scm, benchmarks/conform.scm, benchmarks/cpstak.scm, benchmarks/cscbench, benchmarks/ctak.scm, benchmarks/dderiv.scm, benchmarks/deriv.scm, benchmarks/destructive.scm, benchmarks/div-iter.scm, benchmarks/div-rec.scm, benchmarks/dynamic.scm, benchmarks/earley.scm, benchmarks/fft.scm, benchmarks/fib.scm, benchmarks/fibc.scm, benchmarks/fprint.scm, benchmarks/fread.scm, benchmarks/hanoi.scm, benchmarks/lattice.scm, benchmarks/maze.scm, benchmarks/nqueens.scm, benchmarks/puzzle.scm, benchmarks/scheme.scm, benchmarks/tak.scm, benchmarks/takl.scm, benchmarks/takr.scm, benchmarks/traverse.scm, benchmarks/travinit.scm, benchmarks/triangl.scm, configure.in, csc.bat, csi.scm, eval.scm, makefile.vc, runtime.c, scheduler.scm, support.scm, syntax-case.scm, Makefile.am, TODO, batch-driver.scm, build.scm, c-platform.scm, chicken.1, chicken.h, chicken.scm, compiler.scm:
- removed compiler option `-compile-time-macros-only' and declaration `compile-time-macros-only'
- added compiler option '-run-time-macros' and declaration 'run-time-macros'
- makefile.vc: removed targets for DLL-libraries (these are not needed)
- added benchmarks
- `define-embedded' handles string results in a more convenient manner
- `define-entry-point' generates more efficient code for single result values
- chicken-setup.in: doesn't depend on gnutar anymore [Thanks to TiM]
- csc.in: added `-dll' option for generating Windows DLLs
2004-02-05 flw <flw@gurke>
* examples/eval-server.scm, Makefile.am, TODO, banner.scm, build.scm, compiler.scm, configure.in, eval.scm, examples/ctclsh.scm, library.scm, syntax-case.scm, tinyclos.scm:
- syntax-case.scm: fixed circularity issue in the definition of `quasiquote' [Thanks to Clifford Stein]
- eval.scm: local definitions where in certain situations not processed [Thanks to Michele Simionato]
- library.scm: `list->vector' didn't handle dotted lists
- configure.in: uses -fno-strict-aliasing with gcc 3.3
- compiler.scm: detection of argument-count mismatch for customizable procedures didn't check for dotted lambda-lists
- tinyclos.scm: calls to methods with a wrong number of arguments crashed
- the definition of `define-entry-point' has now been moved to the include file `entry-points.scm'
- entry-points.scm: added a new macro for defining named entry-points (`define-embedded')
- changed version to 1.34
2004-02-02 flw <flw@gurke>
* csi.1, csi.scm, optimizer.scm, runtime.c, compiler.scm, csc.bat:
- removed `-slib' option
- calls to known procedures generate better error messages if the length of the argument lists don't match
2004-01-29 flw <flw@gurke>
* build.scm, configure.in, csi.scm, easyffi.scm, eval.scm, runtime.c, TODO:
- runtime.c: printf format strings should generate any warnings [Thanks to Sven Hartrumpf]
- easyffi.scm: added `transform' pseudo declaration [Suggested by Daniel Faken]
- eval.scm, csi.scm: renamed `read-eval-print-loop' to `repl'
- eval.scm: added parameter `repl-prompt' (defaults now to "#;> ", unless it turns out to be a bad idea)
- bumped version to 1.33
2004-01-28 flw <flw@gurke>
* TODO, build.scm, chicken-setup.1, chicken-setup.scm, chicken.h, configure.in, csi.scm, easyffi.scm, eval.scm, parameters.scm, runtime.c, Makefile.am:
- configure.in: checks for stdint.h, if not available: uses sys/types.h [Thanks to Category 5]
- easyffi.scm: in fixnum mode, the `int' type is treated as `__fixnum'
- runtime.c: dload tries to resolve toplevel function with and without prefix [Thanks to Oskar Schirmer for suggesting this]
- runtime.c: `software-type' returns 'unix on Mac OS X
- parameters.scm, eval.scm, chicken-setup.scm: different library and shared object extensions to facilitate Mac OS X quirks
- easyffi.scm: enum-names are recognized as types and passed as objects of type `(enum NAME)'
- csc.in: fixed discrepancy in -help output [Thanks to Sven Hartrumpf]
- moved all setup stuff into separate script (`chicken-setup')
- easyffi.scm: member definitions outside of class-declarations are ignored
2004-01-19 flw <flw@gurke>
* Makefile.am, build.scm, c-platform.scm, chicken.1, chicken.h, chicken.scm, compiler.scm, configure.in, easyffi.scm, eval.scm, library.scm, makefile.vc, runtime.c:
- chicken.h: added include for time.h
- makefile.vc: upregexp.c wasn't built from pregexp.scm
- chicken.scm: lambda-lifting doesn't always work completely reliable, and is now disabled by default
(only enabled in benchmark-mode)
- runtime.c: GC forwarding-pointers did not work with very large heaps [Thanks to Sven Hartrumpf]
- eval.scm, compiler.scm: low-level macros that expand into defining forms in non-toplevel contexts are
handled
correctly [Thanks to Michele Simionato for pointing out this problem]
- easyffi.scm: abstract classes don't get a destructor defined; if in case-insensitive mode, names are
downcased
- chicken.h: __mips64 compiles in 64-bit mode [Thanks to TiM]
- library.scm, c-platform.scm: added `##sys#poke-double' [Thanks to Todd R. Kueny, Sr]
2004-01-14 flw <flw@gurke>
* TODO, configure.in, runtime.c, srfi-18.scm:
- configure.in: changed test for darwin* to *darwin*
- runtime.c: `machine-type' returns 'ia64 on IA64
- runtime.c: alignment-hole marking in the garbage collector could run over end of heap-space
2004-01-12 flw <flw@gurke>
* srfi-18.scm, TODO, build.scm, chicken.h, configure.in, library.scm, posix.scm, runtime.c:
- configure.in: renamed `--enable-mutation-hook' to `--enable-gc-hooks'
- runtime.c, chicken.h: added C_gc_trace_hook
- library.scm: `current-seconds' returns a flonum, now [Thanks to Alejandro Forero Cuervo]
- posix.scm: `file-modification-time' returns a float, other time routines accept floats as seconds
- runtime.c, chicken.h, srfi-18.scm: uses floating-point values for time_t seconds
2004-01-07 flw <flw@gurke>
* Makefile.am, chicken.h, configure.in, runtime.c:
- added C_mutation_hook to runtime.c and `--enable-mutation-hook' configuration option
* TODO, batch-driver.scm, build.scm, c-backend.scm, c-platform.scm, chicken-setup.scm, chicken.h, chicken.scm, compiler.scm, configure.in, csi.scm, easyffi.scm, eval.scm, extras.scm, library.scm, lolevel.scm, optimizer.scm, parameters.scm, pcre.scm, posix.scm, profiler.scm, regex.scm, runtime.c, scheduler.scm, srfi-18.scm, srfi-25.scm, srfi-4.scm, support.scm, tcp.scm, tinyclos.scm, tweaks.scm:
- extras.scm: `pretty-print' respects record-printers defined with `define-record-printer'
- easyffi.scm: regexp-substitution declarations are done in the proper order, and apply to all occurrences
- easyffi.scm: method-names were not fixed (name-substituted, etc.)
- bumped version to 1.29
- updated copyrights to 2004
- runtime.c: changed some size-argument related to heap-resizing to unsigned [Thanks to Sven Hartrumpf]
- tinyclos.scm: added `<integer>' class
- easyffi.scm: added `full_specialization' pseudo declaration
- manual.tex: fixed bug in description of `require-at-runtime' [Thanks to Category 5]
2003-12-27 uid67214 <uid67214@gurke>
* Makefile.am, TODO, batch-driver.scm, build.scm, c-backend.scm, c-platform.scm, chicken-setup.scm, chicken.h, compiler.scm, configure.in, csc.bat, csi.scm, easyffi.scm, eval.scm, extras.scm, library.scm, lolevel.scm, makefile.dj, makefile.vc, pcre.scm, posix.scm, pregexp.scm, runtime.c, scheduler.scm, srfi-25.scm, srfi-4.scm, support.scm, tinyclos.scm:
- Makefile.am: runs `csi -setup' at installation time
- added new foreign type specifier `(instance CNAME SCHEMENAME)'
- easyffi.scm: C++ object pointers can now be passed/returned transparently as TinyCLOS instances
- csc, chicken, csi: accept `--help'
- easyffi.scm: `abstract' pseudo declaration; support for function-pointer types
- runtime.c: fixed buffer-overflow in low-level file-opening routine [Thanks to Michele Simionato]
- srfi-4.scm: #F wasn't properly read in case-sensitive mode
- eval.scm: `(begin)' is allowed in bodies
- scheduler.scm: uncaught exceptions in child threads trigger warning (if enabled)
- library.scm: `(enable-warnings [BOOL])'
- srfi-25.scm: some primitives didn't check argument types
- library.scm: `print-error-message' accepts optional third argument
- library.scm, runtime.c: added `print-backtrace'
- chicken-setup.scm: `csi -setup' lists extensions alphabetically
- bumped version to 1.28
- renamed regex2.scm to pregexp.scm
- added pcre.scm, PCRE is used now be default, when available
- pregexp.scm, pcre.scm: register extra feature identifiers
- configure.in: on Mac OS X, `-L/sw/include' is added to LIBS
- runtime.c: "_" prefix is added for OpenBSD + a.out [Thanks to "Category 5"]
- compiler: `-explicit-use' prevents tinyclos unit from being used automatically (in easyffi.scm)
- csi.scm: report displays regex flavor
- extras.scm: added `hash-table-size'
- easyffi.scm: `__scheme_value' was converted into wrong type specifier
- posix.scm: should now compile under IRIX [Thanks to "Fizzie"]
- easyffi.scm: function prototypes with const return types were not correctly parsed
- pcre.scm: non-matched capturing subpatterns were not included in the final match-list (as #f)
- lolevel.scm: added `object-' prefix to some procedure names
2003-11-26 flw <flw@gurke>
* Makefile.am, TODO, build.scm, c-backend.scm, chicken-setup.scm, compiler.scm, configure.in, psyntax.scm, support.scm:
- chicken-setup.scm: added `do-chicken-setup'
- documented `test-compile'
- Makefile.am: removed last remnants of "CPUCONFIGFLAGS" [Thanks to Joerg Wittenberger]
- manual.tex: split up all those "Miscellaneous" sections a little
- configure.in: added `--with-pregexp' option
- highlevel-macros.scm: `foreign-value' wasn't defined properly
- support.scm: size-estimation for flonums was wrong
- chicken-setup.scm: `csi -setup' lists extension version (if defined); fixed another bug in `chicken-setup' macro
- c-backend.scm: fixnum-conversion of FFI calls used hardcoded, 32-bit assuming bitmask [Thanks to "Category 5"]
2003-11-22 flw <flw@gurke>
* Makefile.am, TODO, banner.scm, batch-driver.scm, build.scm, chicken-config.in, chicken-setup.scm, compiler.scm, configure.in, csc.bat, easyffi.l, eval.scm, library.scm, optimizer.scm, srfi-4.scm, support.scm:
- changed silly banner to something slightly less silly
- removed obsolete `##core#qualified'
- easyffi.l: didn't parse `!=' and `!`
- configure.in: removed -mflat for Sparc options
- chicken-setup.scm: improved `test-compile'
- optimizer.scm: lambda-lifting was broken for indirectly recursive calls of liftable procedures sometimes
- compiler.scm: fixed very very strange error in canonicalization of `##core#foreign-callback-wrapper'
- batch-driver.scm: #\# is allowed at file start in non-scripts
- chicken-config.in: removed -cppflags
- configure.in: add "-no-cpp-precomp -I/sw/include" to CFLAGS on Mac OS X [Thanks to Taylor Campbell]
- moremacros.scm/highlevel-macros.scm: added `foreign-value'
- eval.scm: error in REPL resets ports to the state before the previous read
- srfi-4: added `subXXXvector'
- support.scm: `##core#primitive' generated invalid C code with syntax-case macros [Thanks to Joerg Wittenberger]
2003-11-15 flw <flw@gurke>
* chicken.scm, compiler.scm, csi.scm, easyffi.scm, eval.scm, extras.scm, optimizer.scm, support.scm, TODO, batch-driver.scm, c-backend.scm, c-platform.scm, chicken-setup.scm:
- support.scm: chicken -help doesn't print silly banner
- chicken-setup.scm: `test-compile' has been improved
- moremacros.scm, highlevel-macros.scm: added `foreign-code' macro
- extras.scm: added `pp' as an alias for `pretty-print'
- easyffi.scm: `##compiler#foreign-declarations' wasn't exported
- csi.scm, support.scm: changed version/silly banner display slightly
- added doc/tinyclos-examples.scm
- eval.scm: `##core#global-ref' wasn't implemented in the interpreter [Thanks to Michele Simionato]
2003-11-14 flw <flw@gurke>
* banner.scm: *** empty log message ***
* Makefile.am, TODO, chicken.h, compiler.scm, csi.scm, easyffi.l, easyffi.scm, eval.scm, support.scm:
- Makefile.am: default-entry-points.scm wasn't put into the list of installed files
- chicken.h: all uses of C_toplevel are casted to void *
- easyffi.scm: creating TinyCLOS instances from `this' pointers should be a little bit more efficient now
- easyffi.scm: added pseudo type `__scheme_value'
- eval.scm: added `##sys#void' to scheme-report-environment
- compiler.scm: renamed generated C functions from `fNNN' to `f_NNN'
- easyffi.scm: parsing class-defs automatically adds `(uses tinyclos)' declaration
- added silly banner
2003-11-05 flw <flw@gurke>
* easyffi.scm, library.scm, runtime.c, syntax-case.scm, Makefile.am, build.scm, c-backend.scm, chicken-config.in, chicken.h, configure.in:
- runtime.c: `parse_argv' is not included, unless really needed [Thanks to Sven Hartrumpf]
- csc.in, chicken-config.in, Makefile.am, configure.in: On OS X, '-c++' adds `-no-cpp-precomp'
to the g++ compiler flags [Thanks to Taylor Campbell]
- chicken.h: includes <alloca.h> on SunOS (always) [Thanks to Sven Hartrumpf]
- c-backend.scm: moved generation of callback-prototypes at start of output file
- easyffi.scm: fixed unbound variable error in `parse-declaration'
- syntax-case.scm: `install-highlevel-macro-system'
- chicken.h, runtime.c, default-entry-points.scm: added support for simplified embedding of code
- library.scm: fixed off-by-one error in `##sys#register-entry-point'
- easyffi.scm: wrapped C++ classes accept optional 'this initializer keyword [Thanks to "Dave"]
- script-utils.scm: added `for-each-argv-line' [Thanks to William Annis]
- bumped version to 1.23
2003-10-30 sven1999 <sven1999@gurke>
* testsuites/test-example.scm: removed some typos
2003-10-29 flw <flw@gurke>
* makefile.vc, psyntax.scm, runtime.c, support.scm, tinyclos.scm, eval.scm, library.scm, compiler.scm, configure.in, easyffi.scm, c-backend.scm, chicken.h, build.scm:
- psyntax.scm, eval.scm: allow `set!' forms with the first arg being an expression
- manual.tex: fixed some typos [Thanks to Sven Hartrumpf]
- psyntax.scm, eval.scm: added internal support for SRFI-17
- easyffi.scm: declaration values are separated via semicolons, added "type" pseudo declaration
- makefile.vc: rule for easyffi.l.silex was wrong
- runtime.c, chicken.h: added runtime option for heap-size maximum [Thanks to Sven Hartrumpf]
- compiler.scm, support.scm: added compiler special form `##core#global-ref'
- tinyclos.scm, highlevel-macros.scm, moremacros.scm: TinyCLOS method definitions now are properly handled with hidden/block globals
- c-backend.scm: assignment to foreign variables is properly casted to please C++ compilers
- easyffi.scm: fixed two bugs related to using __callback in member defs
- library.scm: `argc+argv'
2003-10-21 sven1999 <sven1999@gurke>
* examples/makefile:
new example cube needs more C flags to find chicken.h
2003-10-20 flw <flw@gurke>
* chicken.h, easyffi.l, easyffi.scm:
- easyffi.scm: added pseudo declarations and `struct ID' definition, negative numbers were not recognized
- easyffi.scm: bugfix in call to `process-macro-def', pure virtual methods will generate in class without constructor method
- easyffi.l: character constants
2003-10-15 flw <flw@gurke>
* examples/README, examples/cube.scm, examples/makefile, examples/mandelbrot.scm, examples/schelog-support.scm, csi.1, csi.scm, easyffi.l, easyffi.scm, eval.scm, library.scm, optimizer.scm, runtime.c, support.scm, c-platform.scm, chicken.1, chicken.h, chicken.scm, compiler.scm, configure.in, csc.bat, batch-driver.scm, build.scm, c-backend.scm:
- removed `no-winding-callcc' declaration specifier and option
- added cube.scm to examples
- library.scm: `call/cc', `print-error-message'
- eval.scm: `require' didn't handle circular requirements
- batch-driver.scm: bails out if input- and output-filename are identical
- easyffi.scm: handling of if/else outside of preprocessor contexts, inline, explicit, using, const and pure virtual methods
- csc.in, c-platform.scm, batch-driver.scm: -ffi option allows compiling C/C++ for extraction of foreign bindings
- c-backend.scm, support.scm: reference, const, enum and template type specifiers
- easyffi.scm: template types, better support for fixnum and bool, __callback qualifier, struct/union/enum/reference
- csc.in: accepts files with ".h" extension
- The reader is now by default case sensitive
- `-case-sensitive' -> '-case-insensitive'
- bumped version to 1.21
- local definitions inside bodies always expand into `letrec' forms, enclosing all subsequent forms
- `-strict' didn't always imply `-strict-letrec' (now it does)
- added compiler/interpreter option `-r5rs' (is `-hygienic -strict')
- regex2.scm: `*pregexp-space-sensitive?*' should have been a variable, not a constant
- strict letrec mode was erroneously enabled in non-hygienic mode by the compiler
- runtime.c: changed FLONUM_PRINT_PRECISION to 15 [Thanks to "Category 5"]
- csc.in: accepts .C, .cc, .cxx and .c++ as C++ source extensions
2003-10-03 flw <flw@gurke>
* easyffi.scm, makefile.vc: - easyffi.scm: removed a diagnostic message
- makefile.vc: builds extra libraries in gui mode (so that they don't refer to chicken.dll)
- csc.in: `-windows' option is back (and works properly)
2003-10-01 flw <flw@gurke>
* chicken.h, easyffi.scm:
- chicken.h: when compiled with g++, chicken-generated code doesn't use statement expressions [Thanks to Bruce Hoult]
- easyffi.scm: added support for static member functions and C++ constants
2003-09-30 flw <flw@gurke>
* build.scm, chicken.h, configure.in, easyffi.l, easyffi.scm:
- easyffi.scm: prototype bodies may contain code, now
- easyffi.scm: `#if' fails always
- chicken.h: includes `alloca.h', when compiled as C++, under Solaris, with GCC [Thanks to Bruce Hoult]
- changed version to 1.20
- easyffi.scm: `volatile', `virtual' and destructor parsing
- easyffi.scm: enums and numeric `#define's are converted to constant-definitions
2003-09-29 flw <flw@gurke>
* c-platform.scm, chicken-config.in, compiler.scm, configure.in, easyffi.l, easyffi.scm, tinyclos.scm, Makefile.am, batch-driver.scm, c-backend.scm:
- csc.in, chicken-config.in, configure.in, Makefile.am: automatically use proper compiler and linker in C++ mode
- easyffi.scm: `#include' is now handled
- `export' and `hide' declarations are more robust
- c-backend.scm: assignments to foreign procedure argument temporaries are casted to please C++ compiler
- easyffi.scm: (very) basic C++ support
- tinyclos.scm: added builtin class `<c++-object>'
2003-09-27 flw <flw@gurke>
* batch-driver.scm, c-backend.scm, c-platform.scm, chicken.1, chicken.h, compiler.scm, easyffi.scm, lolevel.scm, makefile.vc, support.scm:
- easyffi.scm: fixed numerous bugs
- makefile.vc: can build easyffi.l.silex from source
- easyffi.scm: `static' is allowed for prototypes and variables