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".
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'.
Neil Jerram [Thu, 16 Oct 2003 11:53:58 +0000 (11:53 +0000)]
Work on debugger frontend code.
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.
Marius Vollmer [Sun, 12 Oct 2003 16:53:24 +0000 (16:53 +0000)]
*** empty log message ***
Marius Vollmer [Sun, 12 Oct 2003 16:52:12 +0000 (16:52 +0000)]
(directory-files): Close dir-stream when done. Thanks to Paul Jarc!
Marius Vollmer [Sun, 12 Oct 2003 16:51:38 +0000 (16:51 +0000)]
Added Paul Jarc.
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.
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.
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.
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.
Kevin Ryde [Sat, 11 Oct 2003 22:25:28 +0000 (22:25 +0000)]
*** empty log message ***
Kevin Ryde [Sat, 11 Oct 2003 22:24:34 +0000 (22:24 +0000)]
(scm_append): Track argument number and use in error.
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.
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.
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.
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.
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.
Marius Vollmer [Fri, 10 Oct 2003 14:32:19 +0000 (14:32 +0000)]
*** empty log message ***
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.
Kevin Ryde [Thu, 9 Oct 2003 00:41:46 +0000 (00:41 +0000)]
*** empty log message ***
Kevin Ryde [Thu, 9 Oct 2003 00:41:15 +0000 (00:41 +0000)]
(inexact->exact): New tests.
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.
Kevin Ryde [Thu, 9 Oct 2003 00:17:12 +0000 (00:17 +0000)]
*** empty log message ***
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.
Kevin Ryde [Wed, 8 Oct 2003 23:06:05 +0000 (23:06 +0000)]
*** empty log message ***
Kevin Ryde [Wed, 8 Oct 2003 23:05:12 +0000 (23:05 +0000)]
* tests/poe.test: New file.
* Makefile.am: Add it.
Kevin Ryde [Wed, 8 Oct 2003 23:03:29 +0000 (23:03 +0000)]
New file.
Kevin Ryde [Wed, 8 Oct 2003 23:00:37 +0000 (23:00 +0000)]
*** empty log message ***
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.
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.
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.
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!
Neil Jerram [Mon, 6 Oct 2003 20:33:02 +0000 (20:33 +0000)]
UI frontend work: eval support.
Marius Vollmer [Mon, 6 Oct 2003 19:25:05 +0000 (19:25 +0000)]
*** empty log message ***
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.
Neil Jerram [Sat, 4 Oct 2003 20:03:51 +0000 (20:03 +0000)]
Debugger UI asynchronous thread support.
Kevin Ryde [Thu, 2 Oct 2003 00:29:50 +0000 (00:29 +0000)]
*** empty log message ***
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.
Kevin Ryde [Thu, 2 Oct 2003 00:17:50 +0000 (00:17 +0000)]
*** empty log message ***
Kevin Ryde [Thu, 2 Oct 2003 00:17:16 +0000 (00:17 +0000)]
(call-with-output-string): Test proc closing port.
Kevin Ryde [Thu, 2 Oct 2003 00:11:12 +0000 (00:11 +0000)]
*** empty log message ***
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.
Kevin Ryde [Thu, 2 Oct 2003 00:00:42 +0000 (00:00 +0000)]
Fix a couple of typos in:
New file.
Kevin Ryde [Wed, 1 Oct 2003 23:51:41 +0000 (23:51 +0000)]
Add call-with-output-string no segv on closed port.
Neil Jerram [Sat, 27 Sep 2003 10:08:26 +0000 (10:08 +0000)]
Two fixes to Guile tutorial.
Neil Jerram [Thu, 25 Sep 2003 20:32:10 +0000 (20:32 +0000)]
Work (in progress) on new debugging frontend.
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)
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.
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.
Kevin Ryde [Sun, 21 Sep 2003 01:19:44 +0000 (01:19 +0000)]
*** empty log message ***
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.
Kevin Ryde [Fri, 19 Sep 2003 01:30:54 +0000 (01:30 +0000)]
Add ice-9 popen duplicate pipe fd fix.
Kevin Ryde [Fri, 19 Sep 2003 01:29:17 +0000 (01:29 +0000)]
*** empty log message ***
Kevin Ryde [Fri, 19 Sep 2003 01:19:48 +0000 (01:19 +0000)]
*** empty log message ***
Kevin Ryde [Fri, 19 Sep 2003 01:06:14 +0000 (01:06 +0000)]
* tests/popen.test: New file.
* Makefile.am (SCM_TESTS): Add it.
Kevin Ryde [Fri, 19 Sep 2003 01:05:13 +0000 (01:05 +0000)]
New file.
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.
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.
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.
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.
Marius Vollmer [Tue, 16 Sep 2003 21:21:28 +0000 (21:21 +0000)]
*** empty log message ***
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.
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.
Kevin Ryde [Mon, 15 Sep 2003 22:47:27 +0000 (22:47 +0000)]
Fix a grammatical typo in my last entry.
Kevin Ryde [Mon, 15 Sep 2003 22:29:32 +0000 (22:29 +0000)]
Add another comment to:
(file-exists?): Use stat rather than access?, ...
Marius Vollmer [Mon, 15 Sep 2003 13:38:07 +0000 (13:38 +0000)]
*** empty log message ***
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!
Marius Vollmer [Mon, 15 Sep 2003 12:37:16 +0000 (12:37 +0000)]
*** empty log message ***
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!
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.
Kevin Ryde [Sat, 13 Sep 2003 00:39:44 +0000 (00:39 +0000)]
*** empty log message ***
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.
Kevin Ryde [Sat, 13 Sep 2003 00:18:46 +0000 (00:18 +0000)]
*** empty log message ***
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!.
Kevin Ryde [Sat, 13 Sep 2003 00:09:14 +0000 (00:09 +0000)]
(Reading): Add scm_c_read.
(Writing): Add scm_c_write.
Kevin Ryde [Sat, 13 Sep 2003 00:01:48 +0000 (00:01 +0000)]
(SRFI-1 Constructors): Add list-copy.
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.
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.
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.
Kevin Ryde [Fri, 12 Sep 2003 23:47:35 +0000 (23:47 +0000)]
*** empty log message ***
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.
Marius Vollmer [Fri, 12 Sep 2003 15:43:04 +0000 (15:43 +0000)]
*** empty log message ***
Marius Vollmer [Fri, 12 Sep 2003 15:42:29 +0000 (15:42 +0000)]
(SCM_FENCE): Use __memory_barrier with the Intel compiler on IA64.
Marius Vollmer [Fri, 12 Sep 2003 15:16:56 +0000 (15:16 +0000)]
*** empty log message ***
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.
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.
Marius Vollmer [Fri, 12 Sep 2003 15:11:59 +0000 (15:11 +0000)]
(scm_tc16_hashtable): Added "extern" declaration.
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.
Marius Vollmer [Fri, 12 Sep 2003 14:14:05 +0000 (14:14 +0000)]
*** empty log message ***
Marius Vollmer [Fri, 12 Sep 2003 14:13:48 +0000 (14:13 +0000)]
Use "extern inline" only with GCC. Use "static
inline" else.
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.
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.
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.
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.
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.
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.
Kevin Ryde [Wed, 3 Sep 2003 00:03:20 +0000 (00:03 +0000)]
*** empty log message ***
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.
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.