bpt/guile.git
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!

20 years ago*** empty log message ***
Marius Vollmer [Mon, 15 Sep 2003 12:37:16 +0000 (12:37 +0000)]
*** empty log message ***

20 years ago(scm_setgroups): Check that the gid list is not too long. Thanks to
Marius Vollmer [Mon, 15 Sep 2003 12:36:57 +0000 (12:36 +0000)]
(scm_setgroups): Check that the gid list is not too long.  Thanks to
Paul Jarc!

20 years ago * tags.h: Reduced the number of short instructions from 14 to 13.
Dirk Herrmann [Sun, 14 Sep 2003 08:07:10 +0000 (08:07 +0000)]
* 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.

20 years ago*** empty log message ***
Kevin Ryde [Sat, 13 Sep 2003 00:39:44 +0000 (00:39 +0000)]
*** empty log message ***

20 years ago(SRFI-19): Rewrite, adding descriptions of all
Kevin Ryde [Sat, 13 Sep 2003 00:39:16 +0000 (00:39 +0000)]
(SRFI-19): Rewrite, adding descriptions of all
functions, and a bit of an introduction.

20 years ago*** empty log message ***
Kevin Ryde [Sat, 13 Sep 2003 00:18:46 +0000 (00:18 +0000)]
*** empty log message ***

20 years ago(Append/Reverse): Merge reverse and reverse!,
Kevin Ryde [Sat, 13 Sep 2003 00:12:08 +0000 (00:12 +0000)]
(Append/Reverse): Merge reverse and reverse!,
describe newtail parameter for reverse!, remove confusing caveat about
head becoming tail for reverse!.

20 years ago(Reading): Add scm_c_read.
Kevin Ryde [Sat, 13 Sep 2003 00:09:14 +0000 (00:09 +0000)]
(Reading): Add scm_c_read.
(Writing): Add scm_c_write.

20 years ago(SRFI-1 Constructors): Add list-copy.
Kevin Ryde [Sat, 13 Sep 2003 00:01:48 +0000 (00:01 +0000)]
(SRFI-1 Constructors): Add list-copy.

20 years ago(Network Address Conversion): Under IPv4, describe
Kevin Ryde [Fri, 12 Sep 2003 23:59:30 +0000 (23:59 +0000)]
(Network Address Conversion): Under IPv4, describe
numeric representation in Guile, add INADDR_LOOPBACK and
INADDR_BROADCAST, add commented-out INADDR_NONE.

20 years ago(File System): In stat:dev and stat:mode, clarify that both are numbers.
Kevin Ryde [Fri, 12 Sep 2003 23:57:03 +0000 (23:57 +0000)]
(File System): In stat:dev and stat:mode, clarify that both are numbers.

20 years ago(Reading): In port-column, port-line,
Kevin Ryde [Fri, 12 Sep 2003 23:55:03 +0000 (23:55 +0000)]
(Reading): In port-column, port-line,
set-port-column! and set-port-line!, port parameter must be given,
there's no default to current input.

20 years ago*** empty log message ***
Kevin Ryde [Fri, 12 Sep 2003 23:47:35 +0000 (23:47 +0000)]
*** empty log message ***

20 years ago(file-exists?): Use stat rather than access?, so as to
Kevin Ryde [Fri, 12 Sep 2003 23:35:54 +0000 (23:35 +0000)]
(file-exists?): Use stat rather than access?, so as to
follow the effective UID/GID not the real ID.  file-exists? is
normally be used as a prelude to opening or some other operation, and
it's the effective ID which will apply there.  Emacs file-exists-p
uses stat, presumably for the the same reason.

20 years ago*** empty log message ***
Marius Vollmer [Fri, 12 Sep 2003 15:43:04 +0000 (15:43 +0000)]
*** empty log message ***

20 years ago(SCM_FENCE): Use __memory_barrier with the Intel compiler on IA64.
Marius Vollmer [Fri, 12 Sep 2003 15:42:29 +0000 (15:42 +0000)]
(SCM_FENCE): Use __memory_barrier with the Intel compiler on IA64.

20 years ago*** empty log message ***
Marius Vollmer [Fri, 12 Sep 2003 15:16:56 +0000 (15:16 +0000)]
*** empty log message ***

20 years ago(make-autoload-interface): Use a proper hashtable as
Marius Vollmer [Fri, 12 Sep 2003 15:16:42 +0000 (15:16 +0000)]
(make-autoload-interface): Use a proper hashtable as
the obarray, not an empty vector.
(make-module): Always construct a hashtable for the obarray, even
for empty ones.

20 years ago(format:error): Use 'format:format' instead of
Marius Vollmer [Fri, 12 Sep 2003 15:14:25 +0000 (15:14 +0000)]
(format:error): Use 'format:format' instead of
'format' since the latter will lock the mutex again that we have
already locked.
(format:format-work): Flag multiple '#' as an error.

20 years ago(scm_tc16_hashtable): Added "extern" declaration.
Marius Vollmer [Fri, 12 Sep 2003 15:11:59 +0000 (15:11 +0000)]
(scm_tc16_hashtable): Added "extern" declaration.

20 years ago(scm_module_reverse_lookup): Check that the obarray really is a
Marius Vollmer [Fri, 12 Sep 2003 15:11:09 +0000 (15:11 +0000)]
(scm_module_reverse_lookup): Check that the obarray really is a
hashtable and do nothing if not.

20 years ago*** empty log message ***
Marius Vollmer [Fri, 12 Sep 2003 14:14:05 +0000 (14:14 +0000)]
*** empty log message ***

20 years agoUse "extern inline" only with GCC. Use "static
Marius Vollmer [Fri, 12 Sep 2003 14:13:48 +0000 (14:13 +0000)]
Use "extern inline" only with GCC.  Use "static
inline" else.

20 years ago * numbers.h (SCM_INEXACTP, SCM_REALP, SCM_COMPLEXP): Removed uses
Dirk Herrmann [Sat, 6 Sep 2003 09:17:29 +0000 (09:17 +0000)]
* numbers.h (SCM_INEXACTP, SCM_REALP, SCM_COMPLEXP): Removed uses
of SCM_SLOPPY_INEXACTP, SCM_SLOPPY_REALP and SCM_SLOPPY_COMPLEXP.

* numbers.h, deprecated.h (SCM_SLOPPY_INEXACTP, SCM_SLOPPY_REALP,
SCM_SLOPPY_COMPLEXP): Deprecated and moved from numbers.h to
deprecated.h.

20 years ago * eq.c (scm_eqv_p, scm_equal_p): Removed uses of
Dirk Herrmann [Sat, 6 Sep 2003 08:50:26 +0000 (08:50 +0000)]
* eq.c (scm_eqv_p, scm_equal_p): Removed uses of
SCM_SLOPPY_INEXACTP, SCM_SLOPPY_REALP and SCM_SLOPPY_COMPLEXP.

* eq.c (scm_eqv_p, scm_equal_p): Reordered comparisons from
0.0==some_expression to some_expression==0.0.  The latter is
better readable.  The former is preferred by some people, since it
leads to a compiler error when confusing == with =.  However, when
using gcc, a warning will be issued if in an if-statement an
assigment appears.  Since many Guile developers are using gcc,
such errors will not remain unnoticed anyway.  We can therefore
focus on better readability.

20 years ago * tags.h: Added description of Guile's type system. Removed some
Dirk Herrmann [Thu, 4 Sep 2003 20:47:41 +0000 (20:47 +0000)]
* tags.h: Added description of Guile's type system.  Removed some
old and misleading comments.

20 years ago * unit.c (scm_cvref): Eliminate unnecessary uses of SCM_NIMP,
Dirk Herrmann [Thu, 4 Sep 2003 20:14:02 +0000 (20:14 +0000)]
* unit.c (scm_cvref): Eliminate unnecessary uses of SCM_NIMP,
SCM_SLOPPY_REALP and SCM_SLOPPY_COMPLEXP.

20 years ago * numbers.h (SCM_MAKINUM): Define in terms of scm_tc2_int.
Dirk Herrmann [Thu, 4 Sep 2003 20:04:30 +0000 (20:04 +0000)]
* numbers.h (SCM_MAKINUM): Define in terms of scm_tc2_int.

(SCM_INEXACTP, SCM_REALP, SCM_COMPLEXP): Define in terms of the
respective SLOPPY macro.

20 years ago * eq.c (scm_equal_p): Use SCM_TYP7 to check if an object is of
Dirk Herrmann [Thu, 4 Sep 2003 19:21:21 +0000 (19:21 +0000)]
* eq.c (scm_equal_p): Use SCM_TYP7 to check if an object is of
type string, not SCM_TYP7S.

20 years ago*** empty log message ***
Kevin Ryde [Wed, 3 Sep 2003 00:03:20 +0000 (00:03 +0000)]
*** empty log message ***

20 years ago(scm_strptime): Add comment about glibc strptime %s and
Kevin Ryde [Wed, 3 Sep 2003 00:01:17 +0000 (00:01 +0000)]
(scm_strptime): Add comment about glibc strptime %s and
current timezone requiring SCM_DEFER_INTS.

20 years ago(Symbol Primitives): In gensym, cross reference
Kevin Ryde [Tue, 2 Sep 2003 23:57:49 +0000 (23:57 +0000)]
(Symbol Primitives): In gensym, cross reference
uninterned symbols, use @w{} on " g" prefix to avoid any chance of a
line break obscuring it.