bpt/guile.git
25 years ago * ports.h (scm_port): make read_pos a pointer to const.
Jim Blandy [Wed, 9 Jun 1999 12:18:24 +0000 (12:18 +0000)]
* ports.h (scm_port): make read_pos a pointer to const.
strports.c: take care of rw_active and rw_randow.
fports.c: scm_fport_drain_input: removed.  do it all in ports.c.
strports.c (scm_mkstrport): check that pos is reasonable.
ioext.c (scm_ftell, scm_fseek): use lseek.
(SCM_CLEAR_BUFFERS): macro deleted.
ioext.c (redirect_port: use ptob fflush, read_flush.
ports.h (scm_ptobfuns): add ftruncate.
ports.c (scm_newptob): set ftruncate.
adjust ptob tables.
* ports.c (scm_ftruncate): new procedure.
fports.c (local_ftrunate), strports.c (str_ftruncate): new procs.
strports.c (st_seek, st_grow_port): new procs.
fports.h (scm_port): change size types from int to off_t.
ports.c (scm_init_ports): initialise the seek symbols here
instead of in ioext.c.
strports.c (scm_call_with_output_string): start with an empty
string, so seek and ftruncate can be used.
* ports.h (scm_ptobfuns): add a read_flush procedure which is the
equivalent to fflush for the read buffer.
* ports.c (scm_newptob): set read_flush.
ports.c (void_port_ptob): set read_flush.
fports.c (local_read_flush): new proc.  add to ptob.
strport.c (st_read_flush): likewise.
vport.c (sf_read_flush): likewise.
fports.h (struct scm_fport): remove random member.  there's nothing
left but fdes.  leaving it as a struct to allow for future changes.
fports.c: replace usage of scm_fport::random with scm_port::rw_random.
ports.c: (scm_putc, scm_puts, scm_lfwrite): call the read_flush
ptob proc if the read buffer is filled.
* fports.h (SCM_FPORT_CLEAR_BUFFERS): rename to SCM_CLEAR_BUFFERS
and move to ioext.c.
* fports.h (SCM_MAYBE_DRAIN_INPUT): moved to ports.c.
use ptob for seek. take ptob instead of fport arg.
* fports.h (SCM_FDES_RANDOM_P): new macro.  use it in
scm_fdes_to_port and scm_redirect_port.
* fports.h (SCM_CLEAR_BUFFERS): new macro.
* fports.h (SCM_FPORT_FDES): new macro.
* posix.c (scm_pipe): use fport buffer.
* unif.c: include fports.h instead of genio.h.
* fports.c (scm_fdes_wait_for_input, scm_fport_fill_buffer): new
procedures.
(local_fgetc): use them.
(local_ffwrite): use buffer.
(local_fgets): use buffer.
(scm_setbuf0): deleted.
(scm_setvbuf): set the buffer.
(scm_setfileno): deleted.
(scm_evict_ports): set fdes directly.
* (scm_freopen): deleted.  doesn't seem useful in Guile.
(scm_stdio_to_port): deleted.
fports.h (struct scm_fport): add shortbuf member to avoid separate
code for unbuffered ports.
(SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP, SCM_OPOUTFPORTP): moved
from ports.h.
* fports.c, fports.h (scm_fport_drain_input): new procedure.
* ports.c (scm_drain_input): call scm_fport_drain_input.
* scm_fdes_waiting_p: new procedure.
* fports.c (scm_fdes_to_port): allocate read and/or write buffers.
(scm_input_waiting_p): check the buffer.
(local_fgetc, local_fflush, local_fputc): likewise.
* fports.h (scm_fport): read/write_buf,_pos,_buf_end,,_buf_size:
new members.
* init.c (scm_init_standard_ports): pass fdes instead of FILE *.
* * ports.c (scm_drain_input): new procedure.
ports.h: prototype.
* fports.c (FPORT_READ_SAFE, FPORT_WRITE_SAFE, FPORT_ALL_OKAY,
pre_read, pre_write): removed.
(local_fputc, local_fputs, local_ffwrite): use write, not stdio.
(scm_standard_stream_to_port): change first arg from FILE * to
int fdes.
(local_fflush): flush fdes, not FILE *.
* fports.h (SCM_NOFTELL): removed.
* genio.c, ports.c: don't include filesys.h.
* genio.c (scm_getc): don't use scm_internal_select if FPORT.
do it in fports.c:local_fgetc.
* genio.c: don't use SCM_SYSCALL when calling ptob procedures.
do it where it's needed in the port smobs.
* filesys.c (scm_input_waiting_p): moved to fports.c, stdio
  buffer support removed.  take SCM arg, not FILE *.
* filesys.h: prototype moved too.
* fports.c (scm_fdes_to_port): new procedure.
(local_fgetc): use read not fgetc.
(local_fclose): use close, not fclose.
(local_fgets): use read, not fgets
* fports.h: prototype for scm_fdes_to_port.
* fports.h (scm_fport): new struct.
* fports.c (scm_open_file): use open, not fopen.
#include fcntl.h
* ports.h (struct scm_port_table): change stream from SCM to void *.
* ports.c (scm_add_to_port_table): check for memory allocation error.
(scm_prinport): remove MSDOS hair.
(scm_void_port): set stream to 0 instead of SCM_BOOL_F.
(scm_close_port): don't throw errors: do it in fports.c.

25 years ago * fports.c (local_fclose): call local_fflush unconditionally.
Jim Blandy [Wed, 9 Jun 1999 12:18:12 +0000 (12:18 +0000)]
* fports.c (local_fclose): call local_fflush unconditionally.
(various): don't use the scm_must... memory procs.
* ports.h (scm_port): make read_pos a pointer to const.
strports.c: take care of rw_active and rw_randow.
fports.c: scm_fport_drain_input: removed.  do it all in ports.c.
strports.c (scm_mkstrport): check that pos is reasonable.
ioext.c (scm_ftell, scm_fseek): use lseek.
(SCM_CLEAR_BUFFERS): macro deleted.
ioext.c (redirect_port: use ptob fflush, read_flush.
ports.h (scm_ptobfuns): add ftruncate.
ports.c (scm_newptob): set ftruncate.
adjust ptob tables.
* ports.c (scm_ftruncate): new procedure.
fports.c (local_ftrunate), strports.c (str_ftruncate): new procs.
strports.c (st_seek, st_grow_port): new procs.
fports.h (scm_port): change size types from int to off_t.
ports.c (scm_init_ports): initialise the seek symbols here
instead of in ioext.c.
strports.c (scm_call_with_output_string): start with an empty
string, so seek and ftruncate can be used.
* ports.h (scm_ptobfuns): add a read_flush procedure which is the
equivalent to fflush for the read buffer.
* ports.c (scm_newptob): set read_flush.
ports.c (void_port_ptob): set read_flush.
fports.c (local_read_flush): new proc.  add to ptob.
strport.c (st_read_flush): likewise.
vport.c (sf_read_flush): likewise.
fports.h (struct scm_fport): remove random member.  there's nothing
left but fdes.  leaving it as a struct to allow for future changes.
fports.c: replace usage of scm_fport::random with scm_port::rw_random.
ports.c: (scm_putc, scm_puts, scm_lfwrite): call the read_flush
ptob proc if the read buffer is filled.
* ports.h (struct scm_port_table): add writing and reading members
to replace write_needs_seek: it isn't good enough for non-fports.
ports.c, ioext.c, fports.c: corresponding changes.
(struct scm_port_table): give it a typedef and rename to scm_port.
ports.c, fports.c, strports.c, vports.c, ioext.c, ports.h:
corresponding changes.
* fports.c (scm_fdes_wait_for_input): forgot to check compilation
with threads enabled.  rename this procedure to
fport_wait_for_input and take a port instead of a fdes.
use scm_fport_input_waiting_p instead of scm_fdes_waiting_p.
* gc.c (scm_init_storage): install an atexit proc to flush the
ports.
(cleanup): the new proc.  it sets a global variable which can be
checked by the ptob flush procs to avoid trying to throw
exceptions during exit.  not very pleasant but it seems more reliable.
* fports.c (local_fflush): check terminating variable and if set
don't throw exception.
* CHECKME: that the atexit proc is installed if unexec used.
* fports.c (scm_fdes_waiting_p): merged into fport_input_waiting_p.
* fports.c (scm_standard_stream_to_port): moved to init.c and
made static.
(scm_puts): rewritten
* fports.c (local_ffwrite, local_fputs): removed.
* strports.c (stputc, stputs, stwrite): dyked out (FIXME)
* vports.c (sfputc, sfputs, sfwrite) likewise.
* ports.c (write_void_port, puts_void_port): removed.
(putc_void_port, getc_void_port, fgets_void_port): likewise.
* fports.c (local_fputc): deleted.
* ports.h (scm_ptobfuns): add seek function pointer.
* fports.c: set it to local_seek, new procedure.
* fports.c (local_fgetc, local_fgets): deleted.
* strports.c (stgetc): likewise.
* ports.c: scm_generic_fgets: likewise.
* fports.c (scm_fport_buffer_add): new procedure.
* fports.c (scm_fdes_to_port), ports.c (scm_void_port),
filesys.c (scm_opendir):
restore defer interrupts while the port is constructed.
* (scm_setvbuf): if mode is _IOFBF and size is not supplied,
derive buffer size from fdes or use a default.
(scm_fdes_to_port): use setvbuf instead of creating the buffers
directly.
* fports.c (scm_input_waiting_p): use scm_return_first, since port
may be removed from the stack by the tail call to scm_fdes_waiting_p.
ports.c fports.c ioext.c posix.c socket.c net_db.c filesys.c:
removed all uses of SCM_DEFER/ALLOW ints for now.  they were mainly
just protecting errno.  some may need to be put back.
*fports.c (print_pipe_port, local_pclose, scm_pipob): deleted.
* open-pipe, close-pipe are emulated in (ice-9 popen)
ports.c (scm_ports_prehistory): don't init scm_pipob.
ports.h (scm_tc16_pipe): deleted.
posix.c (scm_open_pipe, scm_close_pipe): deleted.
* posix.c (scm_pipe): use fport buffer.
* unif.c: include fports.h instead of genio.h.
* fports.c (scm_fdes_wait_for_input, scm_fport_fill_buffer): new
procedures.
(local_fgetc): use them.
(local_ffwrite): use buffer.
(local_fgets): use buffer.
(scm_setbuf0): deleted.
(scm_setvbuf): set the buffer.
(scm_setfileno): deleted.
(scm_evict_ports): set fdes directly.
* (scm_freopen): deleted.  doesn't seem useful in Guile.
(scm_stdio_to_port): deleted.
fports.h (struct scm_fport): add shortbuf member to avoid separate
code for unbuffered ports.
(SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP, SCM_OPOUTFPORTP): moved
from ports.h.
* fports.c, fports.h (scm_fport_drain_input): new procedure.
* ports.c (scm_drain_input): call scm_fport_drain_input.
* scm_fdes_waiting_p: new procedure.
* fports.c (scm_fdes_to_port): allocate read and/or write buffers.
(scm_input_waiting_p): check the buffer.
(local_fgetc, local_fflush, local_fputc): likewise.
* * ports.c (scm_drain_input): new procedure.
ports.h: prototype.
* fports.c (FPORT_READ_SAFE, FPORT_WRITE_SAFE, FPORT_ALL_OKAY,
pre_read, pre_write): removed.
(local_fputc, local_fputs, local_ffwrite): use write, not stdio.
(scm_standard_stream_to_port): change first arg from FILE * to
int fdes.
(local_fflush): flush fdes, not FILE *.
* fports.h (SCM_NOFTELL): removed.
* genio.c, ports.c: don't include filesys.h.
* genio.c (scm_getc): don't use scm_internal_select if FPORT.
do it in fports.c:local_fgetc.
* genio.c: don't use SCM_SYSCALL when calling ptob procedures.
do it where it's needed in the port smobs.
* filesys.c (scm_input_waiting_p): moved to fports.c, stdio
  buffer support removed.  take SCM arg, not FILE *.
* filesys.h: prototype moved too.
* fports.c (scm_fdes_to_port): new procedure.
(local_fgetc): use read not fgetc.
(local_fclose): use close, not fclose.
(local_fgets): use read, not fgets
* fports.h: prototype for scm_fdes_to_port.
* fports.h (scm_fport): new struct.
* fports.c (scm_open_file): use open, not fopen.
#include fcntl.h
* ports.h (struct scm_port_table): change stream from SCM to void *.
* ports.c (scm_add_to_port_table): check for memory allocation error.
(scm_prinport): remove MSDOS hair.
(scm_void_port): set stream to 0 instead of SCM_BOOL_F.
(scm_close_port): don't throw errors: do it in fports.c.

25 years ago* * ports.c (scm_drain_input): new procedure.
Jim Blandy [Wed, 9 Jun 1999 12:17:53 +0000 (12:17 +0000)]
* * ports.c (scm_drain_input): new procedure.
ports.h: prototype.
* fports.c (FPORT_READ_SAFE, FPORT_WRITE_SAFE, FPORT_ALL_OKAY,
pre_read, pre_write): removed.
(local_fputc, local_fputs, local_ffwrite): use write, not stdio.
(scm_standard_stream_to_port): change first arg from FILE * to
int fdes.
(local_fflush): flush fdes, not FILE *.
* fports.h (SCM_NOFTELL): removed.
* genio.c, ports.c: don't include filesys.h.
* genio.c (scm_getc): don't use scm_internal_select if FPORT.
do it in fports.c:local_fgetc.
* genio.c: don't use SCM_SYSCALL when calling ptob procedures.
do it where it's needed in the port smobs.
* filesys.c (scm_input_waiting_p): moved to fports.c, stdio
  buffer support removed.  take SCM arg, not FILE *.
* filesys.h: prototype moved too.
* fports.c (scm_fdes_to_port): new procedure.
(local_fgetc): use read not fgetc.
(local_fclose): use close, not fclose.
(local_fgets): use read, not fgets
* fports.h: prototype for scm_fdes_to_port.
* fports.h (scm_fport): new struct.
* fports.c (scm_open_file): use open, not fopen.
#include fcntl.h
* ports.h (struct scm_port_table): change stream from SCM to void *.
* ports.c (scm_add_to_port_table): check for memory allocation error.
(scm_prinport): remove MSDOS hair.
(scm_void_port): set stream to 0 instead of SCM_BOOL_F.
(scm_close_port): don't throw errors: do it in fports.c.

25 years ago * filesys.c (scm_chown): use SCM_FPORT_FDES.
Jim Blandy [Wed, 9 Jun 1999 12:17:38 +0000 (12:17 +0000)]
* filesys.c (scm_chown): use SCM_FPORT_FDES.
(scm_chmod, scm_stat, scm_truncate_file: likewise.
* fports.c (scm_fdes_to_port), ports.c (scm_void_port),
filesys.c (scm_opendir):
restore defer interrupts while the port is constructed.
* (scm_setvbuf): if mode is _IOFBF and size is not supplied,
derive buffer size from fdes or use a default.
(scm_fdes_to_port): use setvbuf instead of creating the buffers
directly.
* filesys.c (scm_fsync): use SCM_FDES.
* filesys.c (scm_fcntl): get fdes from fport.
(set_element, get_element): likewise.
* filesys.c (scm_open): adjust port_mode for O_APPEND and O_CREAT.
ports.c fports.c ioext.c posix.c socket.c net_db.c filesys.c:
removed all uses of SCM_DEFER/ALLOW ints for now.  they were mainly
just protecting errno.  some may need to be put back.
* * ports.c (scm_drain_input): new procedure.
ports.h: prototype.
* fports.c (FPORT_READ_SAFE, FPORT_WRITE_SAFE, FPORT_ALL_OKAY,
pre_read, pre_write): removed.
(local_fputc, local_fputs, local_ffwrite): use write, not stdio.
(scm_standard_stream_to_port): change first arg from FILE * to
int fdes.
(local_fflush): flush fdes, not FILE *.
* fports.h (SCM_NOFTELL): removed.
* genio.c, ports.c: don't include filesys.h.
* genio.c (scm_getc): don't use scm_internal_select if FPORT.
do it in fports.c:local_fgetc.
* genio.c: don't use SCM_SYSCALL when calling ptob procedures.
do it where it's needed in the port smobs.
* filesys.c (scm_input_waiting_p): moved to fports.c, stdio
  buffer support removed.  take SCM arg, not FILE *.
* filesys.h: prototype moved too.
* fports.c (scm_fdes_to_port): new procedure.
(local_fgetc): use read not fgetc.
(local_fclose): use close, not fclose.
(local_fgets): use read, not fgets
* fports.h: prototype for scm_fdes_to_port.
* fports.h (scm_fport): new struct.
* fports.c (scm_open_file): use open, not fopen.
#include fcntl.h
* ports.h (struct scm_port_table): change stream from SCM to void *.
* ports.c (scm_add_to_port_table): check for memory allocation error.
(scm_prinport): remove MSDOS hair.
(scm_void_port): set stream to 0 instead of SCM_BOOL_F.
(scm_close_port): don't throw errors: do it in fports.c.

25 years ago* * expect.scm (expect): call the match proc with the port instead.
Jim Blandy [Wed, 9 Jun 1999 12:17:16 +0000 (12:17 +0000)]
* * expect.scm (expect): call the match proc with the port instead.
(expect-strings): use peek-char to get the next char.  this has
the advantage of getting the handling of $ "correct", but the
disadvantage of needing to get (and maybe block for) an extra character
from the port when it may not be needed.  hence:
* (expect-strings-exec-flags): new variable/parameter, supplies
flags for regexp-exec.  if this includes regexp/noteol, then
automatic regexp/noteol handling (requiring an extra peeked char)
is enabled.  default is regexp/noteol.
*       (expect-strings-compile-flags): new variable/parameter, supplies
flags for make-regexp.  default is regexp/newline.
* * expect.scm (expect): call the match proc with an extra char,
peeked from the stream.
(expect-strings): build a match proc which takes the extra char.
(expect-regexec): take an extra arg "eof-next?" and use it
to decide whether the regexp/noteol flag should be added.

25 years ago* boot-9.scm (top-repl): don't flush all ports at exit.
Jim Blandy [Wed, 9 Jun 1999 12:17:03 +0000 (12:17 +0000)]
* boot-9.scm (top-repl): don't flush all ports at exit.
(error-catching-loop): likewise.
* boot-9.scm (scm-style-repl): -read: don't call
consume-trailing-whitespace if val is eof object.  Allows
exiting repl with single control-D.
* boot-9.scm (error-catching-loop): don't force output within
error catching loop after quit received.
(top-repl): flush all ports when the repl terminates.
* boot-9.scm (error-catching-loop): flush all ports before
primitive exit if non-interactive.
force-output on current-error-port if interactive.
* boot-9.scm (reopen-file): deleted.
* popen.scm (open-output-pipe, open-input-pipe): moved from
boot-9.scm.
* popen.scm: new file.

25 years ago*** empty log message ***
Jim Blandy [Wed, 9 Jun 1999 09:42:21 +0000 (09:42 +0000)]
*** empty log message ***

25 years ago* tests/ports.test ("line counter"): Verify that we do eventually
Jim Blandy [Wed, 9 Jun 1999 09:42:15 +0000 (09:42 +0000)]
* tests/ports.test ("line counter"): Verify that we do eventually
get EOF on the port --- don't just read forever.

25 years ago* lib.scm (print-counts): XFAILS are "expected failures", not
Jim Blandy [Wed, 9 Jun 1999 09:41:54 +0000 (09:41 +0000)]
* lib.scm (print-counts): XFAILS are "expected failures", not
"unexpected failures."

25 years ago*** empty log message ***
Jim Blandy [Wed, 9 Jun 1999 08:57:32 +0000 (08:57 +0000)]
*** empty log message ***

25 years ago* lib.scm (full-reporter): The test name is the cadr of the
Jim Blandy [Wed, 9 Jun 1999 08:57:23 +0000 (08:57 +0000)]
* lib.scm (full-reporter): The test name is the cadr of the
result, not the cdr.  I'm not macho enough to handle run-time
typechecking.

25 years ago*** empty log message ***
Mikael Djurfeldt [Mon, 7 Jun 1999 09:52:39 +0000 (09:52 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Mikael Djurfeldt [Sat, 5 Jun 1999 06:00:05 +0000 (06:00 +0000)]
*** empty log message ***

25 years ago* numbers.c: Added #include "feature.h".
Mikael Djurfeldt [Sat, 5 Jun 1999 05:59:50 +0000 (05:59 +0000)]
* numbers.c: Added #include "feature.h".

25 years ago* boot-9.scm (iota): replaced by a tail recursive version.
Mikael Djurfeldt [Sat, 5 Jun 1999 05:59:26 +0000 (05:59 +0000)]
* boot-9.scm (iota):  replaced by a tail recursive version.
(reverse-iota):  removed.

25 years ago* optargs.scm (lambda*): Bugfix: Replaced ARGLIST -->
Mikael Djurfeldt [Thu, 3 Jun 1999 05:02:23 +0000 (05:02 +0000)]
* optargs.scm (lambda*): Bugfix: Replaced ARGLIST -->
non-optional-args.  (Thanks to David Lutterkort.)

25 years ago*** empty log message ***
Mikael Djurfeldt [Thu, 3 Jun 1999 05:02:05 +0000 (05:02 +0000)]
*** empty log message ***

25 years agoUpdated
Mikael Djurfeldt [Thu, 3 Jun 1999 05:01:55 +0000 (05:01 +0000)]
Updated

25 years agoGary Houston's patches turn popen into a module, which we need to
Jim Blandy [Mon, 31 May 1999 21:30:06 +0000 (21:30 +0000)]
Gary Houston's patches turn popen into a module, which we need to
import.
("pipe: read", "pipe: write"): Use close-pipe, not close-port, so
Guile will wait for the command to terminate.

25 years agoProvide a default reporter, so that results don't just go into the bit
Jim Blandy [Mon, 31 May 1999 21:27:20 +0000 (21:27 +0000)]
Provide a default reporter, so that results don't just go into the bit
bucket if you use the test suite functions without a driver script.
(default-reporter): New variable.
(report): Send results to default-reporter if there are no registered
reporters.
(full-reporter): New function.
(user-reporter): Re-implemented in terms of full-reporter.

25 years agoIgnore log files produced by benchmarks and test suites.
Jim Blandy [Sun, 30 May 1999 10:31:56 +0000 (10:31 +0000)]
Ignore log files produced by benchmarks and test suites.

25 years agoMark file as Scheme code.
Jim Blandy [Sun, 30 May 1999 09:23:37 +0000 (09:23 +0000)]
Mark file as Scheme code.
Use catch-test-errors to isolate independent tests, so we can still
get some results even though Gary Houston's patches don't support
pipes yet.

25 years agoCopyleft files.
Jim Blandy [Sun, 30 May 1999 09:22:12 +0000 (09:22 +0000)]
Copyleft files.

25 years agoIndicate which version of Guile is required to run the test suites.
Jim Blandy [Sat, 29 May 1999 14:34:02 +0000 (14:34 +0000)]
Indicate which version of Guile is required to run the test suites.

25 years agoInitial checkin of the Guile test suite.
Jim Blandy [Sat, 29 May 1999 14:22:24 +0000 (14:22 +0000)]
Initial checkin of the Guile test suite.

25 years ago*** empty log message ***
Mikael Djurfeldt [Sun, 23 May 1999 10:13:18 +0000 (10:13 +0000)]
*** empty log message ***

25 years ago* Makefile.in: Regenerated.
Mikael Djurfeldt [Sun, 23 May 1999 10:09:23 +0000 (10:09 +0000)]
* Makefile.in: Regenerated.

25 years ago* fluids.c, guardians.c, srcprop.c, threads.c: Added #include
Mikael Djurfeldt [Sun, 23 May 1999 10:03:14 +0000 (10:03 +0000)]
* fluids.c, guardians.c, srcprop.c, threads.c: Added #include
"genio.h".

25 years ago* eval.c, fports.c, libguile.h, ports.c: Removed #include
Mikael Djurfeldt [Sun, 23 May 1999 10:02:31 +0000 (10:02 +0000)]
* eval.c, fports.c, libguile.h, ports.c: Removed #include
"markers.h".

25 years ago* Makefile.am: Removed markers.c, markers.x, markers.h.
Mikael Djurfeldt [Sun, 23 May 1999 10:00:53 +0000 (10:00 +0000)]
* Makefile.am: Removed markers.c, markers.x, markers.h.
* markers.c, markers.h: Removed.  (Contents moved to smob.c,
smob.h.)
* eval.c, fports.c, libguile.h, ports.c: Removed #include
"markers.h".

25 years ago* smob.c, smob.h (scm_make_smob_type): New interface to smob
Mikael Djurfeldt [Sun, 23 May 1999 09:57:31 +0000 (09:57 +0000)]
* smob.c, smob.h (scm_make_smob_type): New interface to smob
types (supersedes scm_newsmob).
(scm_set_smob_mark, scm_set_smob_free, scm_set_smob_print,
scm_set_smob_equalp): New functions.  Sets smob functions.
(SCM_NEWSMOB): New macro.  Creates smob objects.
(scm_make_smob): New function.  Creates smob objects and
mallocates memory.
(scm_smob_free, scm_smob_print): Default free and print
functions.
* markers.c, markers.h: Removed.  (Contents moved to smob.c,
smob.h.)

25 years ago* arbiters.c, async.c, regex-posix.c: Use new smob interface.
Mikael Djurfeldt [Sun, 23 May 1999 09:57:08 +0000 (09:57 +0000)]
* arbiters.c, async.c, regex-posix.c: Use new smob interface.
* regex-posix.c, regex-posix.h: Renamed scm_tc16_regex_t -->
scm_tc16_regex.

25 years ago* arbiters.c, async.c, regex-posix.c: Use new smob interface.
Mikael Djurfeldt [Sun, 23 May 1999 09:55:54 +0000 (09:55 +0000)]
* arbiters.c, async.c, regex-posix.c: Use new smob interface.

25 years ago* Makefile.am: Removed markers.c, markers.x, markers.h.
Mikael Djurfeldt [Sun, 23 May 1999 09:53:29 +0000 (09:53 +0000)]
* Makefile.am: Removed markers.c, markers.x, markers.h.

25 years ago*** empty log message ***
Jim Blandy [Sun, 9 May 1999 09:13:20 +0000 (09:13 +0000)]
*** empty log message ***

25 years ago* strop.c (scm_string_capitalize_x): Use the SCM object `s' in
Jim Blandy [Sun, 9 May 1999 09:12:35 +0000 (09:12 +0000)]
* strop.c (scm_string_capitalize_x): Use the SCM object `s' in
error messages, not the uninitialized string `str'.  Love that
typechecking.
* strop.c (scm_substring_move_x): New function, which can handle
arbitrary overlapping substrings.
(substring-move-left!, substring-move-right!): These are
now just synonyms for substring-move!.
* strop.h (scm_substring_move_x): New prototype.
(scm_substring_move_left_x, scm_substring_move_right_x):
#define these as synonyms for scm_substring_move_x.

25 years ago* string-case.scm: Removed; functions moved to libguile/strop.c
Jim Blandy [Sun, 9 May 1999 09:12:01 +0000 (09:12 +0000)]
* string-case.scm: Removed; functions moved to libguile/strop.c
(which could be dynamically linked in the future anyway).
* Makefile.am (ice9_sources): Don't list string-case.scm.
* Makefile.in: Regenerated.
* format.scm: Don't bother importing (ice-9 string-case).

25 years ago*** empty log message ***
Jim Blandy [Sun, 9 May 1999 08:22:42 +0000 (08:22 +0000)]
*** empty log message ***

25 years ago * strop.c (scm_string_capitalize_x, scm_string_capitalize): new
Jim Blandy [Sun, 9 May 1999 08:22:11 +0000 (08:22 +0000)]
* strop.c (scm_string_capitalize_x, scm_string_capitalize): new
functions; capitalize the first letter of each word in the
argument string, and downcase the rest.
(scm_string_ci_to_symbol): string->symbol, such that the same
symbol is returned for any argument where the only difference
between strings is in capitalization.
(scm_string_upcase, scm_string_downcase): non-destructive
versions.
* strop.c (scm_substring_move_left_x, scm_substring_move_right_x):
changed to use memmove.
* strop.c (scm_i_index): removed the pos arguments (it's only
called twice, and each time it's SCM_ARG1, SCM_ARG2, SCM_ARG3,
SCM_ARG4).
* strop.h: fixed prototypes.
* * strop.c (scm_substring_move_left_x, scm_substring_move_right_x):
changed to have 5 required args, rather than 2 required, and 3 required
rest args. Also modified to allow str1 & str2 to overlap.
(scm_substring_fill_x): changed to 4 args, rather than 2 args and
2 required rest args.

25 years ago* string-case.scm: Removed; functions moved to libguile/strop.c
Jim Blandy [Sun, 9 May 1999 08:21:28 +0000 (08:21 +0000)]
* string-case.scm: Removed; functions moved to libguile/strop.c
(which could be dynamically linked in the future anyway).
* format.scm: Don't bother importing (ice-9 string-case).

25 years agoThis is the documentation for (ice-9 format).
Jim Blandy [Sun, 9 May 1999 08:20:56 +0000 (08:20 +0000)]
This is the documentation for (ice-9 format).

25 years ago*** empty log message ***
Jim Blandy [Sun, 2 May 1999 17:28:43 +0000 (17:28 +0000)]
*** empty log message ***

25 years ago* string-case.scm: New file, brought in from SLIB, and adapted to
Jim Blandy [Sun, 2 May 1999 17:27:28 +0000 (17:27 +0000)]
* string-case.scm: New file, brought in from SLIB, and adapted to
Guile's module system.

25 years ago* format.scm: New file, brought in from SLIB, with the following
Jim Blandy [Sun, 2 May 1999 17:27:20 +0000 (17:27 +0000)]
* format.scm: New file, brought in from SLIB, with the following
changes:
(format:format): If the first argument is the format string, stick
a #f on the front of it, so it is now a valid CL format argument
list.  This is easier than changing everyplace else (like the
error formatter) that expects it to be in CL form.  The other
clause which explicitly tests for this case is now dead code.
(format:format-work): Allow `@' and `:' in either order, as per
modern CL behavior.
(format:num->cardinal): Don't assume that an elseless if returns
'() when the condition is false.

25 years ago* boot-9.scm (provided?): New function.
Jim Blandy [Sun, 2 May 1999 17:27:05 +0000 (17:27 +0000)]
* boot-9.scm (provided?): New function.

25 years ago* Makefile.am: Add string-case.scm and format.scm to ice9_sources.
Jim Blandy [Sun, 2 May 1999 17:26:49 +0000 (17:26 +0000)]
* Makefile.am: Add string-case.scm and format.scm to ice9_sources.
* Makefile.in: Regenerated.

25 years ago* scmconfig.h.in: Regenerated; see today's change to
Jim Blandy [Sun, 2 May 1999 17:22:57 +0000 (17:22 +0000)]
* scmconfig.h.in: Regenerated; see today's change to
../configure.in.

25 years ago* procs.h: Doc fix.
Jim Blandy [Sun, 2 May 1999 17:22:47 +0000 (17:22 +0000)]
* procs.h: Doc fix.

25 years ago* numbers.c: If we're supporting floating-point, provide the
Jim Blandy [Sun, 2 May 1999 17:22:39 +0000 (17:22 +0000)]
* numbers.c: If we're supporting floating-point, provide the
feature "inexact".

25 years ago* Makefile.am (modinclude_HEADERS): Add kw.h, so the new version
Jim Blandy [Sun, 2 May 1999 17:22:27 +0000 (17:22 +0000)]
* Makefile.am (modinclude_HEADERS): Add kw.h, so the new version
gets installed.
* Makefile.in: Regenerated.

25 years ago*** empty log message ***
Jim Blandy [Sun, 2 May 1999 17:16:56 +0000 (17:16 +0000)]
*** empty log message ***

25 years ago* configure.in (AC_CHECK_FUNCS): Fill in list of functions that
Jim Blandy [Sun, 2 May 1999 17:16:26 +0000 (17:16 +0000)]
* configure.in (AC_CHECK_FUNCS): Fill in list of functions that
libguile/net_db.h wants to use.  (Add setprotoent, setservent.)

25 years ago*** empty log message ***
Jim Blandy [Sat, 17 Apr 1999 16:53:21 +0000 (16:53 +0000)]
*** empty log message ***

25 years agoRemove readline support, to avoid copyright confusion.
Jim Blandy [Sat, 17 Apr 1999 16:52:51 +0000 (16:52 +0000)]
Remove readline support, to avoid copyright confusion.
* Makefile.am: Remove readline files from lists.
* init.c: Don't initialize readline.
* scmconfig.h.in: Regenerated.

25 years ago* Makefile.in: Regenerated.
Jim Blandy [Sat, 17 Apr 1999 16:51:31 +0000 (16:51 +0000)]
* Makefile.in: Regenerated.

25 years ago* Makefile.in, configure: Regenerated with autoconf 2.13, automake
Jim Blandy [Sat, 17 Apr 1999 16:46:34 +0000 (16:46 +0000)]
* Makefile.in, configure: Regenerated with autoconf 2.13, automake
1.4, libtool 1.2f (1.385 1999/03/15 17:24:54).  I've upgraded to
all the right tools, according to README, but I'm still getting
different results than Mikael is.  Hmm.

25 years ago*** empty log message ***
Jim Blandy [Sat, 17 Apr 1999 16:41:19 +0000 (16:41 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Jim Blandy [Sat, 17 Apr 1999 16:03:58 +0000 (16:03 +0000)]
*** empty log message ***

25 years ago* numbers.c (s_bignum): Renamed to s_bignum, and made static.
Jim Blandy [Sat, 17 Apr 1999 16:03:32 +0000 (16:03 +0000)]
* numbers.c (s_bignum): Renamed to s_bignum, and made static.
Libguile should not be exporting random little strings.
* numbers.h (s_bignum): Extern declaration removed.
More const changes from Ken Raeburn.
* numbers.c (scm_s_bignum, fx): Now const.
(scm_logtab, scm_ilentab, s_adjbig): Now static and const.
* numbers.h (scm_s_bignum): Update declaration.
* eval.c (bodycheck): Argument WHAT now points to const.
* snarf.h (SCM_SYNTAX): Name is const.
* eval.c (scm_i_let): Make this globally visible, to avoid dynamic
linking crashes on NetBSD.  (Thanks to Ken Raeburn.)

25 years agoRemove readline support, to avoid copyright confusion.
Jim Blandy [Sat, 17 Apr 1999 16:02:50 +0000 (16:02 +0000)]
Remove readline support, to avoid copyright confusion.
* Makefile.in: Remove readline files from lists.
* init.c: Don't initialize readline.
* scmconfig.h.in: Regenerated.

25 years agoRemove all automatic readline support, to avoid copyright
Jim Blandy [Sat, 17 Apr 1999 16:01:45 +0000 (16:01 +0000)]
Remove all automatic readline support, to avoid copyright
confusion.
* INSTALL: Update text.
* NEWS: Explain the situation.
* configure.in: Remove configury for readline and its supporting
libraries.
* configure: Regenerated.

25 years agoFormatting tweak.
Jim Blandy [Sat, 17 Apr 1999 15:55:54 +0000 (15:55 +0000)]
Formatting tweak.

25 years agoContent tweak.
Jim Blandy [Sat, 17 Apr 1999 15:16:18 +0000 (15:16 +0000)]
Content tweak.

25 years ago*** empty log message ***
Mikael Djurfeldt [Thu, 8 Apr 1999 06:07:30 +0000 (06:07 +0000)]
*** empty log message ***

25 years ago* boot-9.scm: Provide 'values.
Mikael Djurfeldt [Thu, 8 Apr 1999 06:06:56 +0000 (06:06 +0000)]
* boot-9.scm: Provide 'values.

25 years ago* libguile.h: Added #include evalext.h, fluids.h, guardians.h,
Mikael Djurfeldt [Sat, 27 Mar 1999 17:25:16 +0000 (17:25 +0000)]
* libguile.h: Added #include evalext.h, fluids.h, guardians.h,
macros.h, modules.h, random.h, sort.h.

25 years ago*** empty log message ***
Mikael Djurfeldt [Fri, 26 Mar 1999 14:06:13 +0000 (14:06 +0000)]
*** empty log message ***

25 years ago* numbers.c (isfinite): Define this macro if not defined: Return a
Mikael Djurfeldt [Fri, 26 Mar 1999 13:45:05 +0000 (13:45 +0000)]
* numbers.c (isfinite): Define this macro if not defined: Return a
non-zero value if X is finite.  (From ISO C 9x standard.)
(scm_inexact_to_exact): Bugfix: Don't pass NaNs to scm_dbl2big.
(Thanks to Jon Trowbridge and Greg Harvey.)

25 years agoRegenerated
Mikael Djurfeldt [Mon, 22 Mar 1999 14:00:01 +0000 (14:00 +0000)]
Regenerated

25 years ago*** empty log message ***
Mikael Djurfeldt [Mon, 22 Mar 1999 13:58:42 +0000 (13:58 +0000)]
*** empty log message ***

25 years ago* New libtool: 1.2f
Mikael Djurfeldt [Mon, 22 Mar 1999 13:55:54 +0000 (13:55 +0000)]
* New libtool: 1.2f
* ltmain.sh, ltconfig, config.guess, config.sub: New versions.

25 years ago* README: Mention new version number of libtool.
Mikael Djurfeldt [Mon, 22 Mar 1999 13:53:33 +0000 (13:53 +0000)]
* README: Mention new version number of libtool.

25 years ago* kw.h: New file.
Mikael Djurfeldt [Mon, 22 Mar 1999 12:06:52 +0000 (12:06 +0000)]
* kw.h: New file.

25 years ago*** empty log message ***
Mikael Djurfeldt [Mon, 22 Mar 1999 12:05:28 +0000 (12:05 +0000)]
*** empty log message ***

25 years agoRegenerated
Mikael Djurfeldt [Mon, 22 Mar 1999 12:05:00 +0000 (12:05 +0000)]
Regenerated

25 years ago* Makefile.am (modinclude_HEADERS): Added kw.h;
Mikael Djurfeldt [Mon, 22 Mar 1999 12:02:02 +0000 (12:02 +0000)]
* Makefile.am (modinclude_HEADERS): Added kw.h;

25 years ago* keywords.c (scm_tc16_kw): Added for backward compatibility.
Mikael Djurfeldt [Mon, 22 Mar 1999 11:58:59 +0000 (11:58 +0000)]
* keywords.c (scm_tc16_kw): Added for backward compatibility.
Will be removed in next release.

25 years ago* libguile.h: #include "libguile/kw.h"
Mikael Djurfeldt [Mon, 22 Mar 1999 11:55:38 +0000 (11:55 +0000)]
* libguile.h: #include "libguile/kw.h"

25 years ago*** empty log message ***
Mikael Djurfeldt [Mon, 22 Mar 1999 01:22:46 +0000 (01:22 +0000)]
*** empty log message ***

25 years ago* pairs.c (scm_set_car_x, scm_set_cdr_x): Return SCM_UNSPECIFIED.
Mikael Djurfeldt [Mon, 22 Mar 1999 01:22:04 +0000 (01:22 +0000)]
* pairs.c (scm_set_car_x, scm_set_cdr_x): Return SCM_UNSPECIFIED.

25 years ago*** empty log message ***
Mikael Djurfeldt [Sun, 21 Mar 1999 13:05:55 +0000 (13:05 +0000)]
*** empty log message ***

25 years ago* boot-9.scm (process-define-module, use-syntax): Bugfix:
Mikael Djurfeldt [Sun, 21 Mar 1999 13:04:39 +0000 (13:04 +0000)]
* boot-9.scm (process-define-module, use-syntax): Bugfix:
:use-syntax should add syntax to using module, not current module.
(internal-use-syntax): Removed.

25 years ago*** empty log message ***
Mikael Djurfeldt [Sun, 21 Mar 1999 10:09:18 +0000 (10:09 +0000)]
*** empty log message ***

25 years ago* print.c (scm_isymnames): Added #@dispatch and #@hash-dispatch.
Mikael Djurfeldt [Sun, 21 Mar 1999 10:08:59 +0000 (10:08 +0000)]
* print.c (scm_isymnames): Added #@dispatch and #@hash-dispatch.

25 years ago*** empty log message ***
Mikael Djurfeldt [Sun, 21 Mar 1999 05:04:45 +0000 (05:04 +0000)]
*** empty log message ***

25 years ago* session.scm (apropos-internal): Modified to comply with new
Mikael Djurfeldt [Sun, 21 Mar 1999 05:04:11 +0000 (05:04 +0000)]
* session.scm (apropos-internal): Modified to comply with new
argument order for hash-fold.

25 years ago* hashtab.c, hashtab.h (scm_hash_fold, scm_internal_hash_fold):
Mikael Djurfeldt [Sun, 21 Mar 1999 05:02:42 +0000 (05:02 +0000)]
* hashtab.c, hashtab.h (scm_hash_fold, scm_internal_hash_fold):
Place the table argument last.

25 years ago*** empty log message ***
Mikael Djurfeldt [Fri, 19 Mar 1999 07:13:56 +0000 (07:13 +0000)]
*** empty log message ***

25 years ago* debug.c, eval.c, evalext.c, gdbint.c stacks.c:
Mikael Djurfeldt [Fri, 19 Mar 1999 07:13:39 +0000 (07:13 +0000)]
* debug.c, eval.c, evalext.c, gdbint.c stacks.c:
#include "modules.h".

25 years ago*** empty log message ***
Mikael Djurfeldt [Fri, 19 Mar 1999 05:38:12 +0000 (05:38 +0000)]
*** empty log message ***

25 years ago*** empty log message ***
Mikael Djurfeldt [Fri, 19 Mar 1999 05:16:04 +0000 (05:16 +0000)]
*** empty log message ***

25 years ago* boot-9.scm (try-load-module): New procedure. Broken out from
Mikael Djurfeldt [Fri, 19 Mar 1999 05:14:09 +0000 (05:14 +0000)]
* boot-9.scm (try-load-module): New procedure.  Broken out from
resolve-module.
(resolve-module): Bugfix: Make it possible for a module at a
deeper level (x y z) to depend on a module on a higher (x y).
Use try-load-module.

25 years ago*** empty log message ***
Mikael Djurfeldt [Fri, 19 Mar 1999 02:30:53 +0000 (02:30 +0000)]
*** empty log message ***

25 years ago* debug.c, eval.c, evalext.c, stacks.c: #include "modules.h".
Mikael Djurfeldt [Fri, 19 Mar 1999 02:28:41 +0000 (02:28 +0000)]
* debug.c, eval.c, evalext.c, stacks.c: #include "modules.h".

25 years ago* debug.c, eval.c, evalext.c, stacks.c: #include "modules.h".
Mikael Djurfeldt [Fri, 19 Mar 1999 02:28:23 +0000 (02:28 +0000)]
* debug.c, eval.c, evalext.c, stacks.c: #include "modules.h".
* modules.c, modules.h, eval.c, eval.h (scm_env_top_level,
scm_top_level_env, scm_system_module_env_p): Moved to modules.c.

25 years ago* modules.c: #include "procprop.h"
Mikael Djurfeldt [Fri, 19 Mar 1999 02:28:09 +0000 (02:28 +0000)]
* modules.c: #include "procprop.h"
(scm_system_module_env_p): Assume root environment is no lookup
closure is found.
* modules.c, modules.h, eval.c, eval.h (scm_env_top_level,
scm_top_level_env, scm_system_module_env_p): Moved to modules.c.

25 years ago* modules.c, modules.h, eval.c, eval.h (scm_env_top_level,
Mikael Djurfeldt [Fri, 19 Mar 1999 02:27:41 +0000 (02:27 +0000)]
* modules.c, modules.h, eval.c, eval.h (scm_env_top_level,
scm_top_level_env, scm_system_module_env_p): Moved to modules.c.
* eval.c, eval.h (scm_top_level_lookup_closure): Removed.

25 years ago* debug.c, eval.c, evalext.c, stacks.c: #include "modules.h".
Mikael Djurfeldt [Fri, 19 Mar 1999 02:27:12 +0000 (02:27 +0000)]
* debug.c, eval.c, evalext.c, stacks.c: #include "modules.h".
* modules.c, modules.h, eval.c, eval.h (scm_env_top_level,
scm_top_level_env, scm_system_module_env_p): Moved to modules.c.
* eval.c, eval.h (scm_top_level_lookup_closure): Removed.

25 years ago*** empty log message ***
Mikael Djurfeldt [Fri, 19 Mar 1999 02:15:58 +0000 (02:15 +0000)]
*** empty log message ***

25 years ago* session.scm (system-module): New procedure. Used to switch a
Mikael Djurfeldt [Fri, 19 Mar 1999 02:15:43 +0000 (02:15 +0000)]
* session.scm (system-module): New procedure.  Used to switch a
module between system and user state.