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