1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00

* ports.c (scm_port_closed_p): new procedure, implements

"port-closed?" suggested by Bernard Urban.
	ports.h: added prototype, removed the SCM_P macros.
This commit is contained in:
Gary Houston 1999-12-04 22:59:10 +00:00
parent 1d7bdb2562
commit 60d0643dbf
7 changed files with 79 additions and 58 deletions

View file

@ -20,7 +20,8 @@ In the subdirectory libguile, wrote:
gsubr.h ramap.h unif.h
Gary Houston: changes to many files in libguile.
wrote: libguile/socket.c, ice-9/expect.scm
In the subdirectory ice-9, wrote:
expect.scm networking.scm popen.scm posix.scm
Jim Blandy: Many changes throughout.
In the subdirectory libguile, wrote:

3
NEWS
View file

@ -85,6 +85,9 @@ at the top of the script.
(The first options enables the debugging evaluator.
The second enables backtraces.)
** New procedure: port-closed? PORT
Returns #t if PORT is closed or #f if it is open.
* Changes to the scm_ interface
** Port internals: the rw_random variable in the scm_port structure

12
THANKS
View file

@ -1,10 +1,16 @@
Jim Blandy is Guile's maintainer.
Maintainer:
Thanks to:
Contributors since the last release:
Bug reports and fixes from:
Greg Badros
Jim Blandy
Mikael Djurfeldt
Gary Houston
Bug reports and fixes:
Lauri Alanko
Mark Galassi
Greg Harvey
Roland Orre
Bertrand Petit

4
TODO
View file

@ -16,10 +16,6 @@ Desired later on
* Good interface to Tk
* Add a convenient facility for running a pipeline of processes
with redirections. Gary Houston <ghouston@actrix.gen.nz>
is working on this.
* Make it possible to link Guile and TK without using libtcl.a, by
providing Guile-based replacements for the libtcl.a functions that TK
requires.

View file

@ -1,3 +1,9 @@
1999-12-04 Gary Houston <ghouston@freewire.co.uk>
* ports.c (scm_port_closed_p): new procedure, implements
"port-closed?" suggested by Bernard Urban.
ports.h: added prototype, removed the SCM_P macros.
1999-11-30 Gary Houston <ghouston@freewire.co.uk>
* unif.h: added some comments, removed the SCM_P macros.

View file

@ -622,6 +622,14 @@ scm_output_port_p (SCM x)
return SCM_OUTPORTP (x) ? SCM_BOOL_T : SCM_BOOL_F;
}
SCM_PROC(s_port_closed_p, "port-closed?", 1, 0, 0, scm_port_closed_p);
SCM
scm_port_closed_p (SCM port)
{
SCM_ASSERT (SCM_NIMP (port) && SCM_PORTP (port), port, SCM_ARG1,
s_port_closed_p);
return SCM_OPPORTP (port) ? SCM_BOOL_F : SCM_BOOL_T;
}
SCM_PROC(s_eof_object_p, "eof-object?", 1, 0, 0, scm_eof_object_p);

View file

@ -209,7 +209,7 @@ extern int scm_port_table_room;
extern SCM scm_markstream SCM_P ((SCM ptr));
extern SCM scm_markstream (SCM ptr);
extern long scm_make_port_type (char *name,
int (*fill_input) (SCM port),
void (*write) (SCM port, void *data,
@ -236,64 +236,65 @@ extern void scm_set_port_truncate (long tc,
void (*truncate) (SCM port,
off_t length));
extern void scm_set_port_input_waiting (long tc, int (*input_waiting) (SCM));
extern SCM scm_char_ready_p SCM_P ((SCM port));
extern SCM scm_char_ready_p (SCM port);
extern SCM scm_drain_input (SCM port);
extern SCM scm_current_input_port SCM_P ((void));
extern SCM scm_current_output_port SCM_P ((void));
extern SCM scm_current_error_port SCM_P ((void));
extern SCM scm_current_load_port SCM_P ((void));
extern SCM scm_set_current_input_port SCM_P ((SCM port));
extern SCM scm_set_current_output_port SCM_P ((SCM port));
extern SCM scm_set_current_error_port SCM_P ((SCM port));
extern scm_port * scm_add_to_port_table SCM_P ((SCM port));
extern void scm_remove_from_port_table SCM_P ((SCM port));
extern void scm_grow_port_cbuf SCM_P ((SCM port, size_t requested));
extern SCM scm_pt_size SCM_P ((void));
extern SCM scm_pt_member SCM_P ((SCM member));
extern int scm_revealed_count SCM_P ((SCM port));
extern SCM scm_port_revealed SCM_P ((SCM port));
extern SCM scm_set_port_revealed_x SCM_P ((SCM port, SCM rcount));
extern long scm_mode_bits SCM_P ((char *modes));
extern SCM scm_port_mode SCM_P ((SCM port));
extern SCM scm_close_port SCM_P ((SCM port));
extern SCM scm_close_all_ports_except SCM_P ((SCM ports));
extern SCM scm_input_port_p SCM_P ((SCM x));
extern SCM scm_output_port_p SCM_P ((SCM x));
extern SCM scm_eof_object_p SCM_P ((SCM x));
extern SCM scm_force_output SCM_P ((SCM port));
extern SCM scm_flush_all_ports SCM_P ((void));
extern SCM scm_read_char SCM_P ((SCM port));
extern void scm_putc SCM_P ((char c, SCM port));
extern void scm_puts SCM_P ((char *str_data, SCM port));
extern void scm_lfwrite SCM_P ((char *ptr, scm_sizet size, SCM port));
extern void scm_flush SCM_P ((SCM port));
extern SCM scm_current_input_port (void);
extern SCM scm_current_output_port (void);
extern SCM scm_current_error_port (void);
extern SCM scm_current_load_port (void);
extern SCM scm_set_current_input_port (SCM port);
extern SCM scm_set_current_output_port (SCM port);
extern SCM scm_set_current_error_port (SCM port);
extern scm_port * scm_add_to_port_table (SCM port);
extern void scm_remove_from_port_table (SCM port);
extern void scm_grow_port_cbuf (SCM port, size_t requested);
extern SCM scm_pt_size (void);
extern SCM scm_pt_member (SCM member);
extern int scm_revealed_count (SCM port);
extern SCM scm_port_revealed (SCM port);
extern SCM scm_set_port_revealed_x (SCM port, SCM rcount);
extern long scm_mode_bits (char *modes);
extern SCM scm_port_mode (SCM port);
extern SCM scm_close_port (SCM port);
extern SCM scm_close_all_ports_except (SCM ports);
extern SCM scm_input_port_p (SCM x);
extern SCM scm_output_port_p (SCM x);
extern SCM scm_port_closed_p (SCM port);
extern SCM scm_eof_object_p (SCM x);
extern SCM scm_force_output (SCM port);
extern SCM scm_flush_all_ports (void);
extern SCM scm_read_char (SCM port);
extern void scm_putc (char c, SCM port);
extern void scm_puts (char *str_data, SCM port);
extern void scm_lfwrite (char *ptr, scm_sizet size, SCM port);
extern void scm_flush (SCM port);
extern void scm_end_input (SCM port);
extern int scm_fill_input (SCM port);
extern int scm_getc SCM_P ((SCM port));
extern void scm_ungetc SCM_P ((int c, SCM port));
extern void scm_ungets SCM_P ((char *s, int n, SCM port));
extern SCM scm_peek_char SCM_P ((SCM port));
extern SCM scm_unread_char SCM_P ((SCM cobj, SCM port));
extern SCM scm_unread_string SCM_P ((SCM str, SCM port));
extern char *scm_generic_fgets SCM_P ((SCM port, int *len));
extern int scm_getc (SCM port);
extern void scm_ungetc (int c, SCM port);
extern void scm_ungets (char *s, int n, SCM port);
extern SCM scm_peek_char (SCM port);
extern SCM scm_unread_char (SCM cobj, SCM port);
extern SCM scm_unread_string (SCM str, SCM port);
extern char *scm_generic_fgets (SCM port, int *len);
extern SCM scm_seek (SCM object, SCM offset, SCM whence);
extern SCM scm_truncate_file (SCM object, SCM length);
extern SCM scm_port_line SCM_P ((SCM port));
extern SCM scm_set_port_line_x SCM_P ((SCM port, SCM line));
extern SCM scm_port_column SCM_P ((SCM port));
extern SCM scm_set_port_column_x SCM_P ((SCM port, SCM line));
extern SCM scm_port_filename SCM_P ((SCM port));
extern SCM scm_set_port_filename_x SCM_P ((SCM port, SCM filename));
extern SCM scm_port_line (SCM port);
extern SCM scm_set_port_line_x (SCM port, SCM line);
extern SCM scm_port_column (SCM port);
extern SCM scm_set_port_column_x (SCM port, SCM line);
extern SCM scm_port_filename (SCM port);
extern SCM scm_set_port_filename_x (SCM port, SCM filename);
extern int scm_port_print (SCM exp, SCM port, scm_print_state *);
extern void scm_print_port_mode (SCM exp, SCM port);
extern void scm_ports_prehistory SCM_P ((void));
extern SCM scm_void_port SCM_P ((char * mode_str));
extern SCM scm_sys_make_void_port SCM_P ((SCM mode));
extern void scm_init_ports SCM_P ((void));
extern void scm_ports_prehistory (void);
extern SCM scm_void_port (char * mode_str);
extern SCM scm_sys_make_void_port (SCM mode);
extern void scm_init_ports (void);
#ifdef GUILE_DEBUG
extern SCM scm_pt_size SCM_P ((void));
extern SCM scm_pt_member SCM_P ((SCM member));
extern SCM scm_pt_size (void);
extern SCM scm_pt_member (SCM member);
#endif /* GUILE_DEBUG */
#endif /* PORTSH */