* bug#67064: [PATCH] Fix unread-string [not found] <handler.67063.B.169967654110222.ack@debbugs.gnu.org> @ 2023-11-11 4:25 ` Juliana Sims 2024-05-06 9:49 ` bug#67063: unread-string does not match documented functionality Ludovic Courtès 0 siblings, 1 reply; 3+ messages in thread From: Juliana Sims @ 2023-11-11 4:25 UTC (permalink / raw) To: 67064; +Cc: 67063, Juliana Sims Hello, This patch simply fixes bug 67063. Thanks, Juli * doc/ref/api-io.texi (Venerable Port Interfaces): Bring unread-string procedure documentation in line with other procedures in the section. * libguile/ports.c (scm_unread_string): Make port argument optional. * test-suite/tests/ports.test: Test unread-char and unread-string without ports. --- doc/ref/api-io.texi | 3 +-- libguile/ports.c | 2 +- test-suite/tests/ports.test | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/ref/api-io.texi b/doc/ref/api-io.texi index e263e2985..90411fbdf 100644 --- a/doc/ref/api-io.texi +++ b/doc/ref/api-io.texi @@ -1981,8 +1981,7 @@ The same as @code{unget-char}, except that @var{port} defaults to the current input port, and the arguments are swapped. @xref{Textual I/O}. @end deffn -@deffn {Scheme Procedure} unread-string str port -@deffnx {C Function} scm_unread_string (str, port) +@deffn {Scheme Procedure} unread-string str [port] The same as @code{unget-string}, except that @var{port} defaults to the current input port, and the arguments are swapped. @xref{Textual I/O}. @end deffn diff --git a/libguile/ports.c b/libguile/ports.c index c25c20709..eb4a59bd5 100644 --- a/libguile/ports.c +++ b/libguile/ports.c @@ -2228,7 +2228,7 @@ SCM_DEFINE (scm_unread_char, "unread-char", 1, 1, 0, } #undef FUNC_NAME -SCM_DEFINE (scm_unread_string, "unread-string", 2, 0, 0, +SCM_DEFINE (scm_unread_string, "unread-string", 1, 1, 0, (SCM str, SCM port), "Place the string @var{str} in @var{port} so that its characters will be\n" "read in subsequent read operations. If called multiple times, the\n" diff --git a/test-suite/tests/ports.test b/test-suite/tests/ports.test index 1b30e1a68..040bb02f0 100644 --- a/test-suite/tests/ports.test +++ b/test-suite/tests/ports.test @@ -590,13 +590,13 @@ (with-input-from-string "walk on the moon\nmoon" (lambda () (read-char) - (unread-char #\a (current-input-port)) + (unread-char #\a) (pass-if "unread-char" (char=? (read-char) #\a)) (read-line) (let ((replacenoid "chicken enchilada")) - (unread-char #\newline (current-input-port)) - (unread-string replacenoid (current-input-port)) + (unread-char #\newline) + (unread-string replacenoid) (pass-if "unread-string" (string=? (read-line) replacenoid))) (pass-if "unread residue" -- 2.41.0 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* bug#67063: unread-string does not match documented functionality 2023-11-11 4:25 ` bug#67064: [PATCH] Fix unread-string Juliana Sims @ 2024-05-06 9:49 ` Ludovic Courtès 0 siblings, 0 replies; 3+ messages in thread From: Ludovic Courtès @ 2024-05-06 9:49 UTC (permalink / raw) To: Juliana Sims; +Cc: 67063-done [-- Attachment #1: Type: text/plain, Size: 451 bytes --] Hi Juliana, Juliana Sims <juli@incana.org> skribis: > This patch simply fixes bug 67063. > > Thanks, > Juli > > * doc/ref/api-io.texi (Venerable Port Interfaces): Bring unread-string > procedure documentation in line with other procedures in the section. > * libguile/ports.c (scm_unread_string): Make port argument optional. > * test-suite/tests/ports.test: Test unread-char and unread-string > without ports. Finally applied with these changes: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: Type: text/x-patch, Size: 1080 bytes --] diff --git a/NEWS b/NEWS index 8a61bf65d..3c4854ca9 100644 --- a/NEWS +++ b/NEWS @@ -59,6 +59,8 @@ files. See "Random Access" in the manual for details. (<https://bugs.gnu.org/55356>) ** 'read-u8' in (scheme base) now defaults to (current-input-port) (<https://bugs.gnu.org/62690>) +** Second argument of 'unread-string' is now optional, as previously documented + (<https://bugs.gnu.org/67063>) ** 'ftw' now correctly deals with directory permissions (<https://bugs.gnu.org/55344>) ** 'make-custom-port' now honors its #:conversion-strategy argument diff --git a/doc/ref/api-io.texi b/doc/ref/api-io.texi index 3a0f7a9a1..79bc9e9d6 100644 --- a/doc/ref/api-io.texi +++ b/doc/ref/api-io.texi @@ -2001,6 +2001,7 @@ current input port, and the arguments are swapped. @xref{Textual I/O}. @end deffn @deffn {Scheme Procedure} unread-string str [port] +@deffnx {C Function} scm_unread_string (str, port) The same as @code{unget-string}, except that @var{port} defaults to the current input port, and the arguments are swapped. @xref{Textual I/O}. @end deffn [-- Attachment #3: Type: text/plain, Size: 93 bytes --] Not sure why the C functions aren’t documented for the other ones. Thanks, Ludo’. ^ permalink raw reply related [flat|nested] 3+ messages in thread
* bug#67063: unread-string does not match documented functionality @ 2023-11-11 4:21 Juliana Sims 0 siblings, 0 replies; 3+ messages in thread From: Juliana Sims @ 2023-11-11 4:21 UTC (permalink / raw) To: 67063 Hello, The procedure unread-string is documented to only optionally accept a port argument, but the implementation in fact requries it. I've written a patch to resolve this and will be sending it along shortly. Thanks, Juli ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-05-06 9:49 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <handler.67063.B.169967654110222.ack@debbugs.gnu.org> 2023-11-11 4:25 ` bug#67064: [PATCH] Fix unread-string Juliana Sims 2024-05-06 9:49 ` bug#67063: unread-string does not match documented functionality Ludovic Courtès 2023-11-11 4:21 Juliana Sims
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).