1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 21:10:27 +02:00
Commit graph

5216 commits

Author SHA1 Message Date
Marius Vollmer
677ad9d214 (scm_eval_body): Use scm_i_dynwind_pthread_mutex_lock
oinstead of scm_dynwind_pthread_mutex_lock so that it works when
configured --without-threads.
(SCM_APPLY, CEVAL): Likewise.  Thanks to Han-Wen Nienhuys!
2006-02-12 22:54:29 +00:00
Marius Vollmer
0ab652a386 Added 2006 to copyright years in every file, as per the new rules. 2006-02-12 13:42:52 +00:00
Marius Vollmer
c3eed9ee87 Fixed typo. 2006-02-12 12:40:58 +00:00
Marius Vollmer
bbcade428b * deprecated.scm (make-uniform-array): Don't pass the prototype as
the fill value, dimensions->uniform-array will do the right thing
now.  See scm_dimensions_to_uniform_array why we need to be tricky
about the fill value.

* unif.c (scm_dimensions_to_uniform_array): Use the prototype for
filling when the fill paramater is omitted, as documented, but
turn #\nul into 0 since s8 arrays (signified by a #\nul prototype)
can not store characters.
2006-02-12 00:57:14 +00:00
Neil Jerram
58b1ceaf5c (scm_c_make_socket_address): Pass address_size pointer
on to scm_fill_sockaddr call.
2006-02-09 14:08:12 +00:00
Kevin Ryde
689596d425 *** empty log message *** 2006-02-06 20:43:27 +00:00
Neil Jerram
43e01b1ee3 * 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.
2006-02-04 14:36:24 +00:00
Kevin Ryde
71c7cfa502 (scm_mark_all): Fix c99-isms "loops" and "again" variables. 2006-02-03 23:49:37 +00:00
Kevin Ryde
e46e8468a5 add a copyright year for 2005 changes 2006-02-02 21:27:44 +00:00
Kevin Ryde
7209892804 *** empty log message *** 2006-02-02 21:20:46 +00:00
Kevin Ryde
303bddc879 (scm_list): Restore this function for use from C.
It's a complete no-op but in theory might used by someone.
2006-02-02 21:15:48 +00:00
Marius Vollmer
aa092c5d7f *** empty log message *** 2006-01-29 23:13:11 +00:00
Marius Vollmer
cce0e9c875 (scm_eval_body): Lock source_mutex with a dynwind context
so that it gets unlocked in all cases.
(SCM_APPLY, CEVAL): Likewise.
2006-01-29 23:12:01 +00:00
Marius Vollmer
ee51ba3115 *** empty log message *** 2006-01-29 20:00:14 +00:00
Marius Vollmer
718866aa75 (scm_array_map_x): Don't use scm_array_p, use scm_is_typed_array
instead.
2006-01-29 19:59:51 +00:00
Marius Vollmer
99e370f645 *** empty log message *** 2006-01-29 19:38:29 +00:00
Marius Vollmer
2f263a6a0b * futures.h, futures.c: Wrap whole contents in "#if 0"/"#endif".
* eval.c, init.c: Comment out all 'future' related things.
2006-01-29 19:09:52 +00:00
Marius Vollmer
661ae7ab6b Renamed the "frames" that are related to dynamic-wind to "dynamic
contexts.  Renamed all functions from scm_frame_ to scm_dynwind_.
Updated documentation.
2006-01-29 00:23:28 +00:00
Marius Vollmer
15ccf10bf2 *** empty log message *** 2006-01-28 22:01:58 +00:00
Marius Vollmer
d5ad4aa6fa * inline.h, pairs.c (scm_is_pair): Moved scm_is_pair from pairs.c
to inline.h to make it inline.
2006-01-28 22:01:35 +00:00
Han-Wen Nienhuys
fd0a5bbcb7 patches by Ludovic Courtès for symbol generation. 2006-01-24 20:30:09 +00:00
Han-Wen Nienhuys
2ca2ffe6b2 ("sweep_card"): don't count scm_tc_free_cell for
free_count.
2006-01-18 10:17:30 +00:00
Han-Wen Nienhuys
c255614e26 *** empty log message *** 2006-01-01 19:46:24 +00:00
Neil Jerram
29295b0c90 (next_fluid_num): [From Ludovic Courtès:] Don't trigger
the GC when allocated_fluids_len is zero.
2005-12-29 10:26:39 +00:00
Neil Jerram
ec3a8ace63 * 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'.
2005-12-14 00:21:11 +00:00
Neil Jerram
2824f4dca1 (do_read_without_guile): Use the "raw_data" passed in
(rather than an uninitialized pointer on the stack).
2005-12-14 00:15:00 +00:00
Marius Vollmer
6a88895b7b *** empty log message *** 2005-12-07 01:33:18 +00:00
Marius Vollmer
657e792903 (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.
2005-12-07 01:32:17 +00:00
Marius Vollmer
d9c36d2a6f (scm_find_executable): Compile fix -- fgetc returns an
unsigned char cast to an int, or -1 for EOS.
2005-12-06 22:35:05 +00:00
Marius Vollmer
08f489c98b *** empty log message *** 2005-12-06 21:42:43 +00:00
Marius Vollmer
ab7acbb74e (take_uvec): Make BASE pointer non-const.
(scm_take_u8vector, etc): Likewise.  Thanks to Ludovic Courtès!
2005-12-06 21:42:19 +00:00
Marius Vollmer
9d9ce2b576 *** empty log message *** 2005-12-06 21:34:10 +00:00
Marius Vollmer
1fe1fc0a92 (scm_m_cond): Recognize SRFI 61 cond syntax.
(CEVAL): Evaluate SRFI 61 cond clauses.
2005-12-06 21:31:26 +00:00
Marius Vollmer
b54df25486 *** empty log message *** 2005-12-06 20:15:49 +00:00
Marius Vollmer
9864812182 (scm_t_guile_ticket, scm_leave_guile, scm_enter_guile): Removed from
public API.  See comment at scm_without_guile for the rationale.
2005-12-06 20:15:24 +00:00
Marius Vollmer
324a5aa97a (read_without_guile): New.
(signal_delivery_thread): Use it instead of
scm_leave_guile/read/scm_enter_guile.
2005-12-06 20:02:19 +00:00
Neil Jerram
9fb5c8f95c * 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.
2005-12-06 19:15:16 +00:00
Kevin Ryde
efeac8aed0 *** empty log message *** 2005-11-30 00:30:36 +00:00
Kevin Ryde
a003f3eb60 (scm_string_append_shared): No copying if just one
non-empty string in args.
2005-11-30 00:26:08 +00:00
Kevin Ryde
606183ba1b *** empty log message *** 2005-11-26 00:55:45 +00:00
Kevin Ryde
94b33dfe46 * 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.
2005-11-26 00:54:06 +00:00
Kevin Ryde
c224262bd1 (scm_i_copy_rstate, scm_c_make_rstate): Don't test for
scm_malloc returning NULL, it never does that.
2005-11-26 00:53:27 +00:00
Kevin Ryde
bc73234284 (scm_fill_sockaddr): Remove SCM_C_INLINE_KEYWORD, this is
much too big to want to inline.
2005-11-26 00:52:52 +00:00
Kevin Ryde
123a1b629e (list): Should be "primitive" in SCM_SNARF_DOCS, not "register". 2005-11-26 00:50:12 +00:00
Kevin Ryde
1f65cc174d (scm_mark_all): Change C++ comment to C comment. Reported by Ludovic Courtès. 2005-11-26 00:49:24 +00:00
Kevin Ryde
f07d2b20f3 *** empty log message *** 2005-11-18 23:27:28 +00:00
Neil Jerram
dbb5de2949 * 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.
2005-11-17 18:50:01 +00:00
Neil Jerram
3f98874a96 * gc.c (scm_weak_vectors): Removed. 2005-11-12 08:58:51 +00:00
Kevin Ryde
f1b7209b2d (scm_setsockopt): Missing @defvar in docstring. Reported
by Ludovic Courtès.
2005-11-12 00:59:28 +00:00
Marius Vollmer
bedd3f5fff *** empty log message *** 2005-11-06 22:12:25 +00:00