| Commit message (Expand) | Author | Age | Files | Lines |
... | |
* | Deprecate critical sections...* NEWS: Deprecate critical sections.
* doc/ref/api-scheduling.texi (Critical Sections): Remove.
* libguile/async.c:
* libguile/async.h:
* libguile/deprecated.c:
* libguile/deprecated.h:
* libguile/threads.c:
* libguile/threads.h: Deprecate critical section API.
| Andy Wingo | 2016-11-01 | 1 | -46/+0 |
* | Add scm_yield to manual alongside yield...* doc/ref/api-scheduling.texi (Threads): Mention scm_yield.
| Andy Wingo | 2016-11-01 | 1 | -0/+1 |
* | api-scheduling.texi: Syntactic cleanups....* doc/ref/api-scheduling.texi: Remove vestigial comments.
| Andy Wingo | 2016-11-01 | 1 | -3/+0 |
* | Remove thread cleanup facility...* NEWS: Add entry.
* doc/ref/api-scheduling.texi (Threads): Remove thread-cleanup docs.
* libguile/threads.c (guilify_self_1, do_thread_exit):
(scm_set_thread_cleanup_x, scm_thread_cleanup): Remove these.
* libguile/threads.h (scm_i_thread): Remove cleanup_handler.
* module/ice-9/threads.scm:
* module/ice-9/deprecated.scm (thread-cleanup, set-thread-cleanup!):
Remove.
* test-suite/tests/threads.test: Adapt to test cancel-thread return
values and not test thread-cleanup procs.
| Andy Wingo | 2016-10-31 | 1 | -21/+0 |
* | cancel-thread can take arguments...* doc/ref/api-scheduling.texi (Threads):
* module/ice-9/threads.scm (cancel-thread): Additional args to
cancel-thread will be returned by the thread.
| Andy Wingo | 2016-10-31 | 1 | -2/+3 |
* | cancel-thread via asyncs, not pthread_cancel...* module/ice-9/threads.scm (cancel-tag): New variable.
(cancel-thread): New Scheme function.
(call-with-new-thread): Install a prompt around the thread.
* libguile/threads.h (scm_i_thread): Remove cancelled member.
* libguile/threads.c (scm_cancel_thread): Call out to Scheme. Always
available, and works on the current thread too.
(scm_set_thread_cleanup_x, scm_thread_cleanup): Adapt.
(scm_init_ice_9_threads): Capture cancel-thread var.
* doc/ref/api-scheduling.texi (Threads): Update.
* NEWS: Update.
| Andy Wingo | 2016-10-27 | 1 | -11/+8 |
* | Move thread bindings to (ice-9 threads)...* libguile/init.c (scm_i_init_guile): Don't call scm_init_thread_procs.
* libguile/threads.c (scm_init_ice_9_threads): Rename from
scm_init_thread_procs, make static.
(scm_init_threads): Register scm_init_thread_procs extension.
* libguile/threads.h (scm_init_thread_procs): Remove decl.
* module/ice-9/boot-9.scm: Load (ice-9 threads), so that related side
effects occur early.
* module/ice-9/deprecated.scm (define-deprecated): Fix to allow
deprecated bindings to appear in operator position. Export deprecated
bindings.
(define-deprecated/threads, define-deprecated/threads*): Trampoline
thread bindings to (ice-9 threads).
* module/ice-9/futures.scm: Use ice-9 threads.
* module/ice-9/threads.scm: Load scm_init_ice_9_threads extension.
Reorder definitions and imports so that the module circularity
with (ice-9 futures) continues to work.
* module/language/cps/intmap.scm:
* module/language/cps/intset.scm:
* module/language/tree-il/primitives.scm: Use (ice-9 threads).
* module/language/cps/reify-primitives.scm: Reify current-thread
in (ice-9 threads) module.
* module/srfi/srfi-18.scm: Use ice-9 threads with a module prefix, and
adapt all users. Use proper keywords in module definition form.
* test-suite/tests/filesys.test (test-suite):
* test-suite/tests/fluids.test (test-suite):
* test-suite/tests/srfi-18.test: Use ice-9 threads.
* NEWS: Add entry.
* doc/ref/api-scheduling.texi (Threads): Update.
* doc/ref/posix.texi (Processes): Move current-processor-count and
total-processor-count docs to Threads.
| Andy Wingo | 2016-10-23 | 2 | -27/+42 |
* | Small api-scheduling.texi reorder...* doc/ref/api-scheduling.texi: Put "Threads" section at beginning of
scheduling chapter.
| Andy Wingo | 2016-10-18 | 1 | -139/+140 |
* | Update "Asyncs" section of manual....* doc/ref/api-scheduling.texi (Asyncs): Update.
| Andy Wingo | 2016-10-18 | 1 | -37/+46 |
* | Deprecate user asyncs...* libguile/async.c:
* libguile/async.h:
* libguile/deprecated.c:
* libguile/deprecated.h (scm_async, scm_async_mark, scm_run_asyncs):
Deprecate these functions, which comprise the "users asyncs" facility.
* module/oop/goops.scm: Adapt to <async> deprecation.
* doc/ref/api-scheduling.texi:
* doc/ref/libguile-concepts.texi:
* doc/ref/libguile-foreign-objects.texi:
* doc/ref/posix.texi: Remove documentation on user asyncs, and replace
references to "system asyncs" to be just "asyncs".
| Andy Wingo | 2016-10-17 | 4 | -95/+53 |
* | Deprecate arbiters...* libguile/arbiters.c:
* libguile/arbiters.h:
* test-suite/tests/arbiters.test: Delete files.
* libguile/deprecated.c:
* libguile/deprecated.h: Move arbiters code here.
* doc/ref/api-scheduling.texi: Remove section on arbiters.
* libguile.h:
* libguile/Makefile.am:
* libguile/init.c:
* module/oop/goops.scm:
* test-suite/Makefile.am: Remove mention of arbiters.
* NEWS: Update.
| Andy Wingo | 2016-10-17 | 1 | -38/+0 |
* | Compiler support for atomics...* doc/ref/vm.texi (Inlined Atomic Instructions): New section.
* libguile/vm-engine.c (VM_VALIDATE_ATOMIC_BOX, make-atomic-box)
(atomic-box-ref, atomic-box-set!, atomic-box-swap!)
(atomic-box-compare-and-swap!): New instructions.
* libguile/vm.c: Include atomic and atomics-internal.h.
(vm_error_not_a_atomic_box): New function.
* module/ice-9/atomic.scm: Register primitives with the compiler.
* module/language/cps/compile-bytecode.scm (compile-function): Add
support for atomic ops.
* module/language/cps/effects-analysis.scm: Add comment about why no
effects analysis needed.
* module/language/cps/reify-primitives.scm (primitive-module): Add case
for (ice-9 atomic).
* module/language/tree-il/primitives.scm (*effect-free-primitives*):
(*effect+exception-free-primitives*): Add atomic-box?.
* module/system/vm/assembler.scm: Add new instructions.
* test-suite/tests/atomic.test: Test with compilation and
interpretation.
| Andy Wingo | 2016-09-06 | 1 | -0/+32 |
* | Add atomic boxes...* doc/ref/api-scheduling.texi (Atomics): New manual section.
* libguile.h: Include atomic.h.
* libguile/Makefile.am (libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES):
(DOT_X_FILES, DOT_DOC_FILES, modinclude_HEADERS): Add atomic.
* libguile/atomic.c:
* libguile/atomic.h: New files.
* libguile/atomics-internal.h (scm_atomic_set_scm, scm_atomic_ref_scm)
(scm_atomic_swap_scm, scm_atomic_compare_and_swap_scm): New
facilities.
* libguile/goops.c (class_atomic_box, scm_sys_goops_early_init): Add
support for <atomic-box>. Remove duplicate <keyword> fetch.
* libguile/init.c (scm_i_init_guile): Call scm_register_atomic_box.
* libguile/print.c (iprin1): Add atomic box case.
* libguile/tags.h (scm_tc7_atomic_box): New tag.
* libguile/validate.h (SCM_VALIDATE_ATOMIC_BOX): New macro.
* module/Makefile.am (SOURCES): Add ice-9/atomic.scm.
* module/ice-9/atomic.scm: New file.
* module/oop/goops.scm (<atomic-box>): New var.
| Andy Wingo | 2016-09-06 | 1 | -0/+67 |
* | Clarify bootstrap docs...* doc/ref/vm.texi: Add a sentence stating which parts of the bytecode
toolchain are in C, and which are in Scheme. This avoids confusion if
users assume Guile==Scheme and so assume the whole toolchain is in
Scheme.
| Wilfred Hughes | 2016-09-05 | 1 | -4/+6 |
* | Fix typo in Nil documentation...* doc/ref/api-languages.texi (Nil): Fix typo. Thanks to Wilfred Hughes
for the report. Fixes #24342.
| Andy Wingo | 2016-09-02 | 1 | -1/+1 |
* | Add unboxed logxor on u64 values...* libguile/vm-engine.c (ulogxor): New instruction.
* module/language/cps/effects-analysis.scm (ulogxor):
* module/language/cps/slot-allocation.scm (compute-var-representations):
* module/language/cps/types.scm (ulogxor):
* module/system/vm/assembler.scm (emit-ulogxor): Add support for new
instruction.
* doc/ref/vm.texi (Unboxed Integer Arithmetic): Document ulogxor.
| Andy Wingo | 2016-09-01 | 1 | -2/+3 |
* | Only ptob->close() after read/write finish...* libguile/Makefile.am (noinst_HEADERS): Add atomics-internal.h.
* libguile/atomics-internal.h: New file.
* libguile/ports-internal.h (refcount): New member.
* libguile/ports.c (release_port, scm_dynwind_acquire_port): New
facility for acquiring a port within a dynwind.
(scm_port_poll, scm_i_read_bytes, scm_setvbuf, scm_end_input)
(scm_i_write_bytes, scm_char_ready_p, scm_seek)
(scm_truncate_file, trampoline_to_c_read)
(trampoline_to_c_write): Acquire port.
(scm_c_make_port_with_encoding): Init refcount to 1.
(scm_close_port): Release port.
* doc/ref/api-io.texi (I/O Extensions): Add documentation
| Andy Wingo | 2016-08-31 | 1 | -0/+7 |
* | Fix example in make-custom-binary-input-port documentation...* doc/ref/api-io.texi (Custom Ports): Add additional argument to example's
invocation of make-custom-binary-input-port. Previously had mismatched arity
by missing "closed" argument.
| Christopher Allan Webber | 2016-08-31 | 1 | -3/+3 |
* | Add file descriptor finalizers...* doc/ref/posix.texi (Ports and File Descriptors): Document new
interfaces.
* libguile/filesys.c (scm_close, scm_close_fdes)
* libguile/fports.c (fport_close):
* libguile/ioext.c (scm_primitive_move_to_fdes): Call
scm_run_fdes_finalizers.
* module/ice-9/fdes-finalizers.scm:
* test-suite/tests/fdes-finalizers.test:
* libguile/fdes-finalizers.h:
* libguile/fdes-finalizers.c: New files.
* module/Makefile.am:
* test-suite/Makefile.am:
* libguile/Makefile.am:
* libguile.h:
* libguile/init.c: Wire up new files.
| Andy Wingo | 2016-08-30 | 1 | -0/+45 |
* | Remove duplicate documentation...* doc/ref/posix.texi (Ports and File Descriptors): Remove duplicate
documentation for port-mode and setvbuf.
| Andy Wingo | 2016-08-28 | 1 | -27/+0 |
* | Fix typo about open-pipe...* doc/ref/posix.texi (Pipes): Fix typo.
| sirgazil | 2016-08-08 | 1 | -1/+1 |
* | Fix typo about variable definitions...* doc/ref/api-binding.texi (Top Level Variable Definitions): Fix typo.
| sirgazil | 2016-08-08 | 1 | -2/+2 |
* | Documentation fixes...* doc/ref/api-compound.texi:
* doc/ref/api-control.texi:
* doc/ref/api-data.texi: Fix typos and clarify.
| Ethan Stefan Day | 2016-08-07 | 3 | -15/+15 |
* | Fix grammar in api-compound.texi...* doc/ref/api-compound.texi: Fix grammar.
| Calvin Heim | 2016-08-07 | 1 | -3/+3 |
* | Fix typo about pattern variables...* doc/ref/sxml-match.texi (Matching XML Elements): Fix typo.
| sirgazil | 2016-08-07 | 1 | -1/+1 |
* | Manual recommends against SRFI-10...* doc/ref/srfi-modules.texi (SRFI-10): Deprecate, or at least recommend
against.
| Andy Wingo | 2016-08-07 | 1 | -65/+38 |
* | Implement R6RS custom binary input/output ports...* NEWS: Add new feature.
* doc/ref/r6rs.texi (rnrs io ports):
* doc/ref/api-io.texi (Custom Ports): Document new procedure.
* libguile/r6rs-ports.h:
* libguile/r6rs-ports.c (make_custom_binary_input_output_port)
(scm_make_custom_binary_input_output_port)
(custom_binary_input_output_port_random_access_p)
(initialize_custom_binary_input_output_ports)
(scm_init_r6rs_ports): Implement custom binary input/output ports.
* module/rnrs/io/ports.scm (rnrs):
* module/ice-9/binary-ports.scm (ice-9): Export
make-custom-binary-input/output-port.
| Andy Wingo | 2016-08-04 | 2 | -0/+13 |
* | doc: Add unquote and unquote-splicing examples....Suggested by Vincent Legoll <vincent.legoll@gmail.com>.
* doc/ref/api-evaluation.texi (Expression Syntax): Add an unquote and an
unquote-splicing example.
| Ludovic Courtès | 2016-07-25 | 1 | -1/+3 |
* | Allow mkstemp! to have optional "mode" argument...* m4/mkstemp.m4: Remove.
* lib/mkstemp.c: Remove.
* lib/mkostemp.c: New file.
* m4/mkostemp.m4: New file.
* lib/Makefile.am:
* m4/gnulib-cache.m4:
* m4/gnulib-comp.m4: Remove mkstemp module, replace with mkostemp.
* libguile/fports.h:
* libguile/fports.c (scm_i_mode_to_open_flags): Factor out helper to
parse mode string to open flags.
(scm_open_file_with_encoding): Use the new helper.
* libguile/filesys.c:
(scm_i_mkstemp): Adapt to take optional second argument, being a mode
string. Use mkostemp.
(scm_mkstemp): Backwards compatible shim that calls scm_i_mkstemp.
* doc/ref/posix.texi:
* NEWS: Update.
* module/system/base/compile.scm (call-with-output-file/atomic): Pass
"wb" as mode, to cause O_BINARY to be added on MinGW.
| Andy Wingo | 2016-07-25 | 1 | -1/+5 |
* | doc: Do not gender the programmer....* doc/ref/api-foreign.texi: Replace "his" with "their".
* doc/ref/sxml.texi: Likewise.
| Ricardo Wurmus | 2016-07-25 | 2 | -2/+2 |
* | Add popen feature...* doc/ref/api-options.texi (Common Feature Symbols): Document the popen
feature.
* doc/ref/posix.texi (Pipes): Depend on the popen feature, not fork.
* libguile/posix.c (scm_init_posix): Add popen feature if we can.
| Andy Wingo | 2016-07-25 | 2 | -3/+6 |
* | Add meta/build-env...* meta/build-env.in: New file which sets up an environment that does not
inherit GUILE_LOAD_PATH / GUILE_LOAD_COMPILED_PATH (unless
cross-compiling).
* doc/ref/Makefile.am (autoconf-macros.texi):
* libguile/Makefile.am (snarf2checkedtexi):
* module/Makefile.am (ice-9/psyntax-pp.go):
* test-suite/standalone/Makefile.am (GUILE_INSTALL_LOCALE):
* am/bootstrap.am (.scm.go):
* am/guilec (.scm.go): Use build-env.
* configure.ac: Create build-env.
| Andy Wingo | 2016-07-10 | 1 | -1/+1 |
* | Update Gnulib to 68b6ade....Also add --conditional-dependencies to the flags. See:
https://lists.gnu.org/archive/html/guile-devel/2016-07/msg00012.html
| Andy Wingo | 2016-07-07 | 2 | -8/+105 |
* | Add documentation pointer from getopt-long to SRFI-37....* doc/ref/mod-getopt-long.texi (getopt-long): Point to SRFI-37.
| Andy Wingo | 2016-06-25 | 1 | -0/+6 |
* | Favor "escape continuation" over "one-shot continuation" in manual...* doc/ref/api-control.texi (Prompt Primitives): Remove mention of
one-shot continuations, as it's possible to invoke them multiple times
if the continuation is re-entered through other means.
| Andy Wingo | 2016-06-24 | 1 | -4/+2 |
* | Fix typo about `keywords' read option...* doc/ref/api-data.texi (Keyword Read Syntax): Fix typo. Thanks to
Glenn Michaels for the report and fix.
| Andy Wingo | 2016-06-24 | 1 | -1/+1 |
* | Add with-input-from-port, etc documentation...* doc/ref/api-io.texi (Default Ports): Add documentation for
with-input-from-port, with-output-to-port, and with-error-to-port.
Fixes #20919.
| Andy Wingo | 2016-06-24 | 1 | -0/+8 |
* | Clarify use of the term "scanning" in the manual...* doc/ref/api-memory.texi (Garbage Collection Functions):
* doc/ref/libguile-concepts.texi (Garbage Collection): Attempt to be
clear that scanning is a thing that happens in the mark phase. Fixes
#20907 I think.
| Andy Wingo | 2016-06-24 | 2 | -34/+56 |
* | Add weak hash table documentation...* doc/ref/api-memory.texi (Weak hash tables): Update documentation.
Fixes #20551.
| Andy Wingo | 2016-06-23 | 1 | -2/+10 |
* | Fix R6RS fold-left documentation...* doc/ref/r6rs.texi (rnrs lists): Fix documentation of fold-left.
| Andy Wingo | 2016-06-23 | 1 | -4/+8 |
* | Remove unused doc/maint | Daniel Llorens | 2016-06-23 | 4 | -11823/+0 |
* | `define!' instruction returns the variable...* doc/ref/vm.texi (Top-Level Environment Instructions): Update
documentation.
* libguile/_scm.h (SCM_OBJCODE_MINOR_VERSION): Bump, sadly.
* module/system/vm/assembler.scm (*bytecode-minor-version*): Bump.
* libguile/vm-engine.c (define!): Change to store variable in dst slot.
* module/language/tree-il/compile-cps.scm (convert):
* module/language/cps/compile-bytecode.scm (compile-function): Adapt to
define! change.
* module/language/cps/effects-analysis.scm (current-module): Fix define!
effects. Incidentally here was the bug: in Guile 2.2 you can't have
effects on different object kinds in one instruction, without
reverting to &unknown-memory-kinds.
* test-suite/tests/compiler.test ("regression tests"): Add a test.
| Andy Wingo | 2016-06-21 | 1 | -2/+2 |
* | Document pretty-print #:max-expr-width...* doc/ref/misc-modules.texi (Pretty Printing): Document #:max-expr-width
keyword argument. Fixes #17657.
| Andy Wingo | 2016-06-21 | 1 | -0/+3 |
* | Document sigaction + SA_RESTART...* doc/ref/posix.texi (Signals): Document interaction between Guile's
signal handling and SA_RESTART. Fixes #14640.
| Andy Wingo | 2016-06-21 | 1 | -0/+16 |
* | Document char-ready? limitations....* doc/ref/api-io.texi (Venerable Port Interfaces): Document limitations
of char-ready?. See http://debbugs.gnu.org/10627.
| Andy Wingo | 2016-06-20 | 1 | -0/+16 |
* | Fix uri-decode behavior for "+"...* module/web/uri.scm (uri-decode): Add #:decode-plus-to-space? keyword
argument.
(split-and-decode-uri-path): Don't decode plus to space.
* doc/ref/web.texi (URIs): Update documentation.
* test-suite/tests/web-uri.test ("decode"): Add tests.
* NEWS: Add entry.
Based on a patch by Brent <brent@tomski.co.za>.
| Andy Wingo | 2016-06-20 | 1 | -1/+6 |
* | Add reference to the lack of "non-greedy" variants...While describing special characters, remind the reader that
"non-greedy" variants are not supported. They might not be familiar
with POSIX extended regular expression and expect it to work.
* doc/ref/api-regex.texi: Add "non-greedy" observation
| Diogo F. S. Ramos | 2016-06-19 | 1 | -4/+5 |
* | Remove link to Emacs' regexp syntax...Linking to Emacs' regexps as an example of regexp syntax gives the
wrong impression that Guile supports it, which is not true.
* doc/ref/api-regex.texi: Remove link to Emacs' regexp syntax
| Diogo F. S. Ramos | 2016-06-19 | 1 | -4/+1 |
* | Support `connect' on nonblocking sockets...* libguile/socket.c (scm_connect):
* doc/ref/posix.texi (Network Sockets and Communication): Support
connect on nonblocking ports.
| Andy Wingo | 2016-06-09 | 1 | -4/+6 |
* | `accept' on nonblocking socket can return #f...* doc/ref/posix.texi (Network Sockets and Communication):
* libguile/socket.c (scm_accept): Return #f if the socket is nonblocking
and no connection is ready.
| Andy Wingo | 2016-06-09 | 1 | -7/+18 |