1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-06 15:40:29 +02:00
Commit graph

2648 commits

Author SHA1 Message Date
Mikael Djurfeldt
73e10adf20 * gc.c (scm_gc_mark): Mark 1 procedure slot in entities instead of
4.
1999-08-29 03:26:21 +00:00
Mikael Djurfeldt
195847fa2a * eval.c (scm_sym_args): Removed.
(SCM_CEVAL): Simplified entity application.
Moved dispatch code to objects.c.
1999-08-29 03:26:05 +00:00
Mikael Djurfeldt
375c11a331 *** empty log message *** 1999-08-29 01:31:09 +00:00
Mikael Djurfeldt
342490251d * sort.c (closureless): Use scm_eval_body. 1999-08-29 01:29:05 +00:00
Mikael Djurfeldt
e791c18fbb * eval.c (SCM_APPLY): Fixed serious evaluator bug which returned
an ILOC instead of the value if a closure with a symbol as last
form was first called normally and then via `map'.
1999-08-29 01:28:49 +00:00
Mikael Djurfeldt
9de33deb2e * procs.c, procs.h (scm_subr_entry): New type: Stores data
associated with subrs.
(SCM_SUBRNUM, SCM_SUBR_ENTRY, SCM_SUBR_GENERIC, SCM_SUBR_PROPS,
SCM_SUBR_DOC): New macros.
(scm_subr_table): New variable.
(scm_mark_subr_table): New function.

* init.c (scm_boot_guile_1): Call scm_init_subr_table.

* gc.c (scm_gc_mark): Don't mark subr names here.
(scm_igc): Call scm_mark_subr_table.

* snarf.h (SCM_GPROC, SCM_GPROC1): New macros.

* procs.c, procs.h (scm_subr_p): New function (used internally).

* gsubr.c, gsubr.h (scm_make_gsubr_with_generic): New function.

* objects.c, objects.h (scm_primitive_generic): New class.

* objects.h (SCM_CMETHOD_CODE, SCM_CMETHOD_ENV): New macros.

* print.c (scm_iprin1): Print primitive-generics.

* __scm.h (SCM_WTA_DISPATCH_1, SCM_GASSERT1,
SCM_WTA_DISPATCH_2, SCM_GASSERT2): New macros.

* eval.c (SCM_CEVAL, SCM_APPLY): Replace scm_wta -->
SCM_WTA_DISPATCH_1 for scm_cxr's (unary floating point
primitives).  NOTE: This means that it is now *required* to use
SCM_GPROC1 when creating float scm_cxr's (float scm_cxr's is an
obscured representation that will be removed in the future anyway,
so backward compatibility is no problem here).

* numbers.c: Converted most numeric primitives (all but bit
comparison operations and bit operations) to dispatch on generic
if args don't match.

* eval.c, eval.h (scm_eval_body): New function.

* objects.c (scm_call_generic_0, scm_call_generic_1,
scm_call_generic_2, scm_call_generic_3, scm_apply_generic): New
functions.

* eval.c (SCM_CEVAL): Apply the cmethod directly after having
called scm_memoize_method instead of doing a second lookup.

* objects.h (scm_memoize_method): Now returns the memoized cmethod.

* procs.c (scm_make_subr_opt): Use scm_sysintern0 instead of
scm_sysintern so that the binding connected with the subr name
isn't cleared when we give set = 0.
1999-08-26 04:24:42 +00:00
Mikael Djurfeldt
52235e7173 fix 1999-08-24 02:23:02 +00:00
Mikael Djurfeldt
6822fe53c9 *** empty log message *** 1999-08-24 02:22:40 +00:00
Mikael Djurfeldt
8a30733e8d * boot-9.scm: Removed old style hooks.
(inherit-print-state): Rwwritten to use port-with-print-state.
1999-08-24 02:22:18 +00:00
Mikael Djurfeldt
079100140f *** empty log message *** 1999-08-24 02:14:57 +00:00
Mikael Djurfeldt
edf2049212 * print.h (SCM_PORT_WITH_PS_P, SCM_PORT_WITH_PS_PORT,
SCM_PORT_WITH_PS_PS): Represent ports with print states as a smob
instead of a pair of a port and a print state.  We'll need to cons
once extra in scm_printer_apply but the type system will be
cleaner, it will mix better with GOOPS, and, it will be even more
transparent to the user.
1999-08-24 02:12:06 +00:00
Mikael Djurfeldt
c19bc08823 * print.c (scm_get_print_state): New procedure: Given an output
port, return the print state associated to it in the current print
chain, if one exists;
(scm_port_with_print_state): New procedure: Associate a
print-state with a port.
(scm_valid_oport_value_p): Use SCM_PORT_WITH_PS_P;
(scm_printer_apply): Wrap port and pstate as a smob;
(print_state_printer): Removed.
1999-08-24 02:11:54 +00:00
Mikael Djurfeldt
4a94d8ca0b * ports.c (scm_output_port_p): Bugfix: Coerce output port before
testing (otherwise the port-print-state trick won't be transparent
to the user; one example where this caused problems was in the
(ice-9 format) module).
1999-08-24 02:11:17 +00:00
Mikael Djurfeldt
55d5475044 * objects.c (scm_class_of): Treat scm_tc16_port_with_ps as ports. 1999-08-24 02:10:47 +00:00
Mikael Djurfeldt
f99c9c2824 * eval.c (scm_init_eval): Use scm_make_smob_type instead of
scm_newsmob.
1999-08-24 02:10:19 +00:00
Mikael Djurfeldt
e2e470cf47 *** empty log message *** 1999-08-23 21:27:21 +00:00
Mikael Djurfeldt
1f32586501 * eval.c (SCM_CEVAL): Let the SCM_IM_SLOT_SET_X form return
SCM_UNSPECIFIED instead of the set value.
1999-08-23 21:25:49 +00:00
Jim Blandy
43fa9a05fe Post-release changes for 1.3.2. 1999-08-20 05:55:49 +00:00
Jim Blandy
0a852b9424 *** empty log message *** 1999-08-20 05:39:59 +00:00
Jim Blandy
577905a8dc *** empty log message *** 1999-08-20 05:24:05 +00:00
Jim Blandy
f8c9d4978d *** empty log message *** 1999-08-20 05:14:11 +00:00
Jim Blandy
0b3b2958a5 * load.c (scm_init_load_path): Remove support for SCHEME_LOAD_PATH. 1999-08-20 05:13:01 +00:00
Jim Blandy
e8566222c2 Remove support for the #/ path list syntax entirely.
* boot-9.scm (read-path-list-notation,
read-path-list-notation-warning): Deleted.
Don't register read-path-list-notation-warning as a reader for
objects starting with '#/'.
1999-08-20 05:12:43 +00:00
Jim Blandy
a343458dbe *** empty log message *** 1999-08-20 02:46:04 +00:00
Jim Blandy
61e452baa7 * ports.h (enum scm_port_rw_active): New enum, containing
SCM_PORT_READ, SCM_PORT_WRITE, and SCM_PORT_NEITHER (instead of
zero).  The debugger knows about enums, but doesn't know about
#defines.
(typedef scm_port): Declare rw_active member to be an enum
scm_port_rw_active.
* fports.c (fport_flush, fport_end_input): Use SCM_PORT_NEITHER
instead of zero.
* ports.c (scm_add_to_port_table): Same.
* strports.c (st_flush, st_end_input): Same.
1999-08-20 02:44:14 +00:00
Jim Blandy
66a1057524 * ioext.c (scm_do_read_line, scm_read_line): Use scm_must_malloc,
scm_must_realloc, and scm_done_malloc as appropriate.
1999-08-20 02:43:51 +00:00
Jim Blandy
ab8c045cbe * Makefile.in, aclocal.m4, configure: Regenerated. 1999-08-20 02:41:25 +00:00
Jim Blandy
a05cba6130 *** empty log message *** 1999-08-20 02:39:44 +00:00
Jim Blandy
54161c490f * Makefile.in: Regenerated. 1999-08-20 02:39:27 +00:00
Mikael Djurfeldt
15d9c4e306 Fixes in comments 1999-08-20 00:19:01 +00:00
Mikael Djurfeldt
1cfda2d332 Removed left-over debugging code 1999-08-19 23:15:05 +00:00
Mikael Djurfeldt
dc4ddb335e *** empty log message *** 1999-08-19 23:02:49 +00:00
Mikael Djurfeldt
a34af05ece * sort.c (quicksort): Added condition to protect the algorithm
from crashing the interpreter if the less predicate is buggy.
1999-08-19 23:02:00 +00:00
Gary Houston
0eb2e8cd94 1999-08-19 Gary Houston <ghouston@easynet.co.uk>
* tests/ports.test: test line-buffering of fports.
1999-08-19 21:29:00 +00:00
Gary Houston
d363921411 1999-08-19 Gary Houston <ghouston@easynet.co.uk>
* fports.c (fport_write): fix line-buffering mode again.
	(scm_open_file): recognise 'l' for line-buffering.
	(scm_setvbuf): recognise _IOLBF for line-buffering.
1999-08-19 21:25:56 +00:00
Mikael Djurfeldt
92d9876b41 Regenerated 1999-08-19 19:35:31 +00:00
Mikael Djurfeldt
266bf340d5 * Makefile.am (libguile_la_LDFLAGS): Increased the version number
of libguile to 5.0.
1999-08-19 19:34:14 +00:00
Mikael Djurfeldt
d273bc4b20 *** empty log message *** 1999-08-19 19:09:01 +00:00
Mikael Djurfeldt
3817c7ced1 *** empty log message *** 1999-08-19 19:02:03 +00:00
Mikael Djurfeldt
2ddb09208b * eval.c (SCM_APPLY), sort.c (closureless): Expand body when
evaluating closures.
1999-08-19 19:01:19 +00:00
Gary Houston
7f214e6066 1999-08-18 Gary Houston <ghouston@easynet.co.uk>
* tests/ports.test: tests for NUL and non-ASCII chars to fports.
1999-08-18 20:33:18 +00:00
Gary Houston
7a2230a052 I can't sort correctly. 1999-08-18 20:08:25 +00:00
Gary Houston
162d88ca85 1999-08-18 Gary Houston <ghouston@easynet.co.uk>
* fports.c (fport_write): use memcpy instead of strncpy, in case
	the data contains NUL.
1999-08-18 19:55:23 +00:00
Mikael Djurfeldt
59c49e108a *** empty log message *** 1999-08-17 21:33:21 +00:00
Mikael Djurfeldt
c56f81195f * gh.h (gh_vector_to_list): Bugfix. (Thanks to Frank Cieslok.) 1999-08-17 21:31:10 +00:00
Mikael Djurfeldt
6faab78626 *** empty log message *** 1999-08-17 20:59:01 +00:00
Mikael Djurfeldt
d01eb92189 Regenerated 1999-08-17 20:58:45 +00:00
Mikael Djurfeldt
f30a1c9560 * configure.in (HAVE_RL_GETC_FUNCTION): Modified test to actually
use rl_getc_function.  Otherwise smart compilers, like gcc,
optimize away the reference so that no error occurs in the link
phase.
1999-08-17 20:58:19 +00:00
Mikael Djurfeldt
9cd4dfbb06 * ports.h: Renamed scm_lseek () --> scm_seek (). 1999-08-17 18:58:46 +00:00
Mikael Djurfeldt
cce0d8d0a0 *** empty log message *** 1999-08-17 08:48:38 +00:00