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

784 commits

Author SHA1 Message Date
Jim Blandy
fcfb248d0c * regex-posix.c (scm_make_regexp, scm_regexp_exec): Add optional
FLAGS arguments.
(scm_init_regex_posix): Define constants for the REG_mumble flags;
name them according to the SCSH convention: regexp/mumble.
1997-06-24 05:33:59 +00:00
Jim Blandy
bd56d01662 * regex-posix.c (scm_make_regexp, scm_regexp_exec): Add optional
FLAGS arguments.
(scm_init_regex_posix): Define constants for the REG_mumble flags.
* regex-posix.h (scm_make_regexp, scm_regexp_exec): Update prototypes.
1997-06-24 05:30:28 +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
bb73cc1832 Changes to compile under gnu-win32, from Marcus Daniels:
* stime.c (tzset): If tzset isn't provided, make it a NOP.
(scm_localtime): Change SCM_EOF to SCM_EOL.
(scm_mktime): Likewise.
* socket.c: Don't include sys/un.h unless autoconf tells
us Unix domain sockets are available.
(scm_fill_sockaddr): Ignore Unix domain code.
(scm_addr_vector): Likewise.
(scm_init_addr_buffer): Likewise.
(scm_socketpair): Don't include unless socketpair was
found during autoconf.
* simpos.c (SYSTNAME): Treat cygwin like Unix.
* scmsigs.c (scm_pause): Don't include unless pause was found
during autoconf.
* posix.c (scm_getgroups): Don't include unless support function
was found during autoconf (in this case, getgroups).
(scm_setpwent): For setpwent.
(scm_setegid): For setegid.
* net_db.c (scm_inet_netof): Don't include unless support
function was found during autoconf (in this case, inet_netof).
(scm_lnaof): For inet_lnaof.
(scm_inet_makeaddr): For inet_makeaddr.
(scm_getnet): For getnetent, getnetbyname, getnetbyaddr.
(scm_getproto): For getprotoent.
(scm_getserv): For getservent.
(scm_sethost): For sethostent, endhostent.
(scm_setnet): For setnetent, endnetent.
(scm_setproto): For setprotoent, endprotoent.
(scm_setserv): For setservent, endservent.
1997-06-24 01:45:30 +00:00
Jim Blandy
2409cdfac7 *** empty log message *** 1997-06-23 23:49:39 +00:00
Jim Blandy
e151bee62a * Makefile.am (libpath.h): Include the values of all the standard
Makefile directory variables.  Print a message, but don't print
all the commands.
(versiondat.h): Print a message, but don't print all the commands.
* load.c: #include "alist.h".
(init_build_info): New function.
(scm_init_load): Call it.
* Makefile.in: Regenerated.
1997-06-23 23:48:39 +00:00
Jim Blandy
d94c6eeb75 *** empty log message *** 1997-06-23 04:34:45 +00:00
Jim Blandy
f032b8a8a9 * root.c: Establish a reliable catch-all handler for the new root.
After all the Scheme handler function might signal an error too,
and we don't want to lose that.
(cwdr_inner_body): Renamed from cwdr_body.
(cwdr_outer_body): New function, to establish the user's handler,
and pass control to cwdr_inner_body.
(cwdr): Establish the reliable catch-all handler here, and pass
control to cwdr_outer_body.
(struct cwdr_body_data): New field, handler, to allow cwdr to pass
the user's handler through to cwdr_outer_body.
* throw.c (scm_handle_by_message): Move guts into....
(handler_message): New static function.
(scm_handle_by_message_noexit): New function.
* throw.h (scm_handle_by_message_noexit): New prototype.
1997-06-23 04:34:34 +00:00
Jim Blandy
eb1e924e07 *** empty log message *** 1997-06-23 00:51:47 +00:00
Jim Blandy
8417b6657f * __scm.h: (SCM_FENCE): New macro: optimizer will not move code
across this.  Only works on GCC.  Otherwise, we hope for the best.
(SCM_DEFER_INTS, SCM_ALLOW_INTS): Use FENCE appropriately.  I have
the feeling that real thread systems will not need this...
1997-06-23 00:51:35 +00:00
Jim Blandy
91b28bb55d *** empty log message *** 1997-06-22 23:47:13 +00:00
Jim Blandy
fef07353a8 Try to detect when people are using one version of libguile and a
different version of ice-9.  People have been skewing things and
sending in bug reports.
* Makefile.am (versiondat.h): New file to generate.
* version.c: #include "versiondat.h", to get version info.
(scm_libguile_config_stamp): New function.
* script.c: #include "version.h".
(scm_compile_switches): Call scm_version to get version number.
* scmconfig.h.in, Makefile.in: Regenerated.
* Makefile.in: Regenerated.

* Makefile.am (ETAGS_ARGS): Catch SCM_PROC, etc. so we can find
primitive definitions under their Scheme names.

* Makefile.am (libguile_la_LDFLAGS): Update library version to
1:2.  Helps avoid confusion between installed and uninstalled libs.
1997-06-22 23:42:40 +00:00
Jim Blandy
0dc4863069 ChangeLog 1997-06-22 20:58:07 +00:00
Jim Blandy
4ad1004a31 * scmconfig.h.in: Regenerated. (Needed after June 3 change to
../configure.in.)
1997-06-22 20:49:39 +00:00
Jim Blandy
8f9dc61479 * gdb_interface.h (GDB_INTERFACE): Remove semicolon and trailing
backslash from definition; this should be used like: GDB_INTERFACE;
1997-06-22 20:49:31 +00:00
Gary Houston
c85e73d329 * ioext.c (scm_duplicate_port): bug fix: don't try to make the
new port unbuffered until its stream has been set.
1997-06-22 08:11:58 +00:00
Gary Houston
89ea5b7cdf * ports.h: new prototype.
* ports.c (scm_flush_all_ports): new procedure, scsh compatible.
1997-06-21 18:46:27 +00:00
Jim Blandy
91529b1de0 *** empty log message *** 1997-06-21 05:53:51 +00:00
Jim Blandy
cdbadcacc1 Make things compile neatly under Sun's C compiler.
* dynl.c (scm_dynamic_func): Cast return value from sysdep_dynl_func.
* extchrs.c (xmbtowc): Make the second arg a normal char, not
unsigned, because that's what the ANSI function takes.
* extchrs.h (xmbtowc): Corresponding change to prototype.
* genio.c (scm_gen_getc): Make buf plain chars.  Nobody wants
uchars here.
* mbstrings.c (scm_mb_ilength): Use ANSI arg syntax.  Make DATA
argument plain char *.
* strings.c (scm_string): Use SCM_ROCHARS, since c is a plain
char.
* tag.c (scm_tag): Remove unreachable statement.
* unif.c (scm_array_to_list): If we want to shift a 1 bit to the
top of the word, it should be unsigned.
1997-06-21 05:53:39 +00:00
Jim Blandy
e3173f937c * eval.c (scm_lookupcar1): Don't declare var2 unless USE_THREADS
is defined, to avoid warnings; it's only used in the
conflict-checking code.  Which might go away anyway.
(SCM_CEVAL): All goto's targeting the `dispatch' label are in
conditionals; put the label definition in an #if too, to stifle
warnings.
1997-06-21 05:53:04 +00:00
Jim Blandy
1773993b8f * Makefile.am (EXTRA_DIST): Include ChangeLog-gh and
ChangeLog-threads in the distribution.
* Makefile.in: Regenerated.
1997-06-21 05:25:12 +00:00
Tim Pierce
bee1449102 Fixed Guile snarfing problem with SunPro suite. 1997-06-20 16:52:19 +00:00
Tim Pierce
5540787919 Tue Jun 17 13:49:56 1997 Tim Pierce <twpierce@bio-5.bsd.uchicago.edu>
*	* load.c (scm_init_load_path): Append $(datadir)/guile to
	%load-path, so modules do not have to be installed in Guile's
	current version directory.
1997-06-17 19:20:07 +00:00
Marius Vollmer
e5f8e12fd0 *** empty log message *** 1997-06-16 19:10:33 +00:00
Marius Vollmer
419e9e117f * dynl.c (scm_dynamic_call, scm_dynamic_args_call): Wrap dynamic
function call in SCM_DEFER_INTS/SCM_ALLOW_INTS.
(scm_dynamic_link, scm_dynamic_unlink, scm_dynamic_func): Always
call the sysdep functions with deferred ints.
* dynl.c, dynl-dl.c, dynl-dld.c, dynl-shl.c (sysdep_dynl_link,
sysdep_dynl_unlink, sysdep_dynl_func): Expect to be called with
deferred interrupts and insert SCM_ALLOW_INTS before throwing an
error.

* dynl.c (scm_dynamic_unlink, scm_dynamic_call): Return
SCM_UNSPECIFIED.
1997-06-16 19:09:11 +00:00
Gary Houston
cc0b331281 * scmsigs.c (sys_deliver_signals): add a comment about a probable bug. 1997-06-14 19:04:24 +00:00
Jim Blandy
3688473b02 *** empty log message *** 1997-06-11 05:36:20 +00:00
Jim Blandy
34765ae7e1 * Makefile.in: Regenerated after xtra_PLUGIN_guile_libs change in
../configure.in.
1997-06-11 05:35:09 +00:00
Jim Blandy
95d59d10cf *** empty log message *** 1997-06-11 01:13:22 +00:00
Marius Vollmer
58932e4ad2 *** empty log message *** 1997-06-08 15:48:54 +00:00
Marius Vollmer
f8769b1d9b * eval.c (scm_lookupcar1): New procedure to cope with a race
condition during lookup (when using threads).
(scm_lookupcar): Implement in terms of scm_lookupcar1.
(SCM_CEVAL): Use scm_lookupcar1 instead of scm_lookupcar in one
place.
1997-06-08 15:46:19 +00:00
Jim Blandy
0b787875bc * regex-posix.c (scm_regexp_exec): Use the `start' argument if
supplied.  (Change from Tim Pierce.)
1997-06-07 00:07:33 +00:00
Marius Vollmer
0b46857faa *** empty log message *** 1997-06-06 15:19:36 +00:00
Marius Vollmer
5dade85779 *** empty log message *** 1997-06-04 22:42:29 +00:00
Marius Vollmer
916d65b1d1 * struct.c (struct_printer): New variable that holds a handle on
the Scheme variable *struct-printer*.  This variable can be set by
Scheme code to override the printing of structures.
(scm_print_struct): If struct_printer is set, call it.  If it is
not set, or returns #f, print the structure in the old fashion.
Include "eval.h" for scm_apply.
1997-06-04 22:40:58 +00:00
Marius Vollmer
7507aba159 *** empty log message *** 1997-06-03 21:53:24 +00:00
Marius Vollmer
bafcafb270 * struct.c (scm_struct_ref, scm_struct_set_x): Use
scm_struct_i_n_words to get the number of fields, not
-scm_struct_n_extra_words.

On the route to fancier struct printing:
* struct.c (scm_print_struct): New function to print a structure.
Include "genio.h" to support it.  This function doesn't do
anything interesting right now, but I think it should be here
anyway.
* struct.h: Include "print.h" and add prototype for
scm_print_struct.
* print.c (scm_iprin1): Call scm_print_struct instead of trying to
print structures ourself.
1997-06-03 21:49:52 +00:00
Gary Houston
2ad6b1a531 * scmsigs.c (sys_deliver_signals): bug fix: reset got_signal[i]
before applying the handler in case it doesn't return.
1997-06-01 08:08:49 +00:00
Gary Houston
e1a191a8ca * scmsigs.h, async.h: updated.
* _scm.h: if HAVE_RESTARTS is defined then don't use a SYSCALL
loop.

* posix.c (scm_uname): interpret only negative values as an error.
Solaris normally returns a positive value.

* script.c (scm_compile_shell_switches): if we are not going into
an interactive repl, set scm_mask_ints to zero so that asyncs can
run.

* simpos.c (scm_system):  don't ignore/unignore signals around
the "system" call.

* posix.c (scm_open_pipe): don't ignore/unignore signals around
the "popen" call.

* init.c (scm_boot_guile_1): don't call scm_init_signals, it's
done in boot-9.scm instead.

* scmsigs.c, async.c: Major rewriting of signal handling code.
(scm_sigaction): new procedure.
(scm_sleep): don't wrap sleep in SCM_SYSCALL, it would mess up the
timing.
(scm_raise): return unspecified, throw error on failure.

* boot-9.scm: signal-handler, alarm-thunk: removed.
don't define ticks-interrupt etc.
top-repl: install signal handlers for SIGINT, SIGFPE, SIGSEGV, SIGBUS
during call to scm-style-repl.

* acconfig.h: mention HAVE_RESTARTS.
* configure.in: check for sigaction and restartable system calls.
1997-05-31 19:02:38 +00:00
Jim Blandy
0e1652816a *** empty log message *** 1997-05-29 02:48:27 +00:00
Jim Blandy
20044282fa * regex-posix.c (scm_init_regex_posix): Register the "regex"
feature, to help boot-9.scm decide whether to import the regex
module.
1997-05-29 02:47:40 +00:00
Jim Blandy
4885ba0e62 *** empty log message *** 1997-05-29 02:20:36 +00:00
Jim Blandy
d16332b312 * eval.c: Include scmconfig.h at the beginning of the file so that
HAVE_ALLOCA_H may properly be defined.  Thanks to Bill Janssen for
pointing this out.
1997-05-29 02:20:19 +00:00
Jim Blandy
69e0587b1c * regex-posix.c: #include "_scm.h" before conditionally #including
<regex.h>; the former defines HAVE_REGCOMP.
1997-05-29 02:20:10 +00:00
Jim Blandy
1e5afba02b *** empty log message *** 1997-05-29 00:13:01 +00:00
Jim Blandy
24e37377fa * regex-posix.c: #include <regex.h> conditionally, so the file is
CPP'able (for dependency scanning) even on systems that don't have
a <regex.h> header.
1997-05-28 17:02:23 +00:00
Jim Blandy
5aefdd40a7 *** empty log message *** 1997-05-28 00:00:39 +00:00
Jim Blandy
50a095f1c8 Add new R4RS-compliant syntax for keywords.
* read.c (scm_lreadr): Recognize `#:' as a prefix for keywords,
regardless of the setting of the `keywords' read option.
* kw.c (prin_kw): Print keywords using the `#:' syntax, so they
can be re-read no matter what the setting of the `keywords' read
option.
1997-05-27 23:58:26 +00:00
Jim Blandy
995685aa70 formatting tweak 1997-05-27 23:48:24 +00:00