| Commit message (Expand) | Author | Age | Files | Lines |
... | |
* | Support arrays in truncated-print...* module/ice-9/pretty-print.scm (print): Handle general arrays.
* test-suite/tests/print.test: Test truncated-print with general arrays.
| Daniel Llorens | 2017-02-07 | 1 | -2/+19 |
* | Avoid stacks in dynamically-bound values...* libguile/dynstack.h:
* libguile/dynstack.c (scm_dynstack_find_old_fluid_value): New
function.
* libguile/fluids.c (saved_dynamic_state_ref): New helper.
(scm_fluid_ref): Fix docstring.
(scm_fluid_ref_star): New function allowing access to previous values
for a fluid.
(scm_dynamic_state_ref): New internal function.
* libguile/fluids.h: Add scm_fluid_ref_star and scm_dynamic_state_ref.
* libguile/stacks.c (scm_stack_id): Adapt to %stacks not being a chain.
* libguile/throw.c (catch, throw_without_pre_unwind): Adapt to
%exception-handlers not being a chain.
* module/ice-9/boot-9.scm (catch, dispatch-exception): Instead of having
%exception-handlers be a chain, use fluid-ref* to access the chain
that is in place at the time the exception is thrown. Prevents
unintended undelimited capture of the current exception handler stack
by a delimited "catch".
(%start-stack): Similarly, don't be a chain.
* module/system/repl/debug.scm (frame->stack-vector):
* module/system/repl/error-handling.scm (call-with-error-handling):
* module/ice-9/save-stack.scm (save-stack): Adapt to %stacks not being a
chain.
* test-suite/tests/exceptions.test ("delimited exception handlers"): Add
tests.
* doc/ref/api-control.texi (Fluids and Dynamic States): Add docs.
| Andy Wingo | 2017-02-07 | 4 | -51/+61 |
* | Add unboxed floating point comparison instructions....* libguile/vm-engine.c (BR_F64_ARITHMETIC): New preprocessor macro.
(br_if_f64_ee, br_if_f64_lt, br_if_f64_le, br_if_f64_gt, br_if_f64_ge):
New VM instructions.
* doc/ref/vm.texi ("Unboxed Floating-Point Arithmetic"): Document them.
* module/language/cps/compile-bytecode.scm (compile-function): Emit f64
comparison instructions.
* module/language/cps/effects-analysis.scm: Define effects for f64
primcalls.
* module/language/cps/primitives.scm (*branching-primcall-arities*): Add
arities for f64 primcalls.
* module/language/cps/specialize-numbers.scm (specialize-f64-comparison):
New procedure.
(specialize-operations): Specialize f64 comparisons.
* module/system/vm/assembler.scm (emit-br-if-f64-=, emit-br-if-f64-<)
(emit-br-if-f64-<=, emit-br-if-f64->, emit-br-if-f64->=): Export.
* module/system/vm/disassembler.scm (code-annotation): Add annotations
for f64 comparison instructions.
| David Thompson | 2017-01-12 | 7 | -16/+67 |
* | Enable interrupts only when running thread body...* libguile/threads.c (really_launch): Start threads with asyncs
blocked.
* module/ice-9/threads.scm (call-with-new-thread): Unblock asyncs once
we have the bookkeeping sorted out. Don't use
with-continuation-barrier; it's not needed. Print nice thread
backtraces.
| Andy Wingo | 2017-01-08 | 1 | -12/+26 |
* | Improve handle-interrupts placement...* module/language/cps/handle-interrupts.scm (compute-safepoints): New
function.
(add-handle-interrupts): Add safepoints at backedge targets, not
backedges. Gives better register allocation, loop rotation, and code
size.
| Andy Wingo | 2016-12-18 | 1 | -21/+32 |
* | Fix bug in compute-significant-bits for phi predecessors...* module/language/cps/specialize-numbers.scm (compute-significant-bits):
Always revisit predecessors after first visit. Avoids situation where
predecessor of an unvisited phi var could default to 0 significant
bits and never be revisited. Fixes (format #f "~2f" 9.9).
| Andy Wingo | 2016-12-14 | 1 | -11/+15 |
* | Add suspendable-continuation?...* doc/ref/api-control.texi (Prompt Primitives): Document
suspendable-continuation?.
* libguile/control.c (scm_suspendable_continuation_p): New procedure.
(scm_init_ice_9_control): New extension procedure, defines
suspendable-continuation?.
(scm_init_control): Register scm_init_ice_9_control.
* libguile/eval.c (eval):
* libguile/throw.c (catch):
* libguile/continuations.c (scm_i_make_continuation): Restore resumable
prompt cookie after continuation invocation.
* libguile/vm.c (scm_call_n): Arrange to set resumable_prompt_cookie
during invocation of VM.
* libguile/vm.h (struct scm_vm): Add resumable_prompt_cookie member.
* module/ice-9/control.scm: Export suspendable-continuation?.
* test-suite/tests/control.test ("suspendable-continuation?"): New
test.
| Andy Wingo | 2016-12-12 | 1 | -1/+5 |
* | with-dynamic-state compiler and VM support...* libguile/dynstack.h (SCM_DYNSTACK_TYPE_DYNAMIC_STATE):
* libguile/dynstack.c (DYNAMIC_STATE_WORDS, DYNAMIC_STATE_STATE_BOX):
(scm_dynstack_push_dynamic_state):
(scm_dynstack_unwind_dynamic_state): New definitions.
(scm_dynstack_unwind_1, scm_dynstack_wind_1): Add with-dynamic-state
cases.
* libguile/memoize.c (push_dynamic_state, pop_dynamic_state)
(do_push_dynamic_state, do_pop_dynamic_state): New definitions.
(memoize, scm_init_memoize): Handle push-dynamic-state and
pop-dynamic-state.
* libguile/vm-engine.c (push-dynamic-state, pop-dynamic-state): New
opcodes.
* module/ice-9/boot-9.scm (with-dynamic-state): New definition in Scheme
so that the push-dynamic-state and pop-dynamic-state always run in the
VM.
* module/language/cps/compile-bytecode.scm (compile-function):
* module/language/cps/effects-analysis.scm:
* module/language/cps/types.scm:
* module/language/tree-il/effects.scm (make-effects-analyzer):
* module/language/tree-il/peval.scm (peval):
* module/language/tree-il/primitives.scm (*interesting-primitive-names*):
* module/system/vm/assembler.scm: Add support for with-dynamic-state to
the compiler.
* test-suite/tests/fluids.test ("dynamic states"): Add basic tests.
* doc/ref/vm.texi (Dynamic Environment Instructions): Update.
| Andy Wingo | 2016-12-05 | 8 | -3/+43 |
* | Reimplement dynamic states...There are two goals: one, to use less memory per dynamic state in order
to allow millions of dynamic states to be allocated in light-weight
threading scenarios. The second goal is to prevent dynamic states from
being actively mutated in two threads at once. This second goal does
mean that dynamic states object that escape into scheme are now copies
that won't receive further updates; an incompatible change, but one
which we hope doesn't affect anyone.
* libguile/cache-internal.h: New file.
* libguile/fluids.c (is_dynamic_state, get_dynamic_state)
(save_dynamic_state, restore_dynamic_state, add_entry)
(copy_value_table): New functions.
(scm_i_fluid_print, scm_i_dynamic_state_print): Move up.
(new_fluid): No need for a number.
(scm_fluid_p: scm_is_fluid): Inline IS_FLUID uses.
(fluid_set_x, fluid_ref): Adapt to dynamic state changes.
(scm_fluid_set_x, scm_fluid_unset_x): Call fluid_set_x.
(scm_swap_fluid): Rewrite in terms of fluid_ref and fluid_set.
(swap_fluid): Use internal fluid_set_x.
(scm_i_make_initial_dynamic_state): Adapt to dynamic state
representation change.
(scm_dynamic_state_p, scm_is_dynamic_state): Use new accessors.
(scm_current_dynamic_state): Use make_dynamic_state.
(scm_dynwind_current_dynamic_state): Use new accessor.
* libguile/fluids.h: Remove internal definitions. Add new struct
definition.
* libguile/threads.h (scm_i_thread): Use scm_t_dynamic_state for dynamic
state.
* libguile/threads.c (guilify_self_1, guilify_self_2):
(scm_i_init_thread_for_guile, scm_init_guile):
(scm_call_with_new_thread):
(scm_init_threads, scm_init_threads_default_dynamic_state): Adapt to
scm_i_thread change.
(scm_i_with_guile, with_guile): Remove "and parent" suffix.
(scm_i_reset_fluid): Remove unneeded function.
* doc/ref/api-scheduling.texi (Fluids and Dynamic States): Remove
scm_make_dynamic_state docs. Update current-dynamic-state docs.
* libguile/vm-engine.c (vm_engine): Update fluid-ref and fluid-set!
inlined fast paths for dynamic state changes.
* libguile/vm.c (vm_error_unbound_fluid): Remove now-unused function.
* NEWS: Update.
* module/ice-9/deprecated.scm (make-dynamic-state): New definition.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_make_dynamic_state): Move here.
* libguile/__scm.h (scm_t_dynamic_state): New typedef.
* libguile/dynstack.h:
* libguile/dynstack.c (scm_dynstack_push_fluid):
(scm_dynstack_unwind_fluid): Take raw dynstate in these internal
functions.
* libguile/throw.c (catch): Adapt to dynstack changes.
| Andy Wingo | 2016-12-05 | 1 | -0/+13 |
* | Compile fluid-set! to VM opcode...* libguile/vm-engine.c (fluid-set!): Fix name of opcode to correspond
with name of Tree-IL primitive. Fixes compilation of fluid-set! to
actually use the fluid-set! opcode.
* doc/ref/vm.texi (Dynamic Environment Instructions): Update.
* module/language/cps/compile-bytecode.scm (compile-function): Add
fluid-set! case.
* module/system/vm/assembler.scm: Update export name for
emit-fluid-set!.
| Andy Wingo | 2016-11-27 | 2 | -1/+3 |
* | Remove special support for fluids in GDB interface...* module/system/base/types.scm (inferior-fluid?, inferior-fluid-number)
(<inferior-fluid>): Remove. Fluids won't have numbers in the future.
(cell->object): Adapt.
* test-suite/tests/types.test ("opaque objects"): Update.
| Andy Wingo | 2016-11-26 | 1 | -20/+2 |
* | Fix compilation of rank 0 typed array literals...* module/system/vm/assembler.scm (simple-uniform-vector?): array-length
fails for rank 0 arrays; fix the shape condition.
* test-suite/tests/arrays.test: Test reading of #0f64(x) in compilation
context.
| Daniel Llorens | 2016-11-23 | 1 | -1/+3 |
* | Deprecate dynamic roots...* libguile/root.h:
* libguile/root.c: Remove these files.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_internal_cwdr, scm_call_with_dynamic_root)
(scm_dynamic_root, scm_apply_with_dynamic_root): Deprecate.
Remove all root.h usage, which was vestigial.
* module/ice-9/serialize.scm: Use (current-thread) instead
of (dynamic-root).
| Andy Wingo | 2016-11-21 | 1 | -5/+5 |
* | Add handle-interrupts inst and compiler pass...* libguile/vm-engine.c (vm_engine): Remove initial VM_HANDLE_INTERRUPTS
call; surely our caller already handled interrupts. Add
handle-interrupts opcode.
* am/bootstrap.am (SOURCES):
* module/Makefile.am (SOURCES): Add handle-interrupts.scm.
* module/system/vm/assembler.scm (system):
* module/language/cps/compile-bytecode.scm (compile-function):
(lower-cps): Add handle-interrupts support.
* module/language/cps/handle-interrupts.scm: New file.
| Andy Wingo | 2016-11-16 | 4 | -1/+65 |
* | join-thread in Scheme...* module/ice-9/threads.scm (join-thread): Implement in Scheme.
(call-with-new-thread): Arrange to record values in a weak table and
signal the join cond.
(with-mutex): Move up definition; call-with-new-thread needs it. (How
was this working before?)
* libguile/threads.c (guilify_self_1, guilify_self_2, do_thread_exit):
Remove join queue management.
* libguile/threads.c (scm_join_thread, scm_join_thread_timed): Call out
to Scheme.
(scm_init_ice_9_threads): Capture join-thread var.
| Andy Wingo | 2016-11-14 | 1 | -14/+56 |
* | web: Add https support through gnutls....Since importing gnutls directly would result in a dependency cycle,
we load gnutls lazily.
This uses code originally written for Guix by Ludovic Courtès.
* module/web/client.scm: (%http-receive-buffer-size)
(gnutls-module, ensure-gnutls, gnutls-ref, tls-wrap): New variables.
(open-socket-for-uri): Wrap in tls when uri scheme is https.
* doc/ref/web.texi (open-socket-for-uri): Document gnutls usage.
| Christopher Allan Webber | 2016-11-07 | 1 | -22/+144 |
* | SRFI-18 mutexes are not recursive...* module/srfi/srfi-18.scm (make-mutex): Not recursive.
| Andy Wingo | 2016-11-05 | 1 | -8/+1 |
* | Move more functionality to SRFI-18 mutex-unlock!...* module/srfi/srfi-18.scm (mutex-unlock!): Implement the
ignore-unlock-errors and wait-condition-variable behavior of
mutex-unlock! directly, without relying on Guile.
| Andy Wingo | 2016-11-05 | 1 | -15/+17 |
* | SRFI-18 manages own mutex "abandoned" state...* module/srfi/srfi-18.scm (<mutex>, with-thread-mutex-cleanup)
(make-mutex, mutex-state, abandon-mutex!, mutex-lock!): Manage
"abandoned" bit on Scheme side with no need for thread cleanup
handler.
| Andy Wingo | 2016-11-05 | 1 | -21/+20 |
* | SRFI-18 threads disjoint from guile threads...* doc/ref/srfi-modules.texi (SRFI-18 Threads): Update.
* module/srfi/srfi-18.scm (<mutex>): Add owner field.
(<thread>): New data type.
(make-thread): Adapt for boxed threads.
(thread-start!, thread-terminate!): Likewise.
(mutex-state): Adapt for boxed threads.
(mutex-lock!, mutex-unlock!): Update owner field.
| Andy Wingo | 2016-11-04 | 1 | -67/+75 |
* | srfi-18 condition variables disjoint...* module/srfi/srfi-18.scm (<condition-variable>): New data type.
(make-thread): Use srfi-18 interfaces.
(mutex-unlock!): Adapt to optional cond argument being disjoint from
Guile condition variables.
(make-condition-variable, condition-variable-signal!)
(condition-variable-broadcast!): Adapt.
| Andy Wingo | 2016-11-04 | 1 | -32/+27 |
* | Remove export srfi-18 never had...* module/srfi/srfi-18.scm (condition-variable-wait!): Remove undefined
export.
| Andy Wingo | 2016-11-04 | 1 | -1/+0 |
* | SRFI-18 mutexes disjoint from Guile mutexes...* module/srfi/srfi-18.scm (<mutex>): Define as a wrapper type around
Guile mutexes.
(thread-mutexes): New variable.
(with-thread-mutex-cleanup): New facility to abandon mutexes on
SRFI-18 thread exit. Not yet used.
(make-thread): Use SRFI-18 interfaces.
(make-mutex): Reimplement for our boxed mutexes.
(mutex-state): Adapt.
(mutex-lock!): Adapt.
(mutex-unlock!): Adapt.
* test-suite/tests/srfi-18.test: Don't assume that SRFI-18 mutexes are
the same as Guile mutexes.
| Andy Wingo | 2016-11-04 | 1 | -41/+62 |
* | try-mutex in terms of mutex-lock...* libguile/threads.c (scm_try_mutex): Just call scm_lock_mutex_timed
with a zero timeout.
* module/ice-9/threads.scm (try-mutex): Likewise.
| Andy Wingo | 2016-11-02 | 1 | -0/+5 |
* | 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 | 2 | -4/+0 |
* | REPL server avoids thread cleanup handlers...* module/system/repl/server.scm (serve-client): Avoid thread cleanup
handlers.
| Andy Wingo | 2016-10-31 | 1 | -11/+12 |
* | srfi-18: thread-terminate! without cleanup handlers...* module/srfi/srfi-18.scm (%cancel-sentinel, thread-terminate!): Just
use cancel-thread to cause the thread to return a sentinel value.
(%timeout-sentinel): Rename from %sentinel.
(thread-join!): Adapt and transform %cancel-sentinel to a
&terminated-thread-exception.
| Andy Wingo | 2016-10-31 | 1 | -23/+13 |
* | 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 | -5/+6 |
* | Trim srfi-18 thread startup machinery...* module/srfi/srfi-18.scm (make-thread): Use just one cond/mutex pair
for signalling in both directions: waiting for launch and waiting for
start.
| Andy Wingo | 2016-10-31 | 1 | -10/+6 |
* | Refactor thread-join! to use optional args....* module/srfi/srfi-18.scm (thread-join!): Use optional args. Also don't
treat false return values from threads as meaning anything.
| Andy Wingo | 2016-10-31 | 1 | -7/+14 |
* | Rationalize exception handling in srfi-18...* module/srfi/srfi-18.scm (make-thread): Inline some helpers, and use
just one catch block.
(thread->exception): Move up definition.
(exception-handler-for-foreign-threads): Use this as the default
handler, not the one that squirrels away exceptions in
thread->exception.
(thread-terminate!): Don't instate an exception handler for the thread
cleanup proc.
| Andy Wingo | 2016-10-31 | 1 | -44/+38 |
* | srfi-18: Avoid call/cc....* module/srfi/srfi-18.scm (with-exception-handlers-here): New function.
(wrap): Remove.
(thread-join!, mutex-lock!): Use with-exception-handlers-here instead
of the call/cc+wrap mess.
| Andy Wingo | 2016-10-31 | 1 | -29/+35 |
* | srfi-18: Inline uses of srfi-18-exception-preserver....* module/srfi/srfi-18.scm (srfi-18-exception-preserver): Inline into
call sites.
| Andy Wingo | 2016-10-30 | 1 | -16/+13 |
* | srfi-18: Use srfi-35 conditions....* module/srfi/srfi-18.scm: Use srfi-35 conditions instead of our
home-grown equivalent system.
(thread-exception-handlers): Remove unused table.
(srfi-18-exception-handler): Always capture key consed to args; no
special case for bare key.
* test-suite/tests/srfi-18.test (provided?): Adapt to reason always
being key+args.
| Andy Wingo | 2016-10-30 | 1 | -26/+25 |
* | srfi-18: Use parameters....* module/srfi/srfi-18.scm: Use srfi-34 internally with srfi-34: prefix.
(current-exception-handler): Be a parameter.
(with-exception-handler): Adapt to current-exception-handler change.
(thread-join!, mutex-lock!): Adapt to use srfi-34: prefix.
| Andy Wingo | 2016-10-30 | 1 | -25/+15 |
* | srfi-18: Use lambda* optional arguments....* module/srfi/srfi-18.scm (make-mutex, make-condition-variable): Use
optional arguments.
| Andy Wingo | 2016-10-30 | 1 | -12/+10 |
* | srfi-18: Simplify thread-sleep!, thread-terminate!....* module/srfi/srfi-18.scm (thread-sleep!): Use `when'.
(thread-terminate!): Simplify.
| Andy Wingo | 2016-10-30 | 1 | -19/+15 |
* | srfi-18: Use `match' in thread-start!....* module/srfi/srfi-18.scm (thread-start!): Use `match'.
| Andy Wingo | 2016-10-30 | 1 | -9/+10 |
* | srfi-18: Improve style....* module/srfi/srfi-18.scm (raise): Rely on SRFI-34 to #:replace raise.
(make-thread): Use lambda* and when.
| Andy Wingo | 2016-10-30 | 1 | -11/+7 |
* | Fix srfi-34 indentation...* module/srfi/srfi-34.scm (with-exception-handler): Fix indentation.
| Andy Wingo | 2016-10-30 | 1 | -3/+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 | -5/+25 |
* | Move call-with-new-thread to Scheme...* libguile/threads.c (scm_call_with_new_thread): Trampoline to Scheme.
(launch_data, really_launch, scm_sys_call_with_new_thread): Simplify.
(scm_init_ice_9_threads): Capture call-with-new-thread variable.
* module/ice-9/threads.scm (call-with-new-thread): Add implementation in
Scheme. Should allow for easier cancel-thread via prompt abort.
| Andy Wingo | 2016-10-26 | 1 | -0/+33 |
* | Fix tree-il code generation for ECMAscript `new' expression....The compiler was producing `((toplevel foo))' instead of `(toplevel foo)'.
Changed to use `call' form with target type and spliced constructor
arguments.
* module/language/ecmascript/compile-tree-il.scm (comp): Replace `@impl'
shorthand with `call' + `@implv' for better control over resulting
tree-il.
* test-suite/tests/ecmascript.test (compiler): Add test for "new Object();"
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Julian Graham | 2016-10-25 | 1 | -4/+4 |
* | 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 | 9 | -163/+259 |
* | Deferred module observers via a parameter...* module/ice-9/boot-9.scm (module-defer-observers): Instead of being a
global flag, change to be a parameter.
(module-defer-observers-mutex, module-defer-observers-table): Remove.
(module-modified): Adapt.
(call-with-deferred-observers): Adapt. Allow nested called.
| Andy Wingo | 2016-10-23 | 1 | -18/+20 |
* | Adapt run-server* to change to `accept'....* module/system/repl/server.scm (run-server*): Adapt to new #f return
value of accept on non-blocking ports.
(errs-to-retry): Remove variable.
| Andy Wingo | 2016-10-19 | 1 | -25/+9 |
* | 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 | 1 | -3/+3 |
* | 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 | -2/+4 |
* | Fix slot allocation for prompts...* module/language/cps/slot-allocation.scm
(add-prompt-control-flow-edges): Fix to add links from prompt bodies
to handlers, even in cases where the handler can reach the body but
the body can't reach the handler.
* test-suite/tests/compiler.test ("prompt body slot allocation"): Add
test case.
| Andy Wingo | 2016-10-11 | 1 | -21/+30 |
* | Texinfo serialization: add braces when needed...* module/texinfo/serialize.scm (include, empty-command, inline-text):
(inline-args, inline-text-args, eol-text-args, eol-text, eol-args)
(environ, table-environ, paragraph, item, entry, fragment, serialize)
(stexi->texi): Pass extra rest? parameter around to indicate arguments
that can take any number of subforms without being surrounded by
braces.
(embrace, serialize-text-args): Surround non-rest arguments with
braces.
* test-suite/tests/texinfo.serialize.test: Add tests.
| Andy Wingo | 2016-10-11 | 1 | -29/+50 |