From unknown Sun Jun 22 00:30:32 2025 X-Loop: help-debbugs@gnu.org Subject: bug#67064: [PATCH] Fix unread-string Resent-From: Juliana Sims Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Sat, 11 Nov 2023 04:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 67064 X-GNU-PR-Package: guile X-GNU-PR-Keywords: patch To: 67064@debbugs.gnu.org Cc: 67063@debbugs.gnu.org, Juliana Sims X-Debbugs-Original-To: bug-guile@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.169967689010794 (code B ref -1); Sat, 11 Nov 2023 04:29:01 +0000 Received: (at submit) by debbugs.gnu.org; 11 Nov 2023 04:28:10 +0000 Received: from localhost ([127.0.0.1]:51313 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1fbN-0002o2-Qw for submit@debbugs.gnu.org; Fri, 10 Nov 2023 23:28:10 -0500 Received: from lists.gnu.org ([2001:470:142::17]:48070) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1fbK-0002nJ-PF for submit@debbugs.gnu.org; Fri, 10 Nov 2023 23:28:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r1faa-0000HI-Qk for bug-guile@gnu.org; Fri, 10 Nov 2023 23:27:20 -0500 Received: from relay3-d.mail.gandi.net ([2001:4b98:dc4:8::223]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r1faY-0005Nt-7J for bug-guile@gnu.org; Fri, 10 Nov 2023 23:27:20 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id 0CC3F60002; Sat, 11 Nov 2023 04:27:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=incana.org; s=gm1; t=1699676833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MBqOaR+Sje9z9Yr29FqKezxX2iGKgS74Wqg4qXmKubI=; b=l0ZHmdQZRCGfd8aTm1EsSBfvTX9A3/chNKym/7XJNe2FAJBUPk/ujabqoxIIHlgBX37O1s duxSWurO0tkNerW0sO5UT4+reBp2eQgojqDaQIeTg9Iw3v761U2OscPjDwwnM1FdL11cmG U5ibvXAEPGFPBkfY6OfDa3o2Dy9Aeld5lIyCPluwLIWLePu9TZLPFfaPNaUZg0MqEh3G+J aXE1dd7XF/FoMzXwoOiZ5Rr5oprgKaYv+IiHV5SKn9g4OFQXwHUjn6/mtRJqmwV31gUuII 0HeasA35kDKhJtTZapDa8eZuYjqoeiHiagvrcRFeQhQ2jrfKRTHL10yYWoQBeQ== From: Juliana Sims Date: Fri, 10 Nov 2023 23:25:56 -0500 Message-ID: <20231111042639.11663-1-juli@incana.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-GND-Sasl: juli@incana.org Received-SPF: pass client-ip=2001:4b98:dc4:8::223; envelope-from=juli@incana.org; helo=relay3-d.mail.gandi.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) 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