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

5606 commits

Author SHA1 Message Date
Han-Wen Nienhuys
72f19c2646 * debug.h (SCM_RESET_DEBUG_MODE): switch to debugging if
memoize-symbol is set.

* eval.h (SCM_MEMOIZE_HDLR): add macros for memoize symbol trap.

* eval.c (CEVAL): add memoize_symbol trap.

* read.c: idem.

* eval.c: terminate option lists with 0.
2007-01-19 20:05:05 +00:00
Han-Wen Nienhuys
03347a975b * options.c (scm_options_try): new function. This allows error
reporting before changing options in a critical section.

* options.c: remove n (for length) from scm_option_X
functions. Detect option list length by looking for NULL name.
2007-01-19 19:35:36 +00:00
Han-Wen Nienhuys
b0763985c4 * srcprop.c: use double cell for storing source-properties. Put
filename in the plist, and share between srcprops if possible.
Remove specialized storage.

* srcprop.h: remove macros without SCM_ prefix from
interface. Remove specialized storage/type definitions.

* eval.c: terminate option lists with 0.
2007-01-19 19:33:10 +00:00
Han-Wen Nienhuys
6256065013 * readline.c: terminate option list with NULL.
* read.c: idem.

* print.c: idem.

* eval.c: terminate option lists with 0.

* options.c: remove n (for length) from scm_option_X
functions. Detect option list length by looking for NULL name.
2007-01-19 19:26:36 +00:00
Ludovic Courtès
42ddb3cb8b Changes from arch/CVS synchronization 2007-01-19 08:53:33 +00:00
Han-Wen Nienhuys
937038e823 (scm_ithrow): more refined error message: print symbols
too.
2007-01-18 12:34:24 +00:00
Kevin Ryde
8e1973d9ab merge from 1.8 2007-01-15 23:49:04 +00:00
Kevin Ryde
de6eff7190 copyright year 2007-01-15 23:42:46 +00:00
Kevin Ryde
23d7256628 merge from 1.8 2007-01-15 23:42:45 +00:00
Han-Wen Nienhuys
a2c40dc7c0 (scm_ithrow): print out key symbol and string arguments
when error happens inside a critical section, and document why.
2007-01-10 11:42:04 +00:00
Han-Wen Nienhuys
391f57e6ad (s_scm_read_hash_extend): document #f argument to
read-hash-extend.
2007-01-06 18:20:35 +00:00
Han-Wen Nienhuys
93632e3cfd (s_scm_gc_stats): return an entry for total-cells-allocated
too.
(gc_update_stats): update scm_gc_cells_allocated_acc too.
2007-01-03 17:26:32 +00:00
Han-Wen Nienhuys
e2bf3b19f6 * numbers.c (scm_i_fraction_reduce): move logic into
scm_i_make_ratio(), so fractions are only read.
scm_i_fraction_reduce() modifies a fraction when reading it.  A
race condition might lead to fractions being corrupted by reading
them concurrently.

* numbers.h: remove SCM_FRACTION_SET_NUMERATOR,
SCM_FRACTION_SET_DENOMINATOR, SCM_FRACTION_REDUCED_BIT,
SCM_FRACTION_REDUCED_SET, SCM_FRACTION_REDUCED_CLEAR,
SCM_FRACTION_REDUCED.
2006-12-23 20:35:32 +00:00
Ludovic Courtès
f30e1bdf97 Changes from arch/CVS synchronization 2006-12-12 14:01:40 +00:00
Ludovic Courtès
22be72d35f Changes from arch/CVS synchronization 2006-11-29 09:05:10 +00:00
Ludovic Courtès
5b3a39c7ff Added missing files for `(ice-9 i18n)'. 2006-11-18 18:18:23 +00:00
Ludovic Courtès
b89c494395 Changes from arch/CVS synchronization 2006-11-18 18:14:55 +00:00
Neil Jerram
f3e3f530c2 (scm_shell_usage): Note need for subscription to bug-guile@gnu.org. 2006-11-17 15:52:51 +00:00
Ludovic Courtès
d9f71a0754 Changes from arch/CVS synchronization 2006-11-08 09:34:35 +00:00
Neil Jerram
dd18d31211 Remove environments.[ch] from the build. 2006-11-02 21:10:37 +00:00
Neil Jerram
9a5fa6e98a * configure.in: New check for uca lib (needed for IA64 on HP-UX).
* threads.c (SCM_MARK_BACKING_STORE): Use scm_ia64_ar_bsp() and
scm_ia64_register_backing_store_base() instead of Linux-specific
implementations.

* gc.h (scm_ia64_register_backing_store_base, scm_ia64_ar_bsp):
New declarations.

* gc.c (__libc_ia64_register_backing_store_base): Declaration
removed.
(scm_ia64_register_backing_store_base, scm_ia64_ar_bsp): New, with
implementations for Linux and HP-UX.

* coop-pthreads.c (SCM_MARK_BACKING_STORE): Use scm_ia64_ar_bsp()
and scm_ia64_register_backing_store_base() instead of
Linux-specific implementations.

* continuations.h (__libc_ia64_register_backing_store_base):
Declaration removed.
(scm_t_contregs): New "fresh" field.

* continuations.c (ia64_getcontext): Removed.
(scm_make_continuation): Use continuation fresh field instead of
interpreting getcontext return values (which isn't portable).  Use
scm_ia64_ar_bsp() and scm_ia64_register_backing_store_base()
instead of Linux-specific implementations.
(copy_stack_and_call): Use scm_ia64_register_backing_store_base()
instead of Linux-specific implementation.

* _scm.h (__ia64__): Also detect __ia64.
2006-10-25 22:37:24 +00:00
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