bpt/guile.git
20 years ago * eval.c (scm_m_body, m_body, scm_m_lambda, memoize_named_let,
Dirk Herrmann [Sun, 9 Nov 2003 08:47:19 +0000 (08:47 +0000)]
* eval.c (scm_m_body, m_body, scm_m_lambda, memoize_named_let,
scm_m_let, scm_m_letrec, m_expand_body): Renamed static function
scm_m_body to m_body.

20 years ago * eval.c, eval.h (scm_m_expand_body, m_expand_body): Deprecated
Dirk Herrmann [Sun, 9 Nov 2003 08:10:58 +0000 (08:10 +0000)]
* eval.c, eval.h (scm_m_expand_body, m_expand_body): Deprecated
public use of scm_m_expand_body in eval.h.  In eval.c, renamed
scm_m_expand_body to m_expand_body and made it static.  Added
deprecated wrapper scm_m_expand_body.

(scm_eval_body, SCM_CEVAL, SCM_APPLY): Use m_expand_body instead
of scm_m_expand_body.

20 years ago*** empty log message ***
Kevin Ryde [Sat, 8 Nov 2003 22:19:24 +0000 (22:19 +0000)]
*** empty log message ***

20 years agoAdd a copyright year.
Kevin Ryde [Sat, 8 Nov 2003 22:18:33 +0000 (22:18 +0000)]
Add a copyright year.

20 years ago(scm_dynamic_unlink): Need scm_list_1 on error message
Kevin Ryde [Sat, 8 Nov 2003 22:18:01 +0000 (22:18 +0000)]
(scm_dynamic_unlink): Need scm_list_1 on error message
argument.  Reported by Mike Gran.

20 years ago * srfi-modules.texi (SRFI-1 Filtering and Partitioning): Move filter
Kevin Ryde [Sat, 8 Nov 2003 22:15:07 +0000 (22:15 +0000)]
* srfi-modules.texi (SRFI-1 Filtering and Partitioning): Move filter
and filter! ...
* scheme-compound.texi (List Modification): ... to here, now that
they're implemented in the core.

20 years ago(Pretty Printing): Add new keyword options, break example to avoid long line.
Kevin Ryde [Sat, 8 Nov 2003 22:07:50 +0000 (22:07 +0000)]
(Pretty Printing): Add new keyword options, break example to avoid long line.

20 years ago*** empty log message ***
Kevin Ryde [Sat, 8 Nov 2003 20:29:24 +0000 (20:29 +0000)]
*** empty log message ***

20 years ago(Random): In random, use @code for *random-state*.
Kevin Ryde [Sat, 8 Nov 2003 20:27:41 +0000 (20:27 +0000)]
(Random): In random, use @code for *random-state*.
Reported by Stephen Compall.

20 years ago * libguile/eval.c (s_missing_body_expression): New static identifier.
Dirk Herrmann [Sat, 8 Nov 2003 08:11:14 +0000 (08:11 +0000)]
* libguile/eval.c (s_missing_body_expression): New static identifier.

(s_body): Removed.

(scm_m_expand_body): Fixed core dump when passing a body with
defines, but without expressions (see additions to syntax.test).
Use ASSERT_SYNTAX to signal syntax errors.

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

Renamed section 'define' to 'top-level define' and added a new
section 'internal define' with some tests.

20 years ago*** empty log message ***
Kevin Ryde [Mon, 3 Nov 2003 00:55:47 +0000 (00:55 +0000)]
*** empty log message ***

20 years ago * misc-modules.texi (File Tree Walk): New chapter.
Kevin Ryde [Mon, 3 Nov 2003 00:53:08 +0000 (00:53 +0000)]
* misc-modules.texi (File Tree Walk): New chapter.
* guile.texi: Add it.

20 years ago * misc-modules.texi (File Tree Walk): New chapter.
Kevin Ryde [Mon, 3 Nov 2003 00:52:32 +0000 (00:52 +0000)]
* misc-modules.texi (File Tree Walk): New chapter.

20 years ago * eval.c (canonicalize_define): New static helper function.
Dirk Herrmann [Sun, 2 Nov 2003 11:39:35 +0000 (11:39 +0000)]
* eval.c (canonicalize_define): New static helper function.

(memoize_define, canonicalize_define): Extract handling of
function currying to canonicalize_define.

20 years ago * eval.c (scm_trampoline_0, scm_trampoline_1, scm_trampoline_2):
Dirk Herrmann [Sun, 2 Nov 2003 10:48:10 +0000 (10:48 +0000)]
* 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.

20 years ago * eval.c (scm_m_body, scm_m_lambda): Documentation strings are not
Dirk Herrmann [Sat, 1 Nov 2003 10:21:15 +0000 (10:21 +0000)]
* 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.

20 years ago * libguile/eval.c (s_expression): Added comment.
Dirk Herrmann [Sat, 1 Nov 2003 07:26:44 +0000 (07:26 +0000)]
* 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.

20 years ago * eval.c (unmemocar, sym_three_question_marks, scm_unmemocar):
Dirk Herrmann [Sat, 25 Oct 2003 07:00:50 +0000 (07:00 +0000)]
* 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.

20 years ago * eval.c (s_defun): New static identifier.
Dirk Herrmann [Wed, 22 Oct 2003 20:16:41 +0000 (20:16 +0000)]
* 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.

20 years ago*** empty log message ***
Kevin Ryde [Sun, 19 Oct 2003 00:49:36 +0000 (00:49 +0000)]
*** empty log message ***

20 years ago*** empty log message ***
Kevin Ryde [Sun, 19 Oct 2003 00:36:26 +0000 (00:36 +0000)]
*** empty log message ***

20 years agoUse define-module to hide helper defines.
Kevin Ryde [Sun, 19 Oct 2003 00:34:39 +0000 (00:34 +0000)]
Use define-module to hide helper defines.
(dbl-mant-dig, ash-flo): New helpers.
(exact->inexact): New tests.

20 years ago(scm_i_big2dbl): Rewrite, carefully rounding to "closest"
Kevin Ryde [Sun, 19 Oct 2003 00:32:25 +0000 (00:32 +0000)]
(scm_i_big2dbl): Rewrite, carefully rounding to "closest"
in accordance with R5RS, which just mpz_get_d doesn't really give.

20 years ago(scm_ash): Revise docstring as per recent update to manual.
Kevin Ryde [Sun, 19 Oct 2003 00:27:00 +0000 (00:27 +0000)]
(scm_ash): Revise docstring as per recent update to manual.

20 years ago * eval.c (s_bad_slot_number): New static identifier.
Dirk Herrmann [Sat, 18 Oct 2003 19:03:24 +0000 (19:03 +0000)]
* 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.

20 years ago * libguile/eval.c (scm_m_cont, scm_m_at_call_with_values,
Dirk Herrmann [Sat, 18 Oct 2003 18:26:43 +0000 (18:26 +0000)]
* 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.

20 years ago * libguile/eval.c (scm_m_set_x, scm_m_apply, scm_m_atbind): Use
Dirk Herrmann [Sat, 18 Oct 2003 17:24:09 +0000 (17:24 +0000)]
* 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.

20 years ago * libguile/eval.c: Sorted include files alphabetically.
Dirk Herrmann [Sat, 18 Oct 2003 14:49:55 +0000 (14:49 +0000)]
* 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.

20 years ago * libguile/eval.c (scm_m_let, scm_m_letstar, scm_m_letrec,
Dirk Herrmann [Sat, 18 Oct 2003 12:07:39 +0000 (12:07 +0000)]
* 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.

20 years ago*** empty log message ***
Kevin Ryde [Sat, 18 Oct 2003 01:51:48 +0000 (01:51 +0000)]
*** empty log message ***

20 years ago(Defining new Scheme procedures in C): Don't use
Kevin Ryde [Sat, 18 Oct 2003 01:51:24 +0000 (01:51 +0000)]
(Defining new Scheme procedures in C): Don't use
@strong{Note:}, latest makeinfo will complain it looks like a cross
reference.

20 years ago(Calling Scheme procedures from C, scm transition summary):
Kevin Ryde [Sat, 18 Oct 2003 01:49:18 +0000 (01:49 +0000)]
(Calling Scheme procedures from C, scm transition summary):
Refer to scm_list_n, not the old name scm_listify.
(scm transition summary): For gh_apply, recommend scm_apply_0, which
is now documented.

20 years ago * posix.texi (Time): Correction to strftime glibc cross reference
Kevin Ryde [Sat, 18 Oct 2003 01:43:55 +0000 (01:43 +0000)]
* posix.texi (Time): Correction to strftime glibc cross reference
node, now "Formatting Calendar Time".

20 years ago(SRFI-1 Searching): In break, note conflict with
Kevin Ryde [Sat, 18 Oct 2003 00:49:08 +0000 (00:49 +0000)]
(SRFI-1 Searching): In break, note conflict with
binding established by `while'.

20 years agoWork on debugger frontend code.
Neil Jerram [Thu, 16 Oct 2003 11:53:58 +0000 (11:53 +0000)]
Work on debugger frontend code.

20 years ago * libguile/eval.c (s_bad_formals, s_bad_formal, s_duplicate_formal):
Dirk Herrmann [Sun, 12 Oct 2003 20:47:32 +0000 (20:47 +0000)]
* 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.

20 years ago*** empty log message ***
Marius Vollmer [Sun, 12 Oct 2003 16:53:24 +0000 (16:53 +0000)]
*** empty log message ***

20 years ago(directory-files): Close dir-stream when done. Thanks to Paul Jarc!
Marius Vollmer [Sun, 12 Oct 2003 16:52:12 +0000 (16:52 +0000)]
(directory-files): Close dir-stream when done.  Thanks to Paul Jarc!

20 years agoAdded Paul Jarc.
Marius Vollmer [Sun, 12 Oct 2003 16:51:38 +0000 (16:51 +0000)]
Added Paul Jarc.

20 years ago * tests/syntax.test (exception:missing/extra-expr-syntax): Fixed
Dirk Herrmann [Sun, 12 Oct 2003 13:38:58 +0000 (13:38 +0000)]
* tests/syntax.test (exception:missing/extra-expr-syntax): Fixed
to be unaware of whether line number information is given or not.

20 years ago * libguile/eval.c (s_duplicate_binding): New static identifier.
Dirk Herrmann [Sun, 12 Oct 2003 12:58:51 +0000 (12:58 +0000)]
* 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.

20 years ago * eval.c (s_bad_bindings, s_bad_binding, s_bad_exit_clause): New
Dirk Herrmann [Sun, 12 Oct 2003 09:22:52 +0000 (09:22 +0000)]
* 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.

20 years ago * eval.c (memoize_as_thunk_prototype): New static function.
Dirk Herrmann [Sun, 12 Oct 2003 07:13:46 +0000 (07:13 +0000)]
* 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.

20 years ago*** empty log message ***
Kevin Ryde [Sat, 11 Oct 2003 22:25:28 +0000 (22:25 +0000)]
*** empty log message ***

20 years ago(scm_append): Track argument number and use in error.
Kevin Ryde [Sat, 11 Oct 2003 22:24:34 +0000 (22:24 +0000)]
(scm_append): Track argument number and use in error.

20 years ago * libguile/eval.c (s_missing_expression, s_bad_variable): New static
Dirk Herrmann [Sat, 11 Oct 2003 16:03:29 +0000 (16:03 +0000)]
* 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.

20 years ago * libguile/eval.c (s_extra_expression, s_misplaced_else_clause,
Dirk Herrmann [Sat, 11 Oct 2003 10:40:19 +0000 (10:40 +0000)]
* 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.

20 years ago * libguile/eval.c (scm_m_case): Allow empty lists of case labels.
Dirk Herrmann [Sat, 11 Oct 2003 01:52:25 +0000 (01:52 +0000)]
* 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.

20 years ago * libguile/tags.h (SCM_IM_ELSE, SCM_IM_ARROW): New memoizer codes.
Dirk Herrmann [Sat, 11 Oct 2003 00:57:25 +0000 (00:57 +0000)]
* 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.

20 years ago * libguile/eval.c (s_bad_expression, syntax_error_key, syntax_error,
Dirk Herrmann [Fri, 10 Oct 2003 21:49:27 +0000 (21:49 +0000)]
* 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.

20 years ago*** empty log message ***
Marius Vollmer [Fri, 10 Oct 2003 14:32:19 +0000 (14:32 +0000)]
*** empty log message ***

20 years ago(inexact->exact): Use corrent argument order for pass-if-exception.
Marius Vollmer [Fri, 10 Oct 2003 14:32:11 +0000 (14:32 +0000)]
(inexact->exact): Use corrent argument order for pass-if-exception.
Use "+inf.0" instead of "+.inf", etc.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 9 Oct 2003 00:41:46 +0000 (00:41 +0000)]
*** empty log message ***

20 years ago(inexact->exact): New tests.
Kevin Ryde [Thu, 9 Oct 2003 00:41:15 +0000 (00:41 +0000)]
(inexact->exact): New tests.

20 years ago(scm_inexact_to_exact): Don't depend on what double->long
Kevin Ryde [Thu, 9 Oct 2003 00:38:51 +0000 (00:38 +0000)]
(scm_inexact_to_exact): Don't depend on what double->long
cast gives for values bigger than a long, or for nan or inf.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 9 Oct 2003 00:17:12 +0000 (00:17 +0000)]
*** empty log message ***

20 years ago(Hash Table Reference): Decribe rehashing, note
Kevin Ryde [Thu, 9 Oct 2003 00:14:38 +0000 (00:14 +0000)]
(Hash Table Reference): Decribe rehashing, note
no hashx-remove!, describe make-hash-table size parameter.

20 years ago*** empty log message ***
Kevin Ryde [Wed, 8 Oct 2003 23:06:05 +0000 (23:06 +0000)]
*** empty log message ***

20 years ago * tests/poe.test: New file.
Kevin Ryde [Wed, 8 Oct 2003 23:05:12 +0000 (23:05 +0000)]
* tests/poe.test: New file.
* Makefile.am: Add it.

20 years agoNew file.
Kevin Ryde [Wed, 8 Oct 2003 23:03:29 +0000 (23:03 +0000)]
New file.

20 years ago*** empty log message ***
Kevin Ryde [Wed, 8 Oct 2003 23:00:37 +0000 (23:00 +0000)]
*** empty log message ***

20 years ago(funcq-assoc): Rewrite, don't assume '() is false, and
Kevin Ryde [Wed, 8 Oct 2003 22:57:52 +0000 (22:57 +0000)]
(funcq-assoc): Rewrite, don't assume '() is false, and
actually traverse the given alist.

20 years ago * smob.h (scm_make_smob_type): Made the declaration match the
Dirk Herrmann [Tue, 7 Oct 2003 22:03:26 +0000 (22:03 +0000)]
* smob.h (scm_make_smob_type): Made the declaration match the
definition.

20 years ago * lib.scm (exception:missing-expression): New.
Dirk Herrmann [Tue, 7 Oct 2003 22:00:05 +0000 (22:00 +0000)]
* lib.scm (exception:missing-expression): New.

* tests/dynamic-scope.test, tests/eval.test,
tests/r5rs_pitfall.test, tests/srfi-17.test, tests/syncase.test:
Wrap tests in module (test-suite test-<file-name without .test>),
following a practice that was used on a couple of files already.

* tests/dynamic-scope.test (exception:duplicate-binding,
exception:bad-binding): New.

* tests/dynamic-scope.test, tests/srfi-17.test, tests/syntax.test:
Execute syntactically wrong tests using eval.  With the upcoming
new memoizer this is necessary in order to postpone the syntax
check to the actual evaluation of the syntactically wrong form.

* tests/syntax.test: Added some test cases and modified one test
case.

20 years agoMake type names char const * instead of char *. Thanks to Paul Jarc!
Marius Vollmer [Tue, 7 Oct 2003 15:58:19 +0000 (15:58 +0000)]
Make type names char const * instead of char *.  Thanks to Paul Jarc!

20 years agoUI frontend work: eval support.
Neil Jerram [Mon, 6 Oct 2003 20:33:02 +0000 (20:33 +0000)]
UI frontend work: eval support.

20 years ago*** empty log message ***
Marius Vollmer [Mon, 6 Oct 2003 19:25:05 +0000 (19:25 +0000)]
*** empty log message ***

20 years ago* scheme-memory.texi: Added a short explanation of the GC and the
Marius Vollmer [Mon, 6 Oct 2003 19:24:15 +0000 (19:24 +0000)]
* scheme-memory.texi: Added a short explanation of the GC and the
conservative stack scanning.
(scm_gc_protect_object, scm_gc_unprotect_object,
scm_permanent_object): New.

* data-rep.texi, scheme-memory.texi (scm_remember_upto_here_1,
scm_remember_upto_here_2): Moved from data-rep.texi to
scheme-memory.texi.

20 years agoDebugger UI asynchronous thread support.
Neil Jerram [Sat, 4 Oct 2003 20:03:51 +0000 (20:03 +0000)]
Debugger UI asynchronous thread support.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 2 Oct 2003 00:29:50 +0000 (00:29 +0000)]
*** empty log message ***

20 years ago(String Ports): In call-with-output-string, note proc
Kevin Ryde [Thu, 2 Oct 2003 00:20:07 +0000 (00:20 +0000)]
(String Ports): In call-with-output-string, note proc
should not close the port.  In get-output-string, note string must be
gotten before closing the port.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 2 Oct 2003 00:17:50 +0000 (00:17 +0000)]
*** empty log message ***

20 years ago(call-with-output-string): Test proc closing port.
Kevin Ryde [Thu, 2 Oct 2003 00:17:16 +0000 (00:17 +0000)]
(call-with-output-string): Test proc closing port.

20 years ago*** empty log message ***
Kevin Ryde [Thu, 2 Oct 2003 00:11:12 +0000 (00:11 +0000)]
*** empty log message ***

20 years ago(s_scm_call_with_output_string): scm_get_output_string
Kevin Ryde [Thu, 2 Oct 2003 00:04:26 +0000 (00:04 +0000)]
(s_scm_call_with_output_string): scm_get_output_string
rather than scm_strport_to_string, so as to guard against the port
having been closed by the called procedure.  Reported by Nic Ferrier.

20 years agoFix a couple of typos in:
Kevin Ryde [Thu, 2 Oct 2003 00:00:42 +0000 (00:00 +0000)]
Fix a couple of typos in:
New file.

20 years agoAdd call-with-output-string no segv on closed port.
Kevin Ryde [Wed, 1 Oct 2003 23:51:41 +0000 (23:51 +0000)]
Add call-with-output-string no segv on closed port.

20 years agoTwo fixes to Guile tutorial.
Neil Jerram [Sat, 27 Sep 2003 10:08:26 +0000 (10:08 +0000)]
Two fixes to Guile tutorial.

20 years agoWork (in progress) on new debugging frontend.
Neil Jerram [Thu, 25 Sep 2003 20:32:10 +0000 (20:32 +0000)]
Work (in progress) on new debugging frontend.

20 years ago * guile-test: Wrapped in module (test-suite guile-test).
Dirk Herrmann [Mon, 22 Sep 2003 19:00:41 +0000 (19:00 +0000)]
* guile-test: Wrapped in module (test-suite guile-test).

(main data-file-name test-file-name): Exported.

((guile-user)::main): New function, wrapper for function
(test-suite guile-test)::main.

* tests/load.test: Wrapped in module (test-suite test-load).

* tests/ports.test: Wrapped in module (test-suite test-ports).

* tests/r4rs.test: Wrapped in module (test-suite test-r4rs).
Added comments about the required structure of the file itself,
since it is subject to some tests.  Removed some now unnecessary
undefine operations.

* tests/syntax.test: Wrapped in module (test-suite test-syntax)

20 years ago * numbers.h (SCM_INEXACTP): Removed uses of SCM_TYP16S.
Dirk Herrmann [Sun, 21 Sep 2003 07:54:23 +0000 (07:54 +0000)]
* numbers.h (SCM_INEXACTP): Removed uses of SCM_TYP16S.

* tags.h, deprecated.h (SCM_TYP16S): Deprecated and moved from
tags.h to deprecated.h.

20 years agoA tweak to:
Kevin Ryde [Sun, 21 Sep 2003 01:38:01 +0000 (01:38 +0000)]
A tweak to:
(File System): In access?, reword a bit, clarify real
versus effective ID handling, cross reference glibc on that, and
recommend against access tests in library functions.

20 years ago*** empty log message ***
Kevin Ryde [Sun, 21 Sep 2003 01:19:44 +0000 (01:19 +0000)]
*** empty log message ***

20 years ago(File System): In access?, reword a bit, clarify real
Kevin Ryde [Sun, 21 Sep 2003 01:18:26 +0000 (01:18 +0000)]
(File System): In access?, reword a bit, clarify real
versus effective ID handling, cross reference glibc on that, and
recommend against access tests in library functions.

20 years agoAdd ice-9 popen duplicate pipe fd fix.
Kevin Ryde [Fri, 19 Sep 2003 01:30:54 +0000 (01:30 +0000)]
Add ice-9 popen duplicate pipe fd fix.

20 years ago*** empty log message ***
Kevin Ryde [Fri, 19 Sep 2003 01:29:17 +0000 (01:29 +0000)]
*** empty log message ***

20 years ago*** empty log message ***
Kevin Ryde [Fri, 19 Sep 2003 01:19:48 +0000 (01:19 +0000)]
*** empty log message ***

20 years ago * tests/popen.test: New file.
Kevin Ryde [Fri, 19 Sep 2003 01:06:14 +0000 (01:06 +0000)]
* tests/popen.test: New file.
* Makefile.am (SCM_TESTS): Add it.

20 years agoNew file.
Kevin Ryde [Fri, 19 Sep 2003 01:05:13 +0000 (01:05 +0000)]
New file.

20 years ago(open-process): Correction to previous fdes closing
Kevin Ryde [Fri, 19 Sep 2003 01:01:10 +0000 (01:01 +0000)]
(open-process): Correction to previous fdes closing
change, need to watch out for stdin==stderr or stdout==stderr.

20 years ago This set of patches introduces a new tc7 code scm_tc7_number for
Dirk Herrmann [Thu, 18 Sep 2003 20:55:40 +0000 (20:55 +0000)]
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.

20 years ago * numbers.c (scm_make_complex), gc-card.c (scm_i_sweep_card): Use
Dirk Herrmann [Thu, 18 Sep 2003 20:18:17 +0000 (20:18 +0000)]
* numbers.c (scm_make_complex), gc-card.c (scm_i_sweep_card): Use
sizeof (scm_t_complex) to determine the memory size of the
malloc'd area for complex numbers.

20 years ago * libguile/numbers.c (scm_bigequal): Fixed.
Dirk Herrmann [Wed, 17 Sep 2003 21:03:26 +0000 (21:03 +0000)]
* libguile/numbers.c (scm_bigequal): Fixed.

* test-suite/tests/numbers.test (equal?): Added tests.

* test-suite/tests/numbers.test (=): Fixed and added some bignum
        related tests.

20 years ago*** empty log message ***
Marius Vollmer [Tue, 16 Sep 2003 21:21:28 +0000 (21:21 +0000)]
*** empty log message ***

20 years ago(scm_current_time): 'time' does not set errno so don't use
Marius Vollmer [Tue, 16 Sep 2003 21:18:26 +0000 (21:18 +0000)]
(scm_current_time): 'time' does not set errno so don't use
SCM_SYSERROR for reporting errors.

20 years ago This set of patches eliminates the dependency between the
Dirk Herrmann [Tue, 16 Sep 2003 17:37:56 +0000 (17:37 +0000)]
This set of patches eliminates the dependency between the
implementation of evaluator specific memoization codes and special
constants like #f, '() etc. ('flags'), which are not evaluator
specific.  The goal is to remove definitions of evaluator
memoization codes completely from the public interface.  This will
make it possible to experiment more freely with optimizations of
guile's internal representation of memoized code.

* objects.c (scm_class_of): Eliminate dependency on SCM_ISYMNUM.

* print.c (iflagnames): New array, holding the printed names of
guile's special constants ('flags').

(scm_isymnames): Now holds only the printed names of the
memoization codes.

(scm_iprin1): Separate the handling of memoization codes and
guile's special constants.

* tags.h (scm_tc9_flag, SCM_ITAG9, SCM_MAKE_ITAG9, SCM_ITAG9_DATA,
SCM_IFLAGNUM): new

(scm_tc8_char, scm_tc8_iloc, SCM_BOOL_F, SCM_BOOL_T,
SCM_UNDEFINED, SCM_EOF_VAL, SCM_EOL, SCM_UNSPECIFIED, SCM_UNBOUND,
SCM_ELISP_NIL, SCM_IM_DISPATCH, SCM_IM_SLOT_REF,
SCM_IM_SLOT_SET_X, SCM_IM_DELAY, SCM_IM_FUTURE,
SCM_IM_CALL_WITH_VALUES, SCM_IM_NIL_COND, SCM_IM_BIND): Changed
values.

(SCM_IFLAGP): SCM_IFLAGP now only tests for flags.

(SCM_IFLAGP, SCM_MAKIFLAG, SCM_IFLAGNUM): Generalized to use the
tc9 macros and scm_tc9_flag.

20 years agoFix a grammatical typo in my last entry.
Kevin Ryde [Mon, 15 Sep 2003 22:47:27 +0000 (22:47 +0000)]
Fix a grammatical typo in my last entry.

20 years agoAdd another comment to:
Kevin Ryde [Mon, 15 Sep 2003 22:29:32 +0000 (22:29 +0000)]
Add another comment to:
(file-exists?): Use stat rather than access?, ...

20 years ago*** empty log message ***
Marius Vollmer [Mon, 15 Sep 2003 13:38:07 +0000 (13:38 +0000)]
*** empty log message ***

20 years ago(format): Rewritten as a big letrec to make it reentrant. No mutex is
Marius Vollmer [Mon, 15 Sep 2003 13:37:50 +0000 (13:37 +0000)]
(format): Rewritten as a big letrec to make it reentrant.  No mutex is
necessary.  Thanks to Clinton Ebadi!