Subject: bug#49363: eof-object? is not exported from (ice-9 binary-ports)

From: Maxime Devos <[email-masked]>
Date: Sat, 03 Jul 2021 22:24:10 +0200

According to the manual:

6.12.2 Binary I/O
-----------------

[...]
   To use these routines, first include the binary I/O module:

     (use-modules (ice-9 binary-ports))

[...]
   The end-of-file object is unlike any other kind of object: it’s not a
pair, a symbol, or anything else.  To check if a value is the
end-of-file object, use the ‘eof-object?’ predicate.

 -- Scheme Procedure: eof-object? x
 -- C Function: scm_eof_object_p (x)
     Return ‘#t’ if X is an end-of-file object, or ‘#f’ otherwise.

However, eof-object? is not exported by (ice-9 binary-ports):

scheme@(guile-user)> (@ (ice-9 binary-ports) eof-object?)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Unbound variable: eof-object?

But it is imported from (ice-9 ports):

scheme@(guile-user) [1]> (@ (ice-9 ports) eof-object?)
$1 = #<procedure eof-object? (_)>

Could an appropriate export be added to (ice-9 binary-ports)?
Or the manual adjusted to note you need to import (ice-9 ports)
to get eof-object?

Greetings,
Maxime