Mikael Djurfeldt [Mon, 28 Apr 2003 12:43:45 +0000 (12:43 +0000)]
* eval.c (scm_m_atdispatch): Removed until actually needed. (This
macro was introduced in anticipation of GOOPS method compilation
code.)
* goops.c: Removed binding of @dispatch.
Dirk Herrmann [Mon, 28 Apr 2003 06:05:10 +0000 (06:05 +0000)]
* eval.c, goops.c (@dispatch, @slot-ref, @slot-set!): Move the
instructions that bind the macros on the scheme level back to
goops.c in order to make sure again that the bindings go into the
(oop goops) module and are not visible from the outside.
Dirk Herrmann [Sun, 27 Apr 2003 12:06:48 +0000 (12:06 +0000)]
* eval.c: Non functional change: Separated R5RS and non-R5RS
macros into different sections of the file and ordered the
memoizers alphabetically.
Dirk Herrmann [Sun, 27 Apr 2003 11:06:14 +0000 (11:06 +0000)]
* eval.c (scm_ilookup): Rewritten to improve readability.
Dirk Herrmann [Sun, 27 Apr 2003 10:44:08 +0000 (10:44 +0000)]
* eval.c (scm_i_call_closure_0, call_closure_1, call_closure_2):
Partially reverted patch from 2003-04-23 in oder to find a better
compromise between readability and debuggability.
Neil Jerram [Sat, 26 Apr 2003 15:30:59 +0000 (15:30 +0000)]
Document scm_str2symbol and scm_mem2symbol.
Neil Jerram [Sat, 26 Apr 2003 15:09:18 +0000 (15:09 +0000)]
Doc clarification from tomas@fabula.de.
Neil Jerram [Sat, 26 Apr 2003 15:02:56 +0000 (15:02 +0000)]
scm_sysmissing doc fix from Kevin Ryde.
Mikael Djurfeldt [Fri, 25 Apr 2003 19:49:15 +0000 (19:49 +0000)]
* serialize.scm: New file.
Mikael Djurfeldt [Fri, 25 Apr 2003 19:48:33 +0000 (19:48 +0000)]
Comment fix
Dirk Herrmann [Fri, 25 Apr 2003 16:22:47 +0000 (16:22 +0000)]
* eval.c, eval.h, goops.c, goops.h (scm_m_atslot_ref,
scm_m_atslot_set_x, scm_m_atdispatch): Move the declarations and
definitions of the special goops memoizers from goops.[ch] to
eval.[ch]. Hmm... it seems that scm_m_atdispatch is not used
throughout guile.
Mikael Djurfeldt [Thu, 24 Apr 2003 16:02:04 +0000 (16:02 +0000)]
* ports.c, ports.h (scm_i_port_table_mutex): New mutex.
* fports.c (scm_evict_ports): Lock/unlock scm_i_port_table_mutex.
* ports.c (scm_close_port, scm_flush_all_ports): Ditto.
* ioext.c (scm_fdes_to_ports): Ditto.
* vports.c (scm_make_soft_port): Changed SCM_DEFER/ALLOW_INTS into
lock/unlock scm_i_port_table_mutex.
* strports.c (scm_mkstrport): Ditto.
* ports.c (scm_void_port, scm_port_for_each): Ditto.
* fports.c (scm_fdes_to_port): Ditto.
Mikael Djurfeldt [Thu, 24 Apr 2003 10:44:06 +0000 (10:44 +0000)]
* threads.scm (n-for-each-par-map): New procedure.
Dirk Herrmann [Wed, 23 Apr 2003 19:04:00 +0000 (19:04 +0000)]
* tests/syntax.test: Modified some tests to use eval when
providing bad syntax. Otherwise, the memoizer will report an
error immediately after reading the form, without even the chance
to get the pass-if-exception mechanism started.
Dirk Herrmann [Wed, 23 Apr 2003 18:47:54 +0000 (18:47 +0000)]
* tests/guardians.test: Added some more elaborate and
sophisticated tests for the guardian functionality.
Dirk Herrmann [Wed, 23 Apr 2003 18:27:37 +0000 (18:27 +0000)]
This set of patches contains no functional changes, only debatable
minor stylistic ones. Still, in order to prepare a patch between
my local copy and the CVS version, I decided to submit the changes
below. Then, the patch will hopefully only contain relevant
modifications :-)
* eval.c (iqq): Added const specifier.
* eval.c (scm_trampoline_0, scm_trampoline_1, scm_trampoline_2):
Use NULL instead of 0 to indicate that a pointer is returned.
Removed some misleading 'fall through' comments.
* eval.c (scm_i_call_closure_0, call_closure_1, call_closure_2):
Split up long expressions into smaller ones to be more debugging
friendly.
Dirk Herrmann [Wed, 23 Apr 2003 17:20:26 +0000 (17:20 +0000)]
* eval.h (SCM_ENTER_FRAME_HDLR, SCM_APPLY_FRAME_HDLR,
SCM_EXIT_FRAME_HDLR): Use SCM_PACK to convert data to a SCM value
rather than casting to SCM.
Dirk Herrmann [Wed, 23 Apr 2003 16:49:30 +0000 (16:49 +0000)]
* sort.c, pairs.h: Removed unnecessary includes.
Dirk Herrmann [Tue, 22 Apr 2003 23:32:40 +0000 (23:32 +0000)]
* test-suite/tests/sort.test: Added. Both tests in that file did
fail (one even with a segfault) with CVS guile before the recent
changes to libguile/sort.c.
* libguile/sort.c: Replaced hand-made trampline code by the new
official mechanism from eval.c. This fixes a segfault in the new
test file test-suite/tests/sort.test.
(quicksort, compare_function, scm_restricted_vector_sort_x,
scm_sorted_p, scm_merge, scm_merge_list_x, scm_merge_x,
scm_merge_list_step, scm_sort_x, scm_sort, scm_merge_vector_x,
scm_merge_vector_step, scm_stable_sort_x, scm_stable_sort,
scm_sort_list_x, scm_sort_list): Use trampoline mechanism from
eval.c.
(subr2less, lsubrless, closureless, applyless, scm_cmp_function,
cmp_fun_t): Removed.
(compare_function): Added.
* libguile/sort.c (quicksort, SWAP, stack_node): Replaced pointer
arithmetics with index arithmetics. Changed quicksort to work on
an array of SCM values instead of an array of characters. Avoid
bytewise copying of SCM elements. Avoid allocating memory on the
stack with alloca. Fixed some comments.
Marius Vollmer [Tue, 22 Apr 2003 22:41:39 +0000 (22:41 +0000)]
*** empty log message ***
Marius Vollmer [Tue, 22 Apr 2003 22:41:19 +0000 (22:41 +0000)]
Removed stray "o" from exports list.
Dirk Herrmann [Mon, 21 Apr 2003 19:20:13 +0000 (19:20 +0000)]
* eval.c (EXTEND_ENV): Eliminated.
(unmemocopy, SCM_CEVAL, SCM_APPLY): Use SCM_EXTEND_ENV instead of
EXTEND_ENV.
Dirk Herrmann [Mon, 21 Apr 2003 14:39:37 +0000 (14:39 +0000)]
* __scm.h (SCM_DEBUG_DEBUGGER_SUPPORT): New compile-time option.
* gc.card.c (scm_gc_marked_p): Fixed compiler warning when
compiling with SCM_DEBUG==1 by moving definition behind prototype.
* gc.card.c (scm_dbg_t_list_cell, scm_dbg_t_double_cell,
scm_dbg_gc_marked_p, scm_dbg_gc_get_card, scm_dbg_gc_get_bvec,
scm_t_list_cell_struct, scm_t_list_cell, scm_t_double_cell,
scm_gc_marked_p, scm_gc_get_card, scm_gc_get_bvec): Fixed
functions such that they check if the object is a non-immediate.
Further, renamed identifiers to use the scm_dbg_ prefix and made
their inclusion into the lib dependent of the
SCM_DEBUG_DEBUGGER_SUPPORT compile time option.
Dirk Herrmann [Mon, 21 Apr 2003 13:33:48 +0000 (13:33 +0000)]
* __scm.h: Fixed comment about the SCM_DEBUG_TYPING_STRICTNESS
debug option.
Dirk Herrmann [Mon, 21 Apr 2003 01:59:57 +0000 (01:59 +0000)]
* srfi/srfi-1.c (srfi1_ilength), libguile/list.c (scm_ilength,
scm_last_pair), libguile/unif.c (l2ra): Prefer !SCM_CONSP over
SCM_NCONSP.
* libguile/unif.c (l2ra): Eliminate redundant check.
Now, guile itself does not include any calls to SCM_NCONSP any
more.
Dirk Herrmann [Mon, 21 Apr 2003 01:35:33 +0000 (01:35 +0000)]
* list.c (scm_cons_star), ramap.c (scm_ra_sum, scm_ra_product,
scm_array_map_x), unif.c (l2ra): Prefer !SCM_NULLP over
SCM_NNULLP. Now, guile itself does not include any calls to
SCM_NNULLP any more.
Dirk Herrmann [Mon, 21 Apr 2003 01:07:09 +0000 (01:07 +0000)]
* eval.c (unmemocopy, SCM_APPLY, scm_map, scm_for_each,
scm_copy_tree): Place assignment expressions which are part of
other expressions into an expression of their own.
Dirk Herrmann [Sun, 20 Apr 2003 23:38:18 +0000 (23:38 +0000)]
* goops.c (TEST_CHANGE_CLASS, scm_sys_initialize_object): Don't
compare SCM values with !=.
Dirk Herrmann [Sun, 20 Apr 2003 19:18:43 +0000 (19:18 +0000)]
* eval.c, eval.h, evalext.c, evalext.h (scm_sym_setter,
scm_m_generalized_set_x, scm_init_evalext): Move the declaration
and definition of the memoizer for the generalized set! macro from
evalext.[ch] to eval.[ch]. Use the SCM_SYNTAX snarfer macro to
define the macro object.
* eval.c, eval.h (s_set_x, scm_s_set_x, scm_m_set_x,
scm_m_generalized_set_x): Since now scm_s_set_x is only used in
eval.c, it is made static and renamed to s_set_x.
* evalext.c (scm_defined_p, scm_m_undefine): Prefer !SCM_<foo>
over SCM_N<foo>.
Dirk Herrmann [Sun, 20 Apr 2003 18:08:07 +0000 (18:08 +0000)]
* eval.c, root.h (scm_undefineds, SCM_NUM_PROTECTS, undefineds,
scm_init_eval): Made scm_undefineds static in eval.c, renamed it
to undefineds and registered the object as a permanent object.
* eval.c, eval.h (scm_f_apply, scm_init_eval): Made scm_f_apply
static in eval.c, renamed it to f_apply and registered the object
as a permanent object.
Mikael Djurfeldt [Sun, 20 Apr 2003 17:35:41 +0000 (17:35 +0000)]
* goops.scm (compute-getters-n-setters): Allow for primitive
procedure thunks. (Thanks to Neil W. Van Dyke.)
Mikael Djurfeldt [Sun, 20 Apr 2003 11:44:12 +0000 (11:44 +0000)]
*** empty log message ***
Dirk Herrmann [Sun, 20 Apr 2003 11:01:33 +0000 (11:01 +0000)]
* eval.c (SCM_BIT8, SCM_BIT8, unmemocopy, SCM_CEVAL): Renamed
file-local macro SCM_BIT8 to SCM_BIT7, which is more appropriate.
Dirk Herrmann [Sun, 20 Apr 2003 08:55:50 +0000 (08:55 +0000)]
* numbers.c (scm_logtest): Fixed argument bug in the call to
mpz_and, which showed up when compiling with SCM_DEBUG defined.
Dirk Herrmann [Sun, 20 Apr 2003 08:39:38 +0000 (08:39 +0000)]
* gc-card.c (scm_i_sweep_card, scm_i_init_card_freelist): Fixed
type errors that showed up when compiling with SCM_DEBUG defined.
Dirk Herrmann [Sun, 20 Apr 2003 07:19:38 +0000 (07:19 +0000)]
* Removed uses of DEBUG_EXTENSIONS and DYNAMIC_LINKING to
fix compile errors with --disable-deprecated.
Mikael Djurfeldt [Sat, 19 Apr 2003 17:26:05 +0000 (17:26 +0000)]
* goops/dispatch.scm (cache-hashval): Corrected termination
condition for hashval computation. (Previously, it made erroneous
assumptions about the representation of environments; Thanks to
Andreas Rottmann.)
Mikael Djurfeldt [Fri, 18 Apr 2003 08:19:03 +0000 (08:19 +0000)]
goops.c (TEST_CHANGE_CLASS): Update variable class after class change.
Marius Vollmer [Thu, 17 Apr 2003 22:47:53 +0000 (22:47 +0000)]
*** empty log message ***
Rob Browning [Thu, 17 Apr 2003 22:15:46 +0000 (22:15 +0000)]
*** empty log message ***
Rob Browning [Thu, 17 Apr 2003 22:15:37 +0000 (22:15 +0000)]
* numbers.c (scm_integer_expt): fix case where we were declaring
vars in the middle of a statement block. Thanks to Thamer
Al-Harbash.
Mikael Djurfeldt [Thu, 17 Apr 2003 19:51:04 +0000 (19:51 +0000)]
*** empty log message ***
Mikael Djurfeldt [Thu, 17 Apr 2003 19:40:49 +0000 (19:40 +0000)]
*** empty log message ***
Mikael Djurfeldt [Thu, 17 Apr 2003 19:23:52 +0000 (19:23 +0000)]
* tests/goops.test: Added tests for correctness of class
precedence list in all basic classes and tests for eqv? and
equal?.
* goops.scm (compute-getters-n-setters): Check for bad init-thunk.
(eqv?): Added default method.
(equal?): New default method which uses eqv?.
* eq.c (scm_eqv_p): Turned into a primitive generic.
Mikael Djurfeldt [Thu, 17 Apr 2003 17:37:11 +0000 (17:37 +0000)]
* goops.scm (compute-getters-n-setters): Check for bad init-thunk.
Mikael Djurfeldt [Thu, 17 Apr 2003 15:25:15 +0000 (15:25 +0000)]
* tests/goops.test: Added tests for correctness of class
precedence list in all basic classes and tests for equal?.
Mikael Djurfeldt [Thu, 17 Apr 2003 15:24:53 +0000 (15:24 +0000)]
Comment
Rob Browning [Wed, 16 Apr 2003 20:15:48 +0000 (20:15 +0000)]
*** empty log message ***
Rob Browning [Wed, 16 Apr 2003 20:15:37 +0000 (20:15 +0000)]
* gc_os_dep.c: Added patch for UnixWare and OpenUNIX support.
Thanks to Boyd Gerber.
Added check for __arm__ in addition to arm for LINUX and copied
__s390__ defines from upstream libgc. Thanks to James Treacy for
reporting the problems.
Rob Browning [Wed, 16 Apr 2003 19:59:27 +0000 (19:59 +0000)]
*** empty log message ***
Rob Browning [Wed, 16 Apr 2003 19:59:17 +0000 (19:59 +0000)]
* gc_os_dep.c: add check for __arm__ in addition to arm for
LINUX. Thanks to James Treacy for tracking this one down.
Rob Browning [Wed, 16 Apr 2003 19:45:12 +0000 (19:45 +0000)]
oops -- reverse accidental commit.
Rob Browning [Wed, 16 Apr 2003 19:45:11 +0000 (19:45 +0000)]
*** empty log message ***
Rob Browning [Wed, 16 Apr 2003 19:45:01 +0000 (19:45 +0000)]
* socket.c: use SCM_CHAR_BIT.
Rob Browning [Wed, 16 Apr 2003 19:44:55 +0000 (19:44 +0000)]
* random.c (scm_c_random_bignum): use SCM_CHAR_BIT.
Rob Browning [Wed, 16 Apr 2003 19:44:02 +0000 (19:44 +0000)]
* numbers.c (PTRDIFF_MIN): use SCM_CHAR_BIT.
Rob Browning [Wed, 16 Apr 2003 19:43:55 +0000 (19:43 +0000)]
* num2integral.i.c (NUM2INTEGRAL): use SCM_CHAR_BIT.
Rob Browning [Wed, 16 Apr 2003 19:39:35 +0000 (19:39 +0000)]
* gc_os_dep.c (mach_type_known): added patch for UnixWare and
OpenUNIX support. Thanks to Boyd Gerber.
Mikael Djurfeldt [Wed, 16 Apr 2003 12:52:04 +0000 (12:52 +0000)]
* feature.c (scm_init_feature): Always add threads feature.
Mikael Djurfeldt [Tue, 15 Apr 2003 01:17:36 +0000 (01:17 +0000)]
* tests/goops.test: Added tests for class redefinition, object
update and active slots.
* goops.scm (compute-getter-method): For custom getter: Check
boundness even if there is an init-thunk. (The getter can return
#<unbound> even if the slot has been set before.)
(remove-class-accessors!): Also remove accessor-method from its
accessor.
* goops.c (scm_sys_fast_slot_ref): Use SCM_SLOT instead of
scm_at_assert_bound_ref. (We don't want the unbound check. See
oop/goops/active-slot.scm.)
Mikael Djurfeldt [Mon, 14 Apr 2003 20:12:40 +0000 (20:12 +0000)]
Fix
Rob Browning [Mon, 14 Apr 2003 15:55:37 +0000 (15:55 +0000)]
*** empty log message ***
Rob Browning [Mon, 14 Apr 2003 15:55:23 +0000 (15:55 +0000)]
* standalone/test-asmobs-lib.c (libtest_asmobs_init): include
test-asmobs-lib.x rather than test-asmobs-lib.x.c.
Rob Browning [Mon, 14 Apr 2003 15:55:18 +0000 (15:55 +0000)]
* standalone/Makefile.am: change from .c.x to .x to be consistent
with the rest of guile.
Rob Browning [Mon, 14 Apr 2003 15:44:40 +0000 (15:44 +0000)]
*** empty log message ***
Rob Browning [Mon, 14 Apr 2003 15:42:34 +0000 (15:42 +0000)]
* tags.h: scm_t_intptr should have been intptr_t.
Rob Browning [Sun, 13 Apr 2003 17:48:02 +0000 (17:48 +0000)]
*** empty log message ***
Rob Browning [Sun, 13 Apr 2003 17:47:29 +0000 (17:47 +0000)]
* md/axp.s '.file 2 "axp.s"' -> '.file 2 "axp.s".
(qt_vstart): .end qt_vstart, not qt_start. Thanks to Falk
Hueffner.
Rob Browning [Sun, 13 Apr 2003 17:46:54 +0000 (17:46 +0000)]
* goops.c (prep_hashsets): make static to match prototype.
(scm_sym_args): SCM_SYMBOL -> SCM_GLOBAL_SYMBOL. Thanks to Albert
Chin.
Rob Browning [Sun, 13 Apr 2003 17:46:39 +0000 (17:46 +0000)]
* gc_os_dep.c: add NetBSD powerpc config info. Thanks to Thomas
Klausner.
Rob Browning [Sun, 13 Apr 2003 17:46:21 +0000 (17:46 +0000)]
* c-tokenize.lex: remove trailing comma from enum. Thanks to
Albert Chin.
Rob Browning [Sun, 13 Apr 2003 17:46:09 +0000 (17:46 +0000)]
* __scm.h (SCM_FLUSH_REGISTER_WINDOWS): don't just rely on "sparc"
test. Instead use
#if defined (sparc) || defined (__sparc__) || defined (__sparc)
as gc_os_dep.c suggests is appropriate.
Mikael Djurfeldt [Sun, 13 Apr 2003 14:48:35 +0000 (14:48 +0000)]
* goops.scm (compute-getters-n-setters/verify-accessors): Better
check of format of value returned by compute-get-n-set.
(compute-getters-n-setters): Extended format of slot
getters-n-setters to indicate position and size of slot memory
allocated in instances.
* goops.c (scm_sys_prep_layout_x): Instance allocation is now
indicated through extra fields in getters-n-setters.
(scm_add_slot): Adapted to new format of getters_n_setters slot.
(Thanks to Andy Wingo.)
Han-Wen Nienhuys [Wed, 9 Apr 2003 09:29:44 +0000 (09:29 +0000)]
(snarfcppopts): use DEFAULT_INCLUDES
instead of INCLUDES
Rob Browning [Mon, 7 Apr 2003 20:38:55 +0000 (20:38 +0000)]
*** empty log message ***
Rob Browning [Mon, 7 Apr 2003 20:36:04 +0000 (20:36 +0000)]
* debug.h: change "id" arg name to "info_id" to avoid objective-c
clash.
Rob Browning [Mon, 7 Apr 2003 17:52:28 +0000 (17:52 +0000)]
*** empty log message ***
Rob Browning [Mon, 7 Apr 2003 17:50:48 +0000 (17:50 +0000)]
* standalone/Makefile.am: new file.
Rob Browning [Mon, 7 Apr 2003 17:50:41 +0000 (17:50 +0000)]
* guile-test: added "Running test FOO" output by default. There
may be a good reason to remove this, but the output can be helpful
in determining where a failure occurred.
Rob Browning [Mon, 7 Apr 2003 17:48:31 +0000 (17:48 +0000)]
* standalone/test-num2integral.c: new test -- one new regression
check.
Rob Browning [Mon, 7 Apr 2003 17:48:00 +0000 (17:48 +0000)]
* standalone/test-gh.c: new test code (migrated from
tests/c-api/) -- a trivial start.
Rob Browning [Mon, 7 Apr 2003 17:46:38 +0000 (17:46 +0000)]
* standalone/test-asmobs-lib.c: new test script (migrated from
tests/asmobs/).
Rob Browning [Mon, 7 Apr 2003 17:46:30 +0000 (17:46 +0000)]
* standalone/test-asmobs: new test script.
Rob Browning [Mon, 7 Apr 2003 17:46:11 +0000 (17:46 +0000)]
* standalone/README: new file.
Rob Browning [Mon, 7 Apr 2003 17:38:03 +0000 (17:38 +0000)]
* standalone/Makefile.am: new file.
Rob Browning [Mon, 7 Apr 2003 17:37:53 +0000 (17:37 +0000)]
* standalone/.cvsignore: new file.
Rob Browning [Mon, 7 Apr 2003 17:36:26 +0000 (17:36 +0000)]
* num2integral.i.c (NUM2INTEGRAL): fix bug pointed out by Mikael
and add regression test to standalone/.
Rob Browning [Mon, 7 Apr 2003 17:36:17 +0000 (17:36 +0000)]
*** empty log message ***
Rob Browning [Mon, 7 Apr 2003 17:34:50 +0000 (17:34 +0000)]
* pre-inst-guile-env.in: new script -- can be used to run commands
in an envt set up using the development libs, Guile, etc.
Rob Browning [Mon, 7 Apr 2003 17:31:02 +0000 (17:31 +0000)]
* configure.in: handle pre-inst-guile-env and add
test-suite/standalone/Makefile.
Rob Browning [Mon, 7 Apr 2003 02:00:36 +0000 (02:00 +0000)]
* tests/asmobs/asmobs.c: removed (functionality is now in standalone/).
Rob Browning [Mon, 7 Apr 2003 02:00:30 +0000 (02:00 +0000)]
* tests/asmobs/asmobs-test.scm: removed (functionality is now in
standalone/).
Rob Browning [Mon, 7 Apr 2003 02:00:16 +0000 (02:00 +0000)]
* tests/asmobs/README: removed (functionality is now in standalone/).
Rob Browning [Mon, 7 Apr 2003 02:00:11 +0000 (02:00 +0000)]
* tests/asmobs/Makefile: removed (functionality is now in standalone/).
Rob Browning [Mon, 7 Apr 2003 01:58:47 +0000 (01:58 +0000)]
*** empty log message ***
Rob Browning [Mon, 7 Apr 2003 01:58:30 +0000 (01:58 +0000)]
* tests/c-api/strings.c: add a note to the source about this code
being unused.
Rob Browning [Mon, 7 Apr 2003 01:52:00 +0000 (01:52 +0000)]
*** empty log message ***
Rob Browning [Mon, 7 Apr 2003 01:51:25 +0000 (01:51 +0000)]
* init.c: #include gmp.h.
Rob Browning [Mon, 7 Apr 2003 01:51:10 +0000 (01:51 +0000)]
* random.c: #include gmp.h.
(scm_c_random_bignum): normalize result on return.
Rob Browning [Mon, 7 Apr 2003 01:50:35 +0000 (01:50 +0000)]
* numbers.h: remove the gmp.h #include (not needed now).