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
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
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
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
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"
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.
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.
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.
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.
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.
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.
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.
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 ()'.
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.
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'.
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.
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.
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.
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.
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.
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.
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.
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)
678 lcourtes@laas.fr--2006-libre/guile-r6rs-libs--devo--0--base-0