1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 04:40:29 +02:00
Commit graph

5235 commits

Author SHA1 Message Date
Kevin Ryde
8ab3d8a068 merge from 1.8 branch 2006-10-09 23:40:48 +00:00
Ludovic Courtès
a17d26545d Changes from arch/CVS synchronization 2006-09-20 12:48:45 +00:00
Rob Browning
418122ce6b *** empty log message *** 2006-09-01 01:38:18 +00:00
Rob Browning
bd83658e66 (scm_c_port_for_each): Add a scm_remember_upto_here_1(ports) at the
end of the function to fix a GC bug.
2006-09-01 01:37:57 +00:00
Neil Jerram
b5944f6672 (scm_display_backtrace_with_highlights): Minor
improvements to docstring.
(scm_backtrace_with_highlights): Analogous improvements.
2006-08-28 22:17:26 +00:00
Neil Jerram
b0b0deff2d (scm_last_stack_frame): Correct docstring (returns a
frame, not a stack).
2006-08-11 15:33:41 +00:00
Rob Browning
b49123789f *** empty log message *** 2006-07-19 06:56:37 +00:00
Rob Browning
08e5f84070 Add __attribute__ ((returns_twice)) to the ia64_getcontext prototype
so that gcc will make the right arrangements and avoid an illegal
instruction during call-with-current-continuation.
2006-07-19 06:56:30 +00:00
Ludovic Courtès
eaa94eaaa9 Changes from arch/CVS synchronization 2006-07-12 08:07:27 +00:00
Kevin Ryde
22acb29853 merge from 1.8 branch 2006-06-17 23:41:24 +00:00
Kevin Ryde
c862d0e0c1 merge from 1.8 branch 2006-06-17 23:29:46 +00:00
Kevin Ryde
23f2b9a3de merge from 1.8 branch 2006-06-17 23:15:59 +00:00
Ludovic Courtès
d15ad007c9 Changes from arch/CVS synchronization 2006-06-13 07:48:42 +00:00
Marius Vollmer
af4f861210 * eq.c (scm_equal_p): Use scm_array_equal_p explicitely when one
of the arguments is a array.  This allows vectors to be equal to
one-dimensional arrays.

* tests/unif.test ("vector equal? one-dimensional array"): New.
2006-05-29 21:54:13 +00:00
Marius Vollmer
18bffcd0f7 (scm_ithrow): When looking for the jmpbuf, first test that we have a
pair before accessing its cdr.  Thanks to Bill Schottstaedt!
2006-05-29 20:35:48 +00:00
Marius Vollmer
b0c0a310db Replace SCM_C_INLINE with SCM_C_INLINE_KEYWORD. Thanks to Mark Gran! 2006-05-27 21:32:22 +00:00
Marius Vollmer
4a342b19e2 *** empty log message *** 2006-05-27 21:31:32 +00:00
Marius Vollmer
d3774e2c7f (CELL_P): Also check that the potential pointer is
correctly aligned for a cell.  Thanks to Miroslav Lichvar!
2006-05-07 22:51:06 +00:00
Kevin Ryde
281ab5e22e *** empty log message *** 2006-04-17 01:26:12 +00:00
Kevin Ryde
b4716c8d4f (scm_to_off_t, scm_from_off_t): No error if unknown off_t
size, to help the guile-readline build where off_t is unused.
2006-04-17 01:23:37 +00:00
Kevin Ryde
2b829bbb3d merge from 1.8 branch 2006-04-17 00:05:42 +00:00
Mikael Djurfeldt
4a9f83ff06 Test for SCM_HAVE_T_UINT64 instead of
SCM_HAVE_T_INT64.
(scm_i_uniform32, scm_i_uniform32, scm_i_init_rstate): Use
scm_t_uint64 and scm_t_uint32 instead of scm_t_int64 and
scm_t_int32.
2006-02-19 16:34:51 +00:00
Han-Wen Nienhuys
4c7016dc06 Ludovic's patch for scm_t_sweep_statistics. 2006-02-14 11:38:30 +00:00
Marius Vollmer
1aaa1c171e * 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 parameter is omitted, as documented, but
turn #\nul into 0 since s8 arrays (signified by a #\nul prototype)
can not store characters.
2006-02-12 01:01:46 +00:00
Neil Jerram
d7c6575f3f (scm_c_make_socket_address): Pass address_size pointer
on to scm_fill_sockaddr call.
2006-02-09 14:27:05 +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