Marius Vollmer [Sun, 5 Feb 2006 22:56:34 +0000 (22:56 +0000)]
* GUILE-VERSION: Bumped versions for 1.9 series.
* srfi-1.scm, srfi-60.scm: Updated versions in library name to
match GUILE-VERSION.
Neil Jerram [Sat, 4 Feb 2006 15:57:16 +0000 (15:57 +0000)]
* boot-9.scm (try-module-autoload): Make sure that module code is
loaded with the default reader (current-reader #f). Thanks to
Ludovic Courtès for pointing this problem out.
Neil Jerram [Sat, 4 Feb 2006 14:36:43 +0000 (14:36 +0000)]
19 new test cases.
(throw-test): New macro for testing catches and throw handlers.
Neil Jerram [Sat, 4 Feb 2006 14:36:24 +0000 (14:36 +0000)]
* throw.h (scm_c_catch, scm_c_with_throw_handler,
scm_catch_with_pre_unwind_handler, scm_with_throw_handler): New.
* throw.c (SCM_JBPREUNWIND, SCM_SETJBPREUNWIND): New.
(struct pre_unwind_data): New, replaces struct lazy_catch.
(scm_c_catch): New, replaces scm_internal_catch as the primary
catch API for C code; adds pre-unwind handler support.
(scm_internal_catch): Now just a wrapper for scm_c_catch, for back
compatibility.
(tc16_pre_unwind_data, pre_unwind_data_print,
make_pre_unwind_data, SCM_PRE_UNWIND_DATA_P): Renamed from
"lazy_catch" equivalents.
(scm_c_with_throw_handler): New, replaces scm_internal_lazy_catch
as the primary C API for a "lazy" catch.
(scm_internal_lazy_catch): Now just a wrapper for
scm_c_with_throw_handler, for back compatibility.
(scm_catch_with_pre_unwind_handler): Renamed from scm_catch; adds
pre-unwind handler support.
(scm_catch): Now just a wrapper for
scm_catch_with_pre_unwind_handler, for back compatibility.
(scm_with_throw_handler): New.
(scm_lazy_catch): Update comment to say that the handler can
return, and what happens if it does.
(toggle_pre_unwind_running): New.
(scm_ithrow): When identifying the throw target, take running
flags into account. In general, change naming of things from
"lazy_catch" to "pre_unwind". When throwing to a throw handler,
don't unwind the dynamic context first. Add dynwind framing to
manage the running flag of a throw handler. If a lazy catch or
throw handler returns, rethrow the same exception again. Add
pre-unwind support to the normal catch case (SCM_JMPBUFP).
* root.c (scm_internal_cwdr): Add NULL args to
scm_i_with_continuation_barrier call.
* dynwind.c: Change comment mentioning lazy-catch to mention
pre-unwind data and throw handler also.
* continuations.h (scm_i_with_continuation_barrier): Add
pre-unwind handler args.
* continuations.c (scm_i_with_continuation_barrier): Add
pre-unwind handler args, and pass on to scm_c_catch (changed from
scm_internal_catch).
(c_handler): Remove scm_handle_by_message_noexit call.
(scm_c_with_continuation_barrier): Call
scm_i_with_continuation_barrier with scm_handle_by_message_noexit
as the pre-unwind handler.
(scm_handler): Remove scm_handle_by_message_noexit call.
(s_scm_with_continuation_barrier): Call
scm_i_with_continuation_barrier with scm_handle_by_message_noexit
as the pre-unwind handler.
Neil Jerram [Sat, 4 Feb 2006 14:36:06 +0000 (14:36 +0000)]
* stack-catch.scm (stack-catch): Use catch pre-unwind handler
instead of lazy-catch.
* boot-9.scm (error-catching-loop): Use catch pre-unwind handler
instead of lazy-catch.
Neil Jerram [Sat, 4 Feb 2006 14:35:53 +0000 (14:35 +0000)]
(Throw Handlers): New node.
(Throw): Moved to after the Lazy Catch node.
(Catch): Enhance to cover the optional pre-unwind handler, and new
APIs scm_c_catch, scm_catch_with_pre_unwind_handler.
(Lazy Catch): Describe relationship to with-throw-handler.
Document that the handler may return, and what happens if it does.
(Throw): Mention that a throw can be handled by a throw handler as
well as by a catch.
Kevin Ryde [Sat, 4 Feb 2006 01:01:23 +0000 (01:01 +0000)]
*** empty log message ***
Kevin Ryde [Sat, 4 Feb 2006 01:00:57 +0000 (01:00 +0000)]
(Network Address Conversion, Network Databases)
(Network Sockets and Communication, Internet Socket Examples): Misc
tweaks.
Kevin Ryde [Sat, 4 Feb 2006 00:56:35 +0000 (00:56 +0000)]
*** empty log message ***
Kevin Ryde [Sat, 4 Feb 2006 00:54:24 +0000 (00:54 +0000)]
Use the equal proc argument, so we exercise the
srfi-1 version of the code. Without such an argument srfi-1.c passes
the job to the core scm_delete.
Kevin Ryde [Sat, 4 Feb 2006 00:50:39 +0000 (00:50 +0000)]
(scm_srfi1_delete, scm_srfi1_delete_duplicates): Use a
count to protect against nasty code in the equality procedure changing
the lists we're working on. The results don't have to be sensible in
that case, just not hang or access non-cells.
Kevin Ryde [Sat, 4 Feb 2006 00:27:20 +0000 (00:27 +0000)]
wrong @subsection in my last
Kevin Ryde [Sat, 4 Feb 2006 00:24:37 +0000 (00:24 +0000)]
(Compiled Code Installation): New section.
Kevin Ryde [Sat, 4 Feb 2006 00:00:45 +0000 (00:00 +0000)]
*** empty log message ***
Kevin Ryde [Fri, 3 Feb 2006 23:59:59 +0000 (23:59 +0000)]
pxref libtool manual.
Kevin Ryde [Fri, 3 Feb 2006 23:58:40 +0000 (23:58 +0000)]
(Build Config): pxref libtool on libguileinterface version info.
Kevin Ryde [Fri, 3 Feb 2006 23:49:37 +0000 (23:49 +0000)]
(scm_mark_all): Fix c99-isms "loops" and "again" variables.
Kevin Ryde [Fri, 3 Feb 2006 23:40:21 +0000 (23:40 +0000)]
*** empty log message ***
Kevin Ryde [Fri, 3 Feb 2006 23:38:51 +0000 (23:38 +0000)]
Add test-list.c
Kevin Ryde [Fri, 3 Feb 2006 23:34:48 +0000 (23:34 +0000)]
standalone/test-list.c: New file.
Kevin Ryde [Fri, 3 Feb 2006 23:31:58 +0000 (23:31 +0000)]
*** empty log message ***
Kevin Ryde [Fri, 3 Feb 2006 23:31:25 +0000 (23:31 +0000)]
(booleans->integer): Avoid newline in macro, it breaks the snarfer.
Kevin Ryde [Thu, 2 Feb 2006 21:27:44 +0000 (21:27 +0000)]
add a copyright year for 2005 changes
Kevin Ryde [Thu, 2 Feb 2006 21:20:46 +0000 (21:20 +0000)]
*** empty log message ***
Kevin Ryde [Thu, 2 Feb 2006 21:15:48 +0000 (21:15 +0000)]
(scm_list): Restore this function for use from C.
It's a complete no-op but in theory might used by someone.
Kevin Ryde [Thu, 2 Feb 2006 21:13:15 +0000 (21:13 +0000)]
copyright year for marius' last change
Kevin Ryde [Thu, 2 Feb 2006 20:59:54 +0000 (20:59 +0000)]
*** empty log message ***
Kevin Ryde [Thu, 2 Feb 2006 20:48:44 +0000 (20:48 +0000)]
2006-02-01 Ludovic Courtès <ludovic.courtes@laas.fr>
* deprecated.scm (make-uniform-array): Fill the returned vector with
PROT, per guile 1.6 behaviour.
Marius Vollmer [Sun, 29 Jan 2006 23:13:11 +0000 (23:13 +0000)]
*** empty log message ***
Marius Vollmer [Sun, 29 Jan 2006 23:12:01 +0000 (23:12 +0000)]
(scm_eval_body): Lock source_mutex with a dynwind context
so that it gets unlocked in all cases.
(SCM_APPLY, CEVAL): Likewise.
Marius Vollmer [Sun, 29 Jan 2006 22:44:52 +0000 (22:44 +0000)]
*** empty log message ***
Marius Vollmer [Sun, 29 Jan 2006 22:44:15 +0000 (22:44 +0000)]
Export %thread-handler.
It's join-thread, not thread-join.
Marius Vollmer [Sun, 29 Jan 2006 20:00:14 +0000 (20:00 +0000)]
*** empty log message ***
Marius Vollmer [Sun, 29 Jan 2006 19:59:51 +0000 (19:59 +0000)]
(scm_array_map_x): Don't use scm_array_p, use scm_is_typed_array
instead.
Marius Vollmer [Sun, 29 Jan 2006 19:46:30 +0000 (19:46 +0000)]
Don't mention futures.
Marius Vollmer [Sun, 29 Jan 2006 19:45:54 +0000 (19:45 +0000)]
Removed "Futures" node.
Marius Vollmer [Sun, 29 Jan 2006 19:44:45 +0000 (19:44 +0000)]
Replaced 'futures' with threads.
Marius Vollmer [Sun, 29 Jan 2006 19:38:29 +0000 (19:38 +0000)]
*** empty log message ***
Marius Vollmer [Sun, 29 Jan 2006 19:09:52 +0000 (19:09 +0000)]
* futures.h, futures.c: Wrap whole contents in "#if 0"/"#endif".
* eval.c, init.c: Comment out all 'future' related things.
Marius Vollmer [Sun, 29 Jan 2006 00:23:28 +0000 (00:23 +0000)]
Renamed the "frames" that are related to dynamic-wind to "dynamic
contexts. Renamed all functions from scm_frame_ to scm_dynwind_.
Updated documentation.
Marius Vollmer [Sat, 28 Jan 2006 22:01:58 +0000 (22:01 +0000)]
*** empty log message ***
Marius Vollmer [Sat, 28 Jan 2006 22:01:35 +0000 (22:01 +0000)]
* inline.h, pairs.c (scm_is_pair): Moved scm_is_pair from pairs.c
to inline.h to make it inline.
Han-Wen Nienhuys [Tue, 24 Jan 2006 20:30:09 +0000 (20:30 +0000)]
patches by Ludovic Courtès for symbol generation.
Han-Wen Nienhuys [Wed, 18 Jan 2006 10:17:30 +0000 (10:17 +0000)]
("sweep_card"): don't count scm_tc_free_cell for
free_count.
Neil Jerram [Fri, 13 Jan 2006 17:36:52 +0000 (17:36 +0000)]
(repl-reader): Use value of current-reader fluid to
do the read, if set. (Thanks to Ludovic Courtès for the patch.)
Han-Wen Nienhuys [Sun, 1 Jan 2006 19:46:24 +0000 (19:46 +0000)]
*** empty log message ***
Marius Vollmer [Fri, 30 Dec 2005 19:33:19 +0000 (19:33 +0000)]
Explicit typos.
Neil Jerram [Fri, 30 Dec 2005 14:33:43 +0000 (14:33 +0000)]
*** empty log message ***
Neil Jerram [Thu, 29 Dec 2005 10:26:39 +0000 (10:26 +0000)]
(next_fluid_num): [From Ludovic Courtès:] Don't trigger
the GC when allocated_fluids_len is zero.
Kevin Ryde [Wed, 14 Dec 2005 21:58:54 +0000 (21:58 +0000)]
*** empty log message ***
Kevin Ryde [Wed, 14 Dec 2005 21:55:54 +0000 (21:55 +0000)]
(Streams): In stream->list&length and
stream->reversed-list&length, make the two values clearer.
and a typo "teh"
Kevin Ryde [Wed, 14 Dec 2005 21:54:50 +0000 (21:54 +0000)]
(Fly Evaluation): Add scm_call_4, suggested by Bruce Korb.
Neil Jerram [Wed, 14 Dec 2005 00:55:22 +0000 (00:55 +0000)]
Remove entry claiming that breakpoints have been added,
because breakpoints are now implemented outside the core distro.
Add entries on obsolescence of the 'cheap option and on tweaking
support in evaluator trap calls. Finally, correct outline level
of item about make-keyword-from-dash-symbol.
Neil Jerram [Wed, 14 Dec 2005 00:51:58 +0000 (00:51 +0000)]
(Evaluator trap options): Trap calls now always
use a debug object rather than a continuation.
(Debugger options, Examples of option use): Update help text for
'cheap option (which is now obsolete).
Neil Jerram [Wed, 14 Dec 2005 00:21:11 +0000 (00:21 +0000)]
* api-evaluation.texi (Loading): Document custom reader.
* boot-9.scm (load-module): Support an optional custom reader arg,
implemented by passing on to r4rs's load.
* r4rs.scm (load): Support an optional custom reader arg,
implemented by passing on to primitive-load.
* load.c (the_reader, the_reader_fluid_num): New.
(scm_primitive_load): Support custom reader.
(scm_init_load): Init the_reader and the_reader_fluid_num; export
the_reader as `current-reader'.
Neil Jerram [Wed, 14 Dec 2005 00:15:00 +0000 (00:15 +0000)]
(do_read_without_guile): Use the "raw_data" passed in
(rather than an uninitialized pointer on the stack).
Marius Vollmer [Wed, 7 Dec 2005 01:33:18 +0000 (01:33 +0000)]
*** empty log message ***
Marius Vollmer [Wed, 7 Dec 2005 01:32:17 +0000 (01:32 +0000)]
(invoke_main_func): Don't call exit here. Throws that
are only caught by scm_with_guile will bypass us and would cause
scm_boot_guile to return erroneously.
(scm_boot_guile): Expect scm_with_guile to return and call exit
here, passing it an appropriate exit code.
Marius Vollmer [Wed, 7 Dec 2005 00:31:49 +0000 (00:31 +0000)]
Added more words to #:replace from Ludovic. Thanks!
Marius Vollmer [Tue, 6 Dec 2005 22:37:39 +0000 (22:37 +0000)]
*** empty log message ***
Marius Vollmer [Tue, 6 Dec 2005 22:35:05 +0000 (22:35 +0000)]
(scm_find_executable): Compile fix -- fgetc returns an
unsigned char cast to an int, or -1 for EOS.
Marius Vollmer [Tue, 6 Dec 2005 21:42:43 +0000 (21:42 +0000)]
*** empty log message ***
Marius Vollmer [Tue, 6 Dec 2005 21:42:19 +0000 (21:42 +0000)]
(take_uvec): Make BASE pointer non-const.
(scm_take_u8vector, etc): Likewise. Thanks to Ludovic Courtès!
Marius Vollmer [Tue, 6 Dec 2005 21:34:10 +0000 (21:34 +0000)]
*** empty log message ***
Marius Vollmer [Tue, 6 Dec 2005 21:32:55 +0000 (21:32 +0000)]
* api-control.texi (if cond case): Describe SRFI 61 cond.
* srfi-modules.texi (SRFI-61): New section.
(SRFI Support): Add SRFI-61 to menu.
Marius Vollmer [Tue, 6 Dec 2005 21:32:36 +0000 (21:32 +0000)]
fixed some typos.
Marius Vollmer [Tue, 6 Dec 2005 21:32:09 +0000 (21:32 +0000)]
(%cond-expand-features): Add srfi-61.
Marius Vollmer [Tue, 6 Dec 2005 21:31:26 +0000 (21:31 +0000)]
(scm_m_cond): Recognize SRFI 61 cond syntax.
(CEVAL): Evaluate SRFI 61 cond clauses.
Marius Vollmer [Tue, 6 Dec 2005 20:36:49 +0000 (20:36 +0000)]
*** empty log message ***
Marius Vollmer [Tue, 6 Dec 2005 20:27:59 +0000 (20:27 +0000)]
Removed scm_leave_guile, scm_enter_guile and all references to
them since they are no longer in the API.
Marius Vollmer [Tue, 6 Dec 2005 20:15:49 +0000 (20:15 +0000)]
*** empty log message ***
Marius Vollmer [Tue, 6 Dec 2005 20:15:24 +0000 (20:15 +0000)]
(scm_t_guile_ticket, scm_leave_guile, scm_enter_guile): Removed from
public API. See comment at scm_without_guile for the rationale.
Marius Vollmer [Tue, 6 Dec 2005 20:02:19 +0000 (20:02 +0000)]
(read_without_guile): New.
(signal_delivery_thread): Use it instead of
scm_leave_guile/read/scm_enter_guile.
Neil Jerram [Tue, 6 Dec 2005 19:15:16 +0000 (19:15 +0000)]
* gc-card.c (scm_i_card_statistics): Return if BITVEC is NULL.
This was typically hit when running `gc-live-object-stats' right
after starting Guile.
Kevin Ryde [Wed, 30 Nov 2005 00:42:19 +0000 (00:42 +0000)]
*** empty log message ***
Kevin Ryde [Wed, 30 Nov 2005 00:35:45 +0000 (00:35 +0000)]
(string-append/shared): New tests.
Kevin Ryde [Wed, 30 Nov 2005 00:30:36 +0000 (00:30 +0000)]
*** empty log message ***
Kevin Ryde [Wed, 30 Nov 2005 00:26:08 +0000 (00:26 +0000)]
(scm_string_append_shared): No copying if just one
non-empty string in args.
Kevin Ryde [Sat, 26 Nov 2005 00:55:45 +0000 (00:55 +0000)]
*** empty log message ***
Kevin Ryde [Sat, 26 Nov 2005 00:54:06 +0000 (00:54 +0000)]
* random.c (scm_i_copy_rstate, scm_c_make_rstate): Don't test for
scm_malloc returning NULL, it never does that.
* putenv.c (putenv): Likewise.
Kevin Ryde [Sat, 26 Nov 2005 00:53:27 +0000 (00:53 +0000)]
(scm_i_copy_rstate, scm_c_make_rstate): Don't test for
scm_malloc returning NULL, it never does that.
Kevin Ryde [Sat, 26 Nov 2005 00:52:52 +0000 (00:52 +0000)]
(scm_fill_sockaddr): Remove SCM_C_INLINE_KEYWORD, this is
much too big to want to inline.
Kevin Ryde [Sat, 26 Nov 2005 00:50:12 +0000 (00:50 +0000)]
(list): Should be "primitive" in SCM_SNARF_DOCS, not "register".
Kevin Ryde [Sat, 26 Nov 2005 00:49:24 +0000 (00:49 +0000)]
(scm_mark_all): Change C++ comment to C comment. Reported by Ludovic Courtès.
Kevin Ryde [Thu, 24 Nov 2005 00:13:16 +0000 (00:13 +0000)]
*** empty log message ***
Kevin Ryde [Thu, 24 Nov 2005 00:03:27 +0000 (00:03 +0000)]
*** empty log message ***
Kevin Ryde [Thu, 24 Nov 2005 00:00:59 +0000 (00:00 +0000)]
(lset-difference!): More tests.
Kevin Ryde [Wed, 23 Nov 2005 23:56:08 +0000 (23:56 +0000)]
(lset-difference!): Rewrite in C.
Kevin Ryde [Wed, 23 Nov 2005 23:41:29 +0000 (23:41 +0000)]
typo in lset-difference! name in with-test-prefix
Kevin Ryde [Fri, 18 Nov 2005 23:27:28 +0000 (23:27 +0000)]
*** empty log message ***
Kevin Ryde [Fri, 18 Nov 2005 23:04:06 +0000 (23:04 +0000)]
*** empty log message ***
Kevin Ryde [Fri, 18 Nov 2005 22:01:46 +0000 (22:01 +0000)]
(Retrieving Alist Entries): Revise for clarity and brevity.
Neil Jerram [Thu, 17 Nov 2005 18:50:01 +0000 (18:50 +0000)]
* print.c (EXIT_NESTED_DATA): Before popping from the stack, reset
the value at its top. This fixes a reference leak.
(PUSH_REF): Perform `pstate->top++' after calling
`PSTATE_STACK_SET ()' in order to avoid undesired potential side
effects.
Neil Jerram [Sat, 12 Nov 2005 08:58:51 +0000 (08:58 +0000)]
* gc.c (scm_weak_vectors): Removed.
Kevin Ryde [Sat, 12 Nov 2005 00:59:28 +0000 (00:59 +0000)]
(scm_setsockopt): Missing @defvar in docstring. Reported
by Ludovic Courtès.
Marius Vollmer [Sun, 6 Nov 2005 22:12:25 +0000 (22:12 +0000)]
*** empty log message ***
Marius Vollmer [Sun, 6 Nov 2005 22:12:04 +0000 (22:12 +0000)]
(scm_mktime): Use scm_frame_critical_section instead of
SCM_CRITICAL_SECTION_START/END since the code inside the critical
section might exit non-locally.
Kevin Ryde [Sat, 5 Nov 2005 21:42:14 +0000 (21:42 +0000)]
*** empty log message ***
Kevin Ryde [Sat, 5 Nov 2005 21:38:49 +0000 (21:38 +0000)]
From Ludovic Courtès, partial rework by me:
* doc/ref/api-modules.texi (Creating Guile Modules): In define-module,
describe #:re-export, #:export-syntax, #:re-export-syntax, #:replace
and #:duplicates. Add re-export.
Neil Jerram [Fri, 4 Nov 2005 21:20:24 +0000 (21:20 +0000)]
* eval.c (sym_instead): New symbol.
(ENTER_APPLY): Remove optional use of a continuation when making
trap call.
(scm_debug_opts): Change doc for 'cheap option to make clear that
it is now obsolete.
(CEVAL, SCM_APPLY): Remove optional use of a continuation when
making trap calls, and implement substitution of eval expressions
and return values using the values that the trap call handlers
return.
* debug.h (SCM_CHEAPTRAPS_P): Removed.