Gary Houston [Sat, 25 Jan 1997 18:24:54 +0000 (18:24 +0000)]
* boot-9.scm (read-line!, read-delimited!, read-delimited,
read-line): new procedures, see libguile/ChangeLog.
Gary Houston [Sat, 25 Jan 1997 18:23:49 +0000 (18:23 +0000)]
* ports.c: add SCM_PROC declarations for pt-size and pt-member.
* Makefile.am: remove AWK=@AWK@.
Add a rule for generating errnos.list.
(CLEANFILES): put errnos.list here instead of in DISTCLEANFILES.
* configure.in: add AC_SUBST(AWK) and AC_SUBST(ERRNO_EXTRACT).
don't extract errnos, just set a variable (avoids the
need to recompile error.c just because configure is run.)
* unif.h: update prototypes.
* unif.c (scm_uniform_array_read,write): change the offset and
length arguments to start and end, for consistency.
* __scm.h: uncomment SCM_ARG6 and SCM_ARG7, I needed SCM_ARG6.
* ioext.h: update prototypes.
* * ioext.c (scm_read_delimited_x): replaces scm_read_line and
scm_read_line_x, it's a more general procedure using an
interface from scsh. read-line and read-line! are now defined
in boot-9.scm.
* Note that the new read-line trims the terminator
by default, previously it was appended to the returned string. An
optional argument specifies how to process the terminator (scsh
compatible). For the old behaviour: (read-line port 'concat).
scm_read_line, scm_read_line_x: deleted. (read-line port 'split)
returns a pair, but is converted to multiple values if the scsh
module is loaded.
socket.h: update prototypes.
* socket.c (scm_recvfrom): for consistency with other procedures,
take start and end as separate optional arguments.
* (scm_recv, scm_recvfrom): don't allow the second argument
to be a size, only a buffer. Change the scheme names to
recv! and recvfrom!. Don't return the buffer.
* ioext.h, posix.h: move prototypes too.
* ioext.c, posix.c (scm_read_line, scm_read_line_x, scm_write_line:
moved back from posix.c to ioext.c. Also move #includes of "genio.h"
"read.h" and "unif.h".
* ioext.c: include "chars.h"
Mark Galassi [Sat, 25 Jan 1997 00:01:08 +0000 (00:01 +0000)]
some updates on gh_ and also incorporated Jim Blandy's essay in the ref manual
Mark Galassi [Thu, 23 Jan 1997 16:17:30 +0000 (16:17 +0000)]
little stuff on manual
Marius Vollmer [Wed, 22 Jan 1997 22:35:21 +0000 (22:35 +0000)]
added lost entries after getting confused about a conflict
Mark Galassi [Wed, 22 Jan 1997 00:31:34 +0000 (00:31 +0000)]
fixed manual problems
Mark Galassi [Tue, 21 Jan 1997 15:27:49 +0000 (15:27 +0000)]
added newdoc tree
Marius Vollmer [Mon, 20 Jan 1997 19:11:41 +0000 (19:11 +0000)]
* dynl.c: The dynamic linking and module registration functions
are now defined even when dynamic linking is not available for the
host system. Some of their functionality can be done without
dynamic linking; when it's really needed, they throw errors.
Gary Houston [Sat, 18 Jan 1997 17:51:33 +0000 (17:51 +0000)]
* init.scm (index, rindex): replace versions in utilities.scm with
primitives.
load errno.scm.
* netconst.scm: undefine maybe-define and maybe-define-so after use.
* errno.scm: new file.
* fports.c (scm_open_file): pass errno to scm_syserror_msg.
* filesys.h: update prototypes. Remove macros: SCM_FD_P, SCM_FD_FLAGS,
SCM_FD.
* filesys.c (scm_sys_stat, scm_sys_lstat): pass errno to
scm_syserror_msg.
* (scm_sys_read_fd, scm_sys_write_fd, scm_sys_close, scm_sys_lseek,
scm_sys_dup): deleted: FD capability will be added to other
procedures.
* Remove support for the FD object type: scm_tc16_fd, scm_fd_print,
scm_fd_free, fd_smob, scm_intern_fd.
* (scm_open): renamed from scm_sys_open. Return a port instead of
an FD object. Make the mode argument optional.
* (scm_sys_create): deleted, it's just a special case of open.
(scm_init_filesys): move interning of constants O_CREAT etc.,
here (were previously using SCM_CONST_LONG macro).
Add missing constants: O_RDONLY, O_WRONLY, O_RDWR, O_CREAT.
don't newsmob fd.
(numerous _sys_ procedures): remove gratuitous _sys_ from names.
include "fports.h" and <stdio.h>
(scm_stat, scm_select): don't support FD objects.
* error.h: adjust scm_syserror_msg prototype.
* error.c (scm_syserror_msg): take an extra argument for errno.
Using the global value didn't always work, since it could be
reset by procedure calls in the message or args arguments.
* fports.c (scm_setbuf0): call setbuf even if FIONREAD is not defined.
I don't understand why the check was there (and what about the
ultrix check?)
* strop.c (scm_string_copy): allow shared substrings to be copied.
* unif.h: corresponding change to prototypes.
* unif.c (scm_uniform_array_read_x, scm_uniform_array_write_x):
recognize two new optional arguments: offset and length. Allow
the port argument to be an integer (file descriptor, for scsh).
Include <unistd.h> for "read" prototype.
Jim Blandy [Sat, 18 Jan 1997 16:48:23 +0000 (16:48 +0000)]
*** empty log message ***
Marius Vollmer [Sat, 18 Jan 1997 11:51:03 +0000 (11:51 +0000)]
*** empty log message ***
Marius Vollmer [Sat, 18 Jan 1997 11:49:35 +0000 (11:49 +0000)]
* symbols.c (scm_sysintern): Renamed to
scm_sysintern_no_module_lookup.
(scm_sysintern): New function to take the place of the old
scm_sysintern. It uses the current toplevel lookup closure to give
the symbol its value. This is a temporary hack to put packages
like gtcltk into their own module.
(scm_can_use_top_level_lookup_closure_var): New variable to tell
us whether `scm_top_level_lookup_closure_var' has been initialized
and is usable.
* eval.c (scm_init_eval): Set it.
Marius Vollmer [Sat, 18 Jan 1997 11:40:31 +0000 (11:40 +0000)]
* dynl.c (scm_dynamic_func): New function to get the address of a
function in a dynamic object.
(scm_dynamic_call, scm_dynamic_args_call): Accept the values
produced by scm_dynamic_func as the thing to call.
* dynl.c, dynl-dl.c, dynl-dld.c, dynl-shl.c: Restructured.
(scm_register_module_xxx, scm_registered_modules,
scm_clear_registered_modules): New functions.
Marius Vollmer [Sat, 18 Jan 1997 11:38:15 +0000 (11:38 +0000)]
* configure.in: Only define DYNAMIC_LINKING when one of the system
dependent functions is detected.
Marius Vollmer [Sat, 18 Jan 1997 11:30:37 +0000 (11:30 +0000)]
*** empty log message ***
Marius Vollmer [Sat, 18 Jan 1997 11:29:20 +0000 (11:29 +0000)]
Added dynamic linking of modules. See libguile/DYNAMIC-LINKING.
* boot-9.scm (split-c-module-name, convert-c-registered-modules,
init-dynamic-module, dynamic-maybe-call,
find-and-link-dynamic-module, link-dynamic-module,
try-module-dynamic-link, registered-modules): New definitions for
dynamic linking of modules.
(resolve-module): Try to dynamically link the requested module
after failing to load it as Scheme code.
Jim Blandy [Fri, 17 Jan 1997 19:27:57 +0000 (19:27 +0000)]
*** empty log message ***
Jim Blandy [Tue, 14 Jan 1997 17:55:17 +0000 (17:55 +0000)]
*** empty log message ***
Gary Houston [Mon, 13 Jan 1997 06:22:51 +0000 (06:22 +0000)]
* Makefile.am: add AWK=@AWK@ (?)
Gary Houston [Mon, 13 Jan 1997 04:05:27 +0000 (04:05 +0000)]
* Makefile.am (EXTRA_DIST): add errnos_cnvt.awk, errnos.default,
errnos_get.c.
Add a rule to generate errnos.c from errnos.
* error.c (scm_init_error): include errnos.c.
* errnos_cnvt.awk: new file, converts the list of errno codes to
C expressions.
* errnos_get.c: new file.
* errnos.default: new file, contains errnos to try if they can't
be extracted from errno.h.
* configure.in: if using GCC, try and extract errno codes from
errno.h.
Added AC_PROG_AWK.
Marius Vollmer [Sat, 11 Jan 1997 19:01:21 +0000 (19:01 +0000)]
*** empty log message ***
Marius Vollmer [Sat, 11 Jan 1997 19:00:04 +0000 (19:00 +0000)]
* configure.in: Replaced AC_PROG_RANLIB with AM_PROG_LIBTOOL.
* Makefile.am: Made libguile into a libtool library.
* PLUGIN/guile.config: Removed "-L ../libguile" from xtra_cflags.
Set libtool_libs to indicate that libguile is a libtool library.
See guile/ChangeLog for details.
* .cvsignore: ignore "*.lo", the libtool library objects.
Marius Vollmer [Sat, 11 Jan 1997 18:51:00 +0000 (18:51 +0000)]
*** empty log message ***
Marius Vollmer [Sat, 11 Jan 1997 18:50:17 +0000 (18:50 +0000)]
* ltconfig, ltmain.sh: New files for libtool support. libguile,
rx, gh and gtcltk-lib can now be build as shared libraries.
* Makefile.am (EXTRA_DIST): Added ltconfig and ltmain.sh
Gary Houston [Wed, 8 Jan 1997 07:49:37 +0000 (07:49 +0000)]
* net_db.c (scm_getserv): add missing SCM_ALLOW_INTS.
use htons in getservbyport argument.
Gary Houston [Wed, 8 Jan 1997 07:48:03 +0000 (07:48 +0000)]
* boot-9.scm (getservbyport, getservbyname): remove stray %.
Jim Blandy [Wed, 8 Jan 1997 01:52:25 +0000 (01:52 +0000)]
*** empty log message ***
Jim Blandy [Wed, 8 Jan 1997 01:51:14 +0000 (01:51 +0000)]
* ports.h (SCM_PTOBNUM): Removed extraneous semicolon.
* smob.h: (SCM_PTOBNUM): Removed entirely; this definition is a
duplicate.
Jim Blandy [Wed, 8 Jan 1997 01:28:55 +0000 (01:28 +0000)]
*** empty log message ***
Jim Blandy [Wed, 8 Jan 1997 01:28:01 +0000 (01:28 +0000)]
* objprop.c (scm_object_property): No need to take the CDR of the
value returned by scm_object_properties, since Aug 20 change.
Jim Blandy [Wed, 8 Jan 1997 01:27:12 +0000 (01:27 +0000)]
* lineio.scm (make-line-buffering-input-port): Properly test for
the case of an empty buffer list. The old code assumed that '()
was false.
Jim Blandy [Wed, 8 Jan 1997 01:27:01 +0000 (01:27 +0000)]
* boot-9.scm (and=>): Rename THUNK argument to PROCEDURE, 'cos
that's what it is.
Jim Blandy [Wed, 8 Jan 1997 00:09:05 +0000 (00:09 +0000)]
*** empty log message ***
Jim Blandy [Wed, 8 Jan 1997 00:08:08 +0000 (00:08 +0000)]
* configure.in: When checking for struct linger, #include
<sys/types.h> as well as <sys/socket.h>. I've never known
<sys/types.h> to cause any portability problems, and Solaris's
<sys/socket.h> needs it.
* configure: Rebuilt.
Jim Blandy [Tue, 7 Jan 1997 23:42:35 +0000 (23:42 +0000)]
I think the Sun compiler has chosen a perverse way to interpret
ANSI declarations combined with K&R definitions. We'll
appease it a little bit. But when it invades France, we fight.
* print.c (scm_iprlist): Change 'tlr' argument to an int.
* print.h (scm_iprlist): Here too.
* numbers.c (scm_divbigdig): Change definition to match
declaration in numbers.h.
* unif.c (scm_makflo): Change definition to match declaration in
unif.h.
Jim Blandy [Tue, 7 Jan 1997 23:42:10 +0000 (23:42 +0000)]
*** empty log message ***
Jim Blandy [Tue, 7 Jan 1997 23:42:01 +0000 (23:42 +0000)]
* init.c (scm_boot_guile): Don't return the value of
scm_boot_guile_1. This function doesn't return a value;
scm_boot_guile_1 doesn't return a value (or return at all).
Jim Blandy [Tue, 7 Jan 1997 23:41:45 +0000 (23:41 +0000)]
* eval.c (unmemocopy): Add a semicolon to appease the Sun
compiler.
Jim Blandy [Tue, 7 Jan 1997 23:12:58 +0000 (23:12 +0000)]
*** empty log message ***
Jim Blandy [Tue, 7 Jan 1997 23:12:09 +0000 (23:12 +0000)]
* smob.h (SCM_SMOBNUM, SCM_PTOBNUM): Remove extraneous
semicolons. Only pure luck kept this from being noticed earlier.
Jim Blandy [Tue, 7 Jan 1997 23:11:51 +0000 (23:11 +0000)]
* simpos.c (SYSTNAME): Add case for AIX; otherwise it won't
compile. I have a feeling this function is a bad idea anyway ---
one should always test for features, not systems.
Mikael Djurfeldt [Tue, 7 Jan 1997 13:08:17 +0000 (13:08 +0000)]
* socket.c (scm_recvfrom): Added missing semicolon.
Jim Blandy [Tue, 7 Jan 1997 00:51:00 +0000 (00:51 +0000)]
Add notes about updating version numbers after the release, and
avoid sticky tag troubles.
Jim Blandy [Tue, 7 Jan 1997 00:50:00 +0000 (00:50 +0000)]
Rearrange for inclusion in snapshots.
Jim Blandy [Tue, 7 Jan 1997 00:49:26 +0000 (00:49 +0000)]
Start new section for post-1.0 changes.
Jim Blandy [Tue, 7 Jan 1997 00:49:05 +0000 (00:49 +0000)]
Bump version number for post-1.0 snapshots: 1.1a.
Jim Blandy [Tue, 7 Jan 1997 00:48:16 +0000 (00:48 +0000)]
*** empty log message ***
Jim Blandy [Mon, 6 Jan 1997 23:04:56 +0000 (23:04 +0000)]
*** empty log message ***
Gary Houston [Mon, 6 Jan 1997 20:58:37 +0000 (20:58 +0000)]
* socket.c (scm_recvfrom): allow buff_or_size to be a list containing
the buffer and start and end positions for SCSH networking
implementation.
Jim Blandy [Mon, 6 Jan 1997 04:01:12 +0000 (04:01 +0000)]
*** empty log message ***
Jim Blandy [Mon, 6 Jan 1997 00:35:30 +0000 (00:35 +0000)]
* configure.in: Revert previous change to this file; the problem
is due to transient automake weirdness.
* configure: Rebuilt.
Mikael Djurfeldt [Sun, 5 Jan 1997 23:38:10 +0000 (23:38 +0000)]
* * boot-9.scm (use-modules): New macro (from Marius Vollmer).
(use-modules <module name> ...) Put the the modules named by
<module name> ... on the use list of the current module.
Jim Blandy [Sun, 5 Jan 1997 23:24:28 +0000 (23:24 +0000)]
*** empty log message ***
Jim Blandy [Sun, 5 Jan 1997 22:01:56 +0000 (22:01 +0000)]
*** empty log message ***
Jim Blandy [Sun, 5 Jan 1997 22:01:37 +0000 (22:01 +0000)]
* configure.in: Call AM_PROG_INSTALL; the automake manual says we
need this if we install scripts, like guile-snarf.
* configure: Rebuilt.
Jim Blandy [Sun, 5 Jan 1997 22:00:43 +0000 (22:00 +0000)]
* boot-9.scm (error-catching-loop): Remove message saying that
typing "$" will put you in the debugger. This isn't implemented
yet.
Jim Blandy [Sun, 5 Jan 1997 21:59:40 +0000 (21:59 +0000)]
* GUILE-VERSION: Updated version number.
* NEWS: Added comments for all the user-visible changes marked in
the ChangeLogs.
* README: Updated for release.
Jim Blandy [Sun, 5 Jan 1997 21:56:13 +0000 (21:56 +0000)]
First rev of release checklist.
Mikael Djurfeldt [Thu, 2 Jan 1997 14:25:36 +0000 (14:25 +0000)]
Updated.
Marius Vollmer [Thu, 2 Jan 1997 01:04:49 +0000 (01:04 +0000)]
*** empty log message ***
Marius Vollmer [Thu, 2 Jan 1997 01:03:04 +0000 (01:03 +0000)]
* Makefile.am (EXTRA_DIST): Added DYNAMIC-LINKING
Marius Vollmer [Sun, 29 Dec 1996 10:38:41 +0000 (10:38 +0000)]
*** empty log message ***
Marius Vollmer [Sun, 29 Dec 1996 10:37:58 +0000 (10:37 +0000)]
* read.c (scm_lreadr): Encountering EOF after skipping a SCSH
style block comment is no longer considered an error.
Gary Houston [Sat, 28 Dec 1996 19:17:39 +0000 (19:17 +0000)]
* socket.c (scm_addr_vector): fix faulty scm_listify.
Marius Vollmer [Fri, 27 Dec 1996 15:49:01 +0000 (15:49 +0000)]
*** empty log message ***
Marius Vollmer [Fri, 27 Dec 1996 15:43:27 +0000 (15:43 +0000)]
* configure.in: Create PLUGIN/guile.libs from
PLUGIN/guile.libs.in. This is for including additonal libraries
needed for dynamic linking.
* Makefile.am (EXTRA_DIST): Distribute PLUGIN/guile.libs.in
instead of PLUGIN/guile.libs.
Marius Vollmer [Fri, 27 Dec 1996 15:42:03 +0000 (15:42 +0000)]
* configure.in: Create PLUGIN/guile.libs from
PLUGIN/guile.libs.in. This is for including additonal libraries
needed for dynamic linking.
* Makefile.am (EXTRA_DIST): Distribute PLUGIN/guile.libs.in
instead of PLUGIN/guile.libs.
* Makefile.am: Added explicit dependency "dynl.o: dynl.x".
Marius Vollmer [Fri, 27 Dec 1996 15:38:33 +0000 (15:38 +0000)]
*** empty log message ***
Jim Blandy [Mon, 23 Dec 1996 05:00:09 +0000 (05:00 +0000)]
*** empty log message ***
Jim Blandy [Mon, 23 Dec 1996 04:59:10 +0000 (04:59 +0000)]
*** empty log message ***
Jim Blandy [Mon, 23 Dec 1996 04:56:56 +0000 (04:56 +0000)]
*** empty log message ***
Jim Blandy [Mon, 23 Dec 1996 04:39:29 +0000 (04:39 +0000)]
*** empty log message ***
Jim Blandy [Mon, 23 Dec 1996 04:38:04 +0000 (04:38 +0000)]
* boot-9.scm (delq-all!): Function deleted; delq!'s semantics have
been fixed, so this function is superfluous.
(transform-usage-lambda): Use delq!, not delq-all!.
Jim Blandy [Mon, 23 Dec 1996 04:37:24 +0000 (04:37 +0000)]
* net_db.h (scm_init_net_db): Fix spelling from scm_init_netdb.
Jim Blandy [Mon, 23 Dec 1996 04:37:17 +0000 (04:37 +0000)]
* * list.c (scm_delq_x, scm_delv_x, scm_delete_x): Delete all
occurrences of the given element from the list, not just the
first. This is how the Emacs Lisp functions behave, how the
analogous Common Lisp functions behave, and (I believe) how the
older Maclisp functions worked. I realize that this change may
break code, but it seemed better to break it before the Guile
release than after.
Jim Blandy [Mon, 23 Dec 1996 04:37:03 +0000 (04:37 +0000)]
* * gc.c (scm_protect_object, scm_unprotect_object): New functions.
Their prototypes were already present in gc.h, but they weren't
implemented.
(scm_init_storage): Initialize scm_protects.
* root.c (scm_protects): New element of scm_sys_protects.
Jim Blandy [Sun, 22 Dec 1996 21:36:25 +0000 (21:36 +0000)]
*** empty log message ***
Jim Blandy [Sun, 22 Dec 1996 03:43:47 +0000 (03:43 +0000)]
The FSF is too lame to keep a simple anonymous FTP server up, so
change the snapshot distribution site to ftp.cyclic.com.
Jim Blandy [Sun, 22 Dec 1996 00:03:10 +0000 (00:03 +0000)]
*** empty log message ***
Jim Blandy [Sun, 22 Dec 1996 00:02:42 +0000 (00:02 +0000)]
* libguile.h: Don't #include "libguile/libpath.h", contrary to Oct
30 change. That file is only meant for communication between the
configuration process and load.c. If code linked against libguile
wants to get at the paths mentioned in libpath.h, it can call
functions declared in load.h.
Jim Blandy [Sat, 21 Dec 1996 20:40:17 +0000 (20:40 +0000)]
*** empty log message ***
Jim Blandy [Sat, 21 Dec 1996 20:40:01 +0000 (20:40 +0000)]
* libguile.h: Added #include "libguile/net_db.h".
Mikael Djurfeldt [Sat, 21 Dec 1996 13:55:29 +0000 (13:55 +0000)]
* libguile.h: Removed #include "libguile/fdsocket.h"
Mikael Djurfeldt [Sat, 21 Dec 1996 13:52:08 +0000 (13:52 +0000)]
* net_db.c: Added #include <sys/socket.h>.
Marius Vollmer [Sat, 21 Dec 1996 09:51:27 +0000 (09:51 +0000)]
*** empty log message ***
Marius Vollmer [Sat, 21 Dec 1996 09:50:38 +0000 (09:50 +0000)]
* * boot-9.scm (resolve-module): New optional parameter that
controls whether autoloading is attempted or not. Default is #t.
(process-define-module): Don't autoload the defined module.
(try-module-autoload): Don't autoload the directory modules.
* * boot-9.scm (process-define-module): Ensure that the-scm-module
is last in the `uses' list to allow shadowing builtin
bindings. All :use-module options are added in the order they
appear in the arguments but before anything already on the list
(such as the-scm-module).
Mark Galassi [Sat, 21 Dec 1996 05:04:04 +0000 (05:04 +0000)]
little temp changes to work with the new catch/throw stuff
Jim Blandy [Sat, 21 Dec 1996 04:49:10 +0000 (04:49 +0000)]
*** empty log message ***
Jim Blandy [Sat, 21 Dec 1996 04:48:21 +0000 (04:48 +0000)]
* throw.c (scm_internal_catch): Make body funcs and handler funcs
use separate data pointers, to allow them to be designed
independently and reused.
(scm_body_thunk, scm_handle_by_proc, scm_handle_by_message):
Renamed from catch_body, catch_handler, and uncaught_throw; made
generically useful.
(struct scm_catch_body_data): Renamed from catch_body_data; moved
to throw.h.
(scm_catch): Use the above.
(scm_throw): Don't bother printing a message for an uncaught
throw; we establish a default handler in init.
* throw.h (scm_internal_catch): Prototype updated.
(scm_body_thunk, scm_handle_by_proc, scm_handle_by_message): New
decls.
(struct scm_body_thunk_data): New structure, used as data
argument to scm_body_thunk.
* init.c (struct main_func_closure): New structure, packaging up
the data to pass to the user's main function.
(scm_boot_guile): Create one. Pass it to scm_boot_guile_1.
(scm_boot_guile_1): Pass it through to invoke_main_func. Use
scm_internal_catch to establish a catch-all handler, using
scm_handle_by_message. This replaces the special-case code in
scm_throw.
(invoke_main_func): Body function for scm_internal_catch; invoke
the user's main function, using the main_func_closure pointer to
decide what to pass it.
* root.c (struct cwdr_body_data): Remove handler_proc member.
(cwdr): Use scm_handle_by_proc instead of cwdr_handler.
(cwdr_handler): Removed.
Gary Houston [Sat, 21 Dec 1996 04:13:54 +0000 (04:13 +0000)]
* filesys.c (scm_input_waiting_p): use select in preference to
FIONREAD, since the latter doesn't detect EOF.
Throw error if neither select nor FIONREAD available.
* socket.c (scm_connect): take a port, not a fd object.
(scm_fill_sockaddr): throw an error if fam is not recognised.
(scm_bind): use scm_fill_sockaddr.
(scm_listen): take a port, not a fd object.
(scm_accept): take and return a port. return CDR in the car if
address can't be got
(scm_sock_fd_to_port): new procedure.
(scm_socket): use scm_sock_fd_to_port.
(scm_addr_vector): throw error if unrecognised address type.
take an extra argument with the calling procedure name.
(scm_getsockname): take a port. return #f if address can't be got.
(scm_getpeername): take a port. return #f if address can't be got.
(scm_recvfrom): take a port. return #f for address component if can't
be got.
(scm_sendto, scm_socketpair, scm_getsockopt scm_shutdown,
scm_setsockopt, scm_recv, scm_send): take a port not a fd object.
* socket.h (SCM_P): update bind prototype.
* socket.c (scm_init_socket): intern PF_UNSPEC, PF_UNIX, PF_INET.
include "feature.h".
(scm_socket): return a port, not a file descriptor object.
include "fports.h" and <unistd.h>
(scm_bind): take a port, not a file descriptor object.
take an extra argument for address args.
* net_db.c (scm_init_net_db): intern INADDR_ANY, INADDR_BROADCAST,
INADDR_NONE, INADDR_LOOPBACK.
* init.c: include net_db.h and not fdsocket.h.
(scm_boot_guile_1): call scm_init_net_db and not scm_init_fdsocket.
* Makefile.am: corresponding changes.
* socket.h: renamed from fdsocket.h, fix names.
* net_db.h: renamed from socket.h, fix names.
* socket.c: renamed from fdsocket.c.
remove _sys from procedure names.
(scm_init_socket): rename from scm_init_fdsocket. include socket.x.
add "socket" to features list.
* net_db.c: renamed from socket.c.
remove _sys from procedure names.
(scm_init_net_db): rename from scm_init_socket. include net_db.x.
add "net-db" to features list.
include "net_db.h". don't include <sys/socket.h> or
<sys/un.h>.
Mark Galassi [Fri, 20 Dec 1996 16:03:03 +0000 (16:03 +0000)]
starting to play with handlers again
Mikael Djurfeldt [Thu, 19 Dec 1996 13:08:26 +0000 (13:08 +0000)]
*** empty log message ***
Mikael Djurfeldt [Thu, 19 Dec 1996 13:08:17 +0000 (13:08 +0000)]
* tags.h (scm_tags): Removed comma at end of last enumerator.
Jim Blandy [Thu, 19 Dec 1996 07:55:48 +0000 (07:55 +0000)]
*** empty log message ***
Jim Blandy [Thu, 19 Dec 1996 07:55:42 +0000 (07:55 +0000)]
Don't use GCC extensions to allocate space for debugging frames.
(Here he goes again! Why do we put up with this?!)
* debug.h (scm_debug_frame): Make the 'vect' member a pointer to
an scm_debug_info structure, not an in-line array of them. Add
'info' member, to say how many vect elements we've used, for eval
frames.
* eval.c (SCM_CEVAL): Use alloca to allocate space for vect. Use
a new variable debug_info_end to mark the end of vect, instead of
the address of the 'info' pointer itself.
[DEVAL] (ENTER_APPLY, SCM_CEVAL, SCM_APPLY): Remove casts of
&debug to scm_debug_frame *; debug is a real scm_debug_frame now.
(SCM_APPLY): Explicitly allocate space for debug.vect.
* debug.c (scm_m_start_stack): Same, for vframe.vect.
* stacks.c: Adjusted for new debug frame structure.
(RELOC_INFO, RELOC_FRAME): New macros.
(stack_depth, read_frames): Use them, and new scm_debug_frame
element 'info', instead of magically knowing that eval frames have
an info pointer sitting after vect.
(scm_make_stack, scm_stack_id, scm_last_stack_frame): Use
RELOC_FRAME.
(scm_init_stacks): Formatting tweaks.
Jim Blandy [Wed, 18 Dec 1996 21:58:24 +0000 (21:58 +0000)]
Regenerated by aclocal 1.1l
Jim Blandy [Wed, 18 Dec 1996 21:56:42 +0000 (21:56 +0000)]
rebuilt
Jim Blandy [Wed, 18 Dec 1996 21:42:26 +0000 (21:42 +0000)]
*** empty log message ***
Jim Blandy [Wed, 18 Dec 1996 21:42:09 +0000 (21:42 +0000)]
In some cases, the code is fine, but GCC isn't smart enough to
figure that out; this usually happens when one variable is only
initialized and used when a particular condition holds true, and
we know that condition will never change within a given invocation
of the function. In this case, we simply initialize the variables
to placate the compiler, hopefully to a value which will cause a
crash if it is ever actually used.
* print.c (scm_iprin1): Initialize mw_pos.
* read.c (scm_lreadrecparen): Initialize tl2, ans2.
* throw.c (scm_ithrow): Initialize dynpair.
* unif.c (scm_uniform_vector_ref): Initialize cra.
* struct.c (init_struct): Initialize prot.
* mbstrings.c (scm_print_mb_symbol): Initialize mw_pos and inc.
Jim Blandy [Wed, 18 Dec 1996 21:41:44 +0000 (21:41 +0000)]
Give GCC more control flow information, so it can be sure that
variables aren't used uninitialized.
* error.h (scm_error, scm_syserror, scm_syserror_msg,
scm_sysmissing, scm_num_overflow, scm_out_of_range,
scm_wrong_num_args, scm_wrong_type_arg, scm_memory_error,
scm_misc_error): Tell GCC that these functions never return.
* struct.c (scm_struct_ref, scm_struct_set_x): If we can't figure
out the field type, call abort if SCM_ASSERT returns, to placate
the optimizer.
* stacks.c (scm_make_stack, scm_last_stack_frame): abort if
scm_wta ever returns. We can't handle this case anyway, and this
gives the optimizer more information.
* unif.c (scm_uniform_vector_ref, scm_array_set_x): Abort if
scm_wta ever returns.
In some cases, the code is fine, but GCC isn't smart enough to
figure that out; this usually happens when one variable is only
initialized and used when a particular condition holds true, and
we know that condition will never change within a given invocation
of the function. In this case, we simply initialize the variables
to placate the compiler, hopefully to a value which will cause a
crash if it is ever actually used.
* print.c (scm_iprin1): Initialize mw_pos.
* read.c (scm_lreadrecparen): Initialize tl2, ans2.
* throw.c (scm_ithrow): Initialize dynpair.
* unif.c (scm_uniform_vector_ref): Initialize cra.
* struct.c (init_struct): Initialize prot.
* mbstrings.c (scm_print_mb_symbol): Initialize mw_pos and inc.