summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-08-02Merge from stable-2.2Andy Wingo1-0/+4
2019-08-02Merge from stable-2.2Andy Wingo1-1/+1
2019-08-02Merge from stable-2.2Andy Wingo2-8/+34
2019-08-02Revert scm_c_make_char renameAndy Wingo7-33/+33
This was, I think, an unintentional ABI change. Reverts 579dd2da449be194a95d41a27317a453c1aa0568.
2019-08-02Merge from stable-2.2Andy Wingo1-45/+67
2019-08-02Merge from stable-2.2Andy Wingo1-11/+11
2019-08-02Merge from stable-2.2Andy Wingo1-7/+2
2019-08-02Merge from stable-2.2Andy Wingo2-9/+30
2019-08-02Merge from stable-2.2Andy Wingo1-9/+38
2019-08-02Merge from stable-2.2Andy Wingo1-1/+1
2019-08-02Merge from stable-2.2Andy Wingo1-2/+2
2019-08-02Merge from stable-2.2Andy Wingo1-1/+30
2019-08-02Merge from stable-2.2Andy Wingo1-14/+45
2019-08-02Merge from stable-2.2Andy Wingo4-8/+60
2019-08-02Merge from stable-2.2Andy Wingo1-6/+5
2019-08-02Merge from stable-2.2Andy Wingo1-16/+20
2019-08-02Merge from stable-2.2Andy Wingo1-2/+2
2019-08-02Merge from stable-2.2Andy Wingo1-0/+2
2019-08-02Merge from stable-2.2Andy Wingo8-71/+139
2019-08-02Merge from stable-2.2Andy Wingo2-13/+51
2019-08-02Merge from stable-2.2Andy Wingo2-5/+20
2019-07-29Update NEWS for 2.9.3Andy Wingo1-24/+10
* NEWS: Update.
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-20Add an inlined jit fast-path for allocate-words/immediateAndy Wingo3-7/+46
* libguile/intrinsics.c (allocate_words_with_freelist) (scm_bootstrap_intrinsics): * libguile/intrinsics.h (SCM_FOR_ALL_VM_INTRINSICS): New intrinsic. * libguile/jit.c (compile_allocate_words_immediate): Add fast-path. A marginal improvement.
2019-06-20Inline freelist vectors into scm_threadAndy Wingo3-35/+27
* libguile/gc-inline.h: * libguile/threads.h (SCM_INLINE_GC_GRANULE_WORDS) (SCM_INLINE_GC_GRANULE_BYTES, SCM_INLINE_GC_FREELIST_COUNT): Move definitions here, from gc-inline.h. (struct scm_thread): Inline freelist vectors. * libguile/threads.c (thread_mark): Update marker for pointerless freelists. (on_thread_exit): Clear individual freelist entries, instead of the vector as a whole. (guilify_self_2): No need to alloc freelist vectors.
2019-06-20Rearrange scm_thread for better localityAndy Wingo1-12/+12
* libguile/threads.h (struct scm_thread): Move async-related bits up, so that the VM can access them easier. Likewise for freelists (which we will inline soon).
2019-06-20Fix compilation on GCC 5.5Andy Wingo1-5/+8
* libguile/jit.c (OLD_FP_FOR_RETURN_TRAMPOLINE): Initialize static const var from CPP define instead of T0. (compile_return_values, emit_return_to_interpreter_trampoline): Adapt to upper-casing.
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-20Use call/return instructions for non-tail callsAndy Wingo1-24/+34
This change speeds up the indirect branches at return sites by taking advantage of the CPU's return address stack. * libguile/jit.c (emit_push_frame): Don't store the mra; we do that via a trampoline. (emit_handle_interrupts_trampoline): Take MRA from link register instead of T0. (compile_call, compile_call_label): Compute MRA via the new jmpi_with_link lightening instruction. (compile_return_values): Return to caller via ret instead of jmp. (compile_handle_interrupts): Jump to handle-interrupts trampoline via jmpi_with_link, to provide the MRA. (initialize_jit): Bless the trampolines so that they are valid operands to BX on ARM.
2019-06-20Merge remote-tracking branch 'lightening/master'Andy Wingo1-0/+9
2019-06-20push/pop of link register does not affect stack size on x86Andy Wingo1-0/+9
* lightening/x86-cpu.c (pop_link_register, push_link_register): Don't record stack size changes here.
2019-06-20Merge remote-tracking branch 'lightening/master'Andy Wingo8-0/+92
2019-06-20Add jmpi_with_link instructionAndy Wingo8-0/+92
The existing calli / callr interface is for ABI calls. Sometimes though you want to call some of your own code, just to get the current return address. ARM's branch-and-link instructions are ideal for this but they don't exist on x86; there we emulate them by adding corresponding pop_link_register / push_link_register instructions that are no-ops on ARM. * lightening.h (FOR_EACH_INSTRUCTION): Add jit_jmpi_with_link, pop_link_register, push_link_register. * lightening/arm-cpu.c: * lightening/x86-cpu.c: * lightening/aarch64-cpu.c (jmpi_with_link, push_link_register) (pop_link_register): Add implementations. * lightening/arm.h: * lightening/aarch64.h: * lightening/x86.h (JIT_LR): New definition. * tests/link-register.c: New test.
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.