summaryrefslogtreecommitdiff
path: root/libguile/print.c
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2013-03-31 19:06:51 -0400
committerMark H Weaver <mhw@netris.org>2013-04-04 17:48:37 -0400
commit45c0878b8665182f06a917e391169031c1dc7db6 (patch)
tree8c7dfcacacdc33272d7e5e7c30625397fd607669 /libguile/print.c
parent0426b3f8f8036364aca13c24ef769283937faa3d (diff)
downloadguile-45c0878b8665182f06a917e391169031c1dc7db6.tar.gz
Peeks do not consume EOFs.
Fixes <http://bugs.gnu.org/12216>. * libguile/ports-internal.h (struct scm_port_internal): Add 'pending_eof' flag. * libguile/ports.c (scm_i_set_pending_eof, scm_i_clear_pending_eof): New static functions. (scm_new_port_table_entry): Initialize 'pending_eof'. (scm_i_fill_input): Check for 'pending_eof'. (scm_i_peek_byte_or_eof): Set 'pending_eof' flag before returning EOF. (scm_end_input, scm_unget_byte, scm_seek, scm_truncate): Clear 'pending_eof'. (scm_peek_char): Set 'pending_eof' flag before returning EOF. * test-suite/tests/ports.test ("pending EOF behavior"): Add tests.
Diffstat (limited to 'libguile/print.c')
0 files changed, 0 insertions, 0 deletions