bpt/guile.git
20 years ago*** empty log message ***
Kevin Ryde [Wed, 28 Apr 2004 00:17:45 +0000 (00:17 +0000)]
*** empty log message ***

20 years ago(scm_threads_mark_stacks): Correction sizet -> size_t.
Kevin Ryde [Wed, 28 Apr 2004 00:15:54 +0000 (00:15 +0000)]
(scm_threads_mark_stacks): Correction sizet -> size_t.
Reported by Andreas Vögele.

20 years ago*** empty log message ***
Kevin Ryde [Tue, 27 Apr 2004 23:35:56 +0000 (23:35 +0000)]
*** empty log message ***

20 years ago(test_long_long): Exercise
Kevin Ryde [Tue, 27 Apr 2004 23:19:35 +0000 (23:19 +0000)]
(test_long_long): Exercise
out-of-range errors on various cases.
(test_ulong_long): New function, split from test_long_long and
similarly exercising out-of-range.

20 years ago(display_frame_expr),
Kevin Ryde [Tue, 27 Apr 2004 23:17:47 +0000 (23:17 +0000)]
(display_frame_expr),
Cast char to int for
ctype.h tests, to avoid warnings from gcc on HP-UX about char as array
subscript.  Reported by Andreas Vögele.
Also cast through unsigned char to avoid passing negatives to those
macros if input contains 8-bit values.

20 years agonumbers.c (XDIGIT2UINT,
Kevin Ryde [Tue, 27 Apr 2004 23:16:17 +0000 (23:16 +0000)]
numbers.c (XDIGIT2UINT,
mem2uinteger, mem2decimal_from_point, mem2ureal): Cast char to int for
ctype.h tests, to avoid warnings from gcc on HP-UX about char as array
subscript.  Reported by Andreas Vögele.
Also cast through unsigned char to avoid passing negatives to those
macros if input contains 8-bit values.

20 years ago(SCM_MUTEX_MAXSIZE): Increase to 25*sizeof(long),
Kevin Ryde [Tue, 27 Apr 2004 22:59:04 +0000 (22:59 +0000)]
(SCM_MUTEX_MAXSIZE): Increase to 25*sizeof(long),
for the benefit of hpux11 where pthread_mutex_t is 88 bytes.  Reported
by Andreas Vögele.

20 years ago(_POSIX_C_SOURCE): Define to 199506L to get gmtime_r (in
Kevin Ryde [Tue, 27 Apr 2004 22:43:28 +0000 (22:43 +0000)]
(_POSIX_C_SOURCE): Define to 199506L to get gmtime_r (in
particular on HP-UX).  Reported by Andreas Vögele.

20 years ago(scm_bit_extract): Use min instead of MIN.
Kevin Ryde [Tue, 27 Apr 2004 22:19:41 +0000 (22:19 +0000)]
(scm_bit_extract): Use min instead of MIN.
(MIN): Remove, this conflicts with similar macro defined by limits.h
on HP-UX.  Reported by Andreas Vögele.

20 years ago(NUM2INTEGRAL): Test BIGMPZ_FITSP with "!= 0" to
Kevin Ryde [Tue, 27 Apr 2004 22:16:12 +0000 (22:16 +0000)]
(NUM2INTEGRAL): Test BIGMPZ_FITSP with "!= 0" to
avoid warning from gcc 3.4.  Reported by Hyperdivision.

20 years ago(NUM2INTEGRAL): Under non-BIGMPZ_FITSP case,
Kevin Ryde [Tue, 27 Apr 2004 21:56:01 +0000 (21:56 +0000)]
(NUM2INTEGRAL): Under non-BIGMPZ_FITSP case,
corrections to range check for signed numbers.  Remove
scm_remember_upto_here_1(num) from these checks, since num is used
subsequently anyway.

20 years ago * libguile/eval.c (s_macro_keyword): New static identifier.
Dirk Herrmann [Mon, 26 Apr 2004 19:59:03 +0000 (19:59 +0000)]
* libguile/eval.c (s_macro_keyword): New static identifier.

(scm_m_define): Change order to first create binding and
evaluating the expression afterwards.

(scm_m_set_x): Memoize complete set! expression.  Only leave
symbols if no binding exists at memoization time.  Throw error if
assigning to a syntactic keyword.

(lazy_memoize_variable): New function.

(CEVAL): When execution set!, perform lazy memoization if
unmemoized symbol is detected.

* libguile/modules.c (module_variable): Return variables with
unbound value.

* libguile/tags.h: Fix comment.

* test-suite/tests/syntax.test: Add test case to check the correct
handling of define expressions.

20 years ago*** empty log message ***
Kevin Ryde [Sat, 24 Apr 2004 22:06:13 +0000 (22:06 +0000)]
*** empty log message ***

20 years ago(scm_tables_prehistory): Remove.
Kevin Ryde [Sat, 24 Apr 2004 22:04:51 +0000 (22:04 +0000)]
(scm_tables_prehistory): Remove.

20 years ago(scm_char_upcase, scm_char_downcase, scm_c_upcase,
Kevin Ryde [Sat, 24 Apr 2004 22:03:28 +0000 (22:03 +0000)]
(scm_char_upcase, scm_char_downcase, scm_c_upcase,
scm_c_downcase): Use ctype.h toupper and tolower.  This will be useful
in 8-bit locales, and ensures consistency with char-upper-case? and
char-lower-case? which already use ctype.h.
(scm_c_upcase_table, scm_c_downcase_table, scm_lowers, scm_uppers): Remove.
(scm_tables_prehistory): Remove.

20 years ago*** empty log message ***
Kevin Ryde [Sat, 24 Apr 2004 21:31:42 +0000 (21:31 +0000)]
*** empty log message ***

20 years agoAdd a copyright year, based on the changelog.
Kevin Ryde [Sat, 24 Apr 2004 21:30:35 +0000 (21:30 +0000)]
Add a copyright year, based on the changelog.

20 years ago(s_scm_make_uve): Remove unused local variable. Reported by
Kevin Ryde [Sat, 24 Apr 2004 21:21:22 +0000 (21:21 +0000)]
(s_scm_make_uve): Remove unused local variable.  Reported by
Hyperdivision.

20 years ago(scm_yield): Correction, actually call scm_thread_yield.
Kevin Ryde [Sat, 24 Apr 2004 21:19:30 +0000 (21:19 +0000)]
(scm_yield): Correction, actually call scm_thread_yield.
Reported by Hyperdivision.

20 years ago*** empty log message ***
Kevin Ryde [Sat, 24 Apr 2004 21:18:30 +0000 (21:18 +0000)]
*** empty log message ***

20 years ago * tests/socket.test: New file.
Kevin Ryde [Sat, 24 Apr 2004 21:17:13 +0000 (21:17 +0000)]
* tests/socket.test: New file.
* Makefile.am (SCM_TESTS): Add it.

20 years agoNew file.
Kevin Ryde [Sat, 24 Apr 2004 21:13:16 +0000 (21:13 +0000)]
New file.

20 years ago(VALIDATE_INET6): Correction to bignum_in_ipv6_range_p
Kevin Ryde [Sat, 24 Apr 2004 21:04:58 +0000 (21:04 +0000)]
(VALIDATE_INET6): Correction to bignum_in_ipv6_range_p
call.  Reported by Hyperdivision.

20 years ago * srfi-17.scm (setter, car, cdr etc.): When within one define
Dirk Herrmann [Sat, 24 Apr 2004 08:48:58 +0000 (08:48 +0000)]
* srfi-17.scm (setter, car, cdr etc.): When within one define
expression a new variable in the local module is defined in terms
of an equally named variable from some other module, use @ to
refer to the variable in the other module.  This is necessary due
to section 5.2.1 of R5RS: In a define expression first the new
binding is created and then the expression is evaluated.

20 years ago*** empty log message ***
Kevin Ryde [Fri, 23 Apr 2004 21:20:17 +0000 (21:20 +0000)]
*** empty log message ***

20 years ago * tests/srfi-11.test: New file.
Kevin Ryde [Fri, 23 Apr 2004 21:19:26 +0000 (21:19 +0000)]
* tests/srfi-11.test: New file.
* Makefile.am (SCM_TESTS): Add it.

20 years agoNew file.
Kevin Ryde [Fri, 23 Apr 2004 21:17:34 +0000 (21:17 +0000)]
New file.

20 years ago(let-values): Use make-symbol rather than gensym, for
Kevin Ryde [Fri, 23 Apr 2004 21:14:20 +0000 (21:14 +0000)]
(let-values): Use make-symbol rather than gensym, for
guaranteed uniqueness of temp variable symbols.

20 years ago Hide the implementation of ilocs and isyms in eval.c.
Dirk Herrmann [Thu, 22 Apr 2004 19:19:17 +0000 (19:19 +0000)]
Hide the implementation of ilocs and isyms in eval.c.

* deprecated.h (SCM_IFRINC, SCM_ICDR, SCM_IFRAME, SCM_IDIST,
SCM_ICDRP), eval.c (SCM_IFRINC, SCM_ICDR, SCM_IFRAME, SCM_IDIST,
SCM_ICDRP), eval.h (SCM_ICDR, SCM_IFRINC, SCM_IFRAME, SCM_IDIST,
SCM_ICDRP): Deprecated and added to deprecated.h.  Moved from
eval.h to eval.c.

* deprecated.c (scm_isymnames), deprecated.h (scm_isymnames,
SCM_ISYMNUM, SCM_ISYMCHARS), eval.c (SCM_ISYMNUM, isymnames,
scm_unmemocopy, CEVAL), print.c (scm_isymnames), tags.h
(SCM_ISYMNUM, scm_isymnames, SCM_ISYMCHARS): Deprecated
scm_isymnames, SCM_ISYMNUM and SCM_ISYMCHARS and added to
deprecated.[hc].  Moved scm_isymnames from print.c to eval.c and
renamed to isymnames.  Moved SCM_ISYMNUM from tags.h to eval.c and
renamed to ISYMNUM.

* eval.c (scm_i_print_iloc, scm_i_print_isym), eval.h
(scm_i_print_iloc, scm_i_print_isym), print.c (scm_iprin1):
Extracted printing of ilocs and isyms to guile internal functions
scm_i_print_iloc, scm_i_print_isym of eval.c.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 22 Apr 2004 01:27:33 +0000 (01:27 +0000)]
*** empty log message ***

20 years ago(scm_bit_extract): Use SCM_SRS for signed right shift.
Kevin Ryde [Thu, 22 Apr 2004 01:21:39 +0000 (01:21 +0000)]
(scm_bit_extract): Use SCM_SRS for signed right shift.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 22 Apr 2004 00:01:48 +0000 (00:01 +0000)]
*** empty log message ***

20 years ago * standalone/test-round.c: New file, exercising scm_round.
Kevin Ryde [Wed, 21 Apr 2004 23:59:04 +0000 (23:59 +0000)]
* standalone/test-round.c: New file, exercising scm_round.
* standalone/Makefile.am: Add it.

20 years agoNew file, exercising scm_round.
Kevin Ryde [Wed, 21 Apr 2004 23:53:23 +0000 (23:53 +0000)]
New file, exercising scm_round.

20 years ago*** empty log message ***
Kevin Ryde [Wed, 21 Apr 2004 23:48:47 +0000 (23:48 +0000)]
*** empty log message ***

20 years ago(AC_CHECK_HEADERS): Add fenv.h.
Kevin Ryde [Wed, 21 Apr 2004 23:37:22 +0000 (23:37 +0000)]
(AC_CHECK_HEADERS): Add fenv.h.
(AC_CHECK_FUNCS): Add fesetround.

20 years ago*** empty log message ***
Kevin Ryde [Wed, 21 Apr 2004 23:30:39 +0000 (23:30 +0000)]
*** empty log message ***

20 years ago(scm_round): Test for x already an integer, to avoid bad
Kevin Ryde [Wed, 21 Apr 2004 23:15:55 +0000 (23:15 +0000)]
(scm_round): Test for x already an integer, to avoid bad
rounding in x+0.5 when x is a big value already an integer.  In
certain hardware rounding cases x+0.5 can give an adjacent integer,
leading to that as the result, when we really just wanted x itself.

20 years agoBig reorganization of the whole manual to give it a simpler structure.
Marius Vollmer [Wed, 21 Apr 2004 14:33:05 +0000 (14:33 +0000)]
Big reorganization of the whole manual to give it a simpler structure.

20 years ago * eval.c (scm_unmemocopy): Fixed unmemoization of let*.
Dirk Herrmann [Mon, 19 Apr 2004 16:49:56 +0000 (16:49 +0000)]
* eval.c (scm_unmemocopy): Fixed unmemoization of let*.

(deval_args, CEVAL): Minor improvements: Reduced variable scopes,
added const qualifiers, cast intentionally unused expressions to
void for emphasis, improved comment.

20 years ago * tags.h (scm_tags, scm_tc8_tags, scm_tc9_flag, scm_tc8_flag,
Dirk Herrmann [Sun, 18 Apr 2004 08:56:27 +0000 (08:56 +0000)]
* tags.h (scm_tags, scm_tc8_tags, scm_tc9_flag, scm_tc8_flag,
scm_tc8_isym): Renamed scm_tags to scm_tc8_tags.  Renamed
scm_tc9_flag to scm_tc8_flag.  Introduced new identifier
scm_tc8_isym.  Defined tc8-tags relative to scm_tc3_imm24.
Defined the tc8-tag for flags to be 0x04, which will mean that
SCM_BOOL_F will also have the value 0x04 instead of 0x013c.  Due
to the reduced number of bits and the simpler bit pattern for
SCM_BOOL_F, certain machines may be able to use more efficient
processor instructions to deal with SCM_BOOL_F.

(SCM_ITAG9, SCM_MAKE_ITAG9, SCM_ITAG9_DATA): Removed.  These have
never been defined in a released version, thus no need to
deprecate them.

(SCM_IFLAGP, SCM_MAKIFLAG, SCM_IFLAGNUM): Flags now use tc8
instead of tc9 tags.

(SCM_ISYMP, SCM_MAKISYM, SCM_ISYMNUM): Isyms now use tc8 instead
of tc9 tags.

(SCM_MAKSPCSYM): Removed.  It is almost impossible that user code
could have used this definition.

(SCM_IM_AND, SCM_IM_BEGIN, SCM_IM_CASE, SCM_IM_COND, SCM_IM_DO,
SCM_IM_IF, SCM_IM_LAMBDA, SCM_IM_LET, SCM_IM_LETSTAR,
SCM_IM_LETREC, SCM_IM_OR, SCM_IM_QUOTE, SCM_IM_SET_X): Now encoded
as isyms, as special isyms don't exist any more.

20 years ago*** empty log message ***
Kevin Ryde [Sun, 18 Apr 2004 00:54:29 +0000 (00:54 +0000)]
*** empty log message ***

20 years ago(AC_CHECK_FUNCS): Add readdir_r.
Kevin Ryde [Sun, 18 Apr 2004 00:53:36 +0000 (00:53 +0000)]
(AC_CHECK_FUNCS): Add readdir_r.

20 years ago(scm_readdir): Use readdir_r when available, for thread safety.
Kevin Ryde [Sun, 18 Apr 2004 00:39:16 +0000 (00:39 +0000)]
(scm_readdir): Use readdir_r when available, for thread safety.

20 years ago*** empty log message ***
Kevin Ryde [Sat, 17 Apr 2004 22:58:34 +0000 (22:58 +0000)]
*** empty log message ***

20 years ago(scm_max, scm_min): For big/real, use SCM_SWAP rather than
Kevin Ryde [Sat, 17 Apr 2004 21:58:23 +0000 (21:58 +0000)]
(scm_max, scm_min): For big/real, use SCM_SWAP rather than
explicit swapping code.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 15 Apr 2004 01:53:31 +0000 (01:53 +0000)]
*** empty log message ***

20 years ago(scm_gcd): For inum/big, use mpz_gcd_ui by sharing code with big/inum.
Kevin Ryde [Thu, 15 Apr 2004 01:45:12 +0000 (01:45 +0000)]
(scm_gcd): For inum/big, use mpz_gcd_ui by sharing code with big/inum.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 15 Apr 2004 01:37:31 +0000 (01:37 +0000)]
*** empty log message ***

20 years ago(xisinf): Add a comment about solaris 7 lacking isinf.
Kevin Ryde [Thu, 15 Apr 2004 01:24:00 +0000 (01:24 +0000)]
(xisinf): Add a comment about solaris 7 lacking isinf.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 15 Apr 2004 00:53:30 +0000 (00:53 +0000)]
*** empty log message ***

20 years ago(min): Correction, test "documented? min" not "documented? max".
Kevin Ryde [Thu, 15 Apr 2004 00:52:48 +0000 (00:52 +0000)]
(min): Correction, test "documented? min" not "documented? max".

20 years ago(max, min): Exercise some inum/frac, frac/inum,
Kevin Ryde [Thu, 15 Apr 2004 00:50:49 +0000 (00:50 +0000)]
(max, min): Exercise some inum/frac, frac/inum,
big/frac, frac/big and frac/frac cases.

20 years agoAdd SIGSYS.
Kevin Ryde [Thu, 15 Apr 2004 00:47:02 +0000 (00:47 +0000)]
Add SIGSYS.

20 years ago(scm_max, scm_min): For inum/frac, frac/inum, big/frac,
Kevin Ryde [Thu, 15 Apr 2004 00:44:19 +0000 (00:44 +0000)]
(scm_max, scm_min): For inum/frac, frac/inum, big/frac,
frac/big and frac/frac, use scm_less_p for exact comparison.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 15 Apr 2004 00:38:30 +0000 (00:38 +0000)]
*** empty log message ***

20 years ago(scm_string_trim, scm_string_trim_right, scm_string_trim_both):
Kevin Ryde [Thu, 15 Apr 2004 00:29:03 +0000 (00:29 +0000)]
(scm_string_trim, scm_string_trim_right, scm_string_trim_both):
Cast to unsigned char for isspace.

20 years ago(scm_append_x): Use iterative style, to avoid non-tail recursion.
Kevin Ryde [Thu, 15 Apr 2004 00:23:57 +0000 (00:23 +0000)]
(scm_append_x): Use iterative style, to avoid non-tail recursion.

20 years ago(scm_cell): use SCM_GC_CELL_WORD for checking tag.
Han-Wen Nienhuys [Tue, 6 Apr 2004 21:49:43 +0000 (21:49 +0000)]
(scm_cell): use SCM_GC_CELL_WORD for checking tag.

20 years ago* srfi-13.c (s_scm_string_map): convert character to unsigned char
Han-Wen Nienhuys [Tue, 6 Apr 2004 21:48:02 +0000 (21:48 +0000)]
* srfi-13.c (s_scm_string_map): convert character to unsigned char
before converting to unsigned int. This prevents hi-bit ascii as
being converted large integers.
(string_upcase_x): change caller for scm_{up,down}case to
scm_c_{up,down}case

* chars.h (scm_init_chars): change scm_{upcase,downcase} to
scm_c_{up,down}case.
(SCM_MAKE_CHAR): add (unsigned char) cast. This prevents havoc
when hi-bit ASCII is subjected to SCM_MAKE_CHAR().

20 years ago*** empty log message ***
Kevin Ryde [Tue, 6 Apr 2004 00:30:25 +0000 (00:30 +0000)]
*** empty log message ***

20 years ago(scm_ash): Remove stray "}" in docstring.
Kevin Ryde [Tue, 6 Apr 2004 00:17:41 +0000 (00:17 +0000)]
(scm_ash): Remove stray "}" in docstring.

20 years ago*** empty log message ***
Kevin Ryde [Tue, 6 Apr 2004 00:08:18 +0000 (00:08 +0000)]
*** empty log message ***

20 years ago*** empty log message ***
Kevin Ryde [Mon, 5 Apr 2004 23:54:28 +0000 (23:54 +0000)]
*** empty log message ***

20 years ago(scm_make_ratio): For inum/bignum integer detection, use
Kevin Ryde [Mon, 5 Apr 2004 23:31:20 +0000 (23:31 +0000)]
(scm_make_ratio): For inum/bignum integer detection, use
x==SCM_MOST_NEGATIVE_FIXNUM explicitly, for clarity and to avoid
calling mpz_cmp_ui in most cases.

20 years agoTweak a few words from:
Kevin Ryde [Mon, 5 Apr 2004 23:14:55 +0000 (23:14 +0000)]
Tweak a few words from:
(Continuations): Rewrite with more detail.

20 years ago(quotient, remainder): Exercise inum/big at and
Kevin Ryde [Mon, 5 Apr 2004 23:05:37 +0000 (23:05 +0000)]
(quotient, remainder): Exercise inum/big at and
near special case inum == fixnum-min, big == -fixnum-min.

20 years ago*** empty log message ***
Kevin Ryde [Mon, 5 Apr 2004 22:58:28 +0000 (22:58 +0000)]
*** empty log message ***

20 years ago(scm_quotient, scm_remainder): In inum/big, use mpz_cmp_ui
Kevin Ryde [Mon, 5 Apr 2004 22:48:05 +0000 (22:48 +0000)]
(scm_quotient, scm_remainder): In inum/big, use mpz_cmp_ui
for big == abs(most-negative-fixnum) special case.
(abs_most_negative_fixnum): Remove, no longer used.

20 years ago(scm_sigaction_for_thread): Correction to signum range
Kevin Ryde [Mon, 5 Apr 2004 22:46:29 +0000 (22:46 +0000)]
(scm_sigaction_for_thread): Correction to signum range
test, avoids SCM_VECTOR_REF outside bounds of signal_handlers on
calling (sigaction NSIG).

20 years ago(scm_system_star): Fix execargv memory leak, merge parent
Kevin Ryde [Mon, 5 Apr 2004 22:45:17 +0000 (22:45 +0000)]
(scm_system_star): Fix execargv memory leak, merge parent
and fork error cases to do this.

20 years ago * eval.c (CEVAL): Don't distinguish between short and long
Dirk Herrmann [Sat, 3 Apr 2004 16:38:56 +0000 (16:38 +0000)]
* eval.c (CEVAL): Don't distinguish between short and long
instructions when dispatching - just always dispatch on the
instruction code, which is common for short and long instructions.
Further, removed unnecessary goto statements and added comment.

20 years ago * eval.c (scm_unmemocopy): Don't distinguish between short and
Dirk Herrmann [Sat, 3 Apr 2004 15:45:36 +0000 (15:45 +0000)]
* eval.c (scm_unmemocopy): Don't distinguish between short and
long instructions when dispatching - just always dispatch on the
instruction code, which is common for short and long instructions.
Further, removed unnecessary goto statements, fixed indentation
and replaced SCM_IMP predicates by SCM_NULLP.

20 years ago * eval.c (scm_lookupcar1, CEVAL): Use SCM_ILOCP instead of
Dirk Herrmann [Sat, 3 Apr 2004 14:24:17 +0000 (14:24 +0000)]
* eval.c (scm_lookupcar1, CEVAL): Use SCM_ILOCP instead of
comparison with SCM_ILOC00.  In CEVAL, eliminate goto-label
'checkmacro'.

20 years ago*** empty log message ***
Kevin Ryde [Wed, 31 Mar 2004 02:00:01 +0000 (02:00 +0000)]
*** empty log message ***

20 years agoInclude <signal.h> for SIG_IGN and friends.
Kevin Ryde [Wed, 31 Mar 2004 01:59:02 +0000 (01:59 +0000)]
Include <signal.h> for SIG_IGN and friends.

20 years ago Introduce scm_debug_mode_p as a replacement for scm_debug_mode and
Dirk Herrmann [Mon, 29 Mar 2004 19:59:43 +0000 (19:59 +0000)]
Introduce scm_debug_mode_p as a replacement for scm_debug_mode and
SCM_DEBUGGINGP:

* debug.h (scm_debug_mode_p, scm_debug_mode, SCM_DEBUGGINGP),
eval.c (scm_debug_mode_p): Deprecated scm_debug_mode and
SCM_DEBUGGINGP.  Provided scm_debug_mode_p instead, to have one
single interface that also matches the naming conventions.
Probably scm_debug_mode_p should be part of the private interface
anyway.

* debug.h (scm_debug_mode_p), backtrace.c (display_error_body),
eval.c (SCM_APPLY, scm_trampoline_0, scm_trampoline_1,
scm_trampoline_2): Change uses of scm_debug_mode or SCM_DEBUGGINGP
to scm_debug_mode_p.

Deprecate direct access to scm_ceval, scm_deval and scm_ceval_ptr:

* eval.h (scm_ceval, scm_deval, scm_ceval_ptr), debug.h
(scm_ceval_ptr): Deprecated.  Moved declaration of scm_ceval_ptr
from debug.h to eval.h.

* debug.h (SCM_RESET_DEBUG_MODE): Don't access scm_ceval_ptr any
more, just leave it with setting scm_debug_mode_p, which is
equivalent for practical purposes.

* deprecated.h (SCM_XEVAL, SCM_XEVALCAR): Call scm_i_eval_x
instead of *scm_ceval_ptr.  Leave all evaluating to scm_i_eval_x.

* gdbint.c (gdb_eval): Call scm_i_eval_x instead of scm_ceval.

* eval.c (ceval, deval, scm_ceval, scm_deval): Made scm_ceval
static and renamed it to ceval throughout.  Provide a new exported
but deprecated function scm_ceval as a wrapper for backwards
compatibility.  The same is done for the deval/scm_deval pair of
functions.

* eval.c (CEVAL, SCM_CEVAL): Renamed SCM_CEVAL to CEVAL
throughout.  Defined CEVAL to ceval or deval, based on compilation
phase.

* eval.c (SCM_XEVAL, SCM_XEVALCAR): Dispatch on scm_debug_mode_p
to ceval and deval instead of calling *scm_ceval_ptr.

* eval.c (dispatching_eval): New deprecated static function.

* eval.c (scm_ceval_ptr): Initialized to dispatching_eval in order
to emulate its old behaviour as closely as possible.

Change the evaluator such that only expressions for which pair? is
true are passed to CEVAL, and such that all other expressions are
evaluated outside of CEVAL:

* eval.c (EVAL): New, provided in analogy to EVALCAR.  Evaluate an
expression that is assumed to be memoized already.  All but
expressions of the form '(<form> <form> ...)' are evaluated inline
without calling an evaluator.

* eval.c (SCM_XEVAL, SCM_XEVALCAR, EVALCAR): Evaluate all but
expressions of the form '(<form> <form> ...)' inline without
calling an evaluator.

* eval.c (scm_i_eval_x, scm_i_eval, scm_ceval, scm_deval): Handle
the special case of unmemoized symbols passed on the top level.

* eval.c (CEVAL): Change calls to CEVAL to EVAL, except where it
is known that the expression passed to CEVAL is of the form
'(<form> <form> ...)'.  Remove handling of the tc7-objects, since
now it is known that the input expression of CEVAL is a pair.

20 years ago * eval.c (is_self_quoting_p): New static function.
Dirk Herrmann [Mon, 29 Mar 2004 08:24:57 +0000 (08:24 +0000)]
* eval.c (is_self_quoting_p): New static function.

(scm_m_quote): Use is_self_quoting_p.

(copy_tree): Corrected typo in comment.

20 years ago* eval.c (s_scm_copy_tree): idem.
Han-Wen Nienhuys [Sun, 28 Mar 2004 13:57:19 +0000 (13:57 +0000)]
* eval.c (s_scm_copy_tree): idem.

* list.c (s_scm_filter): remove "pointer" from doc string.

20 years ago* gc.h (SCM_GC_CELL_TYPE): SCM_GC_CELL_TYPE uses SCM_GC_CELL_OBJECT.
Han-Wen Nienhuys [Sun, 28 Mar 2004 13:55:03 +0000 (13:55 +0000)]
* gc.h (SCM_GC_CELL_TYPE): SCM_GC_CELL_TYPE uses SCM_GC_CELL_OBJECT.

* goops.h (SCM_NUMBER_OF_SLOTS): don't SCM_UNPACK the result.

* backtrace.c ("display_backtrace_body"): SCM_PACK before SCM_EQ_P
(display_frame): idem.
(display_backtrace_file_and_line): idem.

* tags.h (SCM_UNPACK): stricter typechecking on SCM_UNPACK
arguments.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 25 Mar 2004 22:46:04 +0000 (22:46 +0000)]
*** empty log message ***

20 years ago(scm_getcwd, scm_readlink): Avoid memory leak on errors.
Kevin Ryde [Thu, 25 Mar 2004 22:26:17 +0000 (22:26 +0000)]
(scm_getcwd, scm_readlink): Avoid memory leak on errors.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 25 Mar 2004 21:57:25 +0000 (21:57 +0000)]
*** empty log message ***

20 years ago(scm_modulo): For inum/big and big/big, remove test of
Kevin Ryde [Thu, 25 Mar 2004 21:56:27 +0000 (21:56 +0000)]
(scm_modulo): For inum/big and big/big, remove test of
big==0 since that never occurs.

20 years ago(scm_modulo_expt): Renamed from
Kevin Ryde [Thu, 25 Mar 2004 21:55:20 +0000 (21:55 +0000)]
(scm_modulo_expt): Renamed from
scm_modular_expt, matching scheme level name `modulo-expt'.

20 years ago(scm_modular_expt): Return a negative remainder for a
Kevin Ryde [Thu, 25 Mar 2004 21:51:39 +0000 (21:51 +0000)]
(scm_modular_expt): Return a negative remainder for a
negative divisor, the same as `modulo' does.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 25 Mar 2004 21:49:28 +0000 (21:49 +0000)]
*** empty log message ***

20 years ago2004-03-26 Eric Hanchrow <offby1@blarg.net>
Kevin Ryde [Thu, 25 Mar 2004 21:46:35 +0000 (21:46 +0000)]
2004-03-26  Eric Hanchrow <offby1@blarg.net>
* tests/numbers.test (modulo-expt): New tests.

20 years ago(min, max): Check inexactness of big/real and
Kevin Ryde [Thu, 25 Mar 2004 21:45:11 +0000 (21:45 +0000)]
(min, max): Check inexactness of big/real and
real/big combinations, collect up tests under arg types for clarity.

20 years agoAdd copyright years based on ChangeLog entries.
Kevin Ryde [Thu, 25 Mar 2004 21:38:59 +0000 (21:38 +0000)]
Add copyright years based on ChangeLog entries.

20 years ago2004-03-26 Eric Hanchrow <offby1@blarg.net>
Kevin Ryde [Thu, 25 Mar 2004 21:35:53 +0000 (21:35 +0000)]
2004-03-26  Eric Hanchrow <offby1@blarg.net>
* numbers.c, numbers.h (scm_modular_expt): New function.

20 years ago*** empty log message ***
Kevin Ryde [Wed, 24 Mar 2004 23:29:22 +0000 (23:29 +0000)]
*** empty log message ***

20 years ago(SLIB): Amend `require' cross reference node name, is
Kevin Ryde [Wed, 24 Mar 2004 23:28:54 +0000 (23:28 +0000)]
(SLIB): Amend `require' cross reference node name, is
called "Require" in slib 3a1.

20 years ago*** empty log message ***
Kevin Ryde [Wed, 24 Mar 2004 22:16:50 +0000 (22:16 +0000)]
*** empty log message ***

20 years ago(scm_min, scm_max): Correction to big/real and real/big,
Kevin Ryde [Wed, 24 Mar 2004 21:53:31 +0000 (21:53 +0000)]
(scm_min, scm_max): Correction to big/real and real/big,
return inexact as required by r5rs.

20 years ago * libguile/eval.c: Separated some definitions relevant for execution
Dirk Herrmann [Wed, 24 Mar 2004 01:21:50 +0000 (01:21 +0000)]
* libguile/eval.c: Separated some definitions relevant for execution
from the memoization part of the file.

(copy_tree): New static function

(scm_copy_tree): Rewritten to fix two kinds or bugs: First, cyclic
structures are detected now and will lead to an exception instead
of forcing guile to run in an endless loop, using up all the
system's memory.  Second, arrays in the cdr of an improper list
are now copied.  See the new test cases in eval.test.

* test-suite/tests/eval.test: Added tests which reflect the recent
fixes to copy-tree.

20 years ago * posix.c (scm_gethostname): Make sure len is initialised before
Dirk Herrmann [Wed, 24 Mar 2004 00:49:07 +0000 (00:49 +0000)]
* posix.c (scm_gethostname): Make sure len is initialised before
it is used.  Restructured to (hopefully) represent possible
configurations more clearly in the code.  Added unwind handler.

20 years ago*** empty log message ***
Kevin Ryde [Tue, 23 Mar 2004 00:23:54 +0000 (00:23 +0000)]
*** empty log message ***

20 years ago*** empty log message ***
Kevin Ryde [Mon, 22 Mar 2004 23:48:52 +0000 (23:48 +0000)]
*** empty log message ***

20 years ago(AC_CHECK_FUNCS): Add sysconf.
Kevin Ryde [Mon, 22 Mar 2004 23:45:35 +0000 (23:45 +0000)]
(AC_CHECK_FUNCS): Add sysconf.
(AC_CHECK_HEADERS): Add netdb.h and sys/param.h.