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

8299 commits

Author SHA1 Message Date
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
Rob Browning
d26af5b23e *** empty log message *** 2003-11-19 21:39:26 +00:00