1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 04:10:18 +02:00
Commit graph

2786 commits

Author SHA1 Message Date
Dirk Herrmann
e51fe79c72 * Removed SCM_SYMBOL_UCHARS. 2000-11-28 16:37:40 +00:00
Gary Houston
ce21243418 * reimplementation of values, call-with-values as primitives:
* values.c, values.h: new files.  use a struct to contain multiple
	values, similar to the previous Scheme-level implementation.
	* Makefile.am: add values.c, values.h, values.x.
	* continuations.c (continuation_apply): support R5RS multiple value
	continuations.
	* init.c: call scm_init_values.
	* struct.h: define SCM_SET_STRUCT_PRINTER.
2000-11-26 18:27:49 +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
Dirk Herrmann
7f555fb4ed * Fix previous change (thanks to Matthias Koeppe). 2000-11-24 14:43:41 +00:00
Dirk Herrmann
ca83b028dc * Goops does not provide its own version of logand any more.
* Removed use of deprecated stuff from goops.
2000-11-24 10:55:23 +00:00
Dirk Herrmann
5b9eb8ae16 * Deprecated SCM_LENGTH_MAX. 2000-11-23 15:26:24 +00:00
Dirk Herrmann
6a0476fd11 * SCM_SETCHARS deprecated. 2000-11-23 13:54:49 +00:00
Dirk Herrmann
9377887701 * Deprecated SCM_SETLENGTH. 2000-11-23 08:59:22 +00:00
Dirk Herrmann
d7cf432578 * Added SCM_SET_CONTINUATION_LENGTH to replace SCM_SETLENGTH. 2000-11-22 15:36:58 +00:00
Dirk Herrmann
bc0eaf7b78 * Added SCM_SET_VECTOR_LENGTH as one replacement for SCM_SETLENGTH. 2000-11-22 14:45:41 +00:00
Dirk Herrmann
34f0f2b8af * Deprecated macros SCM_ROCHARS and SCM_ROUCHARS. 2000-11-22 11:20:03 +00:00
Dirk Herrmann
395d8627b9 * This patch belongs to the previous one, it deprecates SCM_VALIDATE_RWSTRING. 2000-11-22 09:16:06 +00:00
Dirk Herrmann
f0942910af * Deprecated SCM_RWSTRINGP and SCM_VALIDATE_RWSTRING.
* Prepared SCM_STRING_U?CHARS to replace SCM_ROU?CHARS.
2000-11-21 17:32:38 +00:00
Gary Houston
fc40e1fd21 * Makefile.am (.c.x): don't prefix ".:" to $PATH when running
guile-doc-snarf.  it doesn't seem to do anything useful, but would
	fail if $PATH contained whitespace.  Thanks to Lars J. Aas.
2000-11-18 22:18:03 +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
Gary Houston
6b72ac1d10 * fports.c: include gc.h.
(fport_flush, fport_close): silently ignore I/O errors when
	closing a port during gc.  it's better than aborting in scm_error.

	* throw.c (scm_handle_by_message): remove obsolete comment.
2000-11-13 23:16:38 +00:00
Gary Houston
9f561420d3 * fports.c (scm_open_file): fix the 'b' option. Thanks
to George Caswell.
2000-11-12 12:20:52 +00:00
Gary Houston
b875c46853 2000-11-09 Gary Houston <ghouston@arglist.com>
* ports.c, ports.h (scm_close_all_ports_except): deprecated.
	use port-for-each.  Updated its docstring.
2000-11-09 22:44:09 +00:00
Gary Houston
34526073e8 *** empty log message *** 2000-11-07 22:42:35 +00:00
Gary Houston
c2ca44933f 2000-11-07 Gary Houston <ghouston@arglist.com>
* ports.c (scm_port_for_each): new proc.  implements port-for-each,
	which applies a procedure to each port in the port table.
	ports.h: declare scm_port_for_each.

	* ioext.c (scm_dup2): new proc.  implements "dup2" which is a simple
	wrapper for the dup2 system call (unlike dup->fdes or
	primitive-move->fdes).
	* ioext.h: declare scm_dup2.

	* filesys.c (scm_close_fdes): new proc.  implements "close-fdes"
	which is a simple wrapper for close system call (unlike scm_close).
	* filesys.h: declare for scm_close_fdes.
2000-11-07 21:34:45 +00:00
Mikael Djurfeldt
b100f5eed2 *** empty log message *** 2000-11-07 02:19:13 +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
55c4a13240 * goops.c (scm_sys_invalidate_method_cache_x): Don't convert
scm_si_n_specialized from fixnum and don't take absolute value.
(Thanks to Lars J. Aas.)
2000-11-07 02:17:58 +00:00
Gary Houston
eb5c0a2a6c 2000-11-04 Gary Houston <ghouston@arglist.com>
* ports.c (scm_port_p): new function, implements "port?" which
	is mentioned in R5RS.
	* ports.h: declare scm_port_p.
2000-11-04 23:24:14 +00:00
Dirk Herrmann
931dd6e125 * Ahem, forgot to send the changelog with the last set of patches... 2000-11-02 10:41:33 +00:00
Dirk Herrmann
b24b5e13bf * Get rid of calls to SCM_ROSTRINGP.
* Fix some string/symbol output problems with regards to substrings.
* Fix error output to prefer procedure name parameters over stack data.
* Use SCM_(SET_)?FILENAME where appropriate.
* Prefer calling scm_remember over scm_protect/unprotect_object calls.
2000-11-02 10:36:31 +00:00
Dirk Herrmann
66460dfba3 * environments.c: Don't use '==' to compare SCM objects.
* posix.c (scm_getgroups):  Don't create a redundant string object.
2000-11-01 17:55:41 +00:00
Dirk Herrmann
0f87853a56 * Don't recompute symbol hash values. The symbol holds them already.
* Speed up interning of symbols by comparing hash values.
2000-11-01 16:59:45 +00:00
Dirk Herrmann
a3a329390f * Remove the code that implemented the SCM_HUGE_LENGTH trick. 2000-10-30 17:47:52 +00:00
Dirk Herrmann
a6d9e5abe5 * Change a couple of functions to accept either symbols or strings only.
* Get rid of remainig uses of SCM_LENGTH etc.
2000-10-30 11:42:26 +00:00
Dirk Herrmann
e9bfab50e4 * String comparison functions don't accept symbols as arguments any more.
* Added macro SCM_STRING_COERCE_0TERMINATION_X.
2000-10-26 18:18:28 +00:00
Mikael Djurfeldt
f4553de8f8 *** empty log message *** 2000-10-25 15:51:29 +00:00
Mikael Djurfeldt
42b586db77 * goops.h: Renamed class --> cls, new --> newinst in order to accomodate
C++.
2000-10-25 15:51:06 +00:00
Mikael Djurfeldt
14f1d9fec8 *** empty log message *** 2000-10-25 14:51:33 +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
Mikael Djurfeldt
acfee8e1d0 * init.c (scm_init_guile_1): Call the goops module registration
function.
Added #include "libguile/goops.h".
2000-10-25 14:49:56 +00:00
Mikael Djurfeldt
0518d3e277 * goops.h: Removed various superfluous conditions. 2000-10-25 14:49:47 +00:00
Mikael Djurfeldt
80662edab3 * 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).

* goops.c (wrap_init, scm_wrap_object): Unconditionally use
SCM_STRUCT_GC_CHAIN.
(scm_goops_version): Removed.
(scm_oldfmt): and all uses of it: Removed.
(scm_shared_array_root, scm_shared_array_offset,
scm_shared_array_increments): Removed.
(scm_init_goops): No need to support two arg mutex init.
Removed #include "versiondat.h", #include "goops.h".
2000-10-25 14:49:31 +00:00
Mikael Djurfeldt
5a35577551 * Makefile.am (libguile_la_SOURCES): Added goops.c
(DOT_X_FILES): Added goops.x
(DOT_DOC_FILES): Added goops.doc
(modinclude_HEADERS): Added goops.h
2000-10-25 14:49:00 +00:00
Dirk Herrmann
1b9be268c8 * Deprecated scm_vector_set_length_x.
* Zero length vectors do not allocate dummy memory any more.
2000-10-25 12:58:51 +00:00
Dirk Herrmann
c7ec8671f8 * Forgot to check this in with the last bunch of files. 2000-10-25 11:13:15 +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
Marius Vollmer
31535422f5 Corrected "Brat" to "Brad". Sorry. 2000-10-24 20:37:00 +00:00
Marius Vollmer
f8fa3e387c *** empty log message *** 2000-10-20 00:32:00 +00:00
Marius Vollmer
612a55e5e3 * init.c (scm_init_guile_1, invoke_main_func): Call
scm_load_startup_files in scm_init_guile_1, not in
invoke_main_func.
2000-10-20 00:31:29 +00:00
Marius Vollmer
c6ba6ce6e3 *** empty log message *** 2000-10-18 21:06:21 +00:00
Marius Vollmer
5264d62116 * print.c (grow_ref_stack): Pass a INUM to scm_make_vector as the
size, not a naked int.  Thanks to Brat Knotwell!
2000-10-18 21:05:57 +00:00
Marius Vollmer
0100535b2c *** empty log message *** 2000-10-18 18:28:19 +00:00
Marius Vollmer
a3487916d0 * gc_os_dep.c (GC_noop1, GC_bool, TRUE, FALSE, VOLATILE):
Definitions copied from Boehm collector.
2000-10-18 18:27:55 +00:00
Dirk Herrmann
daa6ba187b * Deprecated scm_sloppy_mem(q|v|ber) 2000-10-13 07:55:25 +00:00