bpt/guile.git
20 years ago* gen-scmconfig.c (main): remove public definition of
Rob Browning [Tue, 18 Nov 2003 06:10:39 +0000 (06:10 +0000)]
* gen-scmconfig.c (main): remove public definition of
SCM_SIZEOF___INT64 and SCM_SIZEOF_UNSIGNED___INT64 and add
direct typedef of long_long and ulong_long inside deprecated block
when appropriate.

20 years agomove long_long and ulong_long definitions to
Rob Browning [Tue, 18 Nov 2003 06:10:11 +0000 (06:10 +0000)]
move long_long and ulong_long definitions to
gen-scmconfig.c so that we don't need to add SCM_SIZEOF___INT64
and SCM_SIZEOF_UNSIGNED___INT64 to the public namespace.

20 years ago*** empty log message ***
Rob Browning [Mon, 17 Nov 2003 19:19:26 +0000 (19:19 +0000)]
*** empty log message ***

20 years agonew file.
Rob Browning [Mon, 17 Nov 2003 19:15:30 +0000 (19:15 +0000)]
new file.

20 years agorewrite ALLOCA related code as multiple lines so
Rob Browning [Mon, 17 Nov 2003 19:14:44 +0000 (19:14 +0000)]
rewrite ALLOCA related code as multiple lines so
it doesn't break with current autoconf substitutions.

20 years ago*** empty log message ***
Rob Browning [Mon, 17 Nov 2003 18:59:08 +0000 (18:59 +0000)]
*** empty log message ***

20 years ago*** empty log message ***
Marius Vollmer [Mon, 17 Nov 2003 16:57:27 +0000 (16:57 +0000)]
*** empty log message ***

20 years ago(scm_string_hash): New hashing algorithm that takes the complete
Marius Vollmer [Mon, 17 Nov 2003 16:56:48 +0000 (16:56 +0000)]
(scm_string_hash): New hashing algorithm that takes the complete
string into account.

20 years agoExpect a "Bad variable" error for (set! #f 1).
Marius Vollmer [Mon, 17 Nov 2003 16:55:03 +0000 (16:55 +0000)]
Expect a "Bad variable" error for (set! #f 1).

20 years ago(scm_m_generalized_set_x): Macroexpand the target when it
Marius Vollmer [Mon, 17 Nov 2003 16:52:05 +0000 (16:52 +0000)]
(scm_m_generalized_set_x): Macroexpand the target when it
is a list.  This allows (@ ...) to work with set!.
(scm_m_generalized_set_x): Use ASSERT_SYNTAX_2 instead of
SCM_ASSYNT.

20 years ago*** empty log message ***
Marius Vollmer [Mon, 17 Nov 2003 00:38:25 +0000 (00:38 +0000)]
*** empty log message ***

20 years ago* scheme-modules.texi: Document '@' and '@@'.
Marius Vollmer [Mon, 17 Nov 2003 00:36:00 +0000 (00:36 +0000)]
* scheme-modules.texi: Document '@' and '@@'.
* scripts.texi: Mention that "-e (@ ...)" also works.

20 years ago(@, @@): New macros.
Marius Vollmer [Mon, 17 Nov 2003 00:28:03 +0000 (00:28 +0000)]
(@, @@): New macros.

20 years ago*** empty log message ***
Marius Vollmer [Mon, 17 Nov 2003 00:26:14 +0000 (00:26 +0000)]
*** empty log message ***

20 years ago(scm_m_generalized_set_x): Macroexpand the target when it is a list.
Marius Vollmer [Mon, 17 Nov 2003 00:24:48 +0000 (00:24 +0000)]
(scm_m_generalized_set_x): Macroexpand the target when it is a list.
This allows (@ ...) to work with set!.

20 years ago(scm_compile_shell_switches): Use scm_c_read_string for the "-e"
Marius Vollmer [Mon, 17 Nov 2003 00:22:18 +0000 (00:22 +0000)]
(scm_compile_shell_switches): Use scm_c_read_string for the "-e"
option instead of scm_str2symbol.  This allows things like (@ ...) to
be specified for the entry point.

20 years ago(scm_lreadr): detect EOF after backslash, and interpret \xNN
Marius Vollmer [Sun, 16 Nov 2003 21:01:57 +0000 (21:01 +0000)]
(scm_lreadr): detect EOF after backslash, and interpret \xNN
hexadecimal sequences.  From Paul Jarc, thanks!

20 years ago*** empty log message ***
Marius Vollmer [Sun, 16 Nov 2003 20:55:04 +0000 (20:55 +0000)]
*** empty log message ***

20 years ago * boot-9.scm: Started comment about module system workings.
Dirk Herrmann [Sun, 16 Nov 2003 13:54:26 +0000 (13:54 +0000)]
* boot-9.scm: Started comment about module system workings.

20 years ago * eval.c (scm_m_letstar): Create memoized code in place to
Dirk Herrmann [Sun, 16 Nov 2003 13:32:02 +0000 (13:32 +0000)]
* eval.c (scm_m_letstar): Create memoized code in place to
minimize consing.

20 years ago * eval.c (s_splicing): Commented and reformulated.
Dirk Herrmann [Sun, 16 Nov 2003 10:47:45 +0000 (10:47 +0000)]
* eval.c (s_splicing): Commented and reformulated.

(lookup_global_symbol, lookup_symbol): New static functions.

(s_test, s_bindings, s_duplicate_bindings, s_variable): Removed.

(try_macro_lookup, literal_p): Use lookup_symbol instead of
creating a temporary pair for scm_lookupcar.

(scm_unmemocar, unmemocar): Renamed scm_unmemocar to unmemocar,
created deprecated wrapper function scm_unmemocar.

(SCM_VALIDATE_NON_EMPTY_COMBINATION, scm_sym_else,
scm_sym_unquote, scm_sym_uq_splicing, scm_sym_enter_frame,
scm_sym_apply_frame, scm_sym_exit_frame, scm_sym_trace, f_apply,
undefineds, sym_three_question_marks): Moved around without
modifications.

* eval.c, eval.h (scm_macroexp, scm_unmemocar): Deprecated.

20 years ago * eval.c (try_macro_lookup, expand_user_macros, is_system_macro_p,
Dirk Herrmann [Sat, 15 Nov 2003 12:43:00 +0000 (12:43 +0000)]
* eval.c (try_macro_lookup, expand_user_macros, is_system_macro_p,
m_expand_body, scm_m_expand_body): Grouped together with m_body.
No further modifications.

20 years ago * libguile/eval.c (s_mixed_body_forms): New static identifier.
Dirk Herrmann [Sat, 15 Nov 2003 12:27:54 +0000 (12:27 +0000)]
* libguile/eval.c (s_mixed_body_forms): New static identifier.

(canonicalize_define, scm_m_define): The check for a bad
expression is performed in canonicalize_define now.

(try_macro_lookup, expand_user_macros, is_system_macro_p): New
static helper functions for m_expand_body.

(m_expand_body): Use ASSERT_SYNTAX to signal syntax errors.  Only
expand user defined macros.  Fixed handling of the definition/
expression boundary.  Fixed handling of definitions grouped with
'begin.  Use canonicalize_define to expand definitions.

* test-suite/tests/syntax.test: Tests that check for the correct
handling of internal defines with begin work now.

20 years ago * tests/syntax.test: Fixed test that checks for the correct
Dirk Herrmann [Sat, 15 Nov 2003 11:51:17 +0000 (11:51 +0000)]
* tests/syntax.test: Fixed test that checks for the correct
handling of macros in the context of internal defines.

20 years ago*** empty log message ***
Kevin Ryde [Fri, 14 Nov 2003 21:36:18 +0000 (21:36 +0000)]
*** empty log message ***

20 years agoUse (test-suite lib), for the benefit of standalone execution.
Kevin Ryde [Fri, 14 Nov 2003 21:34:21 +0000 (21:34 +0000)]
Use (test-suite lib), for the benefit of standalone execution.

20 years ago*** empty log message ***
Kevin Ryde [Fri, 14 Nov 2003 21:27:36 +0000 (21:27 +0000)]
*** empty log message ***

20 years ago(Cross building Guile): Describe GUILE_FOR_BUILD rather than
Kevin Ryde [Fri, 14 Nov 2003 21:27:11 +0000 (21:27 +0000)]
(Cross building Guile): Describe GUILE_FOR_BUILD rather than
--with-guile-for-build.

20 years ago*** empty log message ***
Kevin Ryde [Fri, 14 Nov 2003 20:53:57 +0000 (20:53 +0000)]
*** empty log message ***

20 years ago(Random): Add *random-state* variable, put note at
Kevin Ryde [Fri, 14 Nov 2003 20:53:22 +0000 (20:53 +0000)]
(Random): Add *random-state* variable, put note at
the top of the node about it being the default, rather than just in
the description of random.

20 years ago(--with-guile-for-build): Remove this option, it's not normal style for --with.
Kevin Ryde [Fri, 14 Nov 2003 20:51:22 +0000 (20:51 +0000)]
(--with-guile-for-build): Remove this option, it's not normal style for --with.
(GUILE_FOR_BUILD): Use AC_ARG_VAR.

20 years ago(Manual Layout): Wrap POSIX, API, and SLIB in @acronym. Change from
Marius Vollmer [Thu, 13 Nov 2003 20:46:48 +0000 (20:46 +0000)]
(Manual Layout): Wrap POSIX, API, and SLIB in @acronym.  Change from
paragraph format (somewhat clumsy-looking on paper, at least) to
@table format, with headers @strong.  Made example modules complete
sentences.  From Stephen Compall, thanks!

20 years ago*** empty log message ***
Marius Vollmer [Thu, 13 Nov 2003 19:41:12 +0000 (19:41 +0000)]
*** empty log message ***

20 years ago(SCM_SMOB, SCM_GLOBAL_SMOB, SCM_SMOB_MARK, SCM_GLOBAL_SMOB_MARK,
Marius Vollmer [Thu, 13 Nov 2003 19:40:29 +0000 (19:40 +0000)]
(SCM_SMOB, SCM_GLOBAL_SMOB, SCM_SMOB_MARK, SCM_GLOBAL_SMOB_MARK,
SCM_SMOB_FREE, SCM_GLOBAL_SMOB_FREE, SCM_SMOB_PRINT,
SCM_GLOBAL_SMOB_PRINT, SCM_SMOB_EQUALP, SCM_GLOBAL_SMOB_EQUALP,
SCM_SMOB_APPLY, SCM_GLOBAL_SMOB_APPLY): New macros from Paul Jarc.
Thanks!

20 years ago*** empty log message ***
Marius Vollmer [Thu, 13 Nov 2003 18:23:06 +0000 (18:23 +0000)]
*** empty log message ***

20 years ago(scm_get_stack_base): Provide a definition that return NULL when the
Marius Vollmer [Thu, 13 Nov 2003 18:19:02 +0000 (18:19 +0000)]
(scm_get_stack_base): Provide a definition that return NULL when the
machine type is unknown.  Previously, gc_os_dep.c would refuse to
compile.

20 years agoAddition to .cvsignore.
Neil Jerram [Tue, 11 Nov 2003 23:47:56 +0000 (23:47 +0000)]
Addition to .cvsignore.

20 years agoLots of ongoing development.
Neil Jerram [Tue, 11 Nov 2003 23:40:38 +0000 (23:40 +0000)]
Lots of ongoing development.

20 years agoChanges to build and install files in emacs subdir.
Neil Jerram [Tue, 11 Nov 2003 23:34:01 +0000 (23:34 +0000)]
Changes to build and install files in emacs subdir.

20 years agoMoved all gds files here; plus ongoing work on them.
Neil Jerram [Tue, 11 Nov 2003 23:30:06 +0000 (23:30 +0000)]
Moved all gds files here; plus ongoing work on them.

20 years agoui- to gds- change; debug-on-error fix.
Neil Jerram [Tue, 11 Nov 2003 23:27:22 +0000 (23:27 +0000)]
ui- to gds- change; debug-on-error fix.

20 years agoRemoved ui-client.scm and ui-server.scm (not in emacs/gds-*.scm).
Neil Jerram [Tue, 11 Nov 2003 23:21:39 +0000 (23:21 +0000)]
Removed ui-client.scm and ui-server.scm (not in emacs/gds-*.scm).

20 years agoPass trap type to debug-stack flags.
Neil Jerram [Tue, 11 Nov 2003 23:17:06 +0000 (23:17 +0000)]
Pass trap type to debug-stack flags.

20 years agoBig comment added.
Neil Jerram [Tue, 11 Nov 2003 23:12:48 +0000 (23:12 +0000)]
Big comment added.

20 years agoAvoid duplicate binding warnings from (lang elisp) modules.
Neil Jerram [Tue, 11 Nov 2003 23:09:23 +0000 (23:09 +0000)]
Avoid duplicate binding warnings from (lang elisp) modules.

20 years ago * tests/optargs.test: Wrap tests in module (test-suite
Dirk Herrmann [Sun, 9 Nov 2003 19:07:41 +0000 (19:07 +0000)]
* tests/optargs.test: Wrap tests in module (test-suite
test-<file-name without .test>).  Rewrite test to be R5RS
conforming.

* tests/syntax.test: Added test to check correct handling of
internal defines.

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.