Added support for custom binary input ports.
[guile-r6rs-libs.git] / ChangeLog
blob17ea9411bf0bd7753287401d43f066cd858db74b
1 # do not edit -- automatically generated by arch changelog
2 # arch-tag: automatic-ChangeLog--lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0
5 2007-02-22 13:49:16 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-23
7     Summary:
8       Added support for custom binary input ports.
9     Revision:
10       guile-r6rs-libs--devo--0--patch-23
12     * modules/r6rs/i/o/ports.scm: Export `make-custom-binary-input-port'.
13     
14     * src/ports.c (bip_fill_input): Don't increment C_PORT->READ_POS in the
15       `else' branch.
16       (custom_binary_input_port_type): New.
17       (CBIP_BUFFER_SIZE, SCM_R6RS_CBIP_*): New macros.
18       (make_cbip, cbip_mark, cbip_fill_input, cbip_seek, cbip_close,
19       scm_r6rs_make_custom_binary_input_port,
20       initialize_custom_binary_input_ports): New functions.
21       (scm_init_r6rs_ports): Invoke `initialize_custom_binary_input_ports ()'.
22     
23     * src/ports.h: Updated accordingly.
24     
25     * tests/io-ports.test: Moved "7.2.7 Input Ports" to the bottom.
26       (7.2.7 Input Ports)[make-custom-binary-input-port]: New test.
28     modified files:
29      ChangeLog modules/r6rs/i/o/ports.scm src/ports.c src/ports.h
30      tests/io-ports.test
33 2007-02-20 16:59:05 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-22
35     Summary:
36       Have the test suite exit with an error status upon failure.
37     Revision:
38       guile-r6rs-libs--devo--0--patch-22
40     * tests/Makefile.am (TESTS_ENVIRONMENT): Appended
41       `$(srcdir)/run-test.scm'.
42       (EXTRA_DIST): Added `run-test.scm'.
44     new files:
45      tests/run-test.scm
47     modified files:
48      ChangeLog tests/Makefile.am
51 2007-02-20 16:40:59 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-21
53     Summary:
54       Bytevectors: Added support for IEEE-754 single-precision numbers.
55     Revision:
56       guile-r6rs-libs--devo--0--patch-21
58     * modules/r6rs/bytevector.scm: Export the `ieee-single' procedures.
59     
60     * src/bytevector.c (IEEE754_TO_SCM): Always use `scm_from_double ()'.
61       (IEEE754_FROM_SCM): Always use `scm_to_double ()'.
62       (IEEE754_ACCESSOR_PROLOGUE): Multiply `sizeof (_type)' by 8.
63       (scm_r6rs_bytevector_ieee_single_ref,
64       scm_r6rs_bytevector_ieee_single_native_ref,
65       scm_r6rs_bytevector_ieee_single_set_x,
66       scm_r6rs_bytevector_ieee_single_native_set_x): New functions.
67     
68     * src/bytevector.h: Updated accordingly.
69     
70     * tests/bytevector.test: Added tests for the `ieee-single' procedures.
72     modified files:
73      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
74      src/bytevector.h tests/bytevector.test
77 2007-02-20 15:07:48 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-20
79     Summary:
80       Templatized the IEEE-754 double-precision code.
81     Revision:
82       guile-r6rs-libs--devo--0--patch-20
84     * src/Makefile.am (noinst_HEADERS): Reflect renaming of
85       `ieee754-double.h' to `ieee-754.h'.
86     
87     * src/bytevector.c: Include "ieee-754.h".
88       (float_to_foreign_endianness, float_from_foreign_endianness): New.
89       (IEEE754_UNION, IEEE754_TO_SCM, IEEE754_FROM_SCM,
90       IEEE754_FROM_FOREIGN_ENDIANNESS, IEEE754_TO_FOREIGN_ENDIANNESS): New.
91       (DOUBLE_*): Renamed to `IEEE754_*'.  Take a TYPE parameter.  Updated
92       users.
93     
94     * src/ieee-754.h (scm_r6rs_ieee754_float): New union.
95       (ieee754_double): Renamed to `scm_r6rs_ieee754_double'.
97     modified files:
98      ChangeLog src/Makefile.am src/bytevector.c src/ieee-754.h
100     renamed files:
101      src/.arch-ids/ieee754-double.h.id
102        ==> src/.arch-ids/ieee-754.h.id
103      src/ieee754-double.h
104        ==> src/ieee-754.h
107 2007-02-15 16:08:50 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-19
109     Summary:
110       Added support for bytevector input ports (Section 7.2.7).
111     Revision:
112       guile-r6rs-libs--devo--0--patch-19
114     * modules/r6rs/i/o/ports.scm: Export `open-bytevector-input-port'.
115     
116     * src/ports.c (bytevector_input_port_type): New.
117       (make_bip, bip_mark, bip_fill_input): New.
118       (initialize_bytevector_input_ports): New.
119       (scm_r6rs_open_bytevector_input_port): New.
120       (scm_init_r6rs_ports): Invoke `initialize_bytevector_input_ports ()'.
121     
122     * src/ports.h: Updated.
123     
124     * tests/io-ports.test (7.2.7 Input Ports): New test prefix.
126     modified files:
127      ChangeLog modules/r6rs/i/o/ports.scm src/ports.c src/ports.h
128      tests/io-ports.test
131 2007-02-14 16:22:55 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-18
133     Summary:
134       bytevector: Fixed `large_set' with zero.
135     Revision:
136       guile-r6rs-libs--devo--0--patch-18
138     * src/bytevector.c (bytevector_large_set): Handle zero using `memset ()'
139       instead of `mpz_export ()' since the latter would write nothing to C_BV
140       (WORD_COUNT == 0).
141     
142     * tests/bytevector.test (2.5(bis) Operations on 64-bit Integers)[ref/set!
143       with zero]: New test.
145     modified files:
146      ChangeLog src/bytevector.c tests/bytevector.test
149 2007-02-14 09:16:59 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-17
151     Summary:
152       Fixed installation of modules.
153     Revision:
154       guile-r6rs-libs--devo--0--patch-17
156     * modules/Makefile.am (guilemoduledir): Removed `/r6rs'.
157       (dist_guilemodule_DATA): Renamed to...
158       (nobase_dist_guilemodule_DATA): New.
160     modified files:
161      ChangeLog modules/Makefile.am
164 2007-02-13 16:04:45 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-16
166     Summary:
167       Added `ports.h'.
168     Revision:
169       guile-r6rs-libs--devo--0--patch-16
171     * src/Makefile.am (r6rsinclude_HEADERS): Added `ports.h'.
172     
173     * src/ports.c: Include it.
174       (scm_r6rs_put_bytevector): Appropriately cast the result of
175       `SCM_R6RS_BYTEVECTOR_CONTENTS ()'.
177     new files:
178      src/ports.h
180     modified files:
181      ChangeLog src/Makefile.am src/ports.c
184 2007-02-13 15:48:23 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-15
186     Summary:
187       Added an `eof-object' test, updated `STATUS'.
188     Revision:
189       guile-r6rs-libs--devo--0--patch-15
191     * STATUS (I/O): Marked as partial.
192     
193     * tests/io-ports.test (7.2.5 End-of-File Object): New test prefix.
195     modified files:
196      ChangeLog STATUS tests/io-ports.test
199 2007-02-13 15:15:21 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-14
201     Summary:
202       Implemented binary output (Section 7.2.11).
203     Revision:
204       guile-r6rs-libs--devo--0--patch-14
206     * modules/r6rs/i/o/ports.scm: Export `put-u8' and `put-bytevector'.
207     
208     * src/ports.c (SCM_VALIDATE_R6RS_BINARY_INPUT_PORT): Alias
209       `SCM_VALIDATE_INPUT_PORT' instead of just `SCM_VALIDATE_PORT'.
210       (scm_r6rs_get_u8): Return an unsigned char.
211       (SCM_VALIDATE_R6RS_BINARY_OUTPUT_PORT): New.
212       (scm_r6rs_put_u8, scm_r6rs_put_bytevector): New.
213     
214     * tests/io-ports.test: Use `(srfi srfi-1)'.  Added new tests.
216     modified files:
217      ChangeLog modules/r6rs/i/o/ports.scm src/ports.c
218      tests/io-ports.test
221 2007-02-13 14:20:00 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-13
223     Summary:
224       Implemented binary input (Section 7.2.8).
225     Revision:
226       guile-r6rs-libs--devo--0--patch-13
228     * modules/Makefile.am (dist_guilemodule_DATA): Added
229       `r6rs/i/o/ports.scm'.
230     
231     * src/Makefile.am (BUILT_SOURCES): Added `ports.c.x'.
232       (CLEAN_FILES): Likewise.
233       (libguile_r6rs_libs_v_0_la_SOURCES): Added `ports.c'.
234       (CPPFLAGS): Renamed to `AM_CPPFLAGS'.
235       (noinst_HEADERS): Added `utils.h'.
236       (snarfcppopts): Added `$(AM_CPPFLAGS)'.
237     
238     * src/bytevector.c: Include "utils.h".
239       (EXPECT): Moved to "utils.h".
240       (SCM_VALIDATE_R6RS_BYTEVECTOR, SCM_R6RS_BYTEVECTOR_LENGTH,
241       SCM_R6RS_BYTEVECTOR_LENGTH): Likewise.
242       (scm_r6rs_c_make_bytevector, scm_r6rs_c_take_bytevector): New.
243       (free_bytevector): Check for NULL bytevectors.
244     
245     * src/bytevector.h: Updated accordingly.
246     
247     * tests/Makefile.am (TESTS): Added `io-ports.test'.
248       (EXTRA_DIST): Likewise.  
250     new files:
251      modules/r6rs/i/.arch-ids/=id modules/r6rs/i/o/.arch-ids/=id
252      modules/r6rs/i/o/ports.scm src/ports.c src/utils.h
253      tests/io-ports.test
255     modified files:
256      ChangeLog modules/Makefile.am src/Makefile.am src/bytevector.c
257      src/bytevector.h tests/Makefile.am
259     new directories:
260      modules/r6rs/i modules/r6rs/i/.arch-ids modules/r6rs/i/o
261      modules/r6rs/i/o/.arch-ids
264 2007-02-12 14:39:59 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-12
266     Summary:
267       Fixed various build glitches.
268     Revision:
269       guile-r6rs-libs--devo--0--patch-12
271     * modules/Makefile.am (guilemodule_DATA): Renamed to...
272       (dist_guilemodule_DATA): New.
273     
274     * pre-inst-guile.in: Use the new library name.
275     
276     * src/Makefile.am (CPPFLAGS): New.
278     modified files:
279      ChangeLog modules/Makefile.am pre-inst-guile.in
280      src/Makefile.am
283 2007-02-12 14:30:43 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-11
285     Summary:
286       Renamed the library.
287     Revision:
288       guile-r6rs-libs--devo--0--patch-11
290     * configure.ac: Use `guile-r6rs-libs' as the project name rather than
291       `guile-r6rs'.
292     
293     * src/Makefile.am: Renamed library from `libguile-r6rs-v0' to
294       `libguile-r6rs-libs-v-0'.
295     
296     * modules/r6rs/bytevector.scm: Updated.
298     new files:
299      .arch-ids/STATUS.id STATUS
301     modified files:
302      ChangeLog configure.ac modules/r6rs/bytevector.scm
303      src/Makefile.am
306 2007-02-09 15:59:23 GMT Ludovic Courtes <ludovic.courtes@laas.fr>       patch-10
308     Summary:
309       Bytevectors: Fixed typo in IEEE-double endianness conversion.
310     Revision:
311       guile-r6rs-libs--devo--0--patch-10
313     * src/bytevector.c (double_to_foreign_endianness): Fixed the
314       !WORD_BIGENDIAN case.
316     modified files:
317      ChangeLog src/bytevector.c
320 2007-02-09 14:43:17 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-9
322     Summary:
323       Bytevectors: Added a "printer" for the SMOB type.
324     Revision:
325       guile-r6rs-libs--devo--0--patch-9
327     * src/bytevector.c (print_bytevector): New.
329     modified files:
330      ChangeLog src/bytevector.c
333 2007-02-09 13:29:52 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-8
335     Summary:
336       Bytevectors: Added support for IEEE-754 endianness conversion.
337     Revision:
338       guile-r6rs-libs--devo--0--patch-8
340     * src/Makefile.am (noinst_HEADERS): New.
341     
342     * src/bytevector.c: Include "ieee754-double.h".
343       (double_to_foreign_endianness): New.
344       (double_from_foreign_endianness): New.
345       (DOUBLE_REF): Use it.
346       (DOUBLE_SET): Likewise.
347     
348     * tests/bytevector.test: New test.
350     new files:
351      src/.arch-ids/ieee754-double.h.id src/ieee754-double.h
353     modified files:
354      ChangeLog src/Makefile.am src/bytevector.c
355      tests/bytevector.test
358 2007-02-08 17:43:18 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-7
360     Summary:
361       Added "bytevector.h".
362     Revision:
363       guile-r6rs-libs--devo--0--patch-7
365     * src/Makefile.am (r6rsincludedir): New.
366       (r6rsinclude_HEADERS): New.
367     
368     * src/bytevector.c: Include "bytevector.h".
370     new files:
371      src/bytevector.h
373     modified files:
374      ChangeLog src/Makefile.am src/bytevector.c
377 2007-02-08 17:21:49 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-6
379     Summary:
380       Partial impl. of Section 2.6, "Operations on IEEE-754 Numbers".
381     Revision:
382       guile-r6rs-libs--devo--0--patch-6
384     * modules/r6rs/bytevector.scm: Export the ` ieee-double' procedures.
385     
386     * src/bytevector.c (DOUBLE_ACCESSOR_PROLOGUE, DOUBLE_REF, DOUBLE_SET,
387       DOUBLE_NATIVE_REF, DOUBLE_NATIVE_SET): New macros.
388       (scm_r6rs_*ieee_double*): New.
389     
390     * tests/bytevector.test: New ieee-double tests, native endianness only.
392     modified files:
393      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
394      tests/bytevector.test
397 2007-02-08 16:43:25 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-5
399     Summary:
400       Section 2.5: Operations on 32- and 64-bit Integers.
401     Revision:
402       guile-r6rs-libs--devo--0--patch-5
404     * modules/r6rs/bytevector.scm: Exported the 32/64 functions.
405     
406     * src/bytevector.c (SIGNEDNESS_signed, SIGNEDNESS_unsigned, SIGNEDNESS):
407       New macros.
408       (BV_SIGNED_signed, BV_SIGNED_unsigned): Removed.
409       (GENERIC_INTEGER_REF): Use `SIGNEDNESS ()'.
410       (GENERIC_INTEGER_SET): Likewise.
411       (LARGE_INTEGER_REF, LARGE_INTEGER_SET, LARGE_INTEGER_NATIVE_REF,
412       LARGE_INTEGER_NATIVE_SET): New macros.
413       (scm_r6rs_bytevector_*{32,64}*): New functions.
414     
415     * tests/bytevector.test: Improved the 16-bit tests.  New tests.
416     
417     * configure.ac: Check for `sizeof (void *)'.
419     modified files:
420      ChangeLog configure.ac modules/r6rs/bytevector.scm
421      src/bytevector.c tests/bytevector.test
424 2007-02-08 14:49:11 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-4
426     Summary:
427       Section 2.4: Operations on 16-bit Integers.
428     Revision:
429       guile-r6rs-libs--devo--0--patch-4
431     * modules/r6rs/bytevector.scm: Export the s16/u16 procedures.
432     
433     * src/bytevector.c (INT_TYPE, INT_SWAP, INT_VALID_P): New macros.
434       (INTEGER_ACCESSOR_PROLOGUE, INTEGER_REF, INTEGER_NATIVE_REF,
435       INTEGER_SET, INTEGER_NATIVE_SET): New macros.
436       (OCTET_ACCESSOR_PROLOGUE): Removed.
437       (scm_r6rs_bytevector_{u8,s8}_{ref,set_x}): Use the new macros.
438       (GENERIC_INTEGER_ACCESSOR_PROLOGUE, GENERIC_INTEGER_REF,
439       GENERIC_INTEGER_SET): New name for the macros previously same-named but
440       without `GENERIC_'.
441       (scm_r6rs_bytevector_{u16,s16}_{ref,set_x}): New.
442     
443     * tests/bytevector.test: New tests.
445     modified files:
446      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
447      tests/bytevector.test
450 2007-02-08 10:44:42 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-3
452     Summary:
453       Use Gnulib's `byteswap' module.
454     Revision:
455       guile-r6rs-libs--devo--0--patch-3
457     * Makefile.am (SUBDIRS): Added `lib'.
458       (ACLOCAL_AMFLAGS): New.
459     
460     * configure.ac: (AC_CONFIG_MACRO_DIR): New.
461       (gl_INIT, gl_EARLY): New.
462       No longer check for <byteswap.h>.  Output `lib/Makefile'.
463     
464     * src/bytevector.c: Include <byteswap.h> unconditionally.
465       (non_native_byteswap_16, non_native_byteswap_32): Removed, use
466       `bswap_{16,32}' directly.
467       (bswap_24): New macro (unused).
468     
469     * tests/Makefile.am (check_DATA): Renamed to `EXTRA_DIST'.
471     new files:
472      m4/.arch-ids/=id m4/.arch-ids/gnulib-cache.m4.id
473      m4/.arch-inventory m4/gnulib-cache.m4
475     modified files:
476      .arch-inventory ChangeLog Makefile.am configure.ac
477      src/bytevector.c tests/Makefile.am
479     new directories:
480      m4 m4/.arch-ids
483 2007-02-08 10:03:37 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-2
485     Summary:
486       Bytevectors Section 2.3: "Operations on Integers of Arbitrary Size"
487     Revision:
488       guile-r6rs-libs--devo--0--patch-2
490     * modules/r6rs/bytevector.scm: Export the procedures from Section 2.3.
491     
492     * src/bytevector.c (is_signed_int8, is_unsigned_int8, is_signed_int16,
493       is_unsigned_int16): New macros.
494       (bytevector_signed_ref, bytevector_unsigned_ref, bytevector_signed_set,
495       bytevector_unsigned_set): New inlines.
496       (scm_r6rs_bytevector_uint_ref, scm_r6rs_bytevector_sint_ref,
497       scm_r6rs_bytevector_uint_set, scm_r6rs_bytevector_sint_set): Use them.
498       (INTEGERS_TO_LIST, INTEGER_LIST_TO_BYTEVECTOR): New macros.
499       (scm_r6rs_bytevector_to_uint_list, scm_r6rs_bytevector_to_sint_list,
500       scm_r6rs_uint_list_to_bytevector, scm_r6rs_sint_list_to_bytevector):
501       New.
502     
503     * tests/bytevector.test: New tests.  
505     modified files:
506      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
507      tests/bytevector.test
510 2007-02-07 16:28:08 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-1
512     Summary:
513       Finished bytevectors Section 2.2: "Operations on Bytes and Octets".
514     Revision:
515       guile-r6rs-libs--devo--0--patch-1
517     * configure.ac: No longer look for <arpa/inet.h>; look for <byteswap.h>
518       and <limits.h>.  No longer look for `htons ()' and friends.
519     
520     * modules/r6rs/bytevector.scm: Updated exports.
521       (endianness): Fixed.
522     
523     * src/bytevector.c: Include <limits.h> and <byteswap.h>
524       (non_native_byteswap_16, non_native_byteswap_32): Fixed.
525       (twos_complement): New.
526       (bytevector_large_ref): Fixed.
527       (bytevector_large_set): New.
528       (INTEGER_ACCESSOR_PROLOGUE): New.
529       (INTEGER_SET): New.
530       (scm_r6rs_bytevector_uint_set_x, scm_r6rs_bytevector_sint_set_x): New.
531     
532     * tests/bytevector.test: New tests.
534     modified files:
535      ChangeLog configure.ac modules/r6rs/bytevector.scm
536      src/bytevector.c tests/bytevector.test
539 2007-02-06 15:51:25 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      base-0
541     Summary:
542       initial import
543     Revision:
544       guile-r6rs-libs--devo--0--base-0
546     
547     (automatically generated log message)
549     new files:
550      AUTHORS COPYING ChangeLog INSTALL Makefile.am NEWS README
551      configure.ac modules/Makefile.am modules/r6rs/bytevector.scm
552      modules/test-suite/lib.scm pre-inst-guile.in src/Makefile.am
553      src/bytevector.c tests/Makefile.am tests/bytevector.test