summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-04-10Mention `open-file' in NEWS.v2.0.9Ludovic Courtès1-3/+3
2013-04-10doc: Require libunistring 0.9.3 in `README'.Ludovic Courtès1-1/+1
* README: Require libunistring 0.9.3. The <unitypes.h> header in 0.9.1 lacks the _UC_ATTRIBUTE_CONST definition, leading to build failures.
2013-04-10build: Tell `gen-scmconfig' whether the system has `struct timespec'.Ludovic Courtès2-1/+24
* configure.ac: Reinstate `struct timespec' check removed in commit 7e7c6f6a937005b08fffd5aeccdf992459b07137, but define `HAVE_SYSTEM_STRUCT_TIMESPEC' instead of `HAVE_STRUCT_TIMESPEC'. * libguile/gen-scmconfig.c (main): Change `HAVE_STRUCT_TIMESPEC' to `HAVE_SYSTEM_STRUCT_TIMESPEC'.
2013-04-10Bump version number for 2.0.9.Ludovic Courtès2-2/+5
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment.
2013-04-10doc: Update `release.org'.Ludovic Courtès1-8/+7
* doc/release.org: Recommend "distcheck". Add `makeinfo' to the bootstrap tool list.
2013-04-10stime: Remove #ifdef HAVE_*_H for headers provided by Gnulib.Ludovic Courtès1-10/+2
* libguile/stime.c: Remove #ifdef HAVE_SYS_TIMES_H, HAVE_SYS_TYPES_H, and HAVE_STRING_H since those headers are always provided by Gnulib when the corresponding macro is undefined. Fixes a regression on MinGW introduced by commit 40e2a31.
2013-04-10Make `build-aux/gendocs.sh' executable.Ludovic Courtès1-0/+0
2013-04-09Bump version number for 2.0.8.Ludovic Courtès1-3/+3
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment. (LIBGUILE_INTERFACE_CURRENT): Increment, to account for new C functions `scm_c_bind_keyword_arguments' et al. (LIBGUILE_INTERFACE_AGE): Increment.
2013-04-09tests: Skip FFI tests involving `scm_is_pair' when `dynamic-func' fails.Ludovic Courtès1-4/+6
* test-suite/tests/foreign.test ("make-pointer")["equal? modulo finalizer", "equal? modulo finalizer (set-pointer-finalizer!)"]: Wrap `dynamic-func' in `false-if-exception' (static builds on NetBSD 5.1 raise "Symbol not found" here.)
2013-04-09doc: Cosmetic change for `release.org'.Ludovic Courtès1-1/+1
* doc/release.org: Add #+STARTUP.
2013-04-09Update `THANKS'.Ludovic Courtès1-0/+2
2013-04-09update NEWSAndy Wingo1-22/+14
* NEWS: Updates.
2013-04-09fix stime patch for HAVE_TIMES removalAndy Wingo1-3/+14
* libguile/stime.c (scm_init_stime): Fix previous patch. At this point in the source, we definitely have a run-time function, but don't necessarily have a real-time function.
2013-04-09simplify configure checks for functionality provided by gnulibAndy Wingo2-27/+4
* configure.ac: Remove checks for pipe, stftime, times, and select, as our Gnulib modules already ensure they are provided. * libguile/stime.c: Rely on gnulib providing `times'.
2013-04-09Minor 'THANKS' fix.Mark H Weaver1-1/+1
2013-04-09Fix alignment in 'THANKS'.Mark H Weaver1-1/+1
2013-04-09Update bug report section of 'THANKS'.Mark H Weaver1-0/+4
2013-04-09Update 'THANKS'.Mark H Weaver1-0/+8
2013-04-09Manual: Don't promise to signal an error for an illegal 'letrec'.Mark H Weaver1-2/+2
Reported by Nikita Karetnikov <nikita@karetnikov.org>. * doc/ref/api-binding.texi (Local Bindings): Remove the incorrect claim that improperly accessing a letrec-bound variable during evaluation of its initializers will necessarily cause an error to be signalled.
2013-04-09tests: Skip IPv6 socket tests when OS support is missing.Ludovic Courtès1-1/+10
Reported by Samuel Thibault <samuel.thibault@gnu.org> and Peter Simons <simons@cryp.to>. * test-suite/tests/00-socket.test ("AF_INET6/SOCK_STREAM"): Throw `unresolved' when `bind' throws EADDRNOTAVAIL.
2013-04-08Update 'NEWS'.Mark H Weaver1-9/+3
2013-04-08Update 'NEWS'.Mark H Weaver1-0/+7
2013-04-08Consume a peeked EOF at the REPL.Mark H Weaver1-5/+2
* module/system/repl/repl.scm (meta-reader): Consume peeked EOF.
2013-04-08Miscellaneous 'sendfile' fixes and improved tests.Mark H Weaver2-33/+53
* libguile/filesys.c (scm_sendfile): In Linux-style sendfile(2) code, if EINTR or EAGAIN occurs, set result to 1 (not 0) so that we actually keep going. In non-sendfile(2) code, deal gracefully with short reads due to EOF. * test-suite/tests/filesys.test ("sendfile"): Use 'let*' to guarantee the needed order of operations: write (test-file) and then read it. Add code to check the written data (not just the returned length) in all tests, including the cases that hit EOF prematurely.
2013-04-07Update 'NEWS'.Mark H Weaver1-76/+159
2013-04-07Change `sendfile' to loop until everything has been sent.Ludovic Courtès3-74/+114
* libguile/filesys.c (scm_sendfile)[HAVE_SYS_SENDFILE_H && HAVE_SENDFILE]: Compare RESULT with C_COUNT. Loop until C_COUNT bytes have been sent. * doc/ref/posix.texi (File System): Update the description. Explain the new semantics. * test-suite/tests/filesys.test ("sendfile"): Rewrite using `pass-if-equal'. Check the return value for all the tests. ["file with offset past the end", "file with offset near the end"]: New tests.
2013-04-07Remove outdated and misplaced "Included Guile Modules" node from manual.Mark H Weaver1-122/+1
* doc/ref/api-modules.texi (Included Guile Modules): Remove. (Using Guile Modules): Fix cross reference.
2013-04-07Clarify 'file-encoding' docs: heuristics may be improved later.Mark H Weaver1-14/+22
* doc/ref/api-evaluation.texi (Character Encoding of Source Files): Mention UTF-8 as another common encoding used for Scheme source files, and that it is used by default. Change the description to leave open the possibility of adding additional heuristics in the future. Mention that if the coding declaration is in a #!-style block comment, it must be the first such comment in the file. Mention the '#:guess-encoding' keyword argument.
2013-04-07Add keyword arguments to file opening procedures.Mark H Weaver6-70/+581
* libguile/fports.c (scm_open_file_with_encoding): New API function, containing the code previously found in 'scm_open_file', but modified to accept the new 'guess_encoding' and 'encoding' arguments. (scm_open_file): Now just a simple wrapper that calls 'scm_open_file_with_encoding'. (scm_i_open_file): New implementation of 'open-file' that accepts keyword arguments '#:guess-encoding' and '#:encoding', and calls 'scm_open_file_with_encoding'. (scm_init_fports_keywords): New initialization function that gets called after keywords are initialized. * libguile/fports.h (scm_open_file_with_encoding, scm_init_fports_keywords): Add prototypes. * libguile/init.c (scm_i_init_guile): Call 'scm_init_fports_keywords'. * module/ice-9/boot-9.scm: Add enhanced versions of 'open-input-file', 'open-output-file', 'call-with-input-file', 'call-with-output-file', 'with-input-from-file', 'with-output-to-file', and 'with-error-to-file', that accept keyword arguments '#:binary', '#:encoding', and (for input port constructors) '#:guess-encoding'. * doc/ref/api-io.texi (File Ports): Update documentation. * test-suite/tests/ports.test ("keyword arguments for file openers"): Add tests.
2013-04-07Add record type printer for srfi-41.Chris K. Jester-Young1-0/+23
* module/srfi/srfi-41.scm: Add record type printer for streams. (stream-promise-visit): New helper for visiting stream promises.
2013-04-07Add record type printer for srfi-45.Chris K. Jester-Young1-1/+16
* module/srfi/srfi-45.scm: Add record type printer for promises. (promise-visit): New helper for visiting lazy promises.
2013-04-07Implement efficient 'scm_unget_bytes' and 'unget-bytevector'.Mark H Weaver7-60/+160
* libguile/ports.c (scm_i_unget_bytes): New static function. (scm_unget_bytes): New API function. (scm_unget_byte): Rewrite to simply call 'scm_i_unget_bytes'. (scm_ungetc, scm_peek_char, looking_at_bytes): Use 'scm_i_unget_bytes'. * libguile/ports.h: Add prototype for 'scm_unget_bytes'. * libguile/fports.c (scm_setvbuf): Use 'scm_unget_bytes'. * libguile/r6rs-ports.c (scm_unget_bytevector): New procedure. * module/ice-9/binary-ports.scm (unget-bytevector): New export. * doc/ref/api-io.texi (R6RS Binary Input): Add documentation. (R6RS I/O Ports): Update brief description of (ice-9 binary-ports) to reflect the new reality: it is no longer a subset of (rnrs io ports). * test-suite/tests/ports.test ("unget-bytevector"): Add test.
2013-04-07Remove byte-order mark check from 'scm_i_scan_for_encoding'.Mark H Weaver1-10/+0
* libguile/read.c (scm_i_scan_for_encoding): Remove byte-order mark check.
2013-04-07Do not scan for coding declarations in open-file.Mark H Weaver6-44/+40
* libguile/fports.c (scm_open_file): Do not scan for coding declarations. Replace 'use_encoding' local variable with 'binary'. Update documentation string. * module/ice-9/psyntax.scm (include): Add the same file-encoding logic that's used in compile-file and scm_primitive_load. * module/ice-9/psyntax-pp.scm: Regenerate. * doc/ref/api-io.texi (File Ports): Update docs. * test-suite/tests/ports.test: Change "open-file HONORS file coding declarations" test to "open-file IGNORES file coding declaration". * test-suite/tests/coding.test (scan-coding): Use 'file-encoding' to scan for the encoding, since 'open-input-file' no longer does so.
2013-04-07doc: Link exceptions and escape continuations.Ludovic Courtès1-1/+8
* doc/ref/api-control.texi (Prompt Primitives): Mention exceptions. (Exception Terminology): Link to `call/ec'.
2013-04-07doc: Warn against misuses of `file-name-separator-string'.Ludovic Courtès1-1/+6
* doc/ref/posix.texi (File System): Warn against misuses of `file-name-separator-string'.
2013-04-07Don't use scm_generalized_vector_get_handle() in array-map.cDaniel Llorens1-6/+6
* libguile/array-map.c: (rafill, racp, ramap, rafe): use scm_array_get_handle() instead of scm_generalized_get_vector_handle(). Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-04-06Fix the recommendations for conversion of C string constants.Mark H Weaver1-11/+13
* doc/ref/api-data.texi (Conversion to/from C, Symbol Primitives, Keyword Procedures): Fix the recommendations for conversion of C string constants. The encoding of the source code is irrelevant in modern compilers. What is relevant is the execution character set. Both GCC and clang use UTF-8 by default, so recommend the 'scm_from_utf8_*' functions when the argument is a C string constant. Also fix the broken texinfo markup for 'scm_from_*_symbol' that prevented them from being listed in the index.
2013-04-06Fix indentation in test-scm-c-bind-keyword-arguments.c.Mark H Weaver1-7/+7
* test-suite/standalone/test-scm-c-bind-keyword-arguments.c (test_invalid_keyword): Fix indentation.
2013-04-06Implement 'scm_c_bind_keyword_arguments'.Mark H Weaver5-0/+353
* libguile/keywords.c (scm_keyword_argument_error): New variable. (scm_c_bind_keyword_arguments): New API function. * libguile/keywords.h (enum scm_keyword_arguments_flags): New enum. (scm_t_keyword_arguments_flags): New typedef. (scm_c_bind_keyword_arguments): New prototype. * doc/ref/api-data.texi (Coding With Keywords, Keyword Procedures): Add documentation. * test-suite/standalone/test-scm-c-bind-keyword-arguments.c: New file. * test-suite/standalone/Makefile.am: Add test-scm-c-bind-keyword-arguments test.
2013-04-06NEWS tweaksAndy Wingo1-3/+3
* NEWS: Correct some errors.
2013-04-06Bump 'copyright-year' to 2013.Mark H Weaver1-1/+1
* module/ice-9/command-line.scm (version-etc): Bump 'copyright-year' to 2013.
2013-04-06Remove duplicate definitions of `call/ec' and `let/ec'.Ian Price2-26/+3
* module/language/tree-il/peval.scm (let/ec): Remove. Import (ice-9 control). * module/sxml/match.scm (%call/ec-prompt, call/ec, let/ec): Remove. Import (ice-9 control). Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-04-06Update `NEWS'.Ludovic Courtès1-9/+3
2013-04-06doc: Document `--language'.Ludovic Courtès1-0/+29
* doc/ref/guile-invoke.texi (Command-line Options): Document `--language'.
2013-04-06doc: Document file name separator procedures.Ludovic Courtès1-0/+32
* doc/ref/posix.texi (File System): Document `system-file-name-convention', `file-name-separator?', `absolute-file-name?', and `file-name-separator-string'.
2013-04-06Use a fresh cons for %stream-null.Chris K. Jester-Young1-1/+1
* module/srfi/srfi-41.scm (%stream-null): Use a fresh cons rather than a literal cons. You never know what peval constant-folding could do with the latter, either now or in the future.
2013-04-05Update `NEWS'.Ludovic Courtès1-2/+16
2013-04-05Deprecate scm_array_fill_int()Daniel Llorens3-23/+21
* libguile/array-map.h, libgule/array-map.c: move scm_array_fill_int to the deprecated section. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2013-04-05Remove double indirection in array-fill!Daniel Llorens2-3/+28
* libguile/array-map.c: new function rafill, like scm_array_fill_int, but factors GVSET out of the loop. Use it in scm_array_fill_x instead of scm_array_fill_int. * test-suite/tests/arrays.test: add test for array-fill! with stride != 1. Signed-off-by: Ludovic Courtès <ludo@gnu.org>