Nevermind … One line below the definition in the docs it says: "Note that unlike other procedures in this module, eof-object? is defined in the default environment. "
But why would it be listed there then? On 11/15/20 1:15 PM, Zelphir Kaltstahl wrote: > Hello Guile users! > > I noticed a mistake in the documentation at > https://www.gnu.org/software/guile/manual/html_node/Binary-I_002fO.html. > > There it says: > > "To use these routines, first include the binary I/O module: > (use-modules (ice-9 binary-ports))" > > and then it lists `eof-object?`, which implies, that this procedure is > in the `(ice-9 binary-ports)` module. > > However, it is available without importing that module and not > available, when only importing the module as follows: > > ~~~~ > $ guile > GNU Guile 3.0.4 > Copyright (C) 1995-2020 Free Software Foundation, Inc. > > Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. > This program is free software, and you are welcome to redistribute it > under certain conditions; type `,show c' for details. > > Enter `,help' for help. > scheme@(guile-user)> (library (file-utils) > (export) > (import > (except (rnrs base) let-values map error) > (only (guile) > lambda* > λ > call-with-input-file > call-with-output-file > set-port-encoding! > ;; this is documented to be in (ice-9 binary-ports) but it is not > #;eof-object?) > ;; for textual reading and writing procedures > (ice-9 textual-ports) > ;; not sure if needed > (ice-9 binary-ports) > ;; for `eof-object?` > (ice-9 rdelim) > ;; srfi-1 for list procedures > (srfi srfi-1))) > scheme@(file-utils)> eof-object > Display all 338 possibilities? (y or n) > scheme@(file-utils)> eof-object? > ;;; <unknown-location>: warning: possibly unbound variable `eof-object?' > ice-9/boot-9.scm:1669:16: In procedure raise-exception: > Unbound variable: eof-object? > > Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. > scheme@(file-utils) [1]> > ~~~~ > > However, the procedure `eof-object` (no trailing question mark) is > available: > > ~~~~ > $ guile > GNU Guile 3.0.4 > Copyright (C) 1995-2020 Free Software Foundation, Inc. > > Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. > This program is free software, and you are welcome to redistribute it > under certain conditions; type `,show c' for details. > > Enter `,help' for help. > scheme@(guile-user)> (library (file-utils) > (export) > (import > (except (rnrs base) let-values map error) > (only (guile) > lambda* > λ > call-with-input-file > call-with-output-file > set-port-encoding! > ;; this is documented to be in (ice-9 binary-ports) but it is not > #;eof-object?) > ;; for textual reading and writing procedures > (ice-9 textual-ports) > ;; not sure if needed > (ice-9 binary-ports) > ;; for `eof-object?` > (ice-9 rdelim) > ;; srfi-1 for list procedures > (srfi srfi-1))) > scheme@(file-utils)> eof-object > $1 = #<procedure eof-object ()> > scheme@(file-utils)> > ~~~~ > > which is not available when not doing the imports like that and simply > calling guile and trying to access it: > > ~~~~ > $ guile > GNU Guile 3.0.4 > Copyright (C) 1995-2020 Free Software Foundation, Inc. > > Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. > This program is free software, and you are welcome to redistribute it > under certain conditions; type `,show c' for details. > > Enter `,help' for help. > scheme@(guile-user)> eof-object > ;;; <unknown-location>: warning: possibly unbound variable `eof-object' > ice-9/boot-9.scm:1669:16: In procedure raise-exception: > Unbound variable: eof-object > > Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. > scheme@(guile-user) [1]> > ~~~~ > > If you could point me to where and how to update the docs, I could > probably take away that `?`. Not sure what is involved in the process of > fixing the docs. > > Regards, > Zelphir > -- repositories: https://notabug.org/ZelphirKaltstahl