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

2970 commits

Author SHA1 Message Date
Jim Blandy
e4cd0c0a44 * 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.
1999-06-09 12:18:24 +00:00
Jim Blandy
cb63cf9e6b * 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.
1999-06-09 12:18:12 +00:00
Jim Blandy
322bb835b0 * * 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.
1999-06-09 12:17:53 +00:00
Jim Blandy
77a76b643d * 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.
1999-06-09 12:17:38 +00:00
Jim Blandy
156ecad591 * * 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.
1999-06-09 12:17:16 +00:00
Jim Blandy
e13c54c40e * 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.
1999-06-09 12:17:03 +00:00
Jim Blandy
e6c32806f2 *** empty log message *** 1999-06-09 09:42:21 +00:00
Jim Blandy
0b8faa0eb6 * tests/ports.test ("line counter"): Verify that we do eventually
get EOF on the port --- don't just read forever.
1999-06-09 09:42:15 +00:00
Jim Blandy
5157b4a518 * lib.scm (print-counts): XFAILS are "expected failures", not
"unexpected failures."
1999-06-09 09:41:54 +00:00
Jim Blandy
30521685f8 *** empty log message *** 1999-06-09 08:57:32 +00:00
Jim Blandy
29055e0647 * 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.
1999-06-09 08:57:23 +00:00
Mikael Djurfeldt
26425f3d4f *** empty log message *** 1999-06-07 09:52:39 +00:00
Mikael Djurfeldt
15631a33d1 *** empty log message *** 1999-06-05 06:00:05 +00:00
Mikael Djurfeldt
dd856e2311 * numbers.c: Added #include "feature.h". 1999-06-05 05:59:50 +00:00
Mikael Djurfeldt
e69cd299ed * boot-9.scm (iota): replaced by a tail recursive version.
(reverse-iota):  removed.
1999-06-05 05:59:26 +00:00
Mikael Djurfeldt
fa5518d1fa * optargs.scm (lambda*): Bugfix: Replaced ARGLIST -->
non-optional-args.  (Thanks to David Lutterkort.)
1999-06-03 05:02:23 +00:00
Mikael Djurfeldt
8d8fc9da71 *** empty log message *** 1999-06-03 05:02:05 +00:00
Mikael Djurfeldt
f56f3cbfa5 Updated 1999-06-03 05:01:55 +00:00
Jim Blandy
f5d4dde361 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.
1999-05-31 21:30:06 +00:00
Jim Blandy
087dab1cf6 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.
1999-05-31 21:27:20 +00:00
Jim Blandy
df14bb39e3 Ignore log files produced by benchmarks and test suites. 1999-05-30 10:31:56 +00:00
Jim Blandy
0d572e912b 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.
1999-05-30 09:23:37 +00:00
Jim Blandy
69c717cc00 Copyleft files. 1999-05-30 09:22:12 +00:00
Jim Blandy
216aef150e Indicate which version of Guile is required to run the test suites. 1999-05-29 14:34:02 +00:00
Jim Blandy
000ee07fc6 Initial checkin of the Guile test suite. 1999-05-29 14:22:24 +00:00
Mikael Djurfeldt
b88c9601ef *** empty log message *** 1999-05-23 10:13:18 +00:00
Mikael Djurfeldt
104b808419 * Makefile.in: Regenerated. 1999-05-23 10:09:23 +00:00
Mikael Djurfeldt
56366edf29 * fluids.c, guardians.c, srcprop.c, threads.c: Added #include
"genio.h".
1999-05-23 10:03:14 +00:00
Mikael Djurfeldt
944f4c7067 * eval.c, fports.c, libguile.h, ports.c: Removed #include
"markers.h".
1999-05-23 10:02:31 +00:00
Mikael Djurfeldt
968f520584 * 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".
1999-05-23 10:00:53 +00:00
Mikael Djurfeldt
9dd5943c06 * 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.)
1999-05-23 09:57:31 +00:00
Mikael Djurfeldt
22580a48fe * 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.
1999-05-23 09:57:08 +00:00
Mikael Djurfeldt
4801c31151 * arbiters.c, async.c, regex-posix.c: Use new smob interface. 1999-05-23 09:55:54 +00:00
Mikael Djurfeldt
a4f711defb * Makefile.am: Removed markers.c, markers.x, markers.h. 1999-05-23 09:53:29 +00:00
Jim Blandy
e7d37b0a69 *** empty log message *** 1999-05-09 09:13:20 +00:00
Jim Blandy
b1349e463e * 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.
1999-05-09 09:12:35 +00:00
Jim Blandy
b12e50dabf * 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).
1999-05-09 09:12:01 +00:00
Jim Blandy
7c1ce4ee3a *** empty log message *** 1999-05-09 08:22:42 +00:00
Jim Blandy
99a9952d78 * 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.
1999-05-09 08:22:11 +00:00
Jim Blandy
9c792b5df0 * 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).
1999-05-09 08:21:28 +00:00
Jim Blandy
8da8776b9c This is the documentation for (ice-9 format). 1999-05-09 08:20:56 +00:00
Jim Blandy
b7e13f6541 *** empty log message *** 1999-05-02 17:28:43 +00:00
Jim Blandy
7611fcf2d7 * string-case.scm: New file, brought in from SLIB, and adapted to
Guile's module system.
1999-05-02 17:27:28 +00:00
Jim Blandy
7da43e4123 * 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.
1999-05-02 17:27:20 +00:00
Jim Blandy
50706e9475 * boot-9.scm (provided?): New function. 1999-05-02 17:27:05 +00:00
Jim Blandy
699139fd17 * Makefile.am: Add string-case.scm and format.scm to ice9_sources.
* Makefile.in: Regenerated.
1999-05-02 17:26:49 +00:00
Jim Blandy
69c60b07f7 * scmconfig.h.in: Regenerated; see today's change to
../configure.in.
1999-05-02 17:22:57 +00:00
Jim Blandy
03f2707493 * procs.h: Doc fix. 1999-05-02 17:22:47 +00:00
Jim Blandy
7e5d120953 * numbers.c: If we're supporting floating-point, provide the
feature "inexact".
1999-05-02 17:22:39 +00:00
Jim Blandy
3056083816 * Makefile.am (modinclude_HEADERS): Add kw.h, so the new version
gets installed.
* Makefile.in: Regenerated.
1999-05-02 17:22:27 +00:00