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

871 commits

Author SHA1 Message Date
Jim Blandy
8a01e7548c *** empty log message *** 1997-09-28 03:17:07 +00:00
Jim Blandy
af3509d72c * script.c (scm_compile_shell_switches): If we hit the -c or --
arguments, don't set the car of (command-line) to scm_usage_name,
the prettified name of the guile executable; give it the full
path, the way shells usually handle $0.
1997-09-28 03:13:36 +00:00
Jim Blandy
f8392303c5 Thanks to Shiro Kawai:
* gc.c (scm_gc_mark): Pass NULL to scm_wta as the subroutine name.
* ports.h (scm_ptobfuns): The fgets method returns a char *, not
an SCM.
1997-09-28 03:12:42 +00:00
Jim Blandy
cbab9700c3 * Makefile.am (libpath.h): Include the value of the THREAD_LIBS
makefile variable as a build parameter called LIBS.  The
build-guile program will use this, for the time being.
* Makefile.in: Regenerated.

* Makefile.in: Regenerated with automake 1.2a.
1997-09-28 03:12:04 +00:00
Mikael Djurfeldt
7e7904004c * ramap.c (scm_array_map): Renamed to scm_array_map_x. Removed
Scheme-level name `array-map' and renamed `serial-array-map' to
`serial-array-map!'.
1997-09-24 21:29:02 +00:00
Mikael Djurfeldt
bdf8afffb5 * backtrace.c: Introduced exception handlers which now enclose
`display-error' and `display-backtrace' so that error reporting
won't get into infinite loops if an error occurs during displaying
of the error.  This can very easily happen with user supplied
print call-back routines.
1997-09-24 20:18:54 +00:00
Mikael Djurfeldt
152800f1d3 Bugfix of the bugfix. 1997-09-24 19:46:47 +00:00
Mikael Djurfeldt
830613a0e0 *** empty log message *** 1997-09-24 18:17:41 +00:00
Mikael Djurfeldt
1d9ee7c788 * init.c (scm_boot_guile_1): Added scm_init_objects ().
Added #include "objects.h"

* Makefile.am (libguile_la_SOURCES): Added objects.c.
(modinclude_HEADERS): Added objects.h.
1997-09-22 00:45:19 +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
a4e6e865d8 *** empty log message *** 1997-09-15 21:27:58 +00:00
Mikael Djurfeldt
e0e4ffd234 * 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.

* init.c (scm_boot_guile_1): Removed calls to scm_init_append and
scm_init_sequences.

* stime.c (bdtime2c): Changed scm_obj_length --> scm_vector_length.
1997-09-15 21:26:06 +00:00
Mikael Djurfeldt
6ddf5b7d43 * Makefile.am (sequences.h, sequences.c, append.h, append.c):
Removed.
1997-09-15 21:23:07 +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
Mikael Djurfeldt
87688f5f12 * procs.h (scm_closure_p): Added declaration. 1997-09-10 20:03:55 +00:00
Mikael Djurfeldt
0869cca611 * gc.c (scm_gc_mark): Fixed "rogue pointer in heap" message:
Shouldn't pass "heap" as the subr name.
1997-09-10 20:03:27 +00:00
Jim Blandy
614590c57a *** empty log message *** 1997-09-02 23:17:28 +00:00
Jim Blandy
e69ebe6af6 * gh_predicates.c (gh_boolean_p, gh_symbol_p, gh_char_p,
gh_vector_p, gh_pair_p, gh_number_p, gh_string_p, gh_procedure_p,
gh_list_p, gh_inexact_p, gh_exact_p, gh_eq_p, gh_eqv_p,
gh_equal_p): Use SCM_NFALSEP, instead of testing against
SCM_BOOL_T.  Any non-false value is true.
1997-09-02 23:17:15 +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
6f527da051 * Makefile.in: Regenerated. 1997-08-29 04:50:17 +00:00
Jim Blandy
34695603c7 *** empty log message *** 1997-08-27 22:48:58 +00:00
Jim Blandy
2fe609e0d7 * Makefile.in: Regenerated, so it uses "tar", not "gtar". 1997-08-27 22:47:18 +00:00
Jim Blandy
4dd8323f1f doc fix 1997-08-26 23:53:28 +00:00
Mikael Djurfeldt
02fbff5e8d Regenerated. 1997-08-25 20:05:30 +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
365d0782b1 Regenerated 1997-08-24 15:37:10 +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
adc02cce18 * gsubr.c (scm_gsubr_apply): From Radey Shouman
<shouman@zianet.com>: "The switch in scm_gsubr_apply that
dispatches on the number of actual args has a default case
reporting an internal error.  This is a vestige from a version
that mallocated a SCM vector to hold the arguments.  In the
current version this check is too late: if it ever happens we will
have already overstepped the bounds of the array.

Also, the patch [...] adds a check for too many actual arguments."

mdj: Removed check for "internal programming error".
1997-08-14 14:58:25 +00:00
Mikael Djurfeldt
4ed948d4f1 * * gh_io.c (gh_write): New function. 1997-08-13 14:55:34 +00:00
Mikael Djurfeldt
9538471795 * * gh_eval.c (catch_with_saved_stack): Removed. Replaced by:
throw.c (scm_internal_stack_catch): New sibling to the other catch
	functions.  Code moved from gh_eval.c.
	throw.h: Added header.
	gh_eval.c (gh_eval_str_with_stack_saving_handler): Renamed call to
	scm_internal_stack_catch.
1997-08-13 14:54:49 +00:00
Gary Houston
468b2cf37d really delete primitive-dup. 1997-07-29 03:52:24 +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
Marius Vollmer
1e8f77cd7b * struct.c (scm_print_struct): Use scm_printer_apply to call the
user defined struct printer.
1997-07-27 09:09:54 +00:00
Marius Vollmer
c4f37e8038 * print.c (scm_iprin1): Enter printed structures into the print
state as nested data while they are printed.
(print_state_fluid, print_state_fluid_num): New variables.
(scm_init_print): Initialize them.
(scm_iprin): If print_state_fluid carries a print_state, use that
instead of creating a new one.
(scm_printer_apply, apply_stub, struct apply_data): New
definitions to help with calling printer functions written in
Scheme.
* print.h (scm_printer_apply): New prototype.
1997-07-27 09:08:38 +00:00
Marius Vollmer
b3460a507a * dynwind.c (scm_dowinds): Handle fluids on the wind list.
* fluids.h (scm_internal_with_fluids, scm_with_fluids,
scm_swap_fluids, scm_swap_fluids_reverse): New prototypes.
* fluids.c (scm_internal_with_fluids, scm_with_fluids,
scm_swap_fluids, scm_swap_fluids_reverse): New functions.
1997-07-26 20:08:42 +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