GNU logs - #43364, boring messages


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#43364: Possible bug with output redirection
Resent-From: pinoaffe <pinoaffe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Sat, 12 Sep 2020 21:00:02 +0000
Resent-Message-ID: <handler.43364.B.159994436920364 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 43364
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 43364 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-guile@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.159994436920364
          (code B ref -1); Sat, 12 Sep 2020 21:00:02 +0000
Received: (at submit) by debbugs.gnu.org; 12 Sep 2020 20:59:29 +0000
Received: from localhost ([127.0.0.1]:49092 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kHCcL-0005IO-IY
	for submit <at> debbugs.gnu.org; Sat, 12 Sep 2020 16:59:29 -0400
Received: from lists.gnu.org ([209.51.188.17]:46258)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pinoaffe@HIDDEN>) id 1kHCcI-0005IF-QS
 for submit <at> debbugs.gnu.org; Sat, 12 Sep 2020 16:59:28 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:33292)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <pinoaffe@HIDDEN>)
 id 1kHCcI-0000Qu-5N
 for bug-guile@HIDDEN; Sat, 12 Sep 2020 16:59:26 -0400
Received: from mail.cock.li ([37.120.193.124]:60756)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <pinoaffe@HIDDEN>)
 id 1kHCcF-0001F9-C6
 for bug-guile@HIDDEN; Sat, 12 Sep 2020 16:59:25 -0400
Date: Sat, 12 Sep 2020 22:59:23 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail;
 t=1599944357; bh=4E8YYhRmLJnHRIkOvaSd+x79BdS7W4C15BP5HaTYa2k=;
 h=Date:From:To:Subject:From;
 b=A3INCqM88JNkxMK0LCufN3T7F2fwuEGWbWsgJW0P7oYu7tFh2ZRbCSLHDvRha2UrQ
 sWOeB4SgS1LG7VvuLrl1Yhq+/nRns4xfWLhK99vgl4bNf5qtdN+DwRnPYYYc+JcUVm
 nxfGOKJwE8firlt/ISOSe1soa/GCRaDquFtwI2d3UPMj+hvfFgJD+R3kSw6U2+ttba
 rOEJOge9Urdqo9DndjOJd38cAOJyWhzYEdxE4WzJWhRGpziaP6IXl+bRQMOpTSazIf
 ZKQ8EkYL0LlELtSJhd15s8F1a1C66rIpyysdnsnESG5uwloHAzZOzzf0kxTPxhyZvq
 REteI56Hjmg/Q==
From: pinoaffe <pinoaffe@HIDDEN>
Message-ID: <20200912225923.5fa9504e@HIDDEN>
X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-unknown-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Received-SPF: permerror client-ip=37.120.193.124;
 envelope-from=pinoaffe@HIDDEN; helo=mail.cock.li
X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/12 16:59:18
X-ACL-Warn: Detected OS   = Linux 3.11 and newer [fuzzy]
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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, SPF_HELO_NONE=0.001,
 T_SPF_PERMERROR=0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Dear guilers,

When using with-output-to-string, the output of external processes
started using system* and the like is not redirected to the temporary
port. As far as I can tell, it just redirects things written/displayed
from within guile.
This seems to be a bug, or if this is intended behaviour it might be
beneficial to document this somewhere.

As an example:
I'd expect snippet [0] to behave like snippet [1] and return "bar",
instead it just returns the empty string.

This probably affects other similar functions.

Pandemically,
pinoaffe

[0]:
(with-output-to-string
 (lambda ()
   (system* "echo" "bar")))

[1]:
(with-output-to-string
 (lambda ()
   (display "bar")))




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: pinoaffe <pinoaffe@HIDDEN>
Subject: bug#43364: Acknowledgement (Possible bug with output redirection)
Message-ID: <handler.43364.B.159994436920364.ack <at> debbugs.gnu.org>
References: <20200912225923.5fa9504e@HIDDEN>
X-Gnu-PR-Message: ack 43364
X-Gnu-PR-Package: guile
Reply-To: 43364 <at> debbugs.gnu.org
Date: Sat, 12 Sep 2020 21:00:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-guile@HIDDEN

If you wish to submit further information on this problem, please
send it to 43364 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
43364: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D43364
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#43364: Possible bug with output redirection
Resent-From: <tomas@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Sun, 13 Sep 2020 07:14:01 +0000
Resent-Message-ID: <handler.43364.B.159998119912162 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 43364
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 43364 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-guile@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.159998119912162
          (code B ref -1); Sun, 13 Sep 2020 07:14:01 +0000
Received: (at submit) by debbugs.gnu.org; 13 Sep 2020 07:13:19 +0000
Received: from localhost ([127.0.0.1]:49382 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kHMCN-0003A6-BS
	for submit <at> debbugs.gnu.org; Sun, 13 Sep 2020 03:13:19 -0400
Received: from lists.gnu.org ([209.51.188.17]:42654)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <tomas@HIDDEN>) id 1kHMCM-00039y-Fw
 for submit <at> debbugs.gnu.org; Sun, 13 Sep 2020 03:13:18 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:39208)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <tomas@HIDDEN>) id 1kHMCM-0000OC-Ao
 for bug-guile@HIDDEN; Sun, 13 Sep 2020 03:13:18 -0400
Received: from mail.tuxteam.de ([5.199.139.25]:38056)
 by eggs.gnu.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128)
 (Exim 4.90_1) (envelope-from <tomas@HIDDEN>) id 1kHMCK-0002Df-1s
 for bug-guile@HIDDEN; Sun, 13 Sep 2020 03:13:17 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tuxteam.de;
 s=mail; 
 h=From:In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:To:Date;
 bh=cuc2uyAnYjFxdg93sSzoqUG6XOMb3k7A6TLHhGHu85s=; 
 b=rZ2vjOoTArbaF/83jNcMQ8RFdapKZkcvyJesANUN1Z9HMiJ0TOx0F75+IsNQ0TAMy+fenu23krg7dF6sjSG33wiUzKxAaj3V63P/Jyae7x00Ute4akqiKTSrvE0p/jWIaVhN1ZZeKfBPkimAnwRcHMUQQouhzcSpyfD29Bwun0xF6+t2/pgtO4aR3i0C/UzS0y0UUoce+bEWHDYBnXVQwd7UPBd9rBtISCHag1c1cNY98voW05riGznQvNh7fw1XMJ83ffKprp4lbxBMhHw4i5y0LFxKmDLvkZiZqRm0cQzWAo6LGfDGiwG2K5BZQl5DV6UWbcbbTPhRoWgdhRzNlA==;
Received: from tomas by mail.tuxteam.de with local (Exim 4.80)
 (envelope-from <tomas@HIDDEN>) id 1kHMC6-0003tO-7K
 for bug-guile@HIDDEN; Sun, 13 Sep 2020 09:13:02 +0200
Date: Sun, 13 Sep 2020 09:13:02 +0200
Message-ID: <20200913071302.GA14385@HIDDEN>
References: <20200912225923.5fa9504e@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature"; boundary="GvXjxJ+pjyke8COw"
Content-Disposition: inline
In-Reply-To: <20200912225923.5fa9504e@HIDDEN>
User-Agent: Mutt/1.5.21 (2010-09-15)
From: <tomas@HIDDEN>
Received-SPF: pass client-ip=5.199.139.25; envelope-from=tomas@HIDDEN;
 helo=mail.tuxteam.de
X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/13 03:13:02
X-ACL-Warn: Detected OS   = Linux 3.1-3.10 [fuzzy]
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)


--GvXjxJ+pjyke8COw
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Sep 12, 2020 at 10:59:23PM +0200, pinoaffe wrote:
> Dear guilers,
>=20
> When using with-output-to-string, the output of external processes
> started using system* and the like is not redirected to the temporary
> port. As far as I can tell, it just redirects things written/displayed
> from within guile.
> This seems to be a bug, or if this is intended behaviour it might be
> beneficial to document this somewhere.

I think this is intentional (or rather: out of Guile's scope). While the
Guile process's output functions are the scope of `with-output-to-string',
the subprocess started with `system' just happens to inherit the standard
output file descriptor, which is an operating system mechanism.

No idea, for example, about what would happen under Windows or other
(more or less) operating systems.

But you are right that it can be a bit confusing. I'm not sure whether a
hint in the doc would be in place.

What do oters think?

Cheers
-- t

--GvXjxJ+pjyke8COw
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAl9dxn4ACgkQBcgs9XrR2kaCngCeLf56qrToFR9M8B/CF+dZFRAG
Cq4An3gQWPGelvZ6Yhdc1CWkSy2UYCWg
=Ho7R
-----END PGP SIGNATURE-----

--GvXjxJ+pjyke8COw--




Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#43364: with-output-to-port works with file ports
References: <20200912225923.5fa9504e@HIDDEN>
In-Reply-To: <20200912225923.5fa9504e@HIDDEN>
Resent-From: Felix Lechner <felix.lechner@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Fri, 08 Sep 2023 17:54:01 +0000
Resent-Message-ID: <handler.43364.B43364.16941956272462 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 43364
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 43364 <at> debbugs.gnu.org
Cc: pinoaffe <pinoaffe@HIDDEN>
Received: via spool by 43364-submit <at> debbugs.gnu.org id=B43364.16941956272462
          (code B ref 43364); Fri, 08 Sep 2023 17:54:01 +0000
Received: (at 43364) by debbugs.gnu.org; 8 Sep 2023 17:53:47 +0000
Received: from localhost ([127.0.0.1]:45526 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qeffv-0000de-E6
	for submit <at> debbugs.gnu.org; Fri, 08 Sep 2023 13:53:47 -0400
Received: from sail-ipv4.us-core.com ([208.82.101.137]:40652)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <felix.lechner@HIDDEN>) id 1qeffr-0000dT-Um
 for 43364 <at> debbugs.gnu.org; Fri, 08 Sep 2023 13:53:46 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2017; bh=Tn4ImZ1Pao72Wek
 bULPofSCZbMboH66wTHEFi8+l9Ds=; h=cc:to:subject:date:from;
 d=lease-up.com; b=bV9y1f3WWVWlZ6jUJlODNPTMQxlxiS3C6dOTSy6wBUcENDRUo2hq
 Mw3a8fsKb0GMe+9kwWfHTIiaARY5gtiZsl4Yuk76tNJqhqSgbACIgGXLNEdkMvHa7xpxYu
 Nee+vT/dSot3zINjAIq/xxFz6u4KKRV6HcRESFl7qh/Oam2zE=
Received: by sail-ipv4.us-core.com (OpenSMTPD) with ESMTPSA id 2956e790
 (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO)
 for <43364 <at> debbugs.gnu.org>; Fri, 8 Sep 2023 17:53:39 +0000 (UTC)
Received: by mail-lj1-f170.google.com with SMTP id
 38308e7fff4ca-2b9d07a8d84so38809221fa.3
 for <43364 <at> debbugs.gnu.org>; Fri, 08 Sep 2023 10:53:38 -0700 (PDT)
X-Gm-Message-State: AOJu0YyQKa1GVAld/eAhGq0oQUEUXh8/rKaeZGfYeIjk+QHKniZ9XBk5
 NhQGys3dro1wowmtsQQmw85KpRRDzGai9VaeLMU=
X-Google-Smtp-Source: AGHT+IEHMMZ3wy2C7o9LCeUZBK2e60XJhGQCJngYBISU1sghN1CvcEeVLqM1hlGNdkFDOtSY1xImVLJl2ldHHZ6wgOI=
X-Received: by 2002:a2e:8ec1:0:b0:2bd:10ee:7d22 with SMTP id
 e1-20020a2e8ec1000000b002bd10ee7d22mr2283306ljl.51.1694195616815; Fri, 08 Sep
 2023 10:53:36 -0700 (PDT)
MIME-Version: 1.0
From: Felix Lechner <felix.lechner@HIDDEN>
Date: Fri, 8 Sep 2023 10:53:00 -0700
X-Gmail-Original-Message-ID: <CAFHYt54Bd1RXJ3rzq8d9_kAHF0FUrAFqbMzNp2zCbCjptGo2EQ@HIDDEN>
Message-ID: <CAFHYt54Bd1RXJ3rzq8d9_kAHF0FUrAFqbMzNp2zCbCjptGo2EQ@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

In an interesting (or perhaps maddening) inconsistency,
'with-output-to-port' captures stdout from system* here

(call-with-output-file "/tmp/test.log"
  (lambda (port)
    (with-output-to-port
      port
      (lambda ()
        (system* "mktemp" "-d")))))

but 'with-output-to-string' does not do so here

(with-output-to-string
  (lambda ()
    (system* "mktemp" "-d")))

According to lloda on #guile, system* handles the redirection only
when the current ports are file ports. Thanks for that pointer!

Kind regards
Felix




Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#43364: with-output-to-port works with file ports
Resent-From: Ricardo Wurmus <rekado@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Fri, 08 Sep 2023 19:09:01 +0000
Resent-Message-ID: <handler.43364.B.16942001299813 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 43364
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: Felix Lechner <felix.lechner@HIDDEN>
Cc: 43364 <at> debbugs.gnu.org, pinoaffe@HIDDEN
X-Debbugs-Original-Cc: bug-guile@HIDDEN, pinoaffe <pinoaffe@HIDDEN>, 43364 <at> debbugs.gnu.org
Received: via spool by submit <at> debbugs.gnu.org id=B.16942001299813
          (code B ref -1); Fri, 08 Sep 2023 19:09:01 +0000
Received: (at submit) by debbugs.gnu.org; 8 Sep 2023 19:08:49 +0000
Received: from localhost ([127.0.0.1]:45633 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qegqW-0002YD-KO
	for submit <at> debbugs.gnu.org; Fri, 08 Sep 2023 15:08:49 -0400
Received: from lists.gnu.org ([2001:470:142::17]:38642)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rekado@HIDDEN>) id 1qegqV-0002Xm-1j
 for submit <at> debbugs.gnu.org; Fri, 08 Sep 2023 15:08:47 -0400
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 <rekado@HIDDEN>)
 id 1qegqN-0007Yt-7K
 for bug-guile@HIDDEN; Fri, 08 Sep 2023 15:08:39 -0400
Received: from sender3-of-o57.zoho.com ([136.143.184.57])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <rekado@HIDDEN>)
 id 1qegqK-0000ab-Ob
 for bug-guile@HIDDEN; Fri, 08 Sep 2023 15:08:38 -0400
ARC-Seal: i=1; a=rsa-sha256; t=1694200084; cv=none; 
 d=zohomail.com; s=zohoarc; 
 b=Mz4MGjFQbIA32gRKsZqmz59ldR9GA7DVd6yQMCu515uwym6higLmrrR/uL5uFtrYwX9ntYQi4p2H5Ic5g8yQVpqF+hDh0pPRMIKtYImfOsH7ewysjbgNMnIEXGPHOApq8Pdsg6iBdlRZIaX7MZOpEGtk/T24WKV70vEbhc/W7PQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
 s=zohoarc; t=1694200084;
 h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To;
 bh=WNfGH6wNa8v7n8Ksqe3uL59SKjJHJaCantlv8eRkswI=; 
 b=NZaki3LekS4G1GwHUcwIoKzT9lGvCY82Hl6uGw9UpN+XHvJAkPcNGiCr3A9WAQsSNQXgO/BzBTz5kuL/S3DvUKI/wkGRx4e3a6AmsvEAqnUOX1BG0OEfJq7/jBjfnNATw6I08P841unKCC2PnpAktVUZEvbQWWZy36kpjOtcr7g=
ARC-Authentication-Results: i=1; mx.zohomail.com;
 dkim=pass  header.i=elephly.net;
 spf=pass  smtp.mailfrom=rekado@HIDDEN;
 dmarc=pass header.from=<rekado@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1694200084; 
 s=zoho; d=elephly.net; i=rekado@HIDDEN;
 h=References:From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:In-reply-to:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
 bh=WNfGH6wNa8v7n8Ksqe3uL59SKjJHJaCantlv8eRkswI=;
 b=GK/SkiZcKOq/ABqA0TLQKBHRYqnKUOaPt0qF8PAwQyUR0qHyudEEtstuTU07CxLI
 /Kmu2rtBjHKNl1V8RMn0eWUpEPVJJQJpOMpy+O3WYODkkhHgH8NMyrkLrzMiA9xCAGV
 lwj6bFhKlz0ZPI/jXF2zcVun4PClivDXf2dGCZLw=
Received: from localhost (133-122-142-46.pool.kielnet.net [46.142.122.133]) by
 mx.zohomail.com with SMTPS id 1694200082434876.6715577442903;
 Fri, 8 Sep 2023 12:08:02 -0700 (PDT)
References: <20200912225923.5fa9504e@HIDDEN>
 <CAFHYt54Bd1RXJ3rzq8d9_kAHF0FUrAFqbMzNp2zCbCjptGo2EQ@HIDDEN>
User-agent: mu4e 1.10.5; emacs 28.2
From: Ricardo Wurmus <rekado@HIDDEN>
Date: Fri, 08 Sep 2023 21:06:11 +0200
In-reply-to: <CAFHYt54Bd1RXJ3rzq8d9_kAHF0FUrAFqbMzNp2zCbCjptGo2EQ@HIDDEN>
Message-ID: <877cp05vqp.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-ZohoMailClient: External
Received-SPF: pass client-ip=136.143.184.57; envelope-from=rekado@HIDDEN;
 helo=sender3-of-o57.zoho.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)


Felix Lechner via "Bug reports for GUILE, GNU's Ubiquitous Extension Langua=
ge" <bug-guile@HIDDEN> writes:

> Hi,
>
> In an interesting (or perhaps maddening) inconsistency,
> 'with-output-to-port' captures stdout from system* here
>
> (call-with-output-file "/tmp/test.log"
>   (lambda (port)
>     (with-output-to-port
>       port
>       (lambda ()
>         (system* "mktemp" "-d")))))
>
> but 'with-output-to-string' does not do so here
>
> (with-output-to-string
>   (lambda ()
>     (system* "mktemp" "-d")))
>
> According to lloda on #guile, system* handles the redirection only
> when the current ports are file ports. Thanks for that pointer!

That=E2=80=99s correct.  I=E2=80=99ve been using the following monstrosity =
to capture
and process output.  Perhaps someone finds a prettier way?

--8<---------------cut here---------------start------------->8---
(define* (call-with-output-processor command proc #:optional capture-stderr=
?)
  "Silently execute COMMAND, a list of strings representing an
executable with its arguments, and apply PROC to every line printed to
standard output and, optionally when CAPTURE-STDERR? is #T, standard
error.  Return the exit status of COMMAND."
  ;; We can only capture a program's standard error by parameterizing
  ;; current-error-port to a *file* port before using system* or
  ;; open-pipe*.  The process will write its standard error stream to
  ;; the provided file descriptor.  Meanwhile we read from the file
  ;; descriptor (blocking) for new lines until the process exits.
  (match (socketpair PF_UNIX SOCK_STREAM 0)
    ((in . out)
     (let ((err (if capture-stderr?
                    (dup out)
                    (%make-void-port "w"))))
       (catch #true
         (lambda ()
           (let ((thread
                  (parameterize ((current-error-port err)
                                 (current-output-port out))
                    (call-with-new-thread
                     (lambda ()
                       (let ((status
                              (status:exit-val
                               (apply system* command))))
                         (close-port err)
                         (close-port out)
                         status))))))
             (let loop ()
               (match (read-line in 'concat)
                 ((? eof-object?)
                  (for-each
                   (lambda (port)
                     (false-if-exception (close-port port)))
                   (list err out in))
                  (join-thread thread))
                 (line
                  (proc line)
                  (loop))))))
         (lambda (key . args)
           (for-each
            (lambda (port)
              (false-if-exception (close-port port)))
            (list err out in))
           (apply throw key args)))))))
--8<---------------cut here---------------end--------------->8---


--=20
Ricardo




Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#43364: with-output-to-port works with file ports
Resent-From: Ricardo Wurmus <rekado@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Fri, 08 Sep 2023 19:09:02 +0000
Resent-Message-ID: <handler.43364.B43364.16942001259796 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 43364
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: Felix Lechner <felix.lechner@HIDDEN>
Cc: 43364 <at> debbugs.gnu.org, pinoaffe@HIDDEN
X-Debbugs-Original-Cc: bug-guile@HIDDEN, pinoaffe <pinoaffe@HIDDEN>, 43364 <at> debbugs.gnu.org
Received: via spool by 43364-submit <at> debbugs.gnu.org id=B43364.16942001259796
          (code B ref 43364); Fri, 08 Sep 2023 19:09:02 +0000
Received: (at 43364) by debbugs.gnu.org; 8 Sep 2023 19:08:45 +0000
Received: from localhost ([127.0.0.1]:45630 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1qegqT-0002Xw-8R
	for submit <at> debbugs.gnu.org; Fri, 08 Sep 2023 15:08:45 -0400
Received: from sender3-of-o57.zoho.com ([136.143.184.57]:21784)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rekado@HIDDEN>) id 1qegqQ-0002Xl-4L
 for 43364 <at> debbugs.gnu.org; Fri, 08 Sep 2023 15:08:43 -0400
ARC-Seal: i=1; a=rsa-sha256; t=1694200084; cv=none; 
 d=zohomail.com; s=zohoarc; 
 b=Mz4MGjFQbIA32gRKsZqmz59ldR9GA7DVd6yQMCu515uwym6higLmrrR/uL5uFtrYwX9ntYQi4p2H5Ic5g8yQVpqF+hDh0pPRMIKtYImfOsH7ewysjbgNMnIEXGPHOApq8Pdsg6iBdlRZIaX7MZOpEGtk/T24WKV70vEbhc/W7PQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
 s=zohoarc; t=1694200084;
 h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To;
 bh=WNfGH6wNa8v7n8Ksqe3uL59SKjJHJaCantlv8eRkswI=; 
 b=NZaki3LekS4G1GwHUcwIoKzT9lGvCY82Hl6uGw9UpN+XHvJAkPcNGiCr3A9WAQsSNQXgO/BzBTz5kuL/S3DvUKI/wkGRx4e3a6AmsvEAqnUOX1BG0OEfJq7/jBjfnNATw6I08P841unKCC2PnpAktVUZEvbQWWZy36kpjOtcr7g=
ARC-Authentication-Results: i=1; mx.zohomail.com;
 dkim=pass  header.i=elephly.net;
 spf=pass  smtp.mailfrom=rekado@HIDDEN;
 dmarc=pass header.from=<rekado@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1694200084; 
 s=zoho; d=elephly.net; i=rekado@HIDDEN;
 h=References:From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:In-reply-to:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
 bh=WNfGH6wNa8v7n8Ksqe3uL59SKjJHJaCantlv8eRkswI=;
 b=GK/SkiZcKOq/ABqA0TLQKBHRYqnKUOaPt0qF8PAwQyUR0qHyudEEtstuTU07CxLI
 /Kmu2rtBjHKNl1V8RMn0eWUpEPVJJQJpOMpy+O3WYODkkhHgH8NMyrkLrzMiA9xCAGV
 lwj6bFhKlz0ZPI/jXF2zcVun4PClivDXf2dGCZLw=
Received: from localhost (133-122-142-46.pool.kielnet.net [46.142.122.133]) by
 mx.zohomail.com with SMTPS id 1694200082434876.6715577442903;
 Fri, 8 Sep 2023 12:08:02 -0700 (PDT)
References: <20200912225923.5fa9504e@HIDDEN>
 <CAFHYt54Bd1RXJ3rzq8d9_kAHF0FUrAFqbMzNp2zCbCjptGo2EQ@HIDDEN>
User-agent: mu4e 1.10.5; emacs 28.2
From: Ricardo Wurmus <rekado@HIDDEN>
Date: Fri, 08 Sep 2023 21:06:11 +0200
In-reply-to: <CAFHYt54Bd1RXJ3rzq8d9_kAHF0FUrAFqbMzNp2zCbCjptGo2EQ@HIDDEN>
Message-ID: <877cp05vqp.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-ZohoMailClient: External
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


Felix Lechner via "Bug reports for GUILE, GNU's Ubiquitous Extension Langua=
ge" <bug-guile@HIDDEN> writes:

> Hi,
>
> In an interesting (or perhaps maddening) inconsistency,
> 'with-output-to-port' captures stdout from system* here
>
> (call-with-output-file "/tmp/test.log"
>   (lambda (port)
>     (with-output-to-port
>       port
>       (lambda ()
>         (system* "mktemp" "-d")))))
>
> but 'with-output-to-string' does not do so here
>
> (with-output-to-string
>   (lambda ()
>     (system* "mktemp" "-d")))
>
> According to lloda on #guile, system* handles the redirection only
> when the current ports are file ports. Thanks for that pointer!

That=E2=80=99s correct.  I=E2=80=99ve been using the following monstrosity =
to capture
and process output.  Perhaps someone finds a prettier way?

--8<---------------cut here---------------start------------->8---
(define* (call-with-output-processor command proc #:optional capture-stderr=
?)
  "Silently execute COMMAND, a list of strings representing an
executable with its arguments, and apply PROC to every line printed to
standard output and, optionally when CAPTURE-STDERR? is #T, standard
error.  Return the exit status of COMMAND."
  ;; We can only capture a program's standard error by parameterizing
  ;; current-error-port to a *file* port before using system* or
  ;; open-pipe*.  The process will write its standard error stream to
  ;; the provided file descriptor.  Meanwhile we read from the file
  ;; descriptor (blocking) for new lines until the process exits.
  (match (socketpair PF_UNIX SOCK_STREAM 0)
    ((in . out)
     (let ((err (if capture-stderr?
                    (dup out)
                    (%make-void-port "w"))))
       (catch #true
         (lambda ()
           (let ((thread
                  (parameterize ((current-error-port err)
                                 (current-output-port out))
                    (call-with-new-thread
                     (lambda ()
                       (let ((status
                              (status:exit-val
                               (apply system* command))))
                         (close-port err)
                         (close-port out)
                         status))))))
             (let loop ()
               (match (read-line in 'concat)
                 ((? eof-object?)
                  (for-each
                   (lambda (port)
                     (false-if-exception (close-port port)))
                   (list err out in))
                  (join-thread thread))
                 (line
                  (proc line)
                  (loop))))))
         (lambda (key . args)
           (for-each
            (lambda (port)
              (false-if-exception (close-port port)))
            (list err out in))
           (apply throw key args)))))))
--8<---------------cut here---------------end--------------->8---


--=20
Ricardo




Message sent to bug-guile@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#43364: with-output-to-port works with file ports
References: <20200912225923.5fa9504e@HIDDEN>
Resent-From: Fabio Natali <me@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Tue, 23 Apr 2024 16:34:11 +0000
Resent-Message-ID: <handler.43364.B43364.171389001223710 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 43364
X-GNU-PR-Package: guile
X-GNU-PR-Keywords: 
To: 43364 <at> debbugs.gnu.org
Received: via spool by 43364-submit <at> debbugs.gnu.org id=B43364.171389001223710
          (code B ref 43364); Tue, 23 Apr 2024 16:34:11 +0000
Received: (at 43364) by debbugs.gnu.org; 23 Apr 2024 16:33:32 +0000
Received: from localhost ([127.0.0.1]:53175 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rzJ5A-000683-6J
	for submit <at> debbugs.gnu.org; Tue, 23 Apr 2024 12:33:30 -0400
Received: from relay2-d.mail.gandi.net ([217.70.183.194]:43215)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1rzJ52-00060x-Fa
 for 43364 <at> debbugs.gnu.org; Tue, 23 Apr 2024 12:33:20 -0400
Received: by mail.gandi.net (Postfix) with ESMTPSA id E7B2740008
 for <43364 <at> debbugs.gnu.org>; Tue, 23 Apr 2024 16:32:52 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fabionatali.com;
 s=gm1; t=1713889973;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding:  in-reply-to:in-reply-to; 
 bh=amLssmxvQWFf1miy30l9SU6cpbLDIOmhnLTEVovFUUQ=;
 b=e3eTiIuJg4KY+hkTGFULGnESMBwIO6nqnN+lQG+nAASjZcae/1+4e8Q5BZ1NqMKZxRzA5P
 UUyoqTpEhwcxxaUzuiQLPUHwpuW3Hc+xJjiP2xxiCj8xWZcE8lRmfyyPwHili4xqMyeMrW
 pBmUndZkxvdwfOzXknp2BIiWYfbLQb+79w8rsONTENM4r8sc3hJ6MDcuHpUWVTkSB7ZbyK
 zvGq0EViKKEZerDMFJqGjQQtEte2avVKnMpOjCkxp2LYATS7QdycE+dWHT18UGaJukVKBz
 WVTSfUGlsK9/KFePJlqaWC2gN99n/iGydBV93GlLx1+dm0+QBSHflSAO12+Vdg==
From: Fabio Natali <me@HIDDEN>
In-Reply-To: CAFHYt54Bd1RXJ3rzq8d9_kAHF0FUrAFqbMzNp2zCbCjptGo2EQ@HIDDEN
Date: Tue, 23 Apr 2024 17:32:52 +0100
Message-ID: <87zftkniob.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-GND-Sasl: me@HIDDEN
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Dear All =F0=9F=91=8B,

I've been encountering a few times the need for a procedure like
'system' or 'system*' but that might be capable of capturing the output
of the program that's being called.

While this is something that can be solved with a simple 'open-pipe*'
wrapper, the pattern seems relatively frequent in Guix, which is where I
noticed it. I suggested that some variant of such a wrapper could be
added to '(guix build utils)'=E2=81=B0.

In reply to my post, it was brought to my attention that the problem
might be addressed at the Guile level and pointed me to this bug report.

I thought of sending a quick follow-up here to see if there's any rough
consensus on a possible way of addressing this - or why it might be
difficult or potentially not worth the effort.

Thanks, all best, Fabio.

=E2=81=B0 https://lists.gnu.org/archive/html/guix-devel/2024-04/msg00199.ht=
ml


--=20
Fabio Natali
https://fabionatali.com





Last modified: Tue, 23 Apr 2024 16:45:00 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.