bytevector: Initial support for UTF string conversion.
[guile-r6rs-libs.git] / ChangeLog
blob1f5f15c1822556040c15506ba2fa768459016315
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-09-02 16:56:54 GMT Ludovic Courtes <ludo@gnu.org>  patch-46
7     Summary:
8       Fixed handling of closed ports in `get-bytevector*'.
9     Revision:
10       guile-r6rs-libs--devo--0--patch-46
12     * src/ports.c (SCM_VALIDATE_R6RS_BINARY_INPUT_PORT): Use
13       `SCM_VALIDATE_OPINPORT'.
14     
15     * tests/io-ports.test (7.2.8 Binary Input)[get-bytevector-n with closed
16       port]: New test.
18     modified files:
19      ChangeLog src/ports.c tests/io-ports.test
22 2007-09-02 14:55:30 GMT Ludovic Courtes <ludo@gnu.org>  patch-45
24     Summary:
25       Added useful GCC compilation flags.
26     Revision:
27       guile-r6rs-libs--devo--0--patch-45
29     * configure.ac: Enable new CFLAGS for GCC.
31     modified files:
32      ChangeLog configure.ac
35 2007-08-11 15:52:47 GMT Ludovic Courtes <ludo@gnu.org>  patch-44
37     Summary:
38       Fixed handling of closed ports in `put-{bytevector,u8}'.
39     Revision:
40       guile-r6rs-libs--devo--0--patch-44
42     * NEWS: Mention `put-{bytevector,u8}' fix.
43     
44     * src/ports.c (SCM_VALIDATE_R6RS_BINARY_OUTPUT_PORT): Use
45       `SCM_VALIDATE_OPOUTPORT' so that open ports are rejected.
46     
47     * tests/io-ports.test (put-bytevector with closed port): New.
49     modified files:
50      ChangeLog NEWS src/ports.c tests/io-ports.test
53 2007-08-03 09:53:59 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-43
55     Summary:
56       Arch inventory update.
57     Revision:
58       guile-r6rs-libs--devo--0--patch-43
61     modified files:
62      ChangeLog m4/.arch-inventory
65 2007-08-03 09:52:32 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-42
67     Summary:
68       Import Gnulib's `string'; improved `configure.ac'.
69     Revision:
70       guile-r6rs-libs--devo--0--patch-42
72     * configure.ac: Changed email address.  Pass useful options to
73       `AM_INIT_AUTOMAKE'.  Invoke `gl_INIT' after `gl_EARLY'.  Don't look for
74       <string.h>.
75     
76     * m4/gnulib-cache.m4: Added `string'.
78     modified files:
79      ChangeLog configure.ac m4/gnulib-cache.m4
82 2007-08-03 09:45:44 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-41
84     Summary:
85       Updated `NEWS'.
86     Revision:
87       guile-r6rs-libs--devo--0--patch-41
90     modified files:
91      ChangeLog NEWS
94 2007-08-03 09:31:44 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-40
96     Summary:
97       Automake cleanup.
98     Revision:
99       guile-r6rs-libs--devo--0--patch-40
101     * src/Makefile.am (CLEAN_FILES): Renamed to `CLEANFILES' (had no effect).
102       (BUILT_SOURCES): Renamed files from `.c.x' to `.x'.
103       (libguile_r6rs_libs_v_0_la_LIBADD): Pass the full patch of `libgnu.la'.
104       (SUFFIXES): Removed.
105       (%.c.x): Removed, to avoid pointlessly relying on a GNU Make extension.
106       (.c.x): New.
107     
108     * src/bytevector.c (scm_init_r6rs_bytevector): Changed from `.c.x' to
109       `.x'.
110     
111     * src/ports.c (scm_init_r6rs_ports): Likewise.
113     modified files:
114      ChangeLog src/Makefile.am src/bytevector.c src/ports.c
117 2007-08-03 09:20:09 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-39
119     Summary:
120       Use GCC warnings-as-errors by default.
121     Revision:
122       guile-r6rs-libs--devo--0--patch-39
124     * configure.ac: If `$GCC' is "yes", preprend "-Wall -Werror" to `$CFLAGS'.
126     modified files:
127      ChangeLog configure.ac
130 2007-08-03 09:12:25 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-38
132     Summary:
133       bytevector: IEEE754 unaligned access fixes.
134     Revision:
135       guile-r6rs-libs--devo--0--patch-38
137     * src/bytevector.c (IEEE754_REF): Use `memcpy' rather than raw
138       dereferences to avoid unaligned accesses and "bus errors" on SPARC.
139       (IEEE754_NATIVE_REF): Likewise.
140       (IEEE754_SET): Likewise.
141       (IEEE754_NATIVE_SET): Likewise.
142     
143     * tests/bytevector.test (2.6 Operations on IEEE-754 Numbers)
144       [bytevector-ieee-single-{ref,set!} [unaligned]]: New.
146     modified files:
147      ChangeLog src/bytevector.c tests/bytevector.test
150 2007-08-03 08:52:04 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-37
152     Summary:
153       bytevector: More integer unaligned accesses fixes.
154     Revision:
155       guile-r6rs-libs--devo--0--patch-37
157     * src/bytevector.c (INTEGER_REF): Use `memcpy ()' instead of raw
158       dereferences, to avoid unaligned accesses and bus errors.
159       (INTEGER_NATIVE_REF): Likewise.
160       (INTEGER_SET): Likewise.
161       (INTEGER_NATIVE_SET): Likewise.
162     
163     * tests/bytevector.test (2.4 Operations on 16-Bit
164       Integers)[bytevector-s16-ref [unaligned]]: New.
165       [bytevector-s16-{ref,set!} [unaligned]]: New.
167     modified files:
168      ChangeLog src/bytevector.c tests/bytevector.test
171 2007-08-03 08:28:05 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-36
173     Summary:
174       bytevector: More unaligned access ("bus error") fixes.
175     Revision:
176       guile-r6rs-libs--devo--0--patch-36
178     * src/bytevector.c (GENERIC_INTEGER_SET): Use `memcpy ()' instead of raw
179       cast+dereferences to avoid unaligned accesses on SPARC.
180     
181     * tests/bytevector.test (2.2 Operations on Bytes and
182       Octets)[bytevector-sint-set! [small]]: New.
184     modified files:
185      ChangeLog src/bytevector.c tests/bytevector.test
188 2007-08-02 16:51:52 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-35
190     Summary:
191       bytevector: Fixed "bus error" on SPARC.
192     Revision:
193       guile-r6rs-libs--devo--0--patch-35
195     * src/bytevector.c (GENERIC_INTEGER_REF): Use `memcpy ()' rather than
196       dereferences of casts to avoid "bus error" due to unaligned memory
197       accesses on architectures such as SPARC.
199     modified files:
200      ChangeLog src/bytevector.c
203 2007-05-21 16:14:44 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-34
205     Summary:
206       Tiny build fixes.
207     Revision:
208       guile-r6rs-libs--devo--0--patch-34
210     * src/Makefile.am (libguile_r6rs_libs_v_0_la_LIBADD): Added `libgnu'.
211     
212     * tests/run-test.scm: Use `primitive-load' instead of `load' since the
213       latter resolve file names relative to the previously-loaded file,
214       making out-of-tree `make checks' fail.
216     modified files:
217      ChangeLog src/Makefile.am tests/run-test.scm
220 2007-03-04 18:38:56 GMT Ludovic Courtes <ludovic.courtes@laas.fr>       patch-33
222     Summary:
223       Switched to version 0.1.
224     Revision:
225       guile-r6rs-libs--devo--0--patch-33
227     * configure.ac: Bumped version to 0.1.
229     modified files:
230      ChangeLog configure.ac
233 2007-03-03 10:48:41 GMT Ludovic Courtes <ludovic.courtes@laas.fr>       patch-32
235     Summary:
236       Cosmetic changes.
237     Revision:
238       guile-r6rs-libs--devo--0--patch-32
240     * STATUS: Added a foot note for "I/O".
241     
242     * modules/r6rs/i/o/ports.scm (call-with-port): Removed the comment about
243       lack of clarity of the spec.
245     modified files:
246      ChangeLog STATUS modules/r6rs/i/o/ports.scm
249 2007-02-26 13:42:16 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-31
251     Summary:
252       I/O: Small fixes in `get-bytevector-n' and `get-bytevector-n!'.
253     Revision:
254       guile-r6rs-libs--devo--0--patch-31
256     * src/ports.c (scm_r6rs_get_bytevector_n): Don't invoke `scm_c_read ()'
257       when C_COUNT is zero since it may block.  Don't return EOF when both
258       C_READ and C_COUNT are zero; return the empty bytevector instead.
259       (scm_r6rs_get_bytevector_n_x): Likewise.
261     modified files:
262      ChangeLog src/ports.c
265 2007-02-25 15:40:53 GMT Ludovic Courtes <ludovic.courtes@laas.fr>       patch-30
267     Summary:
268       Implemented inlined bytevectors.
269     Revision:
270       guile-r6rs-libs--devo--0--patch-30
272     * src/bytevector.c (SCM_R6RS_BYTEVECTOR_SET_LENGTH,
273       SCM_R6RS_BYTEVECTOR_SET_CONTENTS): New macros.
274       (scm_r6rs_null_bytevector): New.
275       (make_bytevector_from_buffer): New.
276       (make_bytevector): Check whether LEN is inlineable and only allocate
277       when non-inlineable.  Don't take a CONTENTS argument: allocate space here.
278       (scm_r6rs_c_make_bytevector): Updated.
279       (scm_r6rs_c_take_bytevector): Check whether LEN is inlineable.
280       (scm_r6rs_i_shrink_bytevector): New.
281       (free_bytevector): Only free when BV is in-line.
282       (scm_r6rs_make_bytevector): Updated.
283       (scm_r6rs_bytevector_copy): Likewise.
284       (scm_r6rs_u8_list_to_bytevector): Likewise.
285       (INTEGER_LIST_TO_BYTEVECTOR): Likewise.
286       (scm_init_r6rs_bytevector): Initialize SCM_R6RS_NULL_BYTEVECTOR.
287     
288     * src/bytevector.h (SCM_R6RS_BYTEVECTOR_CONTENTS): Check whether BV is
289       inline and return the appropriate pointer.
290       (SCM_R6RS_BYTEVECTOR_INLINE_THRESHOLD,
291       SCM_R6RS_BYTEVECTOR_INLINEABLE_SIZE_P, SCM_R6RS_BYTEVECTOR_INLINE_P):
292       New macros.
293       (scm_r6rs_c_shrink_bytevector): New macro.
294       (scm_r6rs_i_shrink_bytevector, scm_r6rs_null_bytevector): New
295       declarations.
296     
297     * src/ports.c (scm_r6rs_get_bytevector_n): Use
298       `scm_r6rs_c_make_bytevector ()' instead of custom memory management.
299       At the end, use `scm_r6rs_c_shrink_bytevector ()'.
301     modified files:
302      ChangeLog src/bytevector.c src/bytevector.h src/ports.c
305 2007-02-23 15:02:03 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-29
307     Summary:
308       Bytevectors: Fixed `bytevector->[us]int-list' for empty vectors.
309     Revision:
310       guile-r6rs-libs--devo--0--patch-29
312     * src/bytevector.c (INTEGERS_TO_LIST): Properly handle C_LEN == 0.
313       (scm_r6rs_bytevector_to_uint_list): Fixed `FUNC_NAME'.
314     
315     * tests/bytevector.test (2.3 Operations on Integers of Arbitrary
316       Size)[bytevector->uint-list [empty]]: New test.
318     modified files:
319      ChangeLog src/bytevector.c tests/bytevector.test
322 2007-02-23 09:40:05 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-28
324     Summary:
325       Bytevector output ports: Optimized buffer growing.
326     Revision:
327       guile-r6rs-libs--devo--0--patch-28
329     * src/ports.c (bop_buffer_grow): Take a MIN_SIZE parameter.  Perform only
330       one malloc/realloc after having computed a suitable size.
331       (bop_write): Updated accordingly.
333     modified files:
334      ChangeLog src/ports.c
337 2007-02-22 17:59:01 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-27
339     Summary:
340       ports: Added `open-bytevector-output-port'.
341     Revision:
342       guile-r6rs-libs--devo--0--patch-27
344     * modules/r6rs/i/o/ports.scm: Export `open-bytevector-output-port'.
345     
346     * src/ports.c: Include <string.h>.
347       (transcoders_not_implemented): New.
348       (scm_r6rs_open_bytevector_input_port): Use it.
349       (bytevector_output_port_type): New.
350       (SCM_GC_BOP, SCM_BOP_BUFFER_INITIAL_SIZE, SCM_R6RS_BOP_BUFFER,
351       SCM_R6RS_SET_BOP_BUFFER): New macros.
352       (scm_t_bop_buffer): New type.
353       (bop_buffer_init, bop_buffer_grow): New functions.
354       (make_bop, bop_free, bop_write, bop_seek): New.
355       (bop_proc_apply, bop_proc_mark): New.
356       (scm_r6rs_open_bytevector_output_port): New.
357       (initialize_bytevector_output_ports): New.
358       (scm_init_r6rs_ports): Call it.
359     
360     * src/ports.h: Updated.
361     
362     * tests/io-ports.test: Use `srfi-11'.
363       (7.2.11 Binary Output)[open-bytevector-output-port]: New test.
364       [bytevector output port supports `port-position']: New test.
366     modified files:
367      ChangeLog modules/r6rs/i/o/ports.scm src/ports.c src/ports.h
368      tests/io-ports.test
371 2007-02-22 15:07:35 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-26
373     Summary:
374       ports: Fixed seeking for custom binary input ports.
375     Revision:
376       guile-r6rs-libs--devo--0--patch-26
378     * src/ports.c (cbip_seek): Fixed.
379     
380     * tests/io-ports.test (7.2.7 Input Ports)[custom binary input port does
381       not support `port-position']: New test.
382       [custom binary input port supports `port-position']: New test.
384     modified files:
385      ChangeLog src/ports.c tests/io-ports.test
388 2007-02-22 14:49:22 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-25
390     Summary:
391       Implemented `seek' support for bytevector input ports.
392     Revision:
393       guile-r6rs-libs--devo--0--patch-25
395     * src/ports.c (bip_seek): New.
396       (initialize_bytevector_input_ports): Use it.
397     
398     * tests/io-ports.test (7.2.7 Input Ports)[bytevector input port supports
399       seeking]: New test.
401     modified files:
402      ChangeLog src/ports.c tests/io-ports.test
405 2007-02-22 14:30:46 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-24
407     Summary:
408       Added missing procedures from Section 7.2.6, "Input and Output Ports".
409     Revision:
410       guile-r6rs-libs--devo--0--patch-24
412     * modules/r6rs/i/o/ports.scm (port-transcoder, binary-input-port?,
413       transcoded-port, port-position, set-port-position!,
414       port-has-port-position?, port-has-set-port-position!?, call-with-port):
415       New.
417     modified files:
418      ChangeLog modules/r6rs/i/o/ports.scm
421 2007-02-22 13:49:16 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-23
423     Summary:
424       Added support for custom binary input ports.
425     Revision:
426       guile-r6rs-libs--devo--0--patch-23
428     * modules/r6rs/i/o/ports.scm: Export `make-custom-binary-input-port'.
429     
430     * src/ports.c (bip_fill_input): Don't increment C_PORT->READ_POS in the
431       `else' branch.
432       (custom_binary_input_port_type): New.
433       (CBIP_BUFFER_SIZE, SCM_R6RS_CBIP_*): New macros.
434       (make_cbip, cbip_mark, cbip_fill_input, cbip_seek, cbip_close,
435       scm_r6rs_make_custom_binary_input_port,
436       initialize_custom_binary_input_ports): New functions.
437       (scm_init_r6rs_ports): Invoke `initialize_custom_binary_input_ports ()'.
438     
439     * src/ports.h: Updated accordingly.
440     
441     * tests/io-ports.test: Moved "7.2.7 Input Ports" to the bottom.
442       (7.2.7 Input Ports)[make-custom-binary-input-port]: New test.
444     modified files:
445      ChangeLog modules/r6rs/i/o/ports.scm src/ports.c src/ports.h
446      tests/io-ports.test
449 2007-02-20 16:59:05 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-22
451     Summary:
452       Have the test suite exit with an error status upon failure.
453     Revision:
454       guile-r6rs-libs--devo--0--patch-22
456     * tests/Makefile.am (TESTS_ENVIRONMENT): Appended
457       `$(srcdir)/run-test.scm'.
458       (EXTRA_DIST): Added `run-test.scm'.
460     new files:
461      tests/run-test.scm
463     modified files:
464      ChangeLog tests/Makefile.am
467 2007-02-20 16:40:59 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-21
469     Summary:
470       Bytevectors: Added support for IEEE-754 single-precision numbers.
471     Revision:
472       guile-r6rs-libs--devo--0--patch-21
474     * modules/r6rs/bytevector.scm: Export the `ieee-single' procedures.
475     
476     * src/bytevector.c (IEEE754_TO_SCM): Always use `scm_from_double ()'.
477       (IEEE754_FROM_SCM): Always use `scm_to_double ()'.
478       (IEEE754_ACCESSOR_PROLOGUE): Multiply `sizeof (_type)' by 8.
479       (scm_r6rs_bytevector_ieee_single_ref,
480       scm_r6rs_bytevector_ieee_single_native_ref,
481       scm_r6rs_bytevector_ieee_single_set_x,
482       scm_r6rs_bytevector_ieee_single_native_set_x): New functions.
483     
484     * src/bytevector.h: Updated accordingly.
485     
486     * tests/bytevector.test: Added tests for the `ieee-single' procedures.
488     modified files:
489      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
490      src/bytevector.h tests/bytevector.test
493 2007-02-20 15:07:48 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-20
495     Summary:
496       Templatized the IEEE-754 double-precision code.
497     Revision:
498       guile-r6rs-libs--devo--0--patch-20
500     * src/Makefile.am (noinst_HEADERS): Reflect renaming of
501       `ieee754-double.h' to `ieee-754.h'.
502     
503     * src/bytevector.c: Include "ieee-754.h".
504       (float_to_foreign_endianness, float_from_foreign_endianness): New.
505       (IEEE754_UNION, IEEE754_TO_SCM, IEEE754_FROM_SCM,
506       IEEE754_FROM_FOREIGN_ENDIANNESS, IEEE754_TO_FOREIGN_ENDIANNESS): New.
507       (DOUBLE_*): Renamed to `IEEE754_*'.  Take a TYPE parameter.  Updated
508       users.
509     
510     * src/ieee-754.h (scm_r6rs_ieee754_float): New union.
511       (ieee754_double): Renamed to `scm_r6rs_ieee754_double'.
513     modified files:
514      ChangeLog src/Makefile.am src/bytevector.c src/ieee-754.h
516     renamed files:
517      src/.arch-ids/ieee754-double.h.id
518        ==> src/.arch-ids/ieee-754.h.id
519      src/ieee754-double.h
520        ==> src/ieee-754.h
523 2007-02-15 16:08:50 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-19
525     Summary:
526       Added support for bytevector input ports (Section 7.2.7).
527     Revision:
528       guile-r6rs-libs--devo--0--patch-19
530     * modules/r6rs/i/o/ports.scm: Export `open-bytevector-input-port'.
531     
532     * src/ports.c (bytevector_input_port_type): New.
533       (make_bip, bip_mark, bip_fill_input): New.
534       (initialize_bytevector_input_ports): New.
535       (scm_r6rs_open_bytevector_input_port): New.
536       (scm_init_r6rs_ports): Invoke `initialize_bytevector_input_ports ()'.
537     
538     * src/ports.h: Updated.
539     
540     * tests/io-ports.test (7.2.7 Input Ports): New test prefix.
542     modified files:
543      ChangeLog modules/r6rs/i/o/ports.scm src/ports.c src/ports.h
544      tests/io-ports.test
547 2007-02-14 16:22:55 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-18
549     Summary:
550       bytevector: Fixed `large_set' with zero.
551     Revision:
552       guile-r6rs-libs--devo--0--patch-18
554     * src/bytevector.c (bytevector_large_set): Handle zero using `memset ()'
555       instead of `mpz_export ()' since the latter would write nothing to C_BV
556       (WORD_COUNT == 0).
557     
558     * tests/bytevector.test (2.5(bis) Operations on 64-bit Integers)[ref/set!
559       with zero]: New test.
561     modified files:
562      ChangeLog src/bytevector.c tests/bytevector.test
565 2007-02-14 09:16:59 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-17
567     Summary:
568       Fixed installation of modules.
569     Revision:
570       guile-r6rs-libs--devo--0--patch-17
572     * modules/Makefile.am (guilemoduledir): Removed `/r6rs'.
573       (dist_guilemodule_DATA): Renamed to...
574       (nobase_dist_guilemodule_DATA): New.
576     modified files:
577      ChangeLog modules/Makefile.am
580 2007-02-13 16:04:45 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-16
582     Summary:
583       Added `ports.h'.
584     Revision:
585       guile-r6rs-libs--devo--0--patch-16
587     * src/Makefile.am (r6rsinclude_HEADERS): Added `ports.h'.
588     
589     * src/ports.c: Include it.
590       (scm_r6rs_put_bytevector): Appropriately cast the result of
591       `SCM_R6RS_BYTEVECTOR_CONTENTS ()'.
593     new files:
594      src/ports.h
596     modified files:
597      ChangeLog src/Makefile.am src/ports.c
600 2007-02-13 15:48:23 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-15
602     Summary:
603       Added an `eof-object' test, updated `STATUS'.
604     Revision:
605       guile-r6rs-libs--devo--0--patch-15
607     * STATUS (I/O): Marked as partial.
608     
609     * tests/io-ports.test (7.2.5 End-of-File Object): New test prefix.
611     modified files:
612      ChangeLog STATUS tests/io-ports.test
615 2007-02-13 15:15:21 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-14
617     Summary:
618       Implemented binary output (Section 7.2.11).
619     Revision:
620       guile-r6rs-libs--devo--0--patch-14
622     * modules/r6rs/i/o/ports.scm: Export `put-u8' and `put-bytevector'.
623     
624     * src/ports.c (SCM_VALIDATE_R6RS_BINARY_INPUT_PORT): Alias
625       `SCM_VALIDATE_INPUT_PORT' instead of just `SCM_VALIDATE_PORT'.
626       (scm_r6rs_get_u8): Return an unsigned char.
627       (SCM_VALIDATE_R6RS_BINARY_OUTPUT_PORT): New.
628       (scm_r6rs_put_u8, scm_r6rs_put_bytevector): New.
629     
630     * tests/io-ports.test: Use `(srfi srfi-1)'.  Added new tests.
632     modified files:
633      ChangeLog modules/r6rs/i/o/ports.scm src/ports.c
634      tests/io-ports.test
637 2007-02-13 14:20:00 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-13
639     Summary:
640       Implemented binary input (Section 7.2.8).
641     Revision:
642       guile-r6rs-libs--devo--0--patch-13
644     * modules/Makefile.am (dist_guilemodule_DATA): Added
645       `r6rs/i/o/ports.scm'.
646     
647     * src/Makefile.am (BUILT_SOURCES): Added `ports.c.x'.
648       (CLEAN_FILES): Likewise.
649       (libguile_r6rs_libs_v_0_la_SOURCES): Added `ports.c'.
650       (CPPFLAGS): Renamed to `AM_CPPFLAGS'.
651       (noinst_HEADERS): Added `utils.h'.
652       (snarfcppopts): Added `$(AM_CPPFLAGS)'.
653     
654     * src/bytevector.c: Include "utils.h".
655       (EXPECT): Moved to "utils.h".
656       (SCM_VALIDATE_R6RS_BYTEVECTOR, SCM_R6RS_BYTEVECTOR_LENGTH,
657       SCM_R6RS_BYTEVECTOR_LENGTH): Likewise.
658       (scm_r6rs_c_make_bytevector, scm_r6rs_c_take_bytevector): New.
659       (free_bytevector): Check for NULL bytevectors.
660     
661     * src/bytevector.h: Updated accordingly.
662     
663     * tests/Makefile.am (TESTS): Added `io-ports.test'.
664       (EXTRA_DIST): Likewise.  
666     new files:
667      modules/r6rs/i/.arch-ids/=id modules/r6rs/i/o/.arch-ids/=id
668      modules/r6rs/i/o/ports.scm src/ports.c src/utils.h
669      tests/io-ports.test
671     modified files:
672      ChangeLog modules/Makefile.am src/Makefile.am src/bytevector.c
673      src/bytevector.h tests/Makefile.am
675     new directories:
676      modules/r6rs/i modules/r6rs/i/.arch-ids modules/r6rs/i/o
677      modules/r6rs/i/o/.arch-ids
680 2007-02-12 14:39:59 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-12
682     Summary:
683       Fixed various build glitches.
684     Revision:
685       guile-r6rs-libs--devo--0--patch-12
687     * modules/Makefile.am (guilemodule_DATA): Renamed to...
688       (dist_guilemodule_DATA): New.
689     
690     * pre-inst-guile.in: Use the new library name.
691     
692     * src/Makefile.am (CPPFLAGS): New.
694     modified files:
695      ChangeLog modules/Makefile.am pre-inst-guile.in
696      src/Makefile.am
699 2007-02-12 14:30:43 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-11
701     Summary:
702       Renamed the library.
703     Revision:
704       guile-r6rs-libs--devo--0--patch-11
706     * configure.ac: Use `guile-r6rs-libs' as the project name rather than
707       `guile-r6rs'.
708     
709     * src/Makefile.am: Renamed library from `libguile-r6rs-v0' to
710       `libguile-r6rs-libs-v-0'.
711     
712     * modules/r6rs/bytevector.scm: Updated.
714     new files:
715      .arch-ids/STATUS.id STATUS
717     modified files:
718      ChangeLog configure.ac modules/r6rs/bytevector.scm
719      src/Makefile.am
722 2007-02-09 15:59:23 GMT Ludovic Courtes <ludovic.courtes@laas.fr>       patch-10
724     Summary:
725       Bytevectors: Fixed typo in IEEE-double endianness conversion.
726     Revision:
727       guile-r6rs-libs--devo--0--patch-10
729     * src/bytevector.c (double_to_foreign_endianness): Fixed the
730       !WORD_BIGENDIAN case.
732     modified files:
733      ChangeLog src/bytevector.c
736 2007-02-09 14:43:17 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-9
738     Summary:
739       Bytevectors: Added a "printer" for the SMOB type.
740     Revision:
741       guile-r6rs-libs--devo--0--patch-9
743     * src/bytevector.c (print_bytevector): New.
745     modified files:
746      ChangeLog src/bytevector.c
749 2007-02-09 13:29:52 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-8
751     Summary:
752       Bytevectors: Added support for IEEE-754 endianness conversion.
753     Revision:
754       guile-r6rs-libs--devo--0--patch-8
756     * src/Makefile.am (noinst_HEADERS): New.
757     
758     * src/bytevector.c: Include "ieee754-double.h".
759       (double_to_foreign_endianness): New.
760       (double_from_foreign_endianness): New.
761       (DOUBLE_REF): Use it.
762       (DOUBLE_SET): Likewise.
763     
764     * tests/bytevector.test: New test.
766     new files:
767      src/.arch-ids/ieee754-double.h.id src/ieee754-double.h
769     modified files:
770      ChangeLog src/Makefile.am src/bytevector.c
771      tests/bytevector.test
774 2007-02-08 17:43:18 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-7
776     Summary:
777       Added "bytevector.h".
778     Revision:
779       guile-r6rs-libs--devo--0--patch-7
781     * src/Makefile.am (r6rsincludedir): New.
782       (r6rsinclude_HEADERS): New.
783     
784     * src/bytevector.c: Include "bytevector.h".
786     new files:
787      src/bytevector.h
789     modified files:
790      ChangeLog src/Makefile.am src/bytevector.c
793 2007-02-08 17:21:49 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-6
795     Summary:
796       Partial impl. of Section 2.6, "Operations on IEEE-754 Numbers".
797     Revision:
798       guile-r6rs-libs--devo--0--patch-6
800     * modules/r6rs/bytevector.scm: Export the ` ieee-double' procedures.
801     
802     * src/bytevector.c (DOUBLE_ACCESSOR_PROLOGUE, DOUBLE_REF, DOUBLE_SET,
803       DOUBLE_NATIVE_REF, DOUBLE_NATIVE_SET): New macros.
804       (scm_r6rs_*ieee_double*): New.
805     
806     * tests/bytevector.test: New ieee-double tests, native endianness only.
808     modified files:
809      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
810      tests/bytevector.test
813 2007-02-08 16:43:25 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-5
815     Summary:
816       Section 2.5: Operations on 32- and 64-bit Integers.
817     Revision:
818       guile-r6rs-libs--devo--0--patch-5
820     * modules/r6rs/bytevector.scm: Exported the 32/64 functions.
821     
822     * src/bytevector.c (SIGNEDNESS_signed, SIGNEDNESS_unsigned, SIGNEDNESS):
823       New macros.
824       (BV_SIGNED_signed, BV_SIGNED_unsigned): Removed.
825       (GENERIC_INTEGER_REF): Use `SIGNEDNESS ()'.
826       (GENERIC_INTEGER_SET): Likewise.
827       (LARGE_INTEGER_REF, LARGE_INTEGER_SET, LARGE_INTEGER_NATIVE_REF,
828       LARGE_INTEGER_NATIVE_SET): New macros.
829       (scm_r6rs_bytevector_*{32,64}*): New functions.
830     
831     * tests/bytevector.test: Improved the 16-bit tests.  New tests.
832     
833     * configure.ac: Check for `sizeof (void *)'.
835     modified files:
836      ChangeLog configure.ac modules/r6rs/bytevector.scm
837      src/bytevector.c tests/bytevector.test
840 2007-02-08 14:49:11 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-4
842     Summary:
843       Section 2.4: Operations on 16-bit Integers.
844     Revision:
845       guile-r6rs-libs--devo--0--patch-4
847     * modules/r6rs/bytevector.scm: Export the s16/u16 procedures.
848     
849     * src/bytevector.c (INT_TYPE, INT_SWAP, INT_VALID_P): New macros.
850       (INTEGER_ACCESSOR_PROLOGUE, INTEGER_REF, INTEGER_NATIVE_REF,
851       INTEGER_SET, INTEGER_NATIVE_SET): New macros.
852       (OCTET_ACCESSOR_PROLOGUE): Removed.
853       (scm_r6rs_bytevector_{u8,s8}_{ref,set_x}): Use the new macros.
854       (GENERIC_INTEGER_ACCESSOR_PROLOGUE, GENERIC_INTEGER_REF,
855       GENERIC_INTEGER_SET): New name for the macros previously same-named but
856       without `GENERIC_'.
857       (scm_r6rs_bytevector_{u16,s16}_{ref,set_x}): New.
858     
859     * tests/bytevector.test: New tests.
861     modified files:
862      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
863      tests/bytevector.test
866 2007-02-08 10:44:42 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-3
868     Summary:
869       Use Gnulib's `byteswap' module.
870     Revision:
871       guile-r6rs-libs--devo--0--patch-3
873     * Makefile.am (SUBDIRS): Added `lib'.
874       (ACLOCAL_AMFLAGS): New.
875     
876     * configure.ac: (AC_CONFIG_MACRO_DIR): New.
877       (gl_INIT, gl_EARLY): New.
878       No longer check for <byteswap.h>.  Output `lib/Makefile'.
879     
880     * src/bytevector.c: Include <byteswap.h> unconditionally.
881       (non_native_byteswap_16, non_native_byteswap_32): Removed, use
882       `bswap_{16,32}' directly.
883       (bswap_24): New macro (unused).
884     
885     * tests/Makefile.am (check_DATA): Renamed to `EXTRA_DIST'.
887     new files:
888      m4/.arch-ids/=id m4/.arch-ids/gnulib-cache.m4.id
889      m4/.arch-inventory m4/gnulib-cache.m4
891     modified files:
892      .arch-inventory ChangeLog Makefile.am configure.ac
893      src/bytevector.c tests/Makefile.am
895     new directories:
896      m4 m4/.arch-ids
899 2007-02-08 10:03:37 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-2
901     Summary:
902       Bytevectors Section 2.3: "Operations on Integers of Arbitrary Size"
903     Revision:
904       guile-r6rs-libs--devo--0--patch-2
906     * modules/r6rs/bytevector.scm: Export the procedures from Section 2.3.
907     
908     * src/bytevector.c (is_signed_int8, is_unsigned_int8, is_signed_int16,
909       is_unsigned_int16): New macros.
910       (bytevector_signed_ref, bytevector_unsigned_ref, bytevector_signed_set,
911       bytevector_unsigned_set): New inlines.
912       (scm_r6rs_bytevector_uint_ref, scm_r6rs_bytevector_sint_ref,
913       scm_r6rs_bytevector_uint_set, scm_r6rs_bytevector_sint_set): Use them.
914       (INTEGERS_TO_LIST, INTEGER_LIST_TO_BYTEVECTOR): New macros.
915       (scm_r6rs_bytevector_to_uint_list, scm_r6rs_bytevector_to_sint_list,
916       scm_r6rs_uint_list_to_bytevector, scm_r6rs_sint_list_to_bytevector):
917       New.
918     
919     * tests/bytevector.test: New tests.  
921     modified files:
922      ChangeLog modules/r6rs/bytevector.scm src/bytevector.c
923      tests/bytevector.test
926 2007-02-07 16:28:08 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      patch-1
928     Summary:
929       Finished bytevectors Section 2.2: "Operations on Bytes and Octets".
930     Revision:
931       guile-r6rs-libs--devo--0--patch-1
933     * configure.ac: No longer look for <arpa/inet.h>; look for <byteswap.h>
934       and <limits.h>.  No longer look for `htons ()' and friends.
935     
936     * modules/r6rs/bytevector.scm: Updated exports.
937       (endianness): Fixed.
938     
939     * src/bytevector.c: Include <limits.h> and <byteswap.h>
940       (non_native_byteswap_16, non_native_byteswap_32): Fixed.
941       (twos_complement): New.
942       (bytevector_large_ref): Fixed.
943       (bytevector_large_set): New.
944       (INTEGER_ACCESSOR_PROLOGUE): New.
945       (INTEGER_SET): New.
946       (scm_r6rs_bytevector_uint_set_x, scm_r6rs_bytevector_sint_set_x): New.
947     
948     * tests/bytevector.test: New tests.
950     modified files:
951      ChangeLog configure.ac modules/r6rs/bytevector.scm
952      src/bytevector.c tests/bytevector.test
955 2007-02-06 15:51:25 GMT Ludovic Court`es <ludovic.courtes@laas.fr>      base-0
957     Summary:
958       initial import
959     Revision:
960       guile-r6rs-libs--devo--0--base-0
962     
963     (automatically generated log message)
965     new files:
966      AUTHORS COPYING ChangeLog INSTALL Makefile.am NEWS README
967      configure.ac modules/Makefile.am modules/r6rs/bytevector.scm
968      modules/test-suite/lib.scm pre-inst-guile.in src/Makefile.am
969      src/bytevector.c tests/Makefile.am tests/bytevector.test