summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-04-11Provide hook into format used by exception printersstable-2.2-wip-exception-truncateDaniel Llorens1-41/+42
2020-03-23Fix fixpoint computation in compute-significant-bitsstable-2.2Andy Wingo1-2/+23
* module/language/cps/specialize-numbers.scm (preserve-eq?): New helper. (sigbits-union): Use the new helper. Fixes bugs.gnu.org/38486. Thanks to Zack Marvel for the bug report and Matt Wette for tracking it down.
2020-03-13Revert "Fix build on platforms where the stack grows upwards."Andy Wingo1-1/+1
This patch was only meant to apply to the 3.0 branch.
2020-03-07Bump version for Guile 2.2.7.v2.2.7Ludovic Courtès1-2/+2
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment. (LIBGUILE_INTERFACE_REVISION): Increment.
2020-03-07Update NEWS.Ludovic Courtès1-1/+56
* NEWS: Update.
2020-03-07Bump user-visible copyright years to 2020Andy Wingo2-4/+4
* module/ice-9/command-line.scm (version-etc): * module/scripts/compile.scm (show-version): Bump to 2020.
2020-03-07Actually run '00-repl-server.test'.Ludovic Courtès1-1/+2
This is a followup to ddcab06f20525d975503d8d9611e02021fb0dff1. Until now the tests would always be marked as unresolved because TMPDIR was removed before the client and server had been started. * test-suite/tests/00-repl-server.test (call-with-repl-server): Remove initial call to 'rmdir'. Add calls to 'delete-file' and 'rmdir' in the unwind handler.
2020-02-12Fix build on platforms where the stack grows upwards.John Paul Adrian Glaubitz1-1/+1
* libguile/continuations.c (scm_dynthrow): Fix missing mra parameter to grow_stack for SCM_STACK_GROWS_UP. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-02-12Handle GMP allocations through libgc and remove bignum finalizers.Ludovic Courtès1-7/+12
This significantly speeds up loads that create lots of bignums, like (language cps slot-allocation) for files with many top-level definitions. Compiling such a file is typically 2.5 times faster. See <https://lists.gnu.org/archive/html/guile-devel/2020-02/msg00023.html>. * libguile/numbers.c (custom_gmp_malloc): Use 'scm_gc_malloc_pointerless' instead of 'scm_malloc'. (custom_gmp_realloc): Use 'scm_gc_realloc'. (custom_gmp_free): Remove call to 'free'. (make_bignum): Use 'scm_gc_malloc' instead of 'scm_gc_malloc_pointerless'. Call 'scm_i_set_finalizer' only when SCM_INSTALL_GMP_MEMORY_FUNCTIONS is false.
2020-02-12Remove duplicate procedure in slot-allocation.scm.Ludovic Courtès1-15/+12
* module/language/cps/slot-allocation.scm (add-live-slot) (kill-dead-slot, compute-slot): Move higher up in the file. (compute-shuffles): Remove duplicate 'add-live-slot' procedure.
2020-02-12texinfo: Properly render @acronym in plain text.Ludovic Courtès2-2/+31
Fixes <https://bugs.gnu.org/37846>. Reported by Christopher Baines <mail@cbaines.net>. * module/texinfo/plain-text.scm (acronym): New procedure. (tag-handlers): Change 'acro' handle to ACRONYM, and add 'acronym' handler. * test-suite/tests/texinfo.plain-text.test ("stexi->plain-text") ["acronym", "recursive acronym"]: New tests.
2020-02-12texinfo: Add '*line-width*' fluid to control line wrapping.Ludovic Courtès4-5/+49
* module/texinfo/plain-text.scm (*line-width*): New variable. (wrap*): Honor it. * doc/ref/texinfo.texi (texinfo plain-text): Document it. * test-suite/tests/texinfo.plain-text.test: New file. * test-suite/Makefile.am (SCM_TESTS): Add it.
2020-02-12Fix check for rl_get_keymapDaniel Llorens2-7/+9
This lets Guile build on OS X (tested on 10.14) with the system-provided libreadline. * acinclude.m4 (GUILE_READLINE): Check for rl_get_keymap_name instead of rl_get_keymap. The system provided libreadline is an alias to libedit, which has _keymap but not _keymap_name, and Guile uses both. * guile-readline/readline.c: Adjust the include guard.
2020-01-2200-repl-server.test: don't use fixed path for socketRob Browning1-4/+17
* test-suite/tests/00-repl-server.test (make-tempdir): Add. (call-with-repl-server): Store socket in a make-tempdir dir.
2020-01-12Respect thread local fluid defaultsRob Browning2-16/+21
Previously (fluid-ref (make-thread-local-fluid #t)) would return #f via scm_fluid_ref because the internal scm_hashq_ref would return #f when the fluid had not been set, and that was interpreted as an actual value for the fluid. Instead, just pass the fluid default as the default for the hash table lookups so that we don't need a second step to determine if the fluid was set. Thanks to Andrew Gierth for tracking down the problem.
2020-01-12Fix peval bug that ignored excess argsAndy Wingo2-4/+21
* module/language/tree-il/peval.scm (peval): Fix arity check for type confusion (empty value of "rest" in this context was (), not #f). The effect was that we'd silently allow extra arguments to inlined calls. Thanks to Christopher Lam for the report! Fixes #38617. * test-suite/tests/peval.test ("partial evaluation"): Add a test.
2020-01-03web: Update comment regarding the 'tls-wrap' port wrapper.Ludovic Courtès1-7/+10
* module/web/client.scm (tls-wrap): Update comment.
2019-12-09Fix non-deterministic crash in 'finalization_thread_proc'.Ludovic Courtès1-13/+18
Fixes <https://bugs.gnu.org/37757>. Reported by Jesse Gibbons <jgibbons2357@gmail.com>. * libguile/finalizers.c (finalization_thread_proc): Do not enter the "switch (data.byte)" condition when data.n <= 0.
2019-11-18ports: 'scm_port_poll' honors "w" flags.Ludovic Courtès1-1/+1
Fixes <https://bugs.gnu.org/36709>. Reported by Mark H Weaver <mhw@netris.org>. * libguile/ports.c (scm_port_poll): Replace second POLLIN by POLLOUT.
2019-07-07build: Do not record LDFLAGS in .pc file.Ludovic Courtès1-1/+1
Fixes <https://bugs.gnu.org/36339>. Reported by Cyprien Nicolas <cyprien@nicolas.tf>. * configure.ac (GUILE_LIBS): Remove $LDFLAGS.
2019-06-30Bump version for Guile 2.2.6.v2.2.6Ludovic Courtès1-2/+2
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment. (LIBGUILE_INTERFACE_REVISION): Increment.
2019-06-30Update NEWS.Ludovic Courtès1-0/+24
* NEWS: Update.
2019-06-30REPL server: Avoid deprecated '_IOFBF'.Ludovic Courtès1-1/+1
* module/system/repl/server.scm (drain-input-and-close): Use 'block instead of _IOFBF.
2019-06-30'strftime' and 'strptime' honor the locale encoding.Ludovic Courtès2-16/+43
Fixes <https://bugs.gnu.org/35920>. Reported by Christopher Lam <christopher.lck@gmail.com>. * libguile/stime.c (scm_strftime): Use 'scm_to_locale_stringn' instead of 'scm_to_utf8_stringn'. (scm_strptime): Likewise, and use 'scm_string_length' instead of 'u8_strnlen'. * test-suite/tests/time.test ("strftime")["strftime passes wide characters"]: Wrap body in 'with-locale'. ["strftime fr_FR.utf8", "strftime fr_FR.iso88591"]: New tests. ("strptime")["strftime fr_FR.utf8", "strftime fr_FR.iso88591"]: New tests.
2019-06-30doc: Document optional parameter of 'stat'.Ludovic Courtès1-2/+8
Fixes <https://bugs.gnu.org/34860>. Reported by Tim Gesthuizen <tim.gesthuizen@yahoo.de>. * doc/ref/posix.texi (File System): Document 'exception_on_error' parameter of 'stat'.
2019-06-30tests: Add (web server) test.Ludovic Courtès2-0/+119
* test-suite/tests/web-server.test: New file. * test-suite/Makefile.am (SCM_TESTS): Add it.
2019-06-30ports: Export 'current-load-port'.Ludovic Courtès1-1/+2
This binding was forgotten when (ice-9 ports) was introduced in 44b3342c4d5ebd4bbf21c7c7608a5f1a53ba0eb4. Thus it has always been missing in Guile 2.2. * module/ice-9/ports.scm: Export 'current-load-port'.
2019-06-24Revert "web: Add support for HTTP header continuation lines."Mark H Weaver2-34/+8
Fixes <https://bugs.gnu.org/36350>. This reverts commit 73cde5ed7218a090ecee888870908af5445796f0.
2019-06-24doc: Fix argument list in match-lambda docsPaul Morris1-2/+2
* doc/ref/match.texi: Fix argument list for match-lambda. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24doc: Fix minor typo in the HTTP headers documentation.Arun Isaac1-1/+1
* doc/ref/web.texi (HTTP Headers): Fix minor typo. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-06-24Remove references to 'inet-ntoa' and 'inet-aton'.Ludovic Courtès4-32/+8
These procedures were removed in Guile 2.2 by commit fc7bd367ab4b5027a7f80686b1e229c62e43c90b (May 2011). * libguile/socket.h (scm_inet_aton, scm_inet_ntoa): Remove. * module/system/repl/server.scm (make-tcp-server-socket): Use 'inet-pton' instead of 'inet-aton'. * doc/ref/web.texi (HTTP): Likewise in 'declare-header!' example. * doc/ref/posix.texi (Network Address Conversion): Remove documentation of 'inet-ntoa' and 'inet-aton'.
2019-06-20Bump version for Guile 2.2.5.v2.2.5Ludovic Courtès1-4/+4
* GUILE-VERSION (GUILE_MICRO_VERSION): Increment. (LIBGUILE_INTERFACE_CURRENT): Increment. (LIBGUILE_INTERFACE_AGE): Increment. (LIBGUILE_INTERFACE_REVISION): Reset.
2019-06-20Copy terminating zero in 'scm_cat_path'.Ludovic Courtès1-2/+2
* libguile/script.c (scm_cat_path): Pass N + 1, not N, to 'strncat'. Reported by GCC 9.1.0.
2019-06-20srfi-14: Fix possible buffer overrun in '%char-set-dump'.Ludovic Courtès1-1/+1
* libguile/srfi-14.c (scm_sys_char_set_dump): Change array size from 9 to 11 as suggested by GCC 9.1.0.
2019-06-18NEWS: Add information to remaining news items.Mark H Weaver1-12/+75
* NEWS: Update.
2019-06-18NEWS: Fix typo.Mark H Weaver1-8/+8
* NEWS: Fix typo.
2019-06-18NEWS: More tweaks.Mark H Weaver1-2/+11
* NEWS: Update.
2019-06-18NEWS: Add more details.Mark H Weaver1-7/+57
* NEWS: Update text.
2019-06-18NEWS: Add more text.Mark H Weaver1-5/+42
* NEWS: Update.
2019-06-18NEWS: Add first draft of 2.2.5 changes.Mark H Weaver1-1/+103
* NEWS: Add draft updates.
2019-06-18THANKS: Christopher Allan Webber -> Christopher Lemmer Webber.Mark H Weaver1-1/+1
* THANKS: Update name and re-sort.
2019-06-18Update THANKS.Mark H Weaver1-2/+17
* THANKS: Thank Christopher Allan Webber, Christopher Baines, and Timothy Sample for contributions. Thank Andrea Azzarone, Михаил Бахтерев, Jonathan Brielmaier, Josh Datko, Massimiliano Gubinelli, Arun Isaac, Shea Levy, Chris Marusich, Jan Smydke, Tom de Vries, Jeffrey Walton, and Zefram for fixes. Move Michael Talbot-Wilson and Michael Tuexen to their proper place to fix the sorting.
2019-06-18stexi->shtml: Add support for @i, @math, @tie and @dots.Christopher Baines1-0/+4
* module/texinfo/html.scm (tag-replacements): Add support for @i and @math. The tags used come from the texinfo documentation. (rules): Convert @tie and @dots to the appropriate HTML entities.
2019-06-18Avoid regexp ranges in HTTP inter-protocol exploitation check.Mark H Weaver1-1/+1
* module/system/repl/server.scm (permissive-http-request-line?): Avoid character ranges in regexp.
2019-06-18web: Add support for HTTP header continuation lines.Mark H Weaver2-8/+34
* module/web/http.scm (spaces-and-tabs, space-or-tab?): New variables. (read-header-line): After reading a header, if a space or tab follows, read the continuation lines and join them. * test-suite/tests/web-http.test: Add test.
2019-06-18Rename 'scm_c_make_char' to 'scm_i_make_char'.Mark H Weaver8-34/+34
* libguile/chars.c, libguile/chars.h, libguile/ports.c, libguile/print.c, libguile/read.c, libguile/srfi-13.c, libguile/strings.c, libguile/vm-engine.c: Rename 'scm_c_make_char' to 'scm_i_make_char'.
2019-06-18Make 'get-bytevector-n!' suspendable.Mark H Weaver1-45/+67
* module/ice-9/suspendable-ports.scm (get-bytevector-n!): New procedure. (get-bytevector-n): Rewrite in terms of 'get-bytevector-n!'. (port-bindings): Add 'get-bytevector-n!'.
2019-06-18SRFI-19: Rename 'tai-epoch-in-jd' to 'utc-epoch-in-jd'.Mark H Weaver1-11/+11
* module/srfi/srfi-19.scm: Rename 'tai-epoch-in-jd' to 'utc-epoch-in-jd', to reflect its actual meaning and usage.
2019-06-18fport_seek: Eliminate a fruitless use of 'off_t_or_off64_t'.Mark H Weaver1-7/+2
This is a followup to commit 91ba73b397fcc2a36ae7e434522a924c7a8887d0. * libguile/fports.c (fport_seek): Use 'lseek' instead of 'lseek_or_lseek64', and use 'scm_t_off' uniformly. That's the type used in the function signature, and there's no benefit to using a wider type internally. Remove the overflow check, which is no longer needed.
2019-06-18Fix documentation of R6RS 'binary-port?' to reflect reality.Mark H Weaver2-9/+30
* doc/ref/r6rs.texi (rnrs io ports): Improve the descriptions of 'binary-port?' and 'textual-port?'. * module/rnrs/io/ports.scm (binary-port?, textual-port?): Update the docstrings.