Marius Vollmer
86272eedd0
Document the frames stuff and other random changes.
2004-01-03 21:56:18 +00:00
Marius Vollmer
3c8fb18ef6
* standalone/test-unwind.c: New test, for the frames stuff.
...
* standalone/Makefile.am: Compile and run it.
2004-01-03 21:54:23 +00:00
Marius Vollmer
81b0a6c1ae
added test-unwind
2004-01-03 21:53:21 +00:00
Marius Vollmer
d3c6aef934
(copy_stack): New, do only the stack copying
...
part of copy_stack_and_call.
(copy_stack_and_call): Copy the stack after unwinding and before
rewinding.
(scm_dynthrow): Do not call scm_dowinds, this is now done by
copy_stack_and_call.
2004-01-03 21:52:34 +00:00
Marius Vollmer
4845bbae3a
(scm_t_frame_flags, scm_t_wind_flags,
...
scm_begin_frame, scm_end_frame, scm_on_unwind, scm_on_rewind):
New.
(scm_dowinds, scm_i_dowinds): scm_dowinds has been renamed to
scm_i_dowinds and extended to handle frames and to invoke a 'turn'
function when the outermost wind point has been reached. The
latter is used to copy a continuation stack at the right time.
scm_dowinds remains available.
(SCM_GUARDSP, SCM_BEFORE_GUARD, SCM_AFTER_GUARD, SCM_GUARD_DATA,
tc16_guard, guards_print): Removed.
(scm_internal_dynamic_wind): Reimplemented using frames.
2004-01-03 21:49:16 +00:00
Kevin Ryde
441a25d9e7
*** empty log message ***
2004-01-03 21:41:31 +00:00
Kevin Ryde
a5f0b59988
(scm_less_p): Don't convert frac to float for compares,
...
can give wrong results due to rounding.
2004-01-03 21:38:38 +00:00
Kevin Ryde
97ac013a06
*** empty log message ***
2004-01-03 21:27:51 +00:00
Kevin Ryde
9b2416ea71
(-1+, <?, <=?, =?, >?, >=?): Define as aliases for 1-, <,
...
<=, =, >, >= respectively, required by slib 'rev2-procedures but no
longer in the guile core.
2004-01-03 21:15:40 +00:00
Kevin Ryde
6d611fedcc
*** empty log message ***
2004-01-03 21:12:45 +00:00
Kevin Ryde
9bc915bb07
(false-if-exception): Add tests.
2004-01-03 21:12:01 +00:00
Kevin Ryde
b83fc1070c
(false-if-exception): Unquote catch and lambda, so as not
...
to depend on expansion environment.
2004-01-03 21:10:27 +00:00
Kevin Ryde
193239f1e9
(SRFI-1 Filtering and Partitioning): For partition
...
and partition!, emphasise the multi-value return, note partition may
share a tail with the given list.
2004-01-03 21:08:13 +00:00
Kevin Ryde
ea6ea01bca
(SRFI-1 Searching, SRFI-1 Deleting, SRFI-1
...
Association Lists): Note how member, delete, delete! and assoc extend
the corresponding core functions.
2004-01-03 21:03:02 +00:00
Marius Vollmer
89fcf1b4aa
*** empty log message ***
2003-12-26 19:09:03 +00:00
Marius Vollmer
fc54d9376d
Arrange for scm_t_intmax and scm_t_uintmax to be defined in
...
scmconfig.h
2003-12-26 19:04:55 +00:00
Marius Vollmer
eb1f89f652
Find a suitable type for the new scm_t_intmax and scm_t_uintmax.
2003-12-26 19:00:47 +00:00
Kevin Ryde
caff34d4fa
*** empty log message ***
2003-12-02 21:38:04 +00:00
Kevin Ryde
084b1d8eec
(scm_less_p): Remove spurious xisnan from frac+big case.
2003-12-02 21:36:39 +00:00
Kevin Ryde
fc5f3d51c1
(real-part): Expect fraction return, not converted to flonum.
2003-12-02 21:32:43 +00:00
Kevin Ryde
2fa2d87937
(scm_real_part): Return fraction unchanged rather than converting to flonum.
2003-12-02 21:27:13 +00:00
Kevin Ryde
64b4cbe4f3
Exercise most-negative-fixnum over -ve of most-negative-fixnum.
2003-12-02 21:24:58 +00:00
Kevin Ryde
76903a316a
(abs): Add a few more tests.
2003-12-02 21:23:31 +00:00
Kevin Ryde
dd5130cadf
(scm_make_ratio): Check for numerator equal to
...
SCM_MOST_NEGATIVE_FIXNUM and bignum denominator the negative of that,
giving integer -1.
2003-12-02 21:21:14 +00:00
Kevin Ryde
f39032937e
(count): New tests.
2003-12-02 21:17:33 +00:00
Kevin Ryde
b35072cde6
*** empty log message ***
2003-12-02 21:14:03 +00:00
Kevin Ryde
c6424115fe
(map!): Define as an alias for map, previous definition was not tail-recursive.
2003-12-02 21:13:42 +00:00
Kevin Ryde
110348aee9
(count): Rewrite in C, avoiding non-tail recursion.
2003-12-02 21:12:20 +00:00
Mikael Djurfeldt
f1efbdf3f1
(snarfcppopts): Added -I$(top_srcdir).
2003-12-01 18:49:38 +00:00
Dirk Herrmann
2d0b85acf8
* modules.c (module_variable): Fixed (and thus simplified) the
...
definition of SCM_BOUND_THING_P to reflect the fact that since
after the 1.4 series of guile, obarrays only hold variable
objects.
2003-11-30 12:41:34 +00:00
Marius Vollmer
2297981dde
*** empty log message ***
2003-11-30 01:00:16 +00:00
Marius Vollmer
535f2a516a
(scm_logand): It's "#b...", not "#\b...".
2003-11-30 00:59:40 +00:00
Marius Vollmer
96dfea7d7e
It's "#\\space", not "#\space".
2003-11-30 00:58:25 +00:00
Marius Vollmer
fea8e14239
(scm_iprin1): use \xNN hexadecimal sequences when writing control
...
characters in strings.
2003-11-30 00:57:14 +00:00
Marius Vollmer
b645ea8c7e
(scm_lreadr): Signal an error for invalid escape sequences in strings.
...
Code cleanups too.
2003-11-30 00:57:03 +00:00
Neil Jerram
7dd3f110af
Initial support for setting source breakpoints.
2003-11-27 20:54:05 +00:00
Kevin Ryde
16f9b79576
*** empty log message ***
2003-11-24 22:25:53 +00:00
Kevin Ryde
8c3b23b3aa
(Macros guile-snarf recognizes): Correction to GOOPS cross reference.
2003-11-24 22:17:13 +00:00
Kevin Ryde
6117838eb1
Remove empty (duplicate) "Jump Start" entry.
2003-11-24 22:13:26 +00:00
Dirk Herrmann
5c26400756
* Forgot to submit the Changelog last time.
2003-11-21 23:28:15 +00:00
Dirk Herrmann
6bff13687c
* eval.c (s_bad_define): New static identifier.
...
(m_body): Fixed comment.
(scm_m_define): Don't generate memoized code for definitions that
are not on the top level. As a consequence, no memoized code at
all is generated for definitions any more: Top level definitions
are executed immediately during memoization and internal
definitions are handled separately in m_expand_body.
(scm_unmemocopy, unmemocopy): Removed code for unmemoizing
definitions. Consequently, there is no unmemoizing code any more
that might modify the environment. Thus, the old scm_unmemocopy
is removed and the old unmemocopy is renamed to scm_unmemocopy.
(SCM_CEVAL): The SCM_IM_DEFINE keyword can no longer occur in
memoized code. Call EVALCAR for continuations. Prefer !SCM_NULLP
over SCM_NIMP in places, where the argument is known to be part of
a proper list.
2003-11-21 23:21:34 +00:00
Marius Vollmer
28a6e1b0b6
(scm_drain_input): Bug fix: only access the port after checking that
...
it indeed is one.
2003-11-21 17:08:31 +00:00
Kevin Ryde
018d4730fe
*** empty log message ***
2003-11-21 00:45:07 +00:00
Kevin Ryde
7f84824269
(scm_bit_extract): Use mpz functions, rearrange inum case
...
to share some shifting.
2003-11-21 00:33:44 +00:00
Kevin Ryde
ae38324d9c
(scm_abs): Allocate a new real only for negatives, as done for bignums.
2003-11-21 00:07:13 +00:00
Kevin Ryde
753ac1e7e1
(scm_integer_expt): Don't mpz_init after scm_i_clonebig or
...
scm_i_mkbig, since they do so already. Don't mpz_clear a bignum SCM,
since gc does this.
2003-11-21 00:03:54 +00:00
Marius Vollmer
ca2b31fe08
#e1.2 is now exactly 12/10. Expect exceptions when calling inexact?
...
with a non-number.
2003-11-20 23:55:51 +00:00
Rob Browning
c412e408c5
(scm_system_star): new prototype.
2003-11-19 21:40:42 +00:00
Rob Browning
0db17ef9ab
(scm_system_star): new function.
2003-11-19 21:40:32 +00:00
Rob Browning
8141bd983d
(Processes): add documentation for system*.
2003-11-19 21:39:35 +00:00