1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00
Commit graph

588 commits

Author SHA1 Message Date
Dirk Herrmann
5d2b97cd07 * Fixed the changelog entry regarding re-introduction of struct member
properties (I continuously talked of member 'documentation' instead)
* Replace calls to scm_remember with calls to scm_remember_upto_here_1.
2000-12-28 16:49:09 +00:00
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