Dirk Herrmann
2e9c835db9
* Make sure, re-entering the dynamic scope of an eval statement will
...
restore the latest selected module.
2000-12-21 17:51:55 +00:00
Dirk Herrmann
09074dbf9c
* Fix a bug in scm_eval.
2000-12-15 14:00:18 +00:00
Dirk Herrmann
85db4a2c8e
* Initialize symbols using SCM_(GLOBAL_)?SYMBOL instead of scm_sysintern...
...
* Use scm_str2symbol instead of scm_sysintern0.
* Garbage collection initialization code now within gc.c only.
2000-12-11 14:48:23 +00:00
Keisuke Nishida
e841c3e0c0
Smob-related creanup.
2000-12-08 17:32:56 +00:00
Keisuke Nishida
68b069240f
Some cleanup on smob calls.
2000-12-07 07:10:26 +00:00
Keisuke Nishida
cb1c46c57e
Improved smob calls.
2000-12-07 00:55:12 +00:00
Dirk Herrmann
fd3363659b
* eval.c: remove commented code, remove #ifdef CCLO conditionals
...
* remove uses of older GC marking and cell accessing macros
2000-12-06 15:16:59 +00:00
Gary Houston
5f144b105d
* use an applicable SMOB to represent continuations, instead of a
...
custom tc7 type. This will make it easier to support R5RS
multiple value continuations, without the use of a Scheme-level
wrapper.
* continuations.c (scm_tc16_continuation, continuation_mark,
continuation_free, continuation_print, continuation_apply):
new SMOB support.
(scm_make_continuation): new procedure, replaces scm_make_cont
with a different interface.
(copy_stack_and_call, scm_dynthrow, scm_init_continuations): rewritten.
(CHEAP_CONTINUATIONS): removed non-working code completely.
(scm_call_continuation): removed.
* continuations.h (struct scm_contregs): add num_stack_items and
stack fields. previously stack was stored following this struct:
use a tail array instead.
(SCM_CONTINUATIONP): new macro.
(SCM_CONTINUATION_LENGTH, SCM_SET_CONTINUATION_LENGTH):
rewritten.
(SCM_SET_CONTREGS): removed.
* tags.h: removed scm_tc7_contin (was tag 61).
* debug.c, gc.c, hash.c, print.c, procprop.c, procs.c:
removed scm_tc7_contin support.
* eval.c: use scm_make_continuation instead of scm_make_cont.
don't set jump buffers here. remove scm_tc7_contin support.
* init.c, root.c: create SMOB continuation for rootcont instead
of scm_tc7_contin. call scm_init_continuations before
scm_init_root.
* root.c: remove support for static jmpbuf. It's not used by
default and I broke it. create SMOB continuation for rootcont.
* stacks.c: use SCM_CONTINUATIONP.
2000-11-25 16:58:25 +00:00
Marius Vollmer
8dc9439fc6
* alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
...
continuations.c, debug-malloc.c, debug.c, dynl.c, dynwind.c,
environments.c, eq.c, error.c, eval.c, evalext.c, feature.c,
filesys.c, fluids.c, fports.c, gc.c, goops.c, guardians.c, hash.c,
hashtab.c, hooks.c, ioext.c, iselect.c, keywords.c, lang.c,
list.c, load.c, macros.c, modules.c, net_db.c, numbers.c,
objects.c, objprop.c, options.c, pairs.c, ports.c, posix.c,
print.c, procprop.c, procs.c, properties.c, ramap.c, random.c,
read.c, regex-posix.c, root.c, scmsigs.c, script.c, simpos.c,
socket.c, sort.c, srcprop.c, stackchk.c, stacks.c, stime.c,
strings.c, strop.c, strorder.c, strports.c, struct.c, symbols.c,
tag.c, threads.c, throw.c, unif.c, variable.c, vectors.c,
version.c, vports.c, weaks.c: Makes sure the snarfer output
inclusion is disabled when the snarfer is run on the file. Thanks
to Lars J. Aas!
* Makefile.am: Install guile-procedures.txt in version-specific
directory to enable multiple installed guile versions. Suggested
by Karl M. Hegbloom <karlheg@debian.org, patch by Matthias Koeppe.
2000-11-17 16:25:05 +00:00
Mikael Djurfeldt
4ea6a43186
* eval.c (SCM_IM_DISPATCH), objects.c (scm_mcache_lookup_cmethod):
...
Count n_specialized + 1 turns before letting a match through.
2000-11-07 02:18:11 +00:00
Mikael Djurfeldt
5e8904311f
* goops.c, objects.c, objects.h, eval.c (scm_make_extended_class,
...
scm_make_port_classes, scm_change_object_class,
scm_memoize_method): Changed to ordinary functions (was plugin
slots).
2000-10-25 14:50:28 +00:00
Dirk Herrmann
d1ca2c6423
* Some more work to get rid of SCM_LENGTH
...
* Eliminated some cell type bit fiddling
* Various minor changes
2000-10-25 11:01:03 +00:00
Dirk Herrmann
b5c2579a34
* Removed further calls to SCM_LENGTH.
2000-10-10 09:22:31 +00:00
Dirk Herrmann
3db4adfced
* Removed some more references to SCM_CHARS.
...
* Provided SCM_U?VECTOR_BASE as replacements for SCM_VELTS.
2000-09-26 19:20:39 +00:00
Dirk Herrmann
f151f91293
* Eliminated some more calls to SCM_CHARS.
2000-09-22 17:43:57 +00:00
Dirk Herrmann
28b06554ca
* Unified ssymbols and msymbols to a single symbol type 'scm_tc7_symbol'.
...
* Added scm_string_hash and deprecated scm_strhash.
2000-09-12 12:30:36 +00:00
Keisuke Nishida
afa38f6e60
* eval.c (SCM_APPLY): Fixed bugs in the applicable-smob calls.
2000-09-10 13:41:18 +00:00
Neil Jerram
11768c044a
* Docstring updates.
2000-09-02 23:23:16 +00:00
Keisuke Nishida
0717dfd871
* smob.h (scm_smob_descriptor): Added apply\' and
gsubr_type\'.
...
* smob.c (scm_make_smob_type): Initialize `apply\' and `gsubr_type\'.
(scm_set_smob_apply): New function.
(scm_smob_apply_0, scm_smob_apply_1, scm_smob_apply_2,
scm_smob_apply_3): New functions.
* eval.c (SCM_CEVAL, SCM_APPLY): Added dispatch for applicable smobs.
* procs.c (s_scm_procedure_p): Check applicable smobs.
2000-08-25 02:26:22 +00:00
Mikael Djurfeldt
68d8be66ce
* eval.c (scm_eval): Backward incompatible change: Now takes an
...
environment specifier as second arg. `eval' hereby becomes R5RS
compatible.
(scm_i_eval_x, scm_i_eval): New functions (replace
scm_eval_3).
(scm_eval2, scm_eval_3): Deprecated.
(scm_top_level_lookup_closure_var): Deprecated.
2000-08-11 08:42:50 +00:00
Marius Vollmer
1bd07992b6
* eval.c (unmemocopy): Don't rely on V being a list of at least
...
one element. Thanks to Bill Schottstaedt!
2000-07-17 19:59:57 +00:00
Mikael Djurfeldt
549e6ec69d
* eval.c, eval.h (scm_top_level_lookup_closure_var): Added.
...
#include "libguile/fluids.h".
2000-06-21 02:42:03 +00:00
Mikael Djurfeldt
8878f04033
* eval.c: Updated comment above scm_map.
2000-06-14 22:02:13 +00:00
Mikael Djurfeldt
002f1a5dba
* eval.c (scm_badformalsp): New static function.
...
(SCM_CEVAL): Check arguments for procedure-with-setter closures.
(Thanks to Keisuke Nishida.)
2000-06-04 17:27:27 +00:00
Mikael Djurfeldt
790071cdc8
* eval.c (scm_lookupcar): Test for !SCM_CONSP (SCM_CAR (env))
...
instead of SCM_TRUE (scm_procedurep (SCM_CAR (env))).
2000-06-04 01:29:54 +00:00
Dirk Herrmann
445f675cf4
* Replace SCM_UNPACK_CAR with SCM_CELL_TYPE or SCM_CELL_WORD_0.
...
* Only access cons cells via SCM_{SET}?C[AD]R.
* Added documentation for scm_force.
2000-05-23 17:18:37 +00:00
Dirk Herrmann
af45e3b06a
* Unified some rest argument checking and handling.
2000-05-18 08:47:52 +00:00
Dirk Herrmann
c8a54c4b87
* __scm.h: Added SCM_DEBUG as default debug option.
...
* __scm.h: Added debug option SCM_DEBUG_REST_ARGUMENTS.
* eval.c: Make sure all parameter lists for map and for-each have the
same length. Also, removed redundant parameter checks.
2000-05-17 08:35:30 +00:00
Dirk Herrmann
eb42e2f03a
More distinguished handling of real and complex values.
2000-05-10 12:34:43 +00:00
Dirk Herrmann
ab66ae47f2
* eval.c: Removed ASRTSYNTAX macro. Removed function 'bodycheck'.
...
* stacks.c: Removed unused calculations, minimized variable scopes.
2000-05-08 09:57:29 +00:00
Dirk Herrmann
44d3cb0d1b
* eval.c: Eliminated redundant SCM_IMP tests.
...
* hashtab.c, weaks.c: Fixed critical sections. Thanks to Keisuke Nishida.
2000-05-05 11:10:57 +00:00
Dirk Herrmann
f8de44c154
* numbers.c (scm_logtest, scm_division): Reordered dispatch sequence.
...
* removed calls to deprecated scm_makdbl.
2000-05-02 16:41:20 +00:00
Dirk Herrmann
09e4d06400
Made undef_object into a local static variable.
2000-04-25 12:06:51 +00:00
Mikael Djurfeldt
a059974535
* Makefile.am (DEFS): Added. automake adds -I options to DEFS,
...
and we don't want that.
(INCLUDES): Removed all -I options except for the root source
directory and the root build directory.
* *.*: Change includes so that they always use the "prefixes"
libguile/, qt/, guile-readline/, or libltdl/.
(Thanks to Tim Mooney.)
2000-04-21 14:16:44 +00:00
Dirk Herrmann
3201d76356
* Another couple of SCM/scm_bits_t cleanups.
...
* eval.c: replaced undef_cell by undef_object.
* eval.c: made some struct vcell accesses explicit.
2000-04-19 09:37:48 +00:00
Dirk Herrmann
b0c545678a
* eval.c (scm_unmemocar): Use macros to test for gloc cell.
...
* eval.h (SCM_IFRAME, SCM_IDIST), weaks.h (SCM_IS_WHVEC_ANY): Added missing
call to SCM_UNPACK.
2000-04-17 15:05:20 +00:00
Dirk Herrmann
d8c40b9f49
The struct data is now an array of scm_bits_t variables.
2000-04-12 01:19:49 +00:00
Dirk Herrmann
cf49832683
Some fixes for strict typing.
2000-04-01 21:23:09 +00:00
Mikael Djurfeldt
a963f78704
* eval.c (SCM_CEVAL, scm_unmemocar): SCM_PACK/UNPACK corrections.
2000-03-22 02:12:13 +00:00
Michael Livshin
89e00824a0
* *.[hc]: add Emacs magic at the end of file, to ensure GNU
...
indentation style.
2000-03-19 19:01:16 +00:00
Dirk Herrmann
28b3236d36
Only include async.h where it is actually needed.
2000-03-18 09:16:48 +00:00
Dirk Herrmann
ba11fd4cb6
Only include root.h where it is actually needed.
2000-03-18 08:44:04 +00:00
Dirk Herrmann
f04d8caf82
Only include ports.h where it is actually needed.
2000-03-17 16:10:13 +00:00
Dirk Herrmann
003d1fd046
Only include vectors.h in those files, where it is actually needed.
2000-03-17 15:23:03 +00:00
Mikael Djurfeldt
43a912cfa6
* eval.c, lang.c, lang.h (scm_lisp_nil, scm_lisp_t): Renamed from
...
scm_nil, scm_t. (Thanks to Dirk Herrmann.)
2000-03-14 16:41:03 +00:00
Mikael Djurfeldt
950cc72b8f
* __scm.h eq.c, eval.c, gc.c, hc.h, gh_data, hash.c, numbers.c,
...
numbers.h, objects.c, ramap.c, random.c, unif.c, unif.h: Extensive
rewrite of handling of real and complex numbers.
(SCM_FLOATS, SCM_SINGLES): These #ifdef conditionals have been
removed along with the support for floats. (Float vectors are
still supported.)
2000-03-14 06:43:03 +00:00
Mikael Djurfeldt
f12677062e
*** empty log message ***
2000-03-12 18:30:33 +00:00
Mikael Djurfeldt
413cb56ff4
* async.c, boolean.h, debug.c, dynl.c, dynwind.c, eval.c, eval.h,
...
feature.h, filesys.h, fluids.h, fports.c, fports.h, gc.c, gc.h,
hash.c, keywords.h, macros.c, numbers.c, numbers.h, objects.c,
objects.h, options.c, pairs.h, ports.c, ports.h, print.c,
procs.h, ramap.c, read.c, smob.c, smob.h, srcprop.h, stacks.c,
stacks.h, strports.c, struct.c, struct.h, tag.c, tags.h,
throw.c, unif.c, unif.h, variable.h, vectors.h, weaks.c,
weaks.h (SCM_SCM, SCM_BITS, SCM_CARBITS): Renamed from
SCM_ASSCM, SCM_ASWORD, SCM_CARW).
2000-03-12 17:00:58 +00:00
Mikael Djurfeldt
e282f286eb
* alist.c, eval.c, net_db.c, posix.c, print.c, snarf.h, struct.c,
...
tags.h: Fixed copyright notices.
2000-03-12 16:08:24 +00:00
Mikael Djurfeldt
9374451b7e
* eval.c (scm_lookupcar1): Inserted SCM_ASWORD in expressions
...
dealing with ilocs.
2000-03-11 15:09:33 +00:00