1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 20:00:19 +02:00
Commit graph

588 commits

Author SHA1 Message Date
Dirk Herrmann
2510c81061 * eval.c (scm_trampoline_0, scm_trampoline_1, scm_trampoline_2):
Make sure that error checking in debug mode is not worse than in
	standard mode.
2003-11-02 10:48:10 +00:00
Dirk Herrmann
34adf7eaf2 * eval.c (scm_m_body, scm_m_lambda): Documentation strings are not
handled in scm_m_body any more, but rather in scm_m_lambda.

	(scm_m_body, memoize_named_let, scm_m_let, scm_m_letstar,
	scm_m_letrec, scm_m_expand_body): Check for validity is done by
	calling functions of scm_m_body.

	(scm_m_lambda): Avoid unnecessary consing when creating the
	memoized code.
2003-11-01 10:21:15 +00:00
Dirk Herrmann
89bff2fc10 * libguile/eval.c (s_expression): Added comment.
(s_empty_combination, error_unbound_variable): New static
	identifiers.

	(SCM_VALIDATE_NON_EMPTY_COMBINATION, SCM_EVALIM2, scm_lookupcar1):
	Use ASSERT_SYNTAX, syntax_error or error_unbound_variable to
	signal syntax errors.

	(SCM_CEVAL): Separated handling of evaluator bytecodes and other
	scheme objects.

	* test-suite/tests/syntax.test (exception:missing/extra-expr-misc):
	Removed.

	(exception:illegal-empty-combination): New.

	(exception:missing/extra-expr): Unified capitalization.

	Adapted test for '()' to the new way of error reporting.
2003-11-01 07:26:44 +00:00
Dirk Herrmann
60a4984209 * eval.c (unmemocar, sym_three_question_marks, scm_unmemocar):
Grouped together with unmemocopy, without modifications.

	(build_binding_list, unmemocopy): Renamed names of list arguments
	and variables to reflect the actual order of the list elements.
2003-10-25 07:00:50 +00:00
Dirk Herrmann
70c1c10864 * eval.c (s_defun): New static identifier.
(scm_m_nil_cond, scm_m_atfop, scm_m_undefine): Add comments.  Use
	ASSERT_SYNTAX to signal syntax errors.  Avoid unnecessary consing
	when creating the memoized code.
2003-10-22 20:16:41 +00:00
Dirk Herrmann
9a848baf55 * eval.c (s_bad_slot_number): New static identifier.
(scm_m_atslot_ref, scm_m_atslot_set_x): Use ASSERT_SYNTAX to
	signal syntax errors.  Avoid unnecessary consing when creating the
	memoized code.
2003-10-18 19:03:24 +00:00
Dirk Herrmann
da48db629c * libguile/eval.c (scm_m_cont, scm_m_at_call_with_values,
scm_m_generalized_set_x): Use ASSERT_SYNTAX to signal syntax
	errors.  Avoid unnecessary consing when creating the memoized
	code.

	(scm_m_generalized_set_x): Let scm_m_set_x handle the R5RS
	standard case.  Make sure line and file information are copied to
	every created expression.

	* test-suite/tests/syntax.test (exception:bad-var): Removed.

	Adapted tests for 'set!' to the new way of error reporting.
2003-10-18 18:26:43 +00:00
Dirk Herrmann
82b3e2c612 * libguile/eval.c (scm_m_set_x, scm_m_apply, scm_m_atbind): Use
ASSERT_SYNTAX to signal syntax errors.  Avoid unnecessary consing
	when creating the memoized code.

	(scm_m_atbind): Reversed the order, in which the init expressions
	are stored and executed.  The order of execution is now equal to
	the order in which the initializers of the let-forms are executed.
	Use check_bindings and transform_bindings.

	(SCM_CEVAL): Eliminated SCM_NIMP in favor of more appropriate
	!SCM_NULLP.  Added some comments.

	* test-suite/tests/dynamic-scope.test (exception:missing-expr):
	Introduced temporarily until all memoizers use the new way of error
	reporting.
2003-10-18 17:24:09 +00:00
Dirk Herrmann
216286857b * libguile/eval.c: Sorted include files alphabetically.
(scm_m_begin): Added comment.

	(scm_m_or): Use ASSERT_SYNTAX to signal syntax errors.  Avoid
	unnecessary consing when creating the memoized code.

	(iqq, scm_m_quasiquote, scm_m_quote): Use ASSERT_SYNTAX to signal
	syntax errors.  Be more specific about the kind of error that was
	detected.

	(scm_m_quote, unmemocopy): As an optimization, vector constants
	are now inserted unquoted into the memoized code.  During
	unmemoization the quotes are added again to provide syntactically
	correct code.

	* test-suite/tests/syntax.test (exception:missing/extra-expr,
	exception:missing/extra-expr-misc): Renamed
	exception:missing/extra-expr to exception:missing/extra-expr-misc.

	(exception:missing/extra-expr-syntax,
	exception:missing/extra-expr): Renamed
	exception:missing/extra-expr-syntax to
	exception:missing/extra-expr.
2003-10-18 14:49:55 +00:00
Dirk Herrmann
d6754c2398 * libguile/eval.c (scm_m_let, scm_m_letstar, scm_m_letrec,
scm_m_expand_body, check_bindings): Extracted syntax checking of
	bindings to new static function check_bindings.

	(scm_m_let, memoize_named_let): Extracted handling of named let to
	new static function memoize_named_let.

	(transform_bindings, scm_m_let, scm_m_letstar, scm_m_letrec): Use
	ASSERT_SYNTAX to signal syntax errors.  Be more specific about the
	kind of error that was detected.  Avoid use of SCM_CDRLOC.  Avoid
	unnecessary consing when creating the memoized code.

	* test-suite/lib.scm (exception:bad-variable): New.

	* test-suite/tests/syntax.test (exception:bad-binding,
	exception:duplicate-binding): New.

	(exception:duplicate-bindings): Removed.

	Adapted tests for 'let', 'let*' and 'letrec' to the new way of
	error reporting.
2003-10-18 12:07:39 +00:00
Dirk Herrmann
03a3e94134 * libguile/eval.c (s_bad_formals, s_bad_formal, s_duplicate_formal):
New static identifiers.

	(s_clauses, s_formals, s_duplicate_formals): Removed.

	(scm_m_lambda): Use ASSERT_SYNTAX to signal syntax errors.  Be more
	specific about the kind of error that was detected.  Prepare for
	easier integration of changes for separated memoization.

	* test-suite/tests/syntax.test (define exception:bad-formal, define
	exception:duplicate-formal): New.

	(exception:duplicate-formals): Removed.

	(exception:bad-formals): Adapted to the new way of error
	reporting.

	Adapted tests for 'lambda' to the new way of error reporting.
2003-10-12 20:47:32 +00:00
Dirk Herrmann
4610b011a7 * libguile/eval.c (s_duplicate_binding): New static identifier.
(scm_m_case): Call scm_c_memq instead of implementing it inline.

	(scm_m_define): Added comment about how we check for duplicate
	formals.

	(scm_m_do): Added check for duplicate bindings.

	(scm_m_if): Use ASSERT_SYNTAX to signal syntax errors.  Avoid
	unnecessary consing when creating the memoized code.

	(scm_c_improper_memq, c_improper_memq, scm_m_lambda): Renamed
	scm_c_improper_memq to c_improper_memq, since it is not exported.

	(transform_bindings): Call scm_c_memq rather than
	scm_c_improper_memq.

	(SCM_CEVAL): Simplified handling of SCM_IM_IF forms.

	* test-suite/tests/syntax.test (exception:missing/extra-expr-syntax):
        New, introduced temporarily until all memoizers use the new way of
	error reporting.

	Adapted tests for 'if' to the new way of error reporting.
2003-10-12 12:58:51 +00:00
Dirk Herrmann
a954ce1d25 * eval.c (s_bad_bindings, s_bad_binding, s_bad_exit_clause): New
static identifiers.

	(scm_m_do): Use ASSERT_SYNTAX to signal syntax errors.  Be more
	specific about the kind of error that was detected.  Avoid use of
	SCM_CDRLOC.  Avoid unnecessary consing when creating the memoized
	code, this way also making sure that file name, line number
	information etc. remain available.
2003-10-12 09:22:52 +00:00
Dirk Herrmann
8ae95199fd * eval.c (memoize_as_thunk_prototype): New static function.
(scm_m_delay, scm_m_future): Use memoize_as_thunk_prototype.
	Avoid unnecessary consing when creating the memoized code.
2003-10-12 07:13:46 +00:00
Dirk Herrmann
cc56ba8062 * libguile/eval.c (s_missing_expression, s_bad_variable): New static
identifiers.

	(scm_m_define): Use ASSERT_SYNTAX to signal syntax errors.  Prefer
	R5RS terminology for the naming of variables.  Be more specific
	about the kind of error that was detected.  Make sure file name,
	line number etc. are added to all freshly created expressions.
	Avoid unnecessary consing when creating the memoized code.

	* test-suite/tests/syntax.test (exception:missing-expr,
	exception:extra-expr): New.

	Adapted tests for 'begin' to the new way of error
	reporting.
2003-10-11 16:03:29 +00:00
Dirk Herrmann
609a8b86ae * libguile/eval.c (s_extra_expression, s_misplaced_else_clause,
s_bad_cond_clause, s_missing_recipient): New static identifiers.

	(s_extra_case_clause): Removed.

	(scm_m_case, scm_m_cond): If a clause appears after an else
	clause, report a misplaced else clause.

	(scm_m_cond): Use ASSERT_SYNTAX to signal syntax errors.  Be more
	specific about the kind of error that was detected.  Handle bound
	'else and '=>.  Avoid unnecessary consing when creating the
	memoized code.

	(scm_m_cond, unmemocopy, SCM_CEVAL): Use SCM_IM_ELSE to memoize
	the syntactic keyword 'else and SCM_IM_ARROW to memoize the
	syntactic keyword '=>.

	* test-suite/tests/syntax.test (exception:misplaced-else-clause,
	exception:bad-cond-clause): New.

	(exception:bad/missing-clauses, exception:extra-case-clause):
	Removed.

	Adapted tests for 'case' and 'cond' to the new way of error
	reporting.

	The tests that check if cond is hygienic pass now.
2003-10-11 10:40:19 +00:00
Dirk Herrmann
58a2510b07 * libguile/eval.c (scm_m_case): Allow empty lists of case labels.
* test-suite/tests/syntax.test: Fixed and activated test of empty case
        label support.
2003-10-11 01:52:25 +00:00
Dirk Herrmann
2a6f7afe04 * libguile/tags.h (SCM_IM_ELSE, SCM_IM_ARROW): New memoizer codes.
* libguile/print.c (scm_isymnames): Add names for the new memoizer
        codes.

	* libguile/eval.c (s_missing_clauses, s_bad_case_clause,
	s_extra_case_clause, s_bad_case_labels, s_duplicate_case_label,
	literal_p): New static identifiers.

	(scm_m_case): Use ASSERT_SYNTAX to signal syntax errors.  Be more
	specific about the kind of error that was detected.  Check for
	duplicate case labels.  Handle bound 'else.  Avoid unnecessary
	consing when creating the memoized code.

	(scm_m_case, unmemocopy, SCM_CEVAL): Use SCM_IM_ELSE to memoize
	the syntactic keyword 'else.

	* test-suite/tests/syntax.test (exception:bad-expression,
	exception:missing-clauses, exception:bad-case-clause,
	exception:extra-case-clause, exception:bad-case-labels): New.

	Added some tests and adapted tests for 'case' to the new way of
	error reporting.
2003-10-11 00:57:25 +00:00
Dirk Herrmann
e6729603c0 * libguile/eval.c (s_bad_expression, syntax_error_key, syntax_error,
ASSERT_SYNTAX, ASSERT_SYNTAX_2): New static identifiers.

	(scm_m_and): Use ASSERT_SYNTAX to signal syntax errors.  Avoid
	unnecessary consing when creating the memoized code.

	* test-suite/lib.scm (run-test-exception): Handle syntax errors.
2003-10-10 21:49:27 +00:00
Dirk Herrmann
534c55a97d This set of patches introduces a new tc7 code scm_tc7_number for
numbers.  Bignums, reals and complex numbers are turned from smobs
	into subtypes of scm_tc7_number.

	* tags.h (scm_tc7_number): New.

	* eq.c (scm_equal_p), eval.c (SCM_CEVAL), evalext.c
	(scm_self_evaluating_p), gc-card.c (scm_i_sweep_card), gc-mark.c
	(scm_gc_mark_dependencies), goops.c (create_smob_classes), hash.c
	(scm_hasher), numbers.c, numbers.h (SCM_NUMP), objects.c
	(scm_class_of), print.c (scm_iprin1), smob.c
	(scm_smob_prehistory): Don't handle bignums, reals and complex
	numbers as subtypes of scm_tc7_smob any more.

	* numbers.h, tags.h (scm_tc16_big, scm_tc16_real,
	scm_tc16_complex): Moved definitions from tags.h to numbers.h.
2003-09-18 20:55:40 +00:00
Dirk Herrmann
22f2cf2d9a * tags.h: Reduced the number of short instructions from 14 to 13.
The typecode of the former 14th short instruction is now used to
	represent long instructions.  Changed some comments to reflect
	this fact.

	(SCM_MAKISYM): ISYMs get a new tc7 code, namely the one that was
	previously used by SCM_IM_DEFINE.

	(SCM_IM_DEFINE): Turned into a long instruction.

	* eval.c (unmemocopy, SCM_CEVAL): Treat SCM_IM_DEFINE as a long
	instruction.

	* eval.c (SCM_CEVAL): Since characters and iflags have now a tc7
	code that is separate from all instructions, one level of dispatch
	for long instructions can be eliminated.

	* print.c (scm_isymnames): Removed some commented code.
2003-09-14 08:07:10 +00:00
Dirk Herrmann
f5c6ec2fb0 * test-suite/tests/chars.test: Fixed test comment. The bug that
this test detects was actually introduced by my patch from
	2003-05-31.

	* libguile/eval.c: Partially undid my patch from 2003-05-31.  This
	patch caused the segfault referenced in the previous changelog
	entry.
2003-06-04 23:50:13 +00:00
Dirk Herrmann
47dbd81e77 * test-suite/tests/chars.test: Added test, attempting to apply a
character.  This test will only pass if the other changes that are
	submitted together with this patch are also applied.

	* libguile/tags.h: Fixed comment about the immediate type code
	layout.

	* libguile/eval.c: Fixed handling of non-special instructions.
	Without this patch, guile will segfault on (#\0) and similar
	instructions.
2003-06-04 23:22:54 +00:00
Dirk Herrmann
d0624e391b * __scm.h, gc-card.c (SCM_DEBUG_DEBUGGER_SUPPORT,
SCM_DEBUG_DEBUGGING_SUPPORT): Renamed macro
	SCM_DEBUG_DEBUGGER_SUPPORT to SCM_DEBUG_DEBUGGING_SUPPORT and
	generalized it to apply not only to C level functions but also to
	scheme level functions.

	* debug.c, debug.h, eval.c (make-iloc, scm_make_iloc, iloc?,
	scm_iloc_p, dbg-make-iloc, scm_dbg_make_iloc, dbg-iloc?,
	scm_dbg_iloc_p): Moved functions scm_make_iloc, scm_iloc_p to
	eval.c, made them available under SCM_DEBUG_DEBUGGING_SUPPORT == 1
	only and renamed them to scm_dbg_make_iloc, scm_dbg_iloc_p,
	respectively.

	* deprecated.h, eval.c, eval.h (SCM_ILOC00, SCM_IDINC,
	SCM_IDSTMSK): Deprecated.  The macro definitions are moved from
	eval.h into eval.c and a copy is placed into deprecated.h.

	* eval.c, eval.h (SCM_MAKE_ILOC): Removed from eval.h and placed
	into eval.c. This definition was not part of the API in any
	officially released version of guile and thus does not need to go
	through a phase of deprecation.
2003-06-04 05:28:34 +00:00
Dirk Herrmann
e90c3a895d * deprecated.c, deprecated.h, eval.c, eval.h: Deprecated
scm_s_expression, scm_s_test, scm_s_body, scm_s_bindings,
	scm_s_variable, scm_s_clauses, scm_s_formals.  In eval.c the
	definitions are make static and renamed from scm_s_xxx to s_xxx.
	In deprecated.c the original definitions are copied.

	* deprecated.h, eval.c, eval: Deprecated SCM_EVALIM2, SCM_EVALIM,
	SCM_XEVAL and SCM_XEVALCAR.  The macro definitions are moved from
	eval.h into eval.c and a copy (slightly modified to work in user
	code) is placed into deprecated.h.

	* eval.c: Use the local static s_xxx definitions instead of the
	scm_s_xxx definitions throughout.
2003-06-02 20:54:21 +00:00
Dirk Herrmann
14b18ed6f5 This set of patches separates the representation of the cxr family
of functions (car, cdr etc.) from the dsubr family of functions
	(i. e. functions that take a double precision floating point
	argument).  Further, the algorithm for handling the cxr function
	is improved.

	* eval.c (SCM_CEVAL, SCM_APPLY, scm_trampoline_1), numbers.c
	(scm_asinh, scm_acosh, scm_atanh, scm_truncate, scm_round, floor,
	ceil, sqrt, fabs, exp, log, sin, cos, tan, asin, acos, atan, sinh,
	cosh, tanh), objects.c (scm_class_of), procprop.c
	(scm_i_procedure_arity), ramap.c (scm_array_map_x), tags.h
	(scm_tc7_dsubr, scm_tcs_subrs): Introduce scm_tc7_dsubr as new
	typecode for the dsubr family of functions.

	* ramap.c (ramap_cxr, ramap_dsubr): Renamed ramap_cxr to
	ramap_dsubr.

	* eval.c (SCM_CEVAL, SCM_APPLY, call_cxr_1), pairs.c
	(scm_init_pairs): Make use of the (now usable) second cell element
	of a scm_tc7_cxr function to implement the cxr family of functions
	more efficiently.
2003-06-01 13:58:42 +00:00
Dirk Herrmann
2ca0d20720 * eval.c (SCM_CEVAL, SCM_APPLY, scm_trampoline_0,
scm_trampoline_1, scm_trampoline_2): Postpone error cases to the
	end of an if-else-if-sequence of checks.
2003-05-31 07:38:04 +00:00
Dirk Herrmann
9a069bdd77 * eval.c (SCM_CEVAL): Improved readability of call-with-values
execution.  Generalize apply_closure to apply_proc and use that
	for call-with-values.
2003-05-30 14:36:56 +00:00
Dirk Herrmann
e910e9d2eb * eval.c (SCM_CEVAL): Avoid one level of indirection when applying
a non closure.
2003-05-30 11:04:57 +00:00
Dirk Herrmann
ddd8f927d8 * libguile/eval.c (SCM_CEVAL): In case of an application, all checks
for a proper function object and the correct number of arguments are
	now performed in the application part of SCM_CEVAL.

	(scm_badformalsp):  Removed.

	* test-suite/tests/r5rs_pitfall.test: Test 2.1 now passes.
2003-05-25 07:50:23 +00:00
Mikael Djurfeldt
79f55b7c6b * __scm.h (SCM_STACK_PTR): New macro. (Cast argument through
(void *) in order to avoid an aliasing warning; thanks to Bruce
Korb.)

* stackchk.h (SCM_STACK_OVERFLOW_P): Use SCM_STACK_PTR.

* threads.c (suspend, launch_thread, scm_threads_mark_stacks): Use
SCM_STACK_PTR.

* threads.c (scm_threads_mark_stacks): Bugfix: Changed
thread->base --> t->base.

* eval.c (SCM_CEVAL): Don't cast argument of SCM_STACK_OVERFLOW_P.
2003-05-22 09:16:33 +00:00
Dirk Herrmann
e681d1876f * eval.c (scm_m_do, unmemocopy, SCM_CEVAL): Reversed order of
names and inits in the memoized code of do.
2003-05-19 20:15:08 +00:00
Dirk Herrmann
5bf6a6f0f3 * eval.c, eval.h, read.c, read.h (scm_sym_dot): Moved from eval to
read.  This will allow to make the definition in read.c static.
2003-05-06 20:17:26 +00:00
Dirk Herrmann
f58c472a84 * eval.c, eval.h, evalext.c, evalext.h (scm_m_undefine): Moved
from evalext to eval.  This will allow to make some of the
	definitions in eval.c static.
2003-05-06 20:05:04 +00:00
Dirk Herrmann
3b88ed2a4d The purpose of this patch is to make guile's internal memoizers
distinguishable from memoizing macros created on the scheme level
	or from user provided primitive memoizing macros.  The reason is,
	that the internal memoizers are the only ones that are allowed to
	transform their scheme input into memoizer byte code, while all
	other memoizing macros may only transform scheme code into new
	scheme code.

	To achieve this, a new macro type 'builtin-macro!' is introduced.
	Currently, 'builtin-macro!'s are handled as memoizing macros, but
	this will change when the memoizer and executor are separated.

	* macros.[ch] (scm_i_makbimacro): New.

	* macros.h (SCM_BUILTIN_MACRO_P): New.

	* macros.c (macro_print, scm_macro_type): Support builtin-macro!s.

	* eval.c, goops.c: All of guile's primitive memoizing macros are
	primitive builtin-macros now.

	* eval.c (scm_macroexp, SCM_CEVAL): Make sure the primitive
	builtin-macros are handled equally to memoizing macros.
2003-05-04 08:36:56 +00:00
Mikael Djurfeldt
c8e1d35451 * eval.c (scm_m_atdispatch): Removed until actually needed. (This
macro was introduced in anticipation of GOOPS method compilation
code.)

* goops.c: Removed binding of @dispatch.
2003-04-28 12:43:45 +00:00
Dirk Herrmann
a4aa213486 * eval.c, goops.c (@dispatch, @slot-ref, @slot-set!): Move the
instructions that bind the macros on the scheme level back to
	goops.c in order to make sure again that the bindings go into the
	(oop goops) module and are not visible from the outside.
2003-04-28 06:05:10 +00:00
Dirk Herrmann
9fbee57e8e * eval.c: Non functional change: Separated R5RS and non-R5RS
macros into different sections of the file and ordered the
	memoizers alphabetically.
2003-04-27 12:06:48 +00:00
Dirk Herrmann
12841895dc * eval.c (scm_ilookup): Rewritten to improve readability. 2003-04-27 11:06:14 +00:00
Dirk Herrmann
6a3f13f070 * eval.c (scm_i_call_closure_0, call_closure_1, call_closure_2):
Partially reverted patch from 2003-04-23 in oder to find a better
	compromise between readability and debuggability.
2003-04-27 10:44:08 +00:00
Dirk Herrmann
b0c5d67b98 * eval.c, eval.h, goops.c, goops.h (scm_m_atslot_ref,
scm_m_atslot_set_x, scm_m_atdispatch): Move the declarations and
	definitions of the special goops memoizers from goops.[ch] to
	eval.[ch].  Hmm... it seems that scm_m_atdispatch is not used
	throughout guile.
2003-04-25 16:22:47 +00:00
Dirk Herrmann
d0b07b5def This set of patches contains no functional changes, only debatable
minor stylistic ones.  Still, in order to prepare a patch between
	my local copy and the CVS version, I decided to submit the changes
	below.  Then, the patch will hopefully only contain relevant
	modifications :-)

	* eval.c (iqq): Added const specifier.

	* eval.c (scm_trampoline_0, scm_trampoline_1, scm_trampoline_2):
	Use NULL instead of 0 to indicate that a pointer is returned.
	Removed some misleading 'fall through' comments.

	* eval.c (scm_i_call_closure_0, call_closure_1, call_closure_2):
	Split up long expressions into smaller ones to be more debugging
	friendly.
2003-04-23 18:27:37 +00:00
Dirk Herrmann
821f18a442 * eval.c (EXTEND_ENV): Eliminated.
(unmemocopy, SCM_CEVAL, SCM_APPLY): Use SCM_EXTEND_ENV instead of
	EXTEND_ENV.
2003-04-21 19:20:13 +00:00
Dirk Herrmann
05b1536228 * eval.c (unmemocopy, SCM_APPLY, scm_map, scm_for_each,
scm_copy_tree): Place assignment expressions which are part of
	other expressions into an expression of their own.
2003-04-21 01:07:09 +00:00
Dirk Herrmann
5cb22e9606 * eval.c, eval.h, evalext.c, evalext.h (scm_sym_setter,
scm_m_generalized_set_x, scm_init_evalext): Move the declaration
	and definition of the memoizer for the generalized set! macro from
	evalext.[ch] to eval.[ch].  Use the SCM_SYNTAX snarfer macro to
	define the macro object.

	* eval.c, eval.h (s_set_x, scm_s_set_x, scm_m_set_x,
	scm_m_generalized_set_x): Since now scm_s_set_x is only used in
	eval.c, it is made static and renamed to s_set_x.

	* evalext.c (scm_defined_p, scm_m_undefine): Prefer !SCM_<foo>
	over SCM_N<foo>.
2003-04-20 19:18:43 +00:00
Dirk Herrmann
a44a9715eb * eval.c, root.h (scm_undefineds, SCM_NUM_PROTECTS, undefineds,
scm_init_eval): Made scm_undefineds static in eval.c, renamed it
	to undefineds and registered the object as a permanent object.

	* eval.c, eval.h (scm_f_apply, scm_init_eval): Made scm_f_apply
	static in eval.c, renamed it to f_apply and registered the object
	as a permanent object.
2003-04-20 18:08:07 +00:00
Dirk Herrmann
1b43d24c36 * eval.c (SCM_BIT8, SCM_BIT8, unmemocopy, SCM_CEVAL): Renamed
file-local macro SCM_BIT8 to SCM_BIT7, which is more appropriate.
2003-04-20 11:01:33 +00:00
Dirk Herrmann
d0f6ceb84f * Removed uses of DEBUG_EXTENSIONS and DYNAMIC_LINKING to
fix compile errors with --disable-deprecated.
2003-04-20 07:19:38 +00:00
Marius Vollmer
73be1d9e8e Changed license terms to the plain LGPL thru-out. 2003-04-05 19:15:35 +00:00
Rob Browning
9aa82b3994 * eval.c: remove SCM_BIGDIG conditionals. 2003-04-04 21:48:08 +00:00