summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* guile-private-refBT Templeton2020-04-042-0/+8
| | | | | * module/language/elisp/compile-tree-il.scm (compile-guile-private-ref): New special operator.
* multiple obarraysBT Templeton2020-04-042-16/+87
| | | | | | | | | * libguile/symbols.c (lookup_uninterned_symbol) (lookup_interned_latin1_symbol, lookup_interned_utf8_symbol) (scm_i_str2symbol): Take an `obarray' argument. All callers changed. (scm_make_obarray, scm_find_symbol, scm_intern, scm_unintern) (scm_obarray_for_each): New functions.
* check symbols constants uninternedRobin Templeton2020-04-041-1/+1
| | | | | | | (Best-ability ChangeLog annotation added by Christopher Allan Webber.) * module/system/vm/assembler.scm (intern-constant, link-data): Update to check "symbol-interned?".
* intern arbitrary constantsRobin Templeton2020-04-045-16/+64
| | | | | | | | | | | | | | | | | | | | | | | | (Best-ability ChangeLog annotation added by Christopher Allan Webber.) * libguile/loader.c (load_thunk_from_memory): Refactor, adding "constants" argument and passing to "init" if appropriate. (load_thunk_from_file): Call "load-thunk-from-memory" with "constants" set to #f. (scm_load_thunk_from_memory): Instead of a bytevector, accept a cons of "(bytevector . constants)", where constants is either a vector or #f. Pass this into "load_thunk_from_memory". * module/language/bytecode/spec.scm: Adapt printer. * module/language/cps/compile-bytecode.scm (compile-bytecode): New variable. * module/system/repl/command.scm (disassemble): Adapt to expect pair which includes bytevector as its car. * module/system/vm/assembler.scm <asm>: Add "to-file?" slot. (fresh-block): New variable. (make-assembler): Adapt to expect "to-file?" keyword argument. (intern-constant): Support "asm-to-file?" in checks. (emit-init-constants, link-data): Likewise. (link-assembly): Update logic for handling "(bytevector . constants)" pair, as well as the expectations of its invocation by compile-bytecode.
* Remove CFLAGS from snarfcppopts.Robin Templeton2020-04-041-1/+1
| | | | libguile/Makefile.am (snarfcppopts): Remove CFLAGS
* Fix fixpoint computation in compute-significant-bitsAndy Wingo2020-03-231-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.
* Revert "Fix build on platforms where the stack grows upwards."Andy Wingo2020-03-131-1/+1
| | | | This patch was only meant to apply to the 3.0 branch.
* Bump version for Guile 2.2.7.Ludovic Courtès2020-03-071-2/+2
| | | | | * GUILE-VERSION (GUILE_MICRO_VERSION): Increment. (LIBGUILE_INTERFACE_REVISION): Increment.
* Update NEWS.Ludovic Courtès2020-03-071-1/+56
| | | | * NEWS: Update.
* Bump user-visible copyright years to 2020Andy Wingo2020-03-072-4/+4
| | | | | * module/ice-9/command-line.scm (version-etc): * module/scripts/compile.scm (show-version): Bump to 2020.
* Actually run '00-repl-server.test'.Ludovic Courtès2020-03-071-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.
* Fix build on platforms where the stack grows upwards.John Paul Adrian Glaubitz2020-02-121-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>
* Handle GMP allocations through libgc and remove bignum finalizers.Ludovic Courtès2020-02-121-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.
* Remove duplicate procedure in slot-allocation.scm.Ludovic Courtès2020-02-121-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.
* texinfo: Properly render @acronym in plain text.Ludovic Courtès2020-02-122-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.
* texinfo: Add '*line-width*' fluid to control line wrapping.Ludovic Courtès2020-02-124-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.
* Fix check for rl_get_keymapDaniel Llorens2020-02-122-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.
* 00-repl-server.test: don't use fixed path for socketRob Browning2020-01-221-4/+17
| | | | | * test-suite/tests/00-repl-server.test (make-tempdir): Add. (call-with-repl-server): Store socket in a make-tempdir dir.
* Respect thread local fluid defaultsRob Browning2020-01-122-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.
* Fix peval bug that ignored excess argsAndy Wingo2020-01-122-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.
* web: Update comment regarding the 'tls-wrap' port wrapper.Ludovic Courtès2020-01-031-7/+10
| | | | * module/web/client.scm (tls-wrap): Update comment.
* Fix non-deterministic crash in 'finalization_thread_proc'.Ludovic Courtès2019-12-091-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.
* ports: 'scm_port_poll' honors "w" flags.Ludovic Courtès2019-11-181-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.
* build: Do not record LDFLAGS in .pc file.Ludovic Courtès2019-07-071-1/+1
| | | | | | | Fixes <https://bugs.gnu.org/36339>. Reported by Cyprien Nicolas <cyprien@nicolas.tf>. * configure.ac (GUILE_LIBS): Remove $LDFLAGS.
* Bump version for Guile 2.2.6.Ludovic Courtès2019-06-301-2/+2
| | | | | * GUILE-VERSION (GUILE_MICRO_VERSION): Increment. (LIBGUILE_INTERFACE_REVISION): Increment.
* Update NEWS.Ludovic Courtès2019-06-301-0/+24
| | | | * NEWS: Update.
* REPL server: Avoid deprecated '_IOFBF'.Ludovic Courtès2019-06-301-1/+1
| | | | | * module/system/repl/server.scm (drain-input-and-close): Use 'block instead of _IOFBF.
* 'strftime' and 'strptime' honor the locale encoding.Ludovic Courtès2019-06-302-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.
* doc: Document optional parameter of 'stat'.Ludovic Courtès2019-06-301-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'.
* tests: Add (web server) test.Ludovic Courtès2019-06-302-0/+119
| | | | | * test-suite/tests/web-server.test: New file. * test-suite/Makefile.am (SCM_TESTS): Add it.
* ports: Export 'current-load-port'.Ludovic Courtès2019-06-301-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'.
* Revert "web: Add support for HTTP header continuation lines."Mark H Weaver2019-06-242-34/+8
| | | | | | Fixes <https://bugs.gnu.org/36350>. This reverts commit 73cde5ed7218a090ecee888870908af5445796f0.
* doc: Fix argument list in match-lambda docsPaul Morris2019-06-241-2/+2
| | | | | | * doc/ref/match.texi: Fix argument list for match-lambda. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* doc: Fix minor typo in the HTTP headers documentation.Arun Isaac2019-06-241-1/+1
| | | | | | * doc/ref/web.texi (HTTP Headers): Fix minor typo. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Remove references to 'inet-ntoa' and 'inet-aton'.Ludovic Courtès2019-06-244-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'.
* Bump version for Guile 2.2.5.Ludovic Courtès2019-06-201-4/+4
| | | | | | | * GUILE-VERSION (GUILE_MICRO_VERSION): Increment. (LIBGUILE_INTERFACE_CURRENT): Increment. (LIBGUILE_INTERFACE_AGE): Increment. (LIBGUILE_INTERFACE_REVISION): Reset.
* Copy terminating zero in 'scm_cat_path'.Ludovic Courtès2019-06-201-2/+2
| | | | | * libguile/script.c (scm_cat_path): Pass N + 1, not N, to 'strncat'. Reported by GCC 9.1.0.
* srfi-14: Fix possible buffer overrun in '%char-set-dump'.Ludovic Courtès2019-06-201-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.
* NEWS: Add information to remaining news items.Mark H Weaver2019-06-181-12/+75
| | | | * NEWS: Update.
* NEWS: Fix typo.Mark H Weaver2019-06-181-8/+8
| | | | * NEWS: Fix typo.
* NEWS: More tweaks.Mark H Weaver2019-06-181-2/+11
| | | | * NEWS: Update.
* NEWS: Add more details.Mark H Weaver2019-06-181-7/+57
| | | | * NEWS: Update text.
* NEWS: Add more text.Mark H Weaver2019-06-181-5/+42
| | | | * NEWS: Update.
* NEWS: Add first draft of 2.2.5 changes.Mark H Weaver2019-06-181-1/+103
| | | | * NEWS: Add draft updates.
* THANKS: Christopher Allan Webber -> Christopher Lemmer Webber.Mark H Weaver2019-06-181-1/+1
| | | | * THANKS: Update name and re-sort.
* Update THANKS.Mark H Weaver2019-06-181-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.
* stexi->shtml: Add support for @i, @math, @tie and @dots.Christopher Baines2019-06-181-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.
* Avoid regexp ranges in HTTP inter-protocol exploitation check.Mark H Weaver2019-06-181-1/+1
| | | | | * module/system/repl/server.scm (permissive-http-request-line?): Avoid character ranges in regexp.
* web: Add support for HTTP header continuation lines.Mark H Weaver2019-06-182-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.
* Rename 'scm_c_make_char' to 'scm_i_make_char'.Mark H Weaver2019-06-188-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'.