47e45cdd766aff1e45ff3dfea732d4a03ce939d6
[guile-r6rs-libs.git] / ChangeLog
blob47e45cdd766aff1e45ff3dfea732d4a03ce939d6
1 2007-10-16  Ludovic Courtès <ludo@gnu.org>
3         * tests/run-test.scm: Tiny test-suite fix.  * tests/run-test.scm:
4         Don't use `option-ref'.
6 2007-10-16  Ludovic Courtès <ludo@gnu.org>
8         * tests/bytevector.test: bytevector.test: Use any supported Latin-1
9         locale.  * tests/bytevector.test (with-latin1-locale): New.
10         (string->utf8 [latin-1], utf8->string [latin-1]): Use it.
12 2007-10-15  Ludovic Courtès <ludo@gnu.org>
14         * m4/gnulib-cache.m4: Explicitly import Gnulib's new
15         `iconv open-utf' module.
17 2007-10-15  Ludovic Courtès <ludo@gnu.org>
19         * modules/r6rs/bytevector.scm, src/bytevector.c, src/bytevector.h,
20         tests/bytevector.test: bytevector: Add support for `utfXX->string'.
21         * modules/r6rs/bytevector.scm (utf8->string, utf16->string,
22         utf32->string): New.  * src/bytevector.c (MAX_UTF_ENCODING_NAME_LEN,
23         UTF_TO_STRING,   scm_r6rs_utf8_to_string, scm_r6rs_utf16_to_string,
24         scm_r6rs_utf32_to_string): New.  * src/bytevector.h: Update.  *
25         tests/bytevector.test (utf8->string, utf8->string [latin-1],
26         utf16->string, utf16->string [little], utf32->string, utf32->string
27         [little]): New.
29 2007-10-15  Ludovic Courtès <ludo@gnu.org>
31         * src/bytevector.c, tests/bytevector.test: bytevector: Complete
32         support of `string->utfXX'.  * src/bytevector.c (utf_encoding_name):
33         New.   (STRING_TO_UTF): Use `mem_iconveh ()' to honor the ENDIANNESS
34         argument.   (scm_r6rs_string_to_utf8): Don't use `STRING_TO_UTF ()'.
35         * tests/bytevector.test (string->utf16 [little], string->utf32
36         [little]): New tests.
38 2007-10-15  Ludovic Courtès <ludo@gnu.org>
40         * m4/.gitignore: Update Gnulib's `.gitignore'.
42 2007-10-11  Ludovic Courtès <ludo@gnu.org>
44         * NEWS, configure.ac, debian/rules, modules/Makefile.am: Add
45         `--with-guilemoduledir' configure option.  * NEWS: Update.  *
46         configure.ac: Add `--with-guilemoduledir', handle it.  *
47         debian/rules (configure-stamp): Use `--with-guilemoduledir'.  *
48         modules/Makefile.am (guilemoduledir): Removed.
50 2007-10-11  Ludovic Courtès <ludo@gnu.org>
52         Merge ../guile-r6rs-libs-0.1
54 2007-10-11  Ludovic Courtès <ludo@gnu.org>
56         * m4/gnulib-cache.m4: Gnulib internationalization.
58 2007-10-11  Ludovic Courtès <ludo@gnu.org>
60         * debian/dirs, debian/rules: Debian: Small cleanups.
62 2007-10-11  Ludovic Courtès <ludo@gnu.org>
64         * debian/README.Debian, debian/changelog, debian/compat,
65         debian/control, debian/copyright, debian/dirs, debian/docs,
66         debian/rules: Initial import of the Debian package.
68 2007-10-11  Ludovic Courtès <ludo@gnu.org>
70         * NEWS, configure.ac, modules/Makefile.am: Install modules to
71         `$datadir' by default.  * NEWS: Update.  * configure.ac: Issue a
72         warning when `$datadir' != `$GUILE_SITE'.  * modules/Makefile.am
73         (guilemoduledir): Use `$datadir'.
75 2007-10-04  Ludovic Courtès <ludo@gnu.org>
77         * modules/r6rs/bytevector.scm, src/bytevector.c, src/bytevector.h,
78         tests/bytevector.test: bytevector: Initial support for UTF string
79         conversion.  * modules/r6rs/bytevector.scm (string->utf8,
80         string->utf16,   string->utf32): New.  * src/bytevector.c
81         (UTF_STRLEN_FUNCTION, UTF_STRLEN, STRING_TO_UTF,
82         scm_r6rs_string_to_utf8, scm_r6rs_string_to_utf16,
83         scm_r6rs_string_to_utf32): New.  * src/bytevector.h: Updated.  *
84         tests/bytevector.test (with-locale): New.   (2.9 Operations on
85         Strings): New.
87 2007-10-04  Ludovic Courtès <ludo@gnu.org>
89         * configure.ac, src/Makefile.am: Don't use GCC strict CFLAGS for
90         Gnulib code.  * configure.ac (GCC_CFLAGS): New.  Use it for
91         GCC-specific warning   CFLAGS instead of `CFLAGS' so that Gnulib
92         code isn't compiled with   it.  * src/Makefile.am (AM_CFLAGS): Use
93         `$(GCC_CFLAGS)'.
95 2007-10-04  Ludovic Courtès <ludo@gnu.org>
97         * modules/Makefile.am: Fix `Makefile'.  * modules/Makefile.am
98         (nobase_dist_guilemodule_DATA): Add   `r6rs/io/ports.scm'.
100 2007-10-03  Ludovic Courtès <ludo@gnu.org>
102         * m4/.gitignore, m4/gnulib-cache.m4: Import Gnulib
103         UTF-*-to/from-locale modules.
105 2007-10-03  Ludovic Courtès <ludo@gnu.org>
107         * tests/bytevector.test: Update `bytevector.test' to R6RS.  *
108         tests/bytevector.test: Reflect new structure of the "Bytevector"
109         section in R6RS.
111 2007-10-03  Ludovic Courtès <ludo@gnu.org>
113         * tests/io-ports.test: Update I/O test case.
115 2007-10-03  Ludovic Courtès <ludo@gnu.org>
117         * modules/r6rs/i/o/ports.scm, modules/r6rs/io/ports.scm: Rename
118         `(r6rs i/o ports)' to `(r6rs io ports)'.
120 2007-10-02  Ludovic Courtès <ludo@gnu.org>
122         * m4/.gitignore: More `.gitignore'.
124 2007-10-02  Ludovic Courtès <ludo@gnu.org>
126         * .gitignore: Add `.gitignore'.
128 2007-10-02  Ludovic Courtès <ludo@gnu.org>
130         * configure.ac: Fix configure machinery.  * configure.ac: Only add
131         GCC-specific CFLAGS (most notably   `-Werror') once all feature
132         tests have been done.
134 2007-10-02  Ludovic Courtès <ludo@gnu.org>
136         * src/Makefile.am: Actually use `GUILE_CFLAGS' and `GUILE_LDFLAGS'.
137         * src/Makefile.am (AM_CFLAGS): New.   (AM_LDFLAGS): New.
139 2007-09-24  Ludovic Courtès <ludo@gnu.org>
141         * README: Updated `README'.
143 2007-09-02  Ludovic Courtes <ludo@gnu.org>
145         * ChangeLog, src/ports.c, tests/io-ports.test: Fixed handling of
146         closed ports in `get-bytevector*'.  * src/ports.c
147         (SCM_VALIDATE_R6RS_BINARY_INPUT_PORT): Use
148         `SCM_VALIDATE_OPINPORT'.  * tests/io-ports.test (7.2.8 Binary
149         Input)[get-bytevector-n with closed   port]: New test.
150         git-archimport-id:
151         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-46
153 2007-09-02  Ludovic Courtes <ludo@gnu.org>
155         * ChangeLog, configure.ac: Added useful GCC compilation flags.  *
156         configure.ac: Enable new CFLAGS for GCC.  git-archimport-id:
157         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-45
159 2007-08-11  Ludovic Courtes <ludo@gnu.org>
161         * ChangeLog, NEWS, src/ports.c, tests/io-ports.test: Fixed handling
162         of closed ports in `put-{bytevector,u8}'.  * NEWS: Mention
163         `put-{bytevector,u8}' fix.  * src/ports.c
164         (SCM_VALIDATE_R6RS_BINARY_OUTPUT_PORT): Use
165         `SCM_VALIDATE_OPOUTPORT' so that open ports are rejected.  *
166         tests/io-ports.test (put-bytevector with closed port): New.
167         git-archimport-id:
168         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-44
170 2007-08-03  Ludovic Court`es <ludovic.courtes@laas.fr>
172         * ChangeLog, m4/.arch-inventory: Arch inventory update.
173         git-archimport-id:
174         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-43
176 2007-08-03  Ludovic Court`es <ludovic.courtes@laas.fr>
178         * ChangeLog, configure.ac, m4/gnulib-cache.m4: Import Gnulib's
179         `string'; improved `configure.ac'.  * configure.ac: Changed email
180         address.  Pass useful options to   `AM_INIT_AUTOMAKE'.  Invoke
181         `gl_INIT' after `gl_EARLY'.  Don't look for   <string.h>.  *
182         m4/gnulib-cache.m4: Added `string'.  git-archimport-id:
183         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-42
185 2007-08-03  Ludovic Court`es <ludovic.courtes@laas.fr>
187         * ChangeLog, NEWS: Updated `NEWS'.  git-archimport-id:
188         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-41
190 2007-08-03  Ludovic Court`es <ludovic.courtes@laas.fr>
192         * ChangeLog, src/Makefile.am, src/bytevector.c, src/ports.c: 
193         Automake cleanup.  * src/Makefile.am (CLEAN_FILES): Renamed to
194         `CLEANFILES' (had no effect).   (BUILT_SOURCES): Renamed files from
195         `.c.x' to `.x'.   (libguile_r6rs_libs_v_0_la_LIBADD): Pass the full
196         patch of `libgnu.la'.   (SUFFIXES): Removed.   (%.c.x): Removed, to
197         avoid pointlessly relying on a GNU Make extension.   (.c.x): New.  *
198         src/bytevector.c (scm_init_r6rs_bytevector): Changed from `.c.x' to
199         `.x'.  * src/ports.c (scm_init_r6rs_ports): Likewise.
200         git-archimport-id:
201         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-40
203 2007-08-03  Ludovic Court`es <ludovic.courtes@laas.fr>
205         * ChangeLog, configure.ac: Use GCC warnings-as-errors by default.  *
206         configure.ac: If `$GCC' is "yes", preprend "-Wall -Werror" to
207         `$CFLAGS'.  git-archimport-id:
208         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-39
210 2007-08-03  Ludovic Court`es <ludovic.courtes@laas.fr>
212         * ChangeLog, src/bytevector.c, tests/bytevector.test: bytevector:
213         IEEE754 unaligned access fixes.  * src/bytevector.c (IEEE754_REF):
214         Use `memcpy' rather than raw   dereferences to avoid unaligned
215         accesses and "bus errors" on SPARC.   (IEEE754_NATIVE_REF):
216         Likewise.   (IEEE754_SET): Likewise.   (IEEE754_NATIVE_SET):
217         Likewise.  * tests/bytevector.test (2.6 Operations on IEEE-754
218         Numbers)   [bytevector-ieee-single-{ref,set!} [unaligned]]: New.
219         git-archimport-id:
220         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-38
222 2007-08-03  Ludovic Court`es <ludovic.courtes@laas.fr>
224         * ChangeLog, src/bytevector.c, tests/bytevector.test: bytevector:
225         More integer unaligned accesses fixes.  * src/bytevector.c
226         (INTEGER_REF): Use `memcpy ()' instead of raw   dereferences, to
227         avoid unaligned accesses and bus errors.   (INTEGER_NATIVE_REF):
228         Likewise.   (INTEGER_SET): Likewise.   (INTEGER_NATIVE_SET):
229         Likewise.  * tests/bytevector.test (2.4 Operations on 16-Bit
230         Integers)[bytevector-s16-ref [unaligned]]: New.
231         [bytevector-s16-{ref,set!} [unaligned]]: New.  git-archimport-id:
232         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-37
234 2007-08-03  Ludovic Court`es <ludovic.courtes@laas.fr>
236         * ChangeLog, src/bytevector.c, tests/bytevector.test: bytevector:
237         More unaligned access ("bus error") fixes.  * src/bytevector.c
238         (GENERIC_INTEGER_SET): Use `memcpy ()' instead of raw
239         cast+dereferences to avoid unaligned accesses on SPARC.  *
240         tests/bytevector.test (2.2 Operations on Bytes and
241         Octets)[bytevector-sint-set! [small]]: New.  git-archimport-id:
242         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-36
244 2007-08-02  Ludovic Court`es <ludovic.courtes@laas.fr>
246         * ChangeLog, src/bytevector.c: bytevector: Fixed "bus error" on
247         SPARC.  * src/bytevector.c (GENERIC_INTEGER_REF): Use `memcpy ()'
248         rather than   dereferences of casts to avoid "bus error" due to
249         unaligned memory   accesses on architectures such as SPARC.
250         git-archimport-id:
251         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-35
253 2007-05-21  Ludovic Court`es <ludovic.courtes@laas.fr>
255         * ChangeLog, src/Makefile.am, tests/run-test.scm: Tiny build fixes.
256         * src/Makefile.am (libguile_r6rs_libs_v_0_la_LIBADD): Added
257         `libgnu'.  * tests/run-test.scm: Use `primitive-load' instead of
258         `load' since the   latter resolve file names relative to the
259         previously-loaded file,   making out-of-tree `make checks' fail.
260         git-archimport-id:
261         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-34
263 2007-03-04  Ludovic Courtes <ludovic.courtes@laas.fr>
265         * ChangeLog, configure.ac: Switched to version 0.1.  * configure.ac:
266         Bumped version to 0.1.  git-archimport-id:
267         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-33
269 2007-03-03  Ludovic Courtes <ludovic.courtes@laas.fr>
271         * ChangeLog, STATUS, modules/r6rs/i/o/ports.scm: Cosmetic changes.
272         * STATUS: Added a foot note for "I/O".  * modules/r6rs/i/o/ports.scm
273         (call-with-port): Removed the comment about   lack of clarity of the
274         spec.  git-archimport-id:
275         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-32
277 2007-02-26  Ludovic Court`es <ludovic.courtes@laas.fr>
279         * ChangeLog, src/ports.c: I/O: Small fixes in `get-bytevector-n' and
280         `get-bytevector-n!'.  * src/ports.c (scm_r6rs_get_bytevector_n):
281         Don't invoke `scm_c_read ()'   when C_COUNT is zero since it may
282         block.  Don't return EOF when both   C_READ and C_COUNT are zero;
283         return the empty bytevector instead.
284         (scm_r6rs_get_bytevector_n_x): Likewise.  git-archimport-id:
285         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-31
287 2007-02-25  Ludovic Courtes <ludovic.courtes@laas.fr>
289         * ChangeLog, src/bytevector.c, src/bytevector.h, src/ports.c: 
290         Implemented inlined bytevectors.  * src/bytevector.c
291         (SCM_R6RS_BYTEVECTOR_SET_LENGTH,
292         SCM_R6RS_BYTEVECTOR_SET_CONTENTS): New macros.
293         (scm_r6rs_null_bytevector): New.   (make_bytevector_from_buffer):
294         New.   (make_bytevector): Check whether LEN is inlineable and only
295         allocate   when non-inlineable.  Don't take a CONTENTS argument:
296         allocate space here.   (scm_r6rs_c_make_bytevector): Updated.
297         (scm_r6rs_c_take_bytevector): Check whether LEN is inlineable.
298         (scm_r6rs_i_shrink_bytevector): New.   (free_bytevector): Only free
299         when BV is in-line.   (scm_r6rs_make_bytevector): Updated.
300         (scm_r6rs_bytevector_copy): Likewise.
301         (scm_r6rs_u8_list_to_bytevector): Likewise.
302         (INTEGER_LIST_TO_BYTEVECTOR): Likewise.
303         (scm_init_r6rs_bytevector): Initialize SCM_R6RS_NULL_BYTEVECTOR.  *
304         src/bytevector.h (SCM_R6RS_BYTEVECTOR_CONTENTS): Check whether BV is
305         inline and return the appropriate pointer.
306         (SCM_R6RS_BYTEVECTOR_INLINE_THRESHOLD,
307         SCM_R6RS_BYTEVECTOR_INLINEABLE_SIZE_P,
308         SCM_R6RS_BYTEVECTOR_INLINE_P):   New macros.
309         (scm_r6rs_c_shrink_bytevector): New macro.
310         (scm_r6rs_i_shrink_bytevector, scm_r6rs_null_bytevector): New
311         declarations.  * src/ports.c (scm_r6rs_get_bytevector_n): Use
312         `scm_r6rs_c_make_bytevector ()' instead of custom memory management.
313         At the end, use `scm_r6rs_c_shrink_bytevector ()'.
314         git-archimport-id:
315         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-30
317 2007-02-23  Ludovic Court`es <ludovic.courtes@laas.fr>
319         * ChangeLog, src/bytevector.c, tests/bytevector.test: Bytevectors:
320         Fixed `bytevector->[us]int-list' for empty vectors.  *
321         src/bytevector.c (INTEGERS_TO_LIST): Properly handle C_LEN == 0.
322         (scm_r6rs_bytevector_to_uint_list): Fixed `FUNC_NAME'.  *
323         tests/bytevector.test (2.3 Operations on Integers of Arbitrary
324         Size)[bytevector->uint-list [empty]]: New test.  git-archimport-id:
325         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-29
327 2007-02-23  Ludovic Court`es <ludovic.courtes@laas.fr>
329         * ChangeLog, src/ports.c: Bytevector output ports: Optimized buffer
330         growing.  * src/ports.c (bop_buffer_grow): Take a MIN_SIZE
331         parameter.  Perform only   one malloc/realloc after having computed
332         a suitable size.   (bop_write): Updated accordingly.
333         git-archimport-id:
334         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-28
336 2007-02-22  Ludovic Court`es <ludovic.courtes@laas.fr>
338         * ChangeLog, modules/r6rs/i/o/ports.scm, src/ports.c, src/ports.h,
339         tests/io-ports.test: ports: Added `open-bytevector-output-port'.  *
340         modules/r6rs/i/o/ports.scm: Export `open-bytevector-output-port'.  *
341         src/ports.c: Include <string.h>.   (transcoders_not_implemented):
342         New.   (scm_r6rs_open_bytevector_input_port): Use it.
343         (bytevector_output_port_type): New.   (SCM_GC_BOP,
344         SCM_BOP_BUFFER_INITIAL_SIZE, SCM_R6RS_BOP_BUFFER,
345         SCM_R6RS_SET_BOP_BUFFER): New macros.   (scm_t_bop_buffer): New
346         type.   (bop_buffer_init, bop_buffer_grow): New functions.
347         (make_bop, bop_free, bop_write, bop_seek): New.   (bop_proc_apply,
348         bop_proc_mark): New.   (scm_r6rs_open_bytevector_output_port): New.
349         (initialize_bytevector_output_ports): New.   (scm_init_r6rs_ports):
350         Call it.  * src/ports.h: Updated.  * tests/io-ports.test: Use
351         `srfi-11'.   (7.2.11 Binary Output)[open-bytevector-output-port]:
352         New test.   [bytevector output port supports `port-position']: New
353         test.  git-archimport-id:
354         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-27
356 2007-02-22  Ludovic Court`es <ludovic.courtes@laas.fr>
358         * ChangeLog, src/ports.c, tests/io-ports.test: ports: Fixed seeking
359         for custom binary input ports.  * src/ports.c (cbip_seek): Fixed.  *
360         tests/io-ports.test (7.2.7 Input Ports)[custom binary input port
361         does   not support `port-position']: New test.   [custom binary
362         input port supports `port-position']: New test.  git-archimport-id:
363         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-26
365 2007-02-22  Ludovic Court`es <ludovic.courtes@laas.fr>
367         * ChangeLog, src/ports.c, tests/io-ports.test: Implemented `seek'
368         support for bytevector input ports.  * src/ports.c (bip_seek): New.
369         (initialize_bytevector_input_ports): Use it.  * tests/io-ports.test
370         (7.2.7 Input Ports)[bytevector input port supports   seeking]: New
371         test.  git-archimport-id:
372         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-25
374 2007-02-22  Ludovic Court`es <ludovic.courtes@laas.fr>
376         * ChangeLog, modules/r6rs/i/o/ports.scm: Added missing procedures
377         from Section 7.2.6, "Input and Output Ports".  *
378         modules/r6rs/i/o/ports.scm (port-transcoder, binary-input-port?,
379         transcoded-port, port-position, set-port-position!,
380         port-has-port-position?, port-has-set-port-position!?,
381         call-with-port):   New.  git-archimport-id:
382         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-24
384 2007-02-22  Ludovic Court`es <ludovic.courtes@laas.fr>
386         * ChangeLog, modules/r6rs/i/o/ports.scm, src/ports.c, src/ports.h,
387         tests/io-ports.test: Added support for custom binary input ports.  *
388         modules/r6rs/i/o/ports.scm: Export `make-custom-binary-input-port'.
389         * src/ports.c (bip_fill_input): Don't increment C_PORT->READ_POS in
390         the   `else' branch.   (custom_binary_input_port_type): New.
391         (CBIP_BUFFER_SIZE, SCM_R6RS_CBIP_*): New macros.   (make_cbip,
392         cbip_mark, cbip_fill_input, cbip_seek, cbip_close,
393         scm_r6rs_make_custom_binary_input_port,
394         initialize_custom_binary_input_ports): New functions.
395         (scm_init_r6rs_ports): Invoke `initialize_custom_binary_input_ports
396         ()'.  * src/ports.h: Updated accordingly.  * tests/io-ports.test:
397         Moved "7.2.7 Input Ports" to the bottom.   (7.2.7 Input
398         Ports)[make-custom-binary-input-port]: New test.  git-archimport-id:
399         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-23
401 2007-02-20  Ludovic Court`es <ludovic.courtes@laas.fr>
403         * ChangeLog, tests/Makefile.am, tests/run-test.scm: Have the test
404         suite exit with an error status upon failure.  * tests/Makefile.am
405         (TESTS_ENVIRONMENT): Appended   `$(srcdir)/run-test.scm'.
406         (EXTRA_DIST): Added `run-test.scm'.  git-archimport-id:
407         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-22
409 2007-02-20  Ludovic Court`es <ludovic.courtes@laas.fr>
411         * ChangeLog, modules/r6rs/bytevector.scm, src/bytevector.c,
412         src/bytevector.h, tests/bytevector.test: Bytevectors: Added support
413         for IEEE-754 single-precision numbers.  *
414         modules/r6rs/bytevector.scm: Export the `ieee-single' procedures.  *
415         src/bytevector.c (IEEE754_TO_SCM): Always use `scm_from_double ()'.
416         (IEEE754_FROM_SCM): Always use `scm_to_double ()'.
417         (IEEE754_ACCESSOR_PROLOGUE): Multiply `sizeof (_type)' by 8.
418         (scm_r6rs_bytevector_ieee_single_ref,
419         scm_r6rs_bytevector_ieee_single_native_ref,
420         scm_r6rs_bytevector_ieee_single_set_x,
421         scm_r6rs_bytevector_ieee_single_native_set_x): New functions.  *
422         src/bytevector.h: Updated accordingly.  * tests/bytevector.test:
423         Added tests for the `ieee-single' procedures.  git-archimport-id:
424         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-21
426 2007-02-20  Ludovic Court`es <ludovic.courtes@laas.fr>
428         * ChangeLog, src/Makefile.am, src/bytevector.c, src/ieee-754.h,
429         src/ieee754-double.h: Templatized the IEEE-754 double-precision
430         code.  * src/Makefile.am (noinst_HEADERS): Reflect renaming of
431         `ieee754-double.h' to `ieee-754.h'.  * src/bytevector.c: Include
432         "ieee-754.h".   (float_to_foreign_endianness,
433         float_from_foreign_endianness): New.   (IEEE754_UNION,
434         IEEE754_TO_SCM, IEEE754_FROM_SCM,   IEEE754_FROM_FOREIGN_ENDIANNESS,
435         IEEE754_TO_FOREIGN_ENDIANNESS): New.   (DOUBLE_*): Renamed to
436         `IEEE754_*'.  Take a TYPE parameter.  Updated   users.  *
437         src/ieee-754.h (scm_r6rs_ieee754_float): New union.
438         (ieee754_double): Renamed to `scm_r6rs_ieee754_double'.
439         git-archimport-id:
440         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-20
442 2007-02-15  Ludovic Court`es <ludovic.courtes@laas.fr>
444         * ChangeLog, modules/r6rs/i/o/ports.scm, src/ports.c, src/ports.h,
445         tests/io-ports.test: Added support for bytevector input ports
446         (Section 7.2.7).  * modules/r6rs/i/o/ports.scm: Export
447         `open-bytevector-input-port'.  * src/ports.c
448         (bytevector_input_port_type): New.   (make_bip, bip_mark,
449         bip_fill_input): New.   (initialize_bytevector_input_ports): New.
450         (scm_r6rs_open_bytevector_input_port): New.   (scm_init_r6rs_ports):
451         Invoke `initialize_bytevector_input_ports ()'.  * src/ports.h:
452         Updated.  * tests/io-ports.test (7.2.7 Input Ports): New test
453         prefix.  git-archimport-id:
454         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-19
456 2007-02-14  Ludovic Court`es <ludovic.courtes@laas.fr>
458         * ChangeLog, src/bytevector.c, tests/bytevector.test: bytevector:
459         Fixed `large_set' with zero.  * src/bytevector.c
460         (bytevector_large_set): Handle zero using `memset ()'   instead of
461         `mpz_export ()' since the latter would write nothing to C_BV
462         (WORD_COUNT == 0).  * tests/bytevector.test (2.5(bis) Operations on
463         64-bit Integers)[ref/set!   with zero]: New test.
464         git-archimport-id:
465         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-18
467 2007-02-14  Ludovic Court`es <ludovic.courtes@laas.fr>
469         * ChangeLog, modules/Makefile.am: Fixed installation of modules.  *
470         modules/Makefile.am (guilemoduledir): Removed `/r6rs'.
471         (dist_guilemodule_DATA): Renamed to...
472         (nobase_dist_guilemodule_DATA): New.  git-archimport-id:
473         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-17
475 2007-02-13  Ludovic Court`es <ludovic.courtes@laas.fr>
477         * ChangeLog, src/Makefile.am, src/ports.c, src/ports.h: Added
478         `ports.h'.  * src/Makefile.am (r6rsinclude_HEADERS): Added
479         `ports.h'.  * src/ports.c: Include it.   (scm_r6rs_put_bytevector):
480         Appropriately cast the result of   `SCM_R6RS_BYTEVECTOR_CONTENTS
481         ()'.  git-archimport-id:
482         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-16
484 2007-02-13  Ludovic Court`es <ludovic.courtes@laas.fr>
486         * ChangeLog, STATUS, tests/io-ports.test: Added an `eof-object'
487         test, updated `STATUS'.  * STATUS (I/O): Marked as partial.  *
488         tests/io-ports.test (7.2.5 End-of-File Object): New test prefix.
489         git-archimport-id:
490         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-15
492 2007-02-13  Ludovic Court`es <ludovic.courtes@laas.fr>
494         * ChangeLog, modules/r6rs/i/o/ports.scm, src/ports.c,
495         tests/io-ports.test: Implemented binary output (Section 7.2.11).  *
496         modules/r6rs/i/o/ports.scm: Export `put-u8' and `put-bytevector'.  *
497         src/ports.c (SCM_VALIDATE_R6RS_BINARY_INPUT_PORT): Alias
498         `SCM_VALIDATE_INPUT_PORT' instead of just `SCM_VALIDATE_PORT'.
499         (scm_r6rs_get_u8): Return an unsigned char.
500         (SCM_VALIDATE_R6RS_BINARY_OUTPUT_PORT): New.   (scm_r6rs_put_u8,
501         scm_r6rs_put_bytevector): New.  * tests/io-ports.test: Use `(srfi
502         srfi-1)'.  Added new tests.  git-archimport-id:
503         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-14
505 2007-02-13  Ludovic Court`es <ludovic.courtes@laas.fr>
507         * ChangeLog, modules/Makefile.am, modules/r6rs/i/o/ports.scm,
508         src/Makefile.am, src/bytevector.c, src/bytevector.h, src/ports.c,
509         src/utils.h, tests/Makefile.am, tests/io-ports.test: Implemented
510         binary input (Section 7.2.8).  * modules/Makefile.am
511         (dist_guilemodule_DATA): Added   `r6rs/i/o/ports.scm'.  *
512         src/Makefile.am (BUILT_SOURCES): Added `ports.c.x'.   (CLEAN_FILES):
513         Likewise.   (libguile_r6rs_libs_v_0_la_SOURCES): Added `ports.c'.
514         (CPPFLAGS): Renamed to `AM_CPPFLAGS'.   (noinst_HEADERS): Added
515         `utils.h'.   (snarfcppopts): Added `$(AM_CPPFLAGS)'.  *
516         src/bytevector.c: Include "utils.h".   (EXPECT): Moved to "utils.h".
517         (SCM_VALIDATE_R6RS_BYTEVECTOR, SCM_R6RS_BYTEVECTOR_LENGTH,
518         SCM_R6RS_BYTEVECTOR_LENGTH): Likewise.
519         (scm_r6rs_c_make_bytevector, scm_r6rs_c_take_bytevector): New.
520         (free_bytevector): Check for NULL bytevectors.  * src/bytevector.h:
521         Updated accordingly.  * tests/Makefile.am (TESTS): Added
522         `io-ports.test'.   (EXTRA_DIST): Likewise.  git-archimport-id:
523         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-13
525 2007-02-12  Ludovic Court`es <ludovic.courtes@laas.fr>
527         * ChangeLog, modules/Makefile.am, pre-inst-guile.in,
528         src/Makefile.am: Fixed various build glitches.  *
529         modules/Makefile.am (guilemodule_DATA): Renamed to...
530         (dist_guilemodule_DATA): New.  * pre-inst-guile.in: Use the new
531         library name.  * src/Makefile.am (CPPFLAGS): New.
532         git-archimport-id:
533         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-12
535 2007-02-12  Ludovic Court`es <ludovic.courtes@laas.fr>
537         * ChangeLog, STATUS, configure.ac, modules/r6rs/bytevector.scm,
538         src/Makefile.am: Renamed the library.  * configure.ac: Use
539         `guile-r6rs-libs' as the project name rather than   `guile-r6rs'.  *
540         src/Makefile.am: Renamed library from `libguile-r6rs-v0' to
541         `libguile-r6rs-libs-v-0'.  * modules/r6rs/bytevector.scm: Updated.
542         git-archimport-id:
543         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-11
545 2007-02-09  Ludovic Courtes <ludovic.courtes@laas.fr>
547         * ChangeLog, src/bytevector.c: Bytevectors: Fixed typo in
548         IEEE-double endianness conversion.  * src/bytevector.c
549         (double_to_foreign_endianness): Fixed the   !WORD_BIGENDIAN case.
550         git-archimport-id:
551         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-10
553 2007-02-09  Ludovic Court`es <ludovic.courtes@laas.fr>
555         * ChangeLog, src/bytevector.c: Bytevectors: Added a "printer" for
556         the SMOB type.  * src/bytevector.c (print_bytevector): New.
557         git-archimport-id:
558         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-9
560 2007-02-09  Ludovic Court`es <ludovic.courtes@laas.fr>
562         * ChangeLog, src/Makefile.am, src/bytevector.c,
563         src/ieee754-double.h, tests/bytevector.test: Bytevectors: Added
564         support for IEEE-754 endianness conversion.  * src/Makefile.am
565         (noinst_HEADERS): New.  * src/bytevector.c: Include
566         "ieee754-double.h".   (double_to_foreign_endianness): New.
567         (double_from_foreign_endianness): New.   (DOUBLE_REF): Use it.
568         (DOUBLE_SET): Likewise.  * tests/bytevector.test: New test.
569         git-archimport-id:
570         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-8
572 2007-02-08  Ludovic Court`es <ludovic.courtes@laas.fr>
574         * ChangeLog, src/Makefile.am, src/bytevector.c, src/bytevector.h: 
575         Added "bytevector.h".  * src/Makefile.am (r6rsincludedir): New.
576         (r6rsinclude_HEADERS): New.  * src/bytevector.c: Include
577         "bytevector.h".  git-archimport-id:
578         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-7
580 2007-02-08  Ludovic Court`es <ludovic.courtes@laas.fr>
582         * ChangeLog, modules/r6rs/bytevector.scm, src/bytevector.c,
583         tests/bytevector.test: Partial impl. of Section 2.6, "Operations on
584         IEEE-754 Numbers".  * modules/r6rs/bytevector.scm: Export the `
585         ieee-double' procedures.  * src/bytevector.c
586         (DOUBLE_ACCESSOR_PROLOGUE, DOUBLE_REF, DOUBLE_SET,
587         DOUBLE_NATIVE_REF, DOUBLE_NATIVE_SET): New macros.
588         (scm_r6rs_*ieee_double*): New.  * tests/bytevector.test: New
589         ieee-double tests, native endianness only.  git-archimport-id:
590         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-6
592 2007-02-08  Ludovic Court`es <ludovic.courtes@laas.fr>
594         * ChangeLog, configure.ac, modules/r6rs/bytevector.scm,
595         src/bytevector.c, tests/bytevector.test: Section 2.5: Operations on
596         32- and 64-bit Integers.  * modules/r6rs/bytevector.scm: Exported
597         the 32/64 functions.  * src/bytevector.c (SIGNEDNESS_signed,
598         SIGNEDNESS_unsigned, SIGNEDNESS):   New macros.   (BV_SIGNED_signed,
599         BV_SIGNED_unsigned): Removed.   (GENERIC_INTEGER_REF): Use
600         `SIGNEDNESS ()'.   (GENERIC_INTEGER_SET): Likewise.
601         (LARGE_INTEGER_REF, LARGE_INTEGER_SET, LARGE_INTEGER_NATIVE_REF,
602         LARGE_INTEGER_NATIVE_SET): New macros.
603         (scm_r6rs_bytevector_*{32,64}*): New functions.  *
604         tests/bytevector.test: Improved the 16-bit tests.  New tests.  *
605         configure.ac: Check for `sizeof (void *)'.  git-archimport-id:
606         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-5
608 2007-02-08  Ludovic Court`es <ludovic.courtes@laas.fr>
610         * ChangeLog, modules/r6rs/bytevector.scm, src/bytevector.c,
611         tests/bytevector.test: Section 2.4: Operations on 16-bit Integers.
612         * modules/r6rs/bytevector.scm: Export the s16/u16 procedures.  *
613         src/bytevector.c (INT_TYPE, INT_SWAP, INT_VALID_P): New macros.
614         (INTEGER_ACCESSOR_PROLOGUE, INTEGER_REF, INTEGER_NATIVE_REF,
615         INTEGER_SET, INTEGER_NATIVE_SET): New macros.
616         (OCTET_ACCESSOR_PROLOGUE): Removed.
617         (scm_r6rs_bytevector_{u8,s8}_{ref,set_x}): Use the new macros.
618         (GENERIC_INTEGER_ACCESSOR_PROLOGUE, GENERIC_INTEGER_REF,
619         GENERIC_INTEGER_SET): New name for the macros previously same-named
620         but   without `GENERIC_'.
621         (scm_r6rs_bytevector_{u16,s16}_{ref,set_x}): New.  *
622         tests/bytevector.test: New tests.  git-archimport-id:
623         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-4
625 2007-02-08  Ludovic Court`es <ludovic.courtes@laas.fr>
627         * .arch-inventory, ChangeLog, Makefile.am, configure.ac,
628         m4/.arch-inventory, m4/gnulib-cache.m4, src/bytevector.c,
629         tests/Makefile.am: Use Gnulib's `byteswap' module.  * Makefile.am
630         (SUBDIRS): Added `lib'.   (ACLOCAL_AMFLAGS): New.  * configure.ac:
631         (AC_CONFIG_MACRO_DIR): New.   (gl_INIT, gl_EARLY): New.   No longer
632         check for <byteswap.h>.  Output `lib/Makefile'.  * src/bytevector.c:
633         Include <byteswap.h> unconditionally.   (non_native_byteswap_16,
634         non_native_byteswap_32): Removed, use   `bswap_{16,32}' directly.
635         (bswap_24): New macro (unused).  * tests/Makefile.am (check_DATA):
636         Renamed to `EXTRA_DIST'.  git-archimport-id:
637         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-3
639 2007-02-08  Ludovic Court`es <ludovic.courtes@laas.fr>
641         * ChangeLog, modules/r6rs/bytevector.scm, src/bytevector.c,
642         tests/bytevector.test: Bytevectors Section 2.3: "Operations on
643         Integers of Arbitrary Size"  * modules/r6rs/bytevector.scm: Export
644         the procedures from Section 2.3.  * src/bytevector.c
645         (is_signed_int8, is_unsigned_int8, is_signed_int16,
646         is_unsigned_int16): New macros.   (bytevector_signed_ref,
647         bytevector_unsigned_ref, bytevector_signed_set,
648         bytevector_unsigned_set): New inlines.
649         (scm_r6rs_bytevector_uint_ref, scm_r6rs_bytevector_sint_ref,
650         scm_r6rs_bytevector_uint_set, scm_r6rs_bytevector_sint_set): Use
651         them.   (INTEGERS_TO_LIST, INTEGER_LIST_TO_BYTEVECTOR): New macros.
652         (scm_r6rs_bytevector_to_uint_list, scm_r6rs_bytevector_to_sint_list,
653         scm_r6rs_uint_list_to_bytevector, scm_r6rs_sint_list_to_bytevector):
654         New.  * tests/bytevector.test: New tests.  git-archimport-id:
655         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-2
657 2007-02-07  Ludovic Court`es <ludovic.courtes@laas.fr>
659         * ChangeLog, configure.ac, modules/r6rs/bytevector.scm,
660         src/bytevector.c, tests/bytevector.test: Finished bytevectors
661         Section 2.2: "Operations on Bytes and Octets".  * configure.ac: No
662         longer look for <arpa/inet.h>; look for <byteswap.h>   and
663         <limits.h>.  No longer look for `htons ()' and friends.  *
664         modules/r6rs/bytevector.scm: Updated exports.   (endianness): Fixed.
665         * src/bytevector.c: Include <limits.h> and <byteswap.h>
666         (non_native_byteswap_16, non_native_byteswap_32): Fixed.
667         (twos_complement): New.   (bytevector_large_ref): Fixed.
668         (bytevector_large_set): New.   (INTEGER_ACCESSOR_PROLOGUE): New.
669         (INTEGER_SET): New.   (scm_r6rs_bytevector_uint_set_x,
670         scm_r6rs_bytevector_sint_set_x): New.  * tests/bytevector.test: New
671         tests.  git-archimport-id:
672         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--patch-1
674 2007-02-06  Ludovic Court`es <ludovic.courtes@laas.fr>
676         * initial import  (automatically generated log message)
677         git-archimport-id:
678         lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--base-0