1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-03 05:20:16 +02:00
Commit graph

1187 commits

Author SHA1 Message Date
Jim Blandy
94e3e95e60 *** empty log message *** 1998-10-12 20:13:27 +00:00
Jim Blandy
e2fd07535c * simpos.c (scm_software_type): Procedure deleted. This isn't the
right way to handle system variation.  Autoconf's approach is the
way and the light.
* simpos.h (scm_software_type): Declaration deleted.
1998-10-12 20:13:11 +00:00
Jim Blandy
94a4095908 * script.c (scm_find_executable): Don't test if unix is #defined
here; first, NetBSD doesn't #define it, and second, it's the wrong
way to go about these things.
(dld_find_executable): Delete this MSDOS support code.  This isn't
the way we want to support this; it needs to be rethunk at a
larger scale.
1998-10-12 20:11:38 +00:00
Jim Blandy
4eebd8fcea * genio.c (scm_do_read_line): Don't just politely check that the
line was either non-empty or EOF.  Abort if it's empty and not
EOF.
1998-10-12 20:09:34 +00:00
Jim Blandy
81aef0ba59 *** empty log message *** 1998-10-11 21:56:45 +00:00
Jim Blandy
22f4f241db * scmconfig.h.in: Regenerated. 1998-10-11 21:56:18 +00:00
Jim Blandy
335df0e83e *** empty log message *** 1998-10-11 20:35:28 +00:00
Jim Blandy
8e1043e020 * libguile.h: Don't omit the dynamic linking functions. (Thanks
to Greg Badros.)
1998-10-11 20:35:07 +00:00
Jim Blandy
5f964025e8 *** empty log message *** 1998-10-11 18:42:32 +00:00
Jim Blandy
5ead5a91d0 * genio.c (scm_do_read_line): Count lines correctly when the file
doesn't end in a newline.
1998-10-11 18:42:17 +00:00
Jim Blandy
216d3a1e28 *** empty log message *** 1998-10-10 21:29:37 +00:00
Jim Blandy
af77c5fdf1 * genio.c (scm_do_read_line): Maintain the line count correctly. 1998-10-10 21:27:34 +00:00
Jim Blandy
17f8d40ce9 *** empty log message *** 1998-10-10 12:59:50 +00:00
Jim Blandy
b098016b6e * numbers.c (big2str): Protect t from garbage collection until
we're done.  (Thanks to Gary Houston.)
1998-10-10 12:59:37 +00:00
Jim Blandy
4147236a59 * gc.c (scm_return_first): Remove #ifdef __STDC__ garbage; Guile
requires ANSI now.
1998-10-10 12:59:29 +00:00
Jim Blandy
c6ff295ec8 *** empty log message *** 1998-10-09 15:25:08 +00:00
Jim Blandy
c15f9b9dbd * Makefile.am (libguile_la_LDFLAGS): Increment shared library
version number.
* Makefile.in: Regenerated.
1998-10-09 15:24:40 +00:00
Jim Blandy
0e4233dcf6 Remove uses of the #/ syntax. 1998-10-09 15:13:12 +00:00
Jim Blandy
0445f9f28c *** empty log message *** 1998-10-09 14:25:04 +00:00
Jim Blandy
31b9e7671b *** empty log message *** 1998-10-09 12:47:01 +00:00
Jim Blandy
bc45012d8f Centralize the creation of port objects based on stdio FILE * in
fports.c; don't just throw them together anywhere.
* fports.c (scm_stdio_to_port): Make NAME a SCM value, which is
what the rest of Guile wants.  Don't set the revealed count;
that's only appropriate for stdin, stdout, stderr.
(scm_standard_stream_to_port): This function does set the revealed
count.
* init.c (scm_init_standard_ports): Use	scm_standard_stream_to_port,
not scm_stdio_to_port.
* filesys.c (scm_open): Call scm_stdio_to_port; don't write it out.
* fports.c (scm_open_file): Same.
* posix.c (scm_pipe): Same.
* socket.c (scm_sock_fd_to_port): Same.
* ioext.c (scm_fdopen): Same.
(scm_freopen): Moved from here to...
* fports.c (scm_freopen): ... here.  This is really something that
munges the internals of an fport, so it should go here.
* fports.h (scm_stdio_to_port): Adjust prototype.
(scm_standard_stream_to_port, scm_freopen): New protoypes.
* ioext.h (scm_freopen): Prototype removed.
1998-10-09 12:46:31 +00:00
Jim Blandy
571031dca0 * fports.h (scm_setbuf0, scm_setvbuf, scm_setfileno,
scm_evict_ports, scm_open_file, scm_stdio_to_port): Get rid of
SCM_P macro.
Do magic to mix reads and writes on stdio FILE-based ports.
* fports.c (FPORT_READ_SAFE, FPORT_WRITE_SAFE, FPORT_ALL_OKAY):
New macros.
(pre_read, pre_write): New functions.
(local_fgetc, local_fgets, local_ffwrite, local_fputc,
local_fputs): Call them.
(local_fflush): Mark the port as ready for reading and writing.
(scm_stdio_to_port): Set the FPORT_READ_SAFE, FPORT_WRITE_SAFE
flags on new port objects.  This might not be accurate --- who
knows what state the FILE * is in when we get it --- but it won't
do extraneous calls to fflush or fseek, so it's no worse than the
behavior before this change.
* ports.h: Add comment.
Centralize the creation of port objects based on stdio FILE * in
fports.c; don't just throw them together anywhere.
* fports.c (scm_stdio_to_port): Make NAME a SCM value, which is
what the rest of Guile wants.  Don't set the revealed count;
that's only appropriate for stdin, stdout, stderr.
(scm_standard_stream_to_port): This function does set the revealed
count.
* init.c (scm_init_standard_ports): Use	scm_standard_stream_to_port,
not scm_stdio_to_port.
* filesys.c (scm_open): Call scm_stdio_to_port; don't write it out.
* fports.c (scm_open_file): Same.
* posix.c (scm_pipe): Same.
* socket.c (scm_sock_fd_to_port): Same.
* ioext.c (scm_fdopen): Same.
(scm_freopen): Moved from here to...
* fports.c (scm_freopen): ... here.  This is really something that
munges the internals of an fport, so it should go here.
* fports.h (scm_stdio_to_port): Adjust prototype.
(scm_standard_stream_to_port, scm_freopen): New protoypes.
* ioext.h (scm_freopen): Prototype removed.
1998-10-09 12:46:13 +00:00
Jim Blandy
e145dd0277 Do magic to mix reads and writes on stdio FILE-based ports.
* fports.c (FPORT_READ_SAFE, FPORT_WRITE_SAFE, FPORT_ALL_OKAY):
New macros.
(pre_read, pre_write): New functions.
(local_fgetc, local_fgets, local_ffwrite, local_fputc,
local_fputs): Call them.
(local_fflush): Mark the port as ready for reading and writing.
(scm_stdio_to_port): Set the FPORT_READ_SAFE, FPORT_WRITE_SAFE
flags on new port objects.  This might not be accurate --- who
knows what state the FILE * is in when we get it --- but it won't
do extraneous calls to fflush or fseek, so it's no worse than the
behavior before this change.
* ports.h: Add comment.
Centralize the creation of port objects based on stdio FILE * in
fports.c; don't just throw them together anywhere.
* fports.c (scm_stdio_to_port): Make NAME a SCM value, which is
what the rest of Guile wants.  Don't set the revealed count;
that's only appropriate for stdin, stdout, stderr.
(scm_standard_stream_to_port): This function does set the revealed
count.
* init.c (scm_init_standard_ports): Use	scm_standard_stream_to_port,
not scm_stdio_to_port.
* filesys.c (scm_open): Call scm_stdio_to_port; don't write it out.
* fports.c (scm_open_file): Same.
* posix.c (scm_pipe): Same.
* socket.c (scm_sock_fd_to_port): Same.
* ioext.c (scm_fdopen): Same.
(scm_freopen): Moved from here to...
* fports.c (scm_freopen): ... here.  This is really something that
munges the internals of an fport, so it should go here.
* fports.h (scm_stdio_to_port): Adjust prototype.
(scm_standard_stream_to_port, scm_freopen): New protoypes.
* ioext.h (scm_freopen): Prototype removed.
1998-10-09 12:45:20 +00:00
Jim Blandy
5621be9997 Centralize the creation of port objects based on stdio FILE * in
fports.c; don't just throw them together anywhere.
* fports.c (scm_stdio_to_port): Make NAME a SCM value, which is
what the rest of Guile wants.  Don't set the revealed count;
that's only appropriate for stdin, stdout, stderr.
(scm_standard_stream_to_port): This function does set the revealed
count.
* init.c (scm_init_standard_ports): Use	scm_standard_stream_to_port,
not scm_stdio_to_port.
* filesys.c (scm_open): Call scm_stdio_to_port; don't write it out.
* fports.c (scm_open_file): Same.
* posix.c (scm_pipe): Same.
* socket.c (scm_sock_fd_to_port): Same.
* ioext.c (scm_fdopen): Same.
(scm_freopen): Moved from here to...
* fports.c (scm_freopen): ... here.  This is really something that
munges the internals of an fport, so it should go here.
* fports.h (scm_stdio_to_port): Adjust prototype.
(scm_standard_stream_to_port, scm_freopen): New protoypes.
* ioext.h (scm_freopen): Prototype removed.
* filesys.c (set_element, get_element): This can work on both pipe
and file ports, so use SCM_FPORTP to typecheck, instead of testing
for scm_tc16_fport.
1998-10-09 12:44:37 +00:00
Jim Blandy
74d977c610 * scmconfig.h.in: Regenerated. 1998-10-09 12:44:06 +00:00
Jim Blandy
93016112cb * fports.h (scm_setbuf0, scm_setvbuf, scm_setfileno,
scm_evict_ports, scm_open_file, scm_stdio_to_port): Get rid of
SCM_P macro.
Centralize the creation of port objects based on stdio FILE * in
fports.c; don't just throw them together anywhere.
* fports.c (scm_stdio_to_port): Make NAME a SCM value, which is
what the rest of Guile wants.  Don't set the revealed count;
that's only appropriate for stdin, stdout, stderr.
(scm_standard_stream_to_port): This function does set the revealed
count.
* init.c (scm_init_standard_ports): Use	scm_standard_stream_to_port,
not scm_stdio_to_port.
* filesys.c (scm_open): Call scm_stdio_to_port; don't write it out.
* fports.c (scm_open_file): Same.
* posix.c (scm_pipe): Same.
* socket.c (scm_sock_fd_to_port): Same.
* ioext.c (scm_fdopen): Same.
(scm_freopen): Moved from here to...
* fports.c (scm_freopen): ... here.  This is really something that
munges the internals of an fport, so it should go here.
* fports.h (scm_stdio_to_port): Adjust prototype.
(scm_standard_stream_to_port, scm_freopen): New protoypes.
* ioext.h (scm_freopen): Prototype removed.
1998-10-09 12:43:51 +00:00
Jim Blandy
0f88a8f3bd Change the definition of the functions in scm_ptobfuns so that
they get passed the port object, not the port's stream.
* ports.h (scm_ptobfuns): Rename all `stream' arguments to `port'.
* gc.c (scm_gc_sweep): Pass the port itself to the free function.
* genio.c (scm_putc, scm_puts, scm_lfwrite, scm_fflush, scm_getc):
Pass the port itself to the scm_ptobs function.
* ports.c (scm_close_port, scm_force_output, scm_flush_all_ports,
scm_generic_fgets): Same.
(putc_void_port, puts_void_port, write_void_port, flush_void_port,
getc_void_port, fgets_void_port, close_void_port): Just change the
argument names; these functions don't really do anything.
* fports.c (local_fgetc, local_fgets, local_fclose, local_fflush,
local_fputc, local_fputs, local_ffwrite, local_pclose): Take the
port as an argument, and use SCM_STREAM to get the stdio FILE *.
Also, use prototyped definitions, and get rid of the extra
declarations.
(scm_fptob, scm_pipob): We don't need casts here any more.
* strports.c (prinstpt): Use prototype declarations.
(stputc, stwrite, stputs, stgetc): Take the port as an argument,
and use SCM_STREAM to get the string info.  Also, use prototyped
definitions, and get rid of the extra declarations.
* vports.c (sfputc, sfwrite, sfputs, sfflush, sfgetc, sfclose,
noop0): Same.
1998-10-09 10:02:41 +00:00
Jim Blandy
ea9fc30d4b Change the definition of the functions in scm_ptobfuns so that
they get passed the port object, not the port's stream.
* ports.h (scm_ptobfuns): Rename all `stream' arguments to `port'.
* gc.c (scm_gc_sweep): Pass the port itself to the free function.
* genio.c (scm_putc, scm_puts, scm_lfwrite, scm_fflush, scm_getc):
Pass the port itself to the scm_ptobs function.
* ports.c (scm_close_port, scm_force_output, scm_flush_all_ports,
scm_generic_fgets): Same.
(putc_void_port, puts_void_port, write_void_port, flush_void_port,
getc_void_port, fgets_void_port, close_void_port): Just change the
argument names; these functions don't really do anything.
* fports.c (local_fgetc, local_fgets, local_fclose, local_fflush,
local_fputc, local_fputs, local_ffwrite, local_pclose): Take the
port as an argument, and use SCM_STREAM to get the stdio FILE *.
Also, use prototyped definitions, and get rid of the extra
declarations.
(scm_fptob, scm_pipob): We don't need casts here any more.
* strports.c (prinstpt): Use prototype declarations.
(stputc, stwrite, stputs, stgetc): Take the port as an argument,
and use SCM_STREAM to get the string info.  Also, use prototyped
definitions, and get rid of the extra declarations.
* vports.c (sfputc, sfwrite, sfputs, sfflush, sfgetc, sfclose,
noop0): Same.
* fports.c (local_fgetc, local_fgets): Renamed from scm_fgetc and
scm_fgets, for consistency.
(scm_fptop, scm_pipob): References updated.
1998-10-09 10:01:12 +00:00
Jim Blandy
0c0669cc73 Change the definition of the functions in scm_ptobfuns so that
they get passed the port object, not the port's stream.
* ports.h (scm_ptobfuns): Rename all `stream' arguments to `port'.
* gc.c (scm_gc_sweep): Pass the port itself to the free function.
* genio.c (scm_putc, scm_puts, scm_lfwrite, scm_fflush, scm_getc):
Pass the port itself to the scm_ptobs function.
* ports.c (scm_close_port, scm_force_output, scm_flush_all_ports,
scm_generic_fgets): Same.
(putc_void_port, puts_void_port, write_void_port, flush_void_port,
getc_void_port, fgets_void_port, close_void_port): Just change the
argument names; these functions don't really do anything.
* fports.c (local_fgetc, local_fgets, local_fclose, local_fflush,
local_fputc, local_fputs, local_ffwrite, local_pclose): Take the
port as an argument, and use SCM_STREAM to get the stdio FILE *.
Also, use prototyped definitions, and get rid of the extra
declarations.
(scm_fptob, scm_pipob): We don't need casts here any more.
* strports.c (prinstpt): Use prototype declarations.
(stputc, stwrite, stputs, stgetc): Take the port as an argument,
and use SCM_STREAM to get the string info.  Also, use prototyped
definitions, and get rid of the extra declarations.
* vports.c (sfputc, sfwrite, sfputs, sfflush, sfgetc, sfclose,
noop0): Same.
* ports.h (scm_ptobfuns): Replace uses of SCM_P with a straight
prototype; it's okay (preferred, even!) to use ANSI C in Guile.
1998-10-09 10:00:55 +00:00
Jim Blandy
cc5ca0281d Adjust formatting. 1998-10-08 20:12:53 +00:00
Jim Blandy
6d921cd6cc *** empty log message *** 1998-10-08 20:12:22 +00:00
Jim Blandy
f64056d105 Include the source location in error messages for scripts.
* init.c (scm_boot_guile_1): Use scm_internal_lazy_catch, so the
stack is still there when we catch the error.
* throw.c (handler_message): If we are handling an error with a
message, then put together the proper arguments and call
scm_display_error, instead of scm_display_error_message.  That
displays source location, if it can find it.
1998-10-08 20:11:59 +00:00
Jim Blandy
a8e0500932 *** empty log message *** 1998-10-07 20:06:29 +00:00
Jim Blandy
dab7f56692 * gc.c (scm_unprotect_object): Change this so that calls to
scm_protect_object and scm_unprotect_object nest properly.
(scm_protect_object): Doc fixes.
1998-10-07 20:05:56 +00:00
Jim Blandy
74f8751631 *** empty log message *** 1998-10-07 19:35:56 +00:00
Jim Blandy
3c0a54bd68 *** empty log message *** 1998-10-07 15:52:46 +00:00
Jim Blandy
82637e2bfe * strings.c (scm_string_set_x): Require the argument to be a
writable string, not a substring or a symbol.
* strings.h (SCM_RWSTRINGP, SCM_NRWSTRINGP): New predicates.
1998-10-07 15:52:31 +00:00
Jim Blandy
13af30488e *** empty log message *** 1998-10-07 10:16:28 +00:00
Jim Blandy
f52526ef55 * scmconfig.h.in: Regenerated; ../acconfig.h has changed. 1998-10-07 10:15:44 +00:00
Jim Blandy
6ea669d7b0 *** empty log message *** 1998-10-07 10:03:07 +00:00
Jim Blandy
ca6ef71ad9 * eval.c (safe_setjmp): Remove this misunderstanding.
(ENTER_APPLY, SCM_CEVAL, SCM_APPLY): Replace with references to
ordinary setjmp.
1998-10-07 10:02:34 +00:00
Jim Blandy
3e877d1576 Formatting tweaks. 1998-10-06 20:57:10 +00:00
Jim Blandy
2d0937bc84 *** empty log message *** 1998-10-06 15:47:07 +00:00
Jim Blandy
3401653fe0 * libguile.h: Mark these as C declarations, for compilation by C++
compilers.
1998-10-06 15:46:06 +00:00
Jim Blandy
d021129f24 * snarf.h (SCM_PROC, SCM_PROC1): Remove very odd code in #ifdef
__cplusplus clause.  I seriously doubt this ever worked the way
the author seems to have intended.
1998-10-06 13:01:46 +00:00
Jim Blandy
89545eba77 Doc fixes 1998-10-05 21:05:04 +00:00
Jim Blandy
d68fee4833 Utterly needless cleanups to hopelessly messy code.
* ports.c: Doc fixes.
(scm_fflush): Moved to ...
* genio.c (scm_fflush): ... here, amongst all the other port
method invocation functions.
* genio.h, ports.h: The prototype moves too.
1998-10-05 21:04:15 +00:00
Jim Blandy
8b49142f60 *** empty log message *** 1998-10-04 16:44:53 +00:00
Jim Blandy
a88a4c8a6f * backtrace.c (display_error_body): The current frame does not
always have a parent frame; consider a function called directly
from the MAIN_FUNC passed to scm_boot_guile.  (Thanks to Maciej
Stachowiak.)
1998-10-04 16:44:34 +00:00
Jim Blandy
533149475d *** empty log message *** 1998-10-04 12:59:56 +00:00