Commit graph

322 commits

Author SHA1 Message Date
Mikael Djurfeldt
830613a0e0 *** empty log message *** 1997-09-24 18:17:41 +00:00
Mikael Djurfeldt
0c32d76caf * init.c (scm_boot_guile_1): Added scm_init_objects ().
Added #include "objects.h"

* eval.c (scm_makprom): Added SCM_DEFER_INTS and SCM_ALLOW_INTS.
Add #include "feature.h".

* ports.h (SCM_EOF_OBJECT_P): New macro predicate.
This test is needed at many places in the code and should be
abstracted.  (Motivated by the need of this test in libguiletk.)

* ports.c (scm_eof_object_p), vports.c (sfgetc), strports.c
(scm_eval_string), load.c (scm_primitive_load,
scm_read_and_eval_x), gh_eval.c (gh_eval_str):
Use SCM_EOF_OBJECT_P.

* eval.c (scm_init_eval): Add feature `delay'.
1997-09-22 00:43:52 +00:00
Mikael Djurfeldt
25eaf21abc * eval.c (scm_init_eval): Add feature `delay'. 1997-09-20 13:58:58 +00:00
Mikael Djurfeldt
51916da6be * scmhob.h: Removed. 1997-09-16 00:21:06 +00:00
Mikael Djurfeldt
92396c0aa1 * list.h (SCM_LISTn): New macros. Make list creation in C code
prettier.  The idea comes from STk.

* sequences.h, sequences.c, append.h, append.c: Removed.  These
files implemented non-R4RS operations which would encourage
non-portable programming style and less easy-to-read code.

* Makefile.am (sequences.h, sequences.c, append.h, append.c):
Removed.

* libguile.h, eval.c, init.c, stime.c, unif.c: Removed #include
sequences.h, #include append.h.

* gh.h, gh_list.c: Renamed gh_list_length --> gh_length.

* list.h, list.c: Renamed scm_list_length --> scm_length, scm
1997-09-15 21:20:48 +00:00
Mikael Djurfeldt
80ea260cdf * procprop.h: Added declaration of scm_i_inner_name.
* gsubr.c: New global symbol scm_i_inner_name.

* debug.c (scm_procedure_name): Try procedure property
`inner-name' if `name' fails.

* print.c (scm_iprin1): Use scm_macro_name.

* eval.c (scm_m_define): Give names to macros as well; Only the
first top-level definition gives a procedure/macro a name.
Otherwise confusing names can turn up in backtraces.
(SCM_CEVAL): SCM_IM_DEFINE: Set `inner-name' property instead of
`name'; Give names to macros as well.

* procs.c (scm_closure_p), print.c (scm_iprin1), eval.c
(scm_macro_transformer): Use SCM_CLOSUREP instead of
scm_closure_p.
1997-09-11 00:09:57 +00:00
Mikael Djurfeldt
7332df6644 * * eval.c (macro?, macro-type, macro-name, macro-transfomer): New
procedures;
	(prinmacro): Removed.  The code has been moved/merged into print.c
	in order to decrease code redundancy.  We want macros to print in
	a way equivalent to procedures, and it would be silly to duplicate
	the required code.  (We don't want to maintain two places.)
	(macrosmob): Print field is now a NULL pointer.

	* eval.h (scm_macro_p, scm_macro_type, scm_macro_name,
	scm_macro_transformer): New prototypes.
	(scm_tc16_macro): Declared.

*	* print.c (scm_iprin1): Added code for printing of macros.  Macros
	are now printed in a way equivalent to procedures.
1997-09-10 20:05:28 +00:00
Jim Blandy
614590c57a *** empty log message *** 1997-09-02 23:17:28 +00:00
Mikael Djurfeldt
1ff4df7a83 * symbols.h (scm_builtin_bindings, scm_builtin_weak_bindings,
scm_gensym): Added prototypes.

* symbols.c (scm_gensym): New function.  This will speed up
certain types of applications (such as macro systems) which
generate lots of symbols.
1997-09-01 22:28:49 +00:00
Mikael Djurfeldt
d28da0496e * numbers.c (logand, logior, logxor): Handle 0 or 1 arguments. 1997-09-01 20:41:31 +00:00
Gary Houston
20a54673cd * unif.c (scm_shap2ra): tighten the checking of the array dimension
specifier, since (2) or (2 . 3) would cause SEGV.
(scm_transpose_array): more argument checking fixes.
1997-08-30 19:28:38 +00:00
Jim Blandy
34695603c7 *** empty log message *** 1997-08-27 22:48:58 +00:00
Mikael Djurfeldt
f2ae0a19bd Updated 1997-08-25 13:34:17 +00:00
Mikael Djurfeldt
88482b31af * error.c, error.h (scm_error_callback): Removed (see NEWS). 1997-08-25 12:33:50 +00:00
Mikael Djurfeldt
a46d5ff2dd * regex-posix.c: If <regex.h> can't be found, try <rxposix.h> or
<rx/rxposix.h>.  (This is in order to accomodate for the GNU Rx
library.)
1997-08-24 15:33:49 +00:00
Mikael Djurfeldt
95f5b0f5ec * ramap.c (scm_ra_matchp, scm_array_fill_int, racp, ramap_1,
ramap_2o, scm_array_index_map_x, raeql_1, scm_array_equal_p),
unif.c (scm_vector_set_length_x, scm_uniform_vector_length,
scm_array_p, scm_array_rank, scm_array_dimensions,
scm_enclose_array, scm_array_in_bounds_p, scm_uniform_vector_ref,
scm_cvref, scm_array_set_x, scm_array_contents, scm_array_to_list,
scm_array_prototype): Added case scm_tc7_wvect.
1997-08-24 03:29:35 +00:00
Gary Houston
efb997f535 * errno.h: prototype for scm_strerror.
* error.c (scm_strerror): new procedure.
1997-08-23 18:49:35 +00:00
Mikael Djurfeldt
1a0e096c86 * list.c (scm_list_append_x): Allow non-pair as last argument.
This is consistent with the R4RS append and is probably the
correct behaviour as specified by R2RS.  (Thanks to Radey Shouman)
1997-08-18 13:17:46 +00:00
Gary Houston
6afcd3b2b6 * stime.h: prototype for scm_times.
* stime.c (scm_times): new procedure.
* ioext.c (scm_fseek): if the first argument is a file descriptor
call lseek.
(scm_ftell): if the first argument is a file descriptor call lseek
(sic).
* filesys.h: prototypes for scm_open_fdes, scm_fsync.
* filesys.c (scm_chmod): if the first argument is a file descriptor,
call fchmod.
(scm_chown): if the first argument is a port or file descriptor,
call fchown.
(scm_truncate_file): new procedure.
Add DEFER/ALLOW INTS to a few other procedures.
(scm_fsync): new procedure.
(scm_open_fdes): new procedure.
(scm_open): use scm_open_fdes.  If mode isn't specified, 666 will
now be used.
(scm_fcntl): the first argument can now be a file descriptor.  The
third argument is now optional.

* posix.c (scm_execl, scm_execlp): make the filename argument
compulsory, since omitting it causes SEGV.
(scm_sync): return unspecified instead of #f.
(scm_execle): new procedure.
(environ_list_to_c): new procedure.
(scm_environ): use environ_list_to_c.  disable interrupts.
(scm_convert_exec_args): take pos and subr arguments and
improve error checking.

* boot-9.scm: define tms accessors: clock, utime, stime, cutime,
cstime.
1997-08-16 18:48:44 +00:00
Mikael Djurfeldt
0824b52425 * stacks.c (scm_make_stack), coop-threads.c, mit-pthreads.c
(scm_call_with_new_thread): Bugfix: SCM_WNA should go as third
argument to SCM_ASSERT.  Furthermore, the name of the function
should be passed as first argument when signalling
SCM_WNA. (Thanks to Thomas Morgan)
1997-08-14 15:00:03 +00:00
Mikael Djurfeldt
4ed948d4f1 * * gh_io.c (gh_write): New function. 1997-08-13 14:55:34 +00:00
Gary Houston
7a6f1ffa10 * ioext.h: fix up prototypes.
* ioext.c (scm_dup_to_fdes): renamed from scm_primitive_dup2.
Scheme name is now dup->fdes.
(scm_dup_to_fdes): make the second argument optional and
fold in the functionality of scm_primitive_dup.
(scm_primitive_dup): deleted.
* fports.h (SCM_P): prototypes for scm_setvbuf, scm_setfileno.
* fports.c (scm_setbuf0): don't disable the setbuf if MSDOS or
ultrix are defined.  Use setvbuf instead of setbuf.
(scm_setvbuf): new procedure.
(scm_init_fports): intern _IOFBF, _IOLBF, _IONBF.
(scm_setfileno): moved from ioext.c.
(scm_fgets): cast SCM_STREAM to (FILE *), remove unused lp variable.
(top of file): Delete 25 lines of probably obsolete CPP hair for MSDOS.

* boot-9.scm (move->fdes, dup->port): use dup->fdes, not primitive-dup.
(dup->fdes): deleted, now done in C.
1997-07-29 02:21:08 +00:00
Marius Vollmer
a0cb6cb0ec *** empty log message *** 1997-07-27 09:11:05 +00:00
Mikael Djurfeldt
269861c775 * eval.c (scm_apply): Handle the case when a tc7_sybr_2 is applied
to a list of length zero correctly.
1997-07-25 15:04:50 +00:00
Tim Pierce
3cb988bd00 Line-oriented i/o:
scm_gen_read_line
scm_read_line
scm_fgets
scm_generic_fgets
1997-07-23 21:20:55 +00:00
Gary Houston
e38303a26d * ioext.h: removed scm_duplicate_port prototype.
* ioext.c (scm_primitive_dup2): return the new file descriptor
instead of SCM_UNSPECIFIED, since similarity to scm_primitive_dup
is convenient.
(scm_fdopen): bug fix: don't try to make port unbuffered until its
stream has been set.
(scm_duplicate_port): deleted, there's now an implementation in
boot-9.scm.
(scm_primitive_dup2): do nothing if newfd == oldfd.

* boot-9.scm (dup->port, dup->inport, dup->outport, dup->fdes,
dup, fdes->inport, fdes->outport, port->fdes): new procedures.
(duplicate-port): was a C primitive, now it's here.
(move->fdes): allow the first argument to be a file descriptor.
Return the modified port or file descriptor (was unspecified.)
1997-07-21 08:52:26 +00:00
Gary Houston
a9488d1218 * filesys.c (scm_close): oops, don't call SCM_INUM twice on the
argument.

* ioext.h: new prototypes.
* ioext.c (scm_primitive_dup, scm_primitive_dup2): new procedures.
1997-07-20 10:03:26 +00:00
Gary Houston
eadd48de2b * fluids.c (next_fluid_num): don't do
SCM_THREAD_CRITICAL_SECTION_START/END unless USE_THREADS is defined.

* ports.h: prototypes too.
* ports.c (scm_mode_bits, scm_port_mode): moved from fports.c.

* fports.h: prototype too.
* fports.c (scm_evict_ports): moved from ioext.c.

* ports.c (scm_close_port): return a boolean instead of unspecified.
throw an error if an error other than EBADF occurs.

* filesys.h: scm_close prototype.
* filesys.c (scm_close): new procedure, can close file descriptors
and ports (scsh compatible).

* ports.c (scm_flush_all_ports): SCM_PROC incorrectly allowed an
optional argument.
1997-07-20 05:49:39 +00:00
Gary Houston
9c29ac668f * ports.c (scm_flush_all_ports): SCM_PROC incorrectly allowed an
optional argument.
1997-07-19 18:21:55 +00:00
Marius Vollmer
7f47d2d877 *** empty log message *** 1997-07-18 14:45:38 +00:00
Jim Blandy
32552d73c6 *** empty log message *** 1997-07-11 05:44:05 +00:00
Jim Blandy
8cedfb2e6c *** empty log message *** 1997-07-10 05:26:41 +00:00
Marius Vollmer
517591cdff *** empty log message *** 1997-07-04 21:48:34 +00:00
Marius Vollmer
3f094ddf73 *** empty log message *** 1997-07-03 15:25:25 +00:00
Tim Pierce
4a5fa91c06 alloca configure fixes 1997-06-28 21:32:46 +00:00
Gary Houston
7ad3c1e7c0 * simpos.h: prototype for scm_primitive_exit.
* simpos.c (scm_primitive_exit): new procedure, terminates the
process	without unwinding the stack.
1997-06-28 20:01:20 +00:00
Tim Pierce
5d4774bcf6 Regexp flag enhancements 1997-06-28 08:50:43 +00:00
Tim Pierce
9159ebecb4 Build fixes 1997-06-28 02:19:29 +00:00
Tim Pierce
ad6b30a056 Build fixes 1997-06-28 02:13:33 +00:00
Jim Blandy
9230ac780a *** empty log message *** 1997-06-24 18:17:57 +00:00
Jim Blandy
9572c0d0dd *** empty log message *** 1997-06-24 17:22:58 +00:00
Jim Blandy
fcff2c5c70 *** empty log message *** 1997-06-24 17:21:11 +00:00
Jim Blandy
9e2310a80c *** empty log message *** 1997-06-24 05:43:29 +00:00
Jim Blandy
db5614083d *** empty log message *** 1997-06-24 05:34:22 +00:00
Jim Blandy
f244dee1a1 Revert Marcus's changes; will re-apply when we get papers. 1997-06-24 02:16:31 +00:00
Jim Blandy
42f1c2c94b *** empty log message *** 1997-06-24 01:56:53 +00:00
Jim Blandy
2409cdfac7 *** empty log message *** 1997-06-23 23:49:39 +00:00
Jim Blandy
d94c6eeb75 *** empty log message *** 1997-06-23 04:34:45 +00:00
Jim Blandy
eb1e924e07 *** empty log message *** 1997-06-23 00:51:47 +00:00
Jim Blandy
91b28bb55d *** empty log message *** 1997-06-22 23:47:13 +00:00