GNU logs - #57129, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Jim Porter <jporterbugs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 11 Aug 2022 02:44:02 +0000
Resent-Message-ID: <handler.57129.B.166018580928825 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 57129 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.166018580928825
          (code B ref -1); Thu, 11 Aug 2022 02:44:02 +0000
Received: (at submit) by debbugs.gnu.org; 11 Aug 2022 02:43:29 +0000
Received: from localhost ([127.0.0.1]:51052 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oLyAT-0007Ur-4L
	for submit <at> debbugs.gnu.org; Wed, 10 Aug 2022 22:43:29 -0400
Received: from lists.gnu.org ([209.51.188.17]:60112)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1oLyAR-0007Ui-9K
 for submit <at> debbugs.gnu.org; Wed, 10 Aug 2022 22:43:28 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:33822)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <jporterbugs@HIDDEN>)
 id 1oLyAR-0000Y5-2q
 for bug-gnu-emacs@HIDDEN; Wed, 10 Aug 2022 22:43:27 -0400
Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]:44915)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <jporterbugs@HIDDEN>)
 id 1oLyAP-0002AO-JM
 for bug-gnu-emacs@HIDDEN; Wed, 10 Aug 2022 22:43:26 -0400
Received: by mail-pl1-x629.google.com with SMTP id d16so15839273pll.11
 for <bug-gnu-emacs@HIDDEN>; Wed, 10 Aug 2022 19:43:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:content-language:mime-version:date
 :message-id:to:subject:from:from:to:cc;
 bh=YBdHqhfbcQ04P0XWe5FhP6Eg7r0RRWTfZmED8VfU7Mg=;
 b=YxDpJDhIn052Epix1NStyFSdbOvuTsXy5pJ0cYD6upPUCzDbt2q/rLNCL0VCKy36XD
 eNHGBaCcNHioTqG967Vor7uviYd56QyHUnBVrubeSrwXV4nIDvtfini9Cw+FcV6qSzgp
 h9R+PgA/ilPbJAOrd/UpWsRZ8E771I3g0b0wKaytf+GJRVr45OBHyg+W2GI77j8nHO6l
 xWgwn8zBFFKmg+8gBYjm6nRFWaPc/AgvPPEkbSZJEImMCUvUe50DXFoPgekzqjLXj9jZ
 8CJX69ijV3j8xT/Gy8zM4f4vLWyLVL1W1wo32V5LnhevODhIz1yaW16MKuINgwTkV8b2
 52Fg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:content-language:mime-version:date
 :message-id:to:subject:from:x-gm-message-state:from:to:cc;
 bh=YBdHqhfbcQ04P0XWe5FhP6Eg7r0RRWTfZmED8VfU7Mg=;
 b=LOHSxNUxx8DVV2Rt7JBrucph0vC6wb+OOBhZgEhzouCuiQUZ+s6XbjYh4jfdex07CD
 KSKX2tsq1Mxo7gER+G0O+isdo5vqsL1zGynN1XoxQr52tEbLIizrs7kRZcWVzGBNSPPY
 meD95LBHJ6WUrl9IXSZ1bCqOzWw7qFoO0W9QzZpAvV58lk+yTny6Tzdq3TW0N71Qi3O5
 2lU/5FiEv3eWbXDXEPZYKqODnG8shG9skLNYUwLyLutawv2152HnkEBuRReUqDRYW2BK
 w9VviIRRQGNQdP/mNNnEYyfsX+bt6HdbrYxBnUVzMHcscm/dwsG/mTDN5R2FmS8TcDGX
 BSwA==
X-Gm-Message-State: ACgBeo2LhU6+TpBaZ8jzMFHng7S/3wGJ7Kh0bXKjLWJaj08DbkA+VYGv
 h/MPTYPAvOxyYD3+uDBo7SpkKRl1OeQ=
X-Google-Smtp-Source: AA6agR6wQMFbFpa5HTIftFLgpS52BpXDr0fN/JoKQVu2yWwRPYfcT466kDGIiHAdkVXuDrw3qIGjyA==
X-Received: by 2002:a17:90a:b391:b0:1f3:6c3:392c with SMTP id
 e17-20020a17090ab39100b001f306c3392cmr6549452pjr.166.1660185803614; 
 Wed, 10 Aug 2022 19:43:23 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 kb7-20020a17090ae7c700b001f56a5e5d2fsm10840882pjb.2.2022.08.10.19.43.22
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Aug 2022 19:43:22 -0700 (PDT)
X-Mozilla-News-Host: news://news.gmane.org:119
From: Jim Porter <jporterbugs@HIDDEN>
Message-ID: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
Date: Wed, 10 Aug 2022 19:43:22 -0700
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=2607:f8b0:4864:20::629;
 envelope-from=jporterbugs@HIDDEN; helo=mail-pl1-x629.google.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, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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: -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 (--)

In Eshell, you can use conditionals pretty much like you'd expect from 
other shells. Starting from 'emacs -Q -f eshell':

   ~ $ [ foo = foo ] && echo hi
   hi
   ~ $ [ foo = bar ] && echo hi
   ~ $ [ foo = foo ] || echo hi
   ~ $ [ foo = bar ] || echo hi
   hi
   ~ $ if {[ foo = foo ]} {echo yes} {echo no}
   yes
   ~ $ if {[ foo = bar ]} {echo yes} {echo no}
   no

However, that only works for external commands. If the command is 
implemented in Lisp, it doesn't work:

   ~ $ (zerop 0) && echo hi
   t
   hi
   ~ $ (zerop 1) && echo hi
   hi  ;; Shouldn't say hi.

That's because the exit status is always 0 for Lisp commands. This works 
correctly for external commands:

   ~ $ [ foo = foo ]; echo status $? result $$
   ("status" 0 "result" nil)
   ~ $ [ foo = bar ]; echo status $? result $$
   ("status" 1 "result" nil)

But not for Lisp commands:

   ~ $ (zerop 0); echo status $? result $$
   t
   ("status" 0 "result" t)
   ~ $ (zerop 1); echo status $? result $$
   ("status" 0 "result" nil)
   ~ $ (zerop "foo"); echo status $? result $$
   Wrong type argument: number-or-marker-p, "foo"
   ("status" 0 "result" nil)

The manual says that the status should be 1 when a Lisp command fails, 
but it's 0 no matter what, even if it signaled an error. (Likewise, the 
manual says that the "result" variable should be t for successful 
external commands, but it's always nil.)

Similarly to the above, you can't use variable expansions for conditionals:

   ~ $ (setq foo t)
   t
   ~ $ if $foo {echo yes} {echo no}
   yes
   ~ $ (setq foo nil)
   ~ $ if $foo {echo yes} {echo no}
   yes  ;; Should say no.

Patch forthcoming. Just splitting it into two messages since it seemed 
more readable that way...




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: Jim Porter <jporterbugs@HIDDEN>
Subject: bug#57129: Acknowledgement (29.0.50; Improve behavior of
 conditionals in Eshell)
Message-ID: <handler.57129.B.166018580928825.ack <at> debbugs.gnu.org>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
X-Gnu-PR-Message: ack 57129
X-Gnu-PR-Package: emacs
Reply-To: 57129 <at> debbugs.gnu.org
Date: Thu, 11 Aug 2022 02:44: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-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 57129 <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
57129: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D57129
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Jim Porter <jporterbugs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 11 Aug 2022 02:47:01 +0000
Resent-Message-ID: <handler.57129.B57129.166018601529203 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166018601529203
          (code B ref 57129); Thu, 11 Aug 2022 02:47:01 +0000
Received: (at 57129) by debbugs.gnu.org; 11 Aug 2022 02:46:55 +0000
Received: from localhost ([127.0.0.1]:51065 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oLyDk-0007au-Lx
	for submit <at> debbugs.gnu.org; Wed, 10 Aug 2022 22:46:54 -0400
Received: from mail-pj1-f49.google.com ([209.85.216.49]:45989)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1oLyDh-0007ag-HZ
 for 57129 <at> debbugs.gnu.org; Wed, 10 Aug 2022 22:46:51 -0400
Received: by mail-pj1-f49.google.com with SMTP id
 p14-20020a17090a74ce00b001f4d04492faso3881883pjl.4
 for <57129 <at> debbugs.gnu.org>; Wed, 10 Aug 2022 19:46:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-language:in-reply-to:mime-version:date:message-id
 :references:to:from:subject:from:to:cc;
 bh=qo5jddlowYH3MZ2v2J5sXAKiVR9FeXBFAcEq7rcsP6E=;
 b=a+PWaNGr37ZZZkuGgOtF7rPb/bZ6V9/k0ylaSFx+f5KzmG53XzyOZs8rgYCbigDhWH
 fCuvuUsG1C0p10V1o6CTu4ISMt+iVqdfLFnaZWz1NdAW3gDQBTsHXXg5OXeAfb3ZtJa8
 IeMXevws2g3uX6B2Tw4sl5O44a4iU20iHruwKE47xEcOCGkMlf9CDhpi4UKwRRmznLIC
 khgwPUo2Njqw6jOncQsNC/VPXWa/4G+TN9kz0B13i04yY5jDsmeJysoykcOSHTDUF54P
 Dvnva9p6wfNC0APGFCMbQ51YmOD02ftP2cvxeJFAivRyaCW2XkY2wT40Gxp5WvWxP+AH
 x09A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-language:in-reply-to:mime-version:date:message-id
 :references:to:from:subject:x-gm-message-state:from:to:cc;
 bh=qo5jddlowYH3MZ2v2J5sXAKiVR9FeXBFAcEq7rcsP6E=;
 b=f++dHvXwbx/rb65Kej69f4Kxu1H2Fbp61V9OrMZxAtyZggRh/0DVTWQ3174wVPMtfR
 GXXv9V+CCf2X4V1iIh/P63V+1vHkJ9qyffkw1aQfKeYkdNk7tTu9OqVJ/r71+PGGbKAQ
 km0aX/K7EzcG97iRw77KUpSzrvok71nooywfYMm9JC5ZnYlQ20hgh+Azx0UKM/SaLDN+
 NtfN/V/JbXTbutLXSBdTXgYI9Jh/+n408z6IexW7BRBs0cYl1FZzRSwzrpOeL2SO/TiU
 lxXMcRBa+mTY5HbWGjT7zjBkfGxktsXPM65Wh3vZ2nmUO1WaoFBXKEnDWdTIHb2t/r41
 VraA==
X-Gm-Message-State: ACgBeo0foCwDuJ1g2mq4sYD+Ro0/mwNxYex5ud7Krerb0N1MUKFy2/pF
 oSkHCWfQA7VB5OfEy9pO3RnqAHWioBE=
X-Google-Smtp-Source: AA6agR7teE05dboLvi7dIlx5DvBu3nSCNbBTWVX0n0sdFhCLHBqMs2b3Pz2VW05QirJpzGqt26jDxw==
X-Received: by 2002:a17:903:2041:b0:16d:a78a:efd9 with SMTP id
 q1-20020a170903204100b0016da78aefd9mr30537731pla.71.1660186003188; 
 Wed, 10 Aug 2022 19:46:43 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 23-20020a621917000000b0052c0a9234e0sm2853608pfz.11.2022.08.10.19.46.41
 for <57129 <at> debbugs.gnu.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Aug 2022 19:46:42 -0700 (PDT)
From: Jim Porter <jporterbugs@HIDDEN>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
Message-ID: <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN>
Date: Wed, 10 Aug 2022 19:46:41 -0700
MIME-Version: 1.0
In-Reply-To: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
Content-Type: multipart/mixed; boundary="------------FB610A9ACD38E16937EFA651"
Content-Language: en-US
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 (-)

This is a multi-part message in MIME format.
--------------FB610A9ACD38E16937EFA651
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

Here are some patches to fix this.

The first patch adds tests/documentation for the current state so that 
the subsequent patches are clearer. It also improves 
'eshell-close-handles' so that you can set the exit status elsewhere, 
which makes some of the code simpler.

The second patch fixes the use of variables in conditionals (e.g. if 
statements, while loops). The only non-test code change here is that 
'eshell-structure-basic-command' needed to be taught that forms 
beginning with 'eshell-escape-arg' should be treated as data, much like 
'eshell-convert'.

The third patch fixes the behavior of the '$?' and '$$' variables to 
match the manual: '$$' is t when an external command succeeds, and '$?' 
is 1 when a Lisp command signals an error. I also added a new feature 
that '$?' is 2 when an actual Lisp *form* returns nil. This lets you use 
Lisp forms as conditionals in Eshell much like you would in regular 
Lisp. However, it doesn't apply to the command syntax, even if it runs 
Lisp code:

   ~ $ (zerop 1); echo $?
   2
   ~ $ zerop 1; echo $?
   0

That's because Eshell prints the return value of Lisp commands (unless 
it's nil), so a Lisp command that wants to silently succeed would return 
nil. For example, the Lisp version of 'cat' returns nil. We want that to 
have an exit status of 0. However, when writing it as a Lisp form with 
parentheses, I think it makes more sense that nil is treated as false 
for conditionals. The overall goal is so that this prints hi:

   cat foo.txt && echo hi

And that this doesn't:

   (zerop 1) && echo hi

For people who don't like this behavior, they can customize the new 
'eshell-lisp-form-nil-is-failure' variable.

--------------FB610A9ACD38E16937EFA651
Content-Type: text/plain; charset=UTF-8;
 name="0001-Only-set-Eshell-execution-result-metavariables-when-.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0001-Only-set-Eshell-execution-result-metavariables-when-.pa";
 filename*1="tch"

RnJvbSAxN2QxNWRmMjM2OGEyYjA3OGU5MGQzOWNiODAxOGUyNzRlNDIyNjAyIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j
b20+CkRhdGU6IFNhdCwgNiBBdWcgMjAyMiAxMzozNzoyOCAtMDcwMApTdWJqZWN0OiBbUEFU
Q0ggMS8zXSBPbmx5IHNldCBFc2hlbGwgZXhlY3V0aW9uIHJlc3VsdCBtZXRhdmFyaWFibGVz
IHdoZW4KIG5vbi1uaWwKClRoaXMgc2ltcGxpZmllcyB1c2FnZSBvZiAnZXNoZWxsLWNsb3Nl
LWhhbmRsZXMnIGluIHNldmVyYWwgcGxhY2VzIGFuZAptYWtlcyBpdCB3b3JrIG1vcmUgbGlr
ZSB0aGUgZG9jc3RyaW5nIGluZGljYXRlZCBpdCB3b3VsZC4KCiogbGlzcC9lc2hlbGwvZXNo
LWlvLmVsIChlc2hlbGwtY2xvc2UtaGFuZGxlcyk6IE9ubHkgc3RvcmUgRVhJVC1DT0RFCmFu
ZCBSRVNVTFQgaWYgdGhleSdyZSBub24tbmlsLiAgQWxzbywgdXNlICdkb3RpbWVzJyBhbmQg
J2RvbGlzdCcgdG8Kc2ltcGxpZnkgdGhlIGltcGxlbWVudGF0aW9uLgoKKiBsaXNwL2VzaGVs
bC9lbS1hbGlhcy5lbCAoZXNoZWxsLXdyaXRlLWFsaWFzZXMtbGlzdCk6CiogbGlzcC9lc2hl
bGwvZXNoLWNtZC5lbCAoZXNoZWxsLXJld3JpdGUtZm9yLWNvbW1hbmQpCihlc2hlbGwtc3Ry
dWN0dXJlLWJhc2ljLWNvbW1hbmQpOiBBZGFwdCBjYWxscyB0bwonZXNoZWxsLWNsb3NlLWhh
bmRsZXMnLgoKKiB0ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5lbCAoZXNoZWxsLXRl
c3Qvc2ltcGxlLWNvbW1hbmQtcmVzdWx0KQooZXNoZWxsLXRlc3QvbGlzcC1jb21tYW5kLCBl
c2hlbGwtdGVzdC9saXNwLWNvbW1hbmQtd2l0aC1xdW90ZSkKKGVzaGVsbC10ZXN0L2Zvci1s
b29wLCBlc2hlbGwtdGVzdC9mb3ItbmFtZS1sb29wKQooZXNoZWxsLXRlc3QvZm9yLW5hbWUt
c2hhZG93LWxvb3AsIGVzaGVsbC10ZXN0L2xpc3AtY29tbWFuZC1hcmdzKQooZXNoZWxsLXRl
c3Qvc3ViY29tbWFuZCwgZXNoZWxsLXRlc3Qvc3ViY29tbWFuZC1hcmdzKQooZXNoZWxsLXRl
c3Qvc3ViY29tbWFuZC1saXNwKTogTW92ZSBmcm9tIGhlcmUuLi4KCiogdGVzdC9saXNwL2Vz
aGVsbC9lc2gtY21kLXRlc3RzLmVsCihlc2gtY21kLXRlc3Qvc2ltcGxlLWNvbW1hbmQtcmVz
dWx0LCBlc2gtY21kLXRlc3QvbGlzcC1jb21tYW5kKQooZXNoLWNtZC10ZXN0L2xpc3AtY29t
bWFuZC13aXRoLXF1b3RlLCBlc2gtY21kLXRlc3QvZm9yLWxvb3ApCihlc2gtY21kLXRlc3Qv
Zm9yLW5hbWUtbG9vcCwgZXNoLWNtZC10ZXN0L2Zvci1uYW1lLXNoYWRvdy1sb29wKQooZXNo
LWNtZC10ZXN0L2xpc3AtY29tbWFuZC1hcmdzLCBlc2gtY21kLXRlc3Qvc3ViY29tbWFuZCkK
KGVzaC1jbWQtdGVzdC9zdWJjb21tYW5kLWFyZ3MsIGVzaC1jbWQtdGVzdC9zdWJjb21tYW5k
LWxpc3ApOiAuLi4gdG8KaGVyZS4KKGVzaC1jbWQtdGVzdC9hbmQtb3BlcmF0b3IsIGVzaC1j
bWQtdGVzdC9vci1vcGVyYXRvcikKKGVzaC1jbWQtdGVzdC9mb3ItbG9vcC1saXN0LCBlc2gt
Y21kLXRlc3QvZm9yLWxvb3AtbXVsdGlwbGUtYXJncykKKGVzaC1jbWQtdGVzdC93aGlsZS1s
b29wLCBlc2gtY21kLXRlc3QvdW50aWwtbG9vcCkKKGVzaC1jbWQtdGVzdC9pZi1zdGF0ZW1l
bnQsIGVzaC1jbWQtdGVzdC9pZi1lbHNlLXN0YXRlbWVudCkKKGVzaC1jbWQtdGVzdC91bmxl
c3Mtc3RhdGVtZW50LCBlc2gtY21kLXRlc3QvdW5sZXNzLWVsc2Utc3RhdGVtZW50KToKTmV3
IHRlc3RzLgoKKiBkb2MvbWlzYy9lc2hlbGwudGV4aSAoSW52b2NhdGlvbik6IEV4cGxhaW4g
JyYmJyBhbmQgJ3x8Jy4KKGZvciBsb29wKTogTW92ZSBmcm9tIGhlcmUuLi4KKENvbnRyb2wg
Rmxvdyk6IC4uLiB0byBoZXJlLCBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIG90aGVyIGNv
bnRyb2wKZmxvdyBmb3Jtcy4KLS0tCiBkb2MvbWlzYy9lc2hlbGwudGV4aSAgICAgICAgICAg
ICAgfCAgNjIgKysrKysrKy0tLQogbGlzcC9lc2hlbGwvZW0tYWxpYXMuZWwgICAgICAgICAg
IHwgICAyICstCiBsaXNwL2VzaGVsbC9lc2gtY21kLmVsICAgICAgICAgICAgfCAgIDggKy0K
IGxpc3AvZXNoZWxsL2VzaC1pby5lbCAgICAgICAgICAgICB8ICA1MCArKysrLS0tLQogdGVz
dC9saXNwL2VzaGVsbC9lc2gtY21kLXRlc3RzLmVsIHwgMTg5ICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKwogdGVzdC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMuZWwgIHwgIDUz
IC0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAyNjEgaW5zZXJ0aW9ucygrKSwgMTAzIGRl
bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvbGlzcC9lc2hlbGwvZXNoLWNt
ZC10ZXN0cy5lbAoKZGlmZiAtLWdpdCBhL2RvYy9taXNjL2VzaGVsbC50ZXhpIGIvZG9jL21p
c2MvZXNoZWxsLnRleGkKaW5kZXggOWY5Yzg4NTgyZi4uZDY0M2NiNTA5NiAxMDA2NDQKLS0t
IGEvZG9jL21pc2MvZXNoZWxsLnRleGkKKysrIGIvZG9jL21pc2MvZXNoZWxsLnRleGkKQEAg
LTIwMSw3ICsyMDEsNyBAQCBDb21tYW5kcwogKiBBbGlhc2VzOjoKICogSGlzdG9yeTo6CiAq
IENvbXBsZXRpb246OgotKiBmb3IgbG9vcDo6CisqIENvbnRyb2wgRmxvdzo6CiAqIFNjcmlw
dHM6OgogQGVuZCBtZW51CiAKQEAgLTIxOSwxMiArMjE5LDE4IEBAIEludm9jYXRpb24KIGV4
dGVybmFsIGNvbW1hbmQuCiAKIFRoZSBzZW1pY29sb24gKEBjb2Rlezt9KSBjYW4gYmUgdXNl
ZCB0byBzZXBhcmF0ZSBtdWx0aXBsZSBjb21tYW5kCi1pbnZvY2F0aW9ucyBvbiBhIHNpbmds
ZSBsaW5lLiAgQSBjb21tYW5kIGludm9jYXRpb24gZm9sbG93ZWQgYnkgYW4KLWFtcGVyc2Fu
ZCAoQGNvZGV7Jn0pIHdpbGwgYmUgcnVuIGluIHRoZSBiYWNrZ3JvdW5kLiAgRXNoZWxsIGhh
cyBubyBqb2IKLWNvbnRyb2wsIHNvIHlvdSBjYW4gbm90IHN1c3BlbmQgb3IgYmFja2dyb3Vu
ZCB0aGUgY3VycmVudCBwcm9jZXNzLCBvcgotYnJpbmcgYSBiYWNrZ3JvdW5kIHByb2Nlc3Mg
aW50byB0aGUgZm9yZWdyb3VuZC4gIFRoYXQgc2FpZCwgYmFja2dyb3VuZAotcHJvY2Vzc2Vz
IGludm9rZWQgZnJvbSBFc2hlbGwgY2FuIGJlIGNvbnRyb2xsZWQgdGhlIHNhbWUgd2F5IGFz
IGFueQotb3RoZXIgYmFja2dyb3VuZCBwcm9jZXNzIGluIEVtYWNzLgoraW52b2NhdGlvbnMg
b24gYSBzaW5nbGUgbGluZS4gIFlvdSBjYW4gYWxzbyBzZXBhcmF0ZSBjb21tYW5kcyB3aXRo
CitAY29kZXsmJn0gb3IgQGNvZGV7fHx9LiBXaGVuIHVzaW5nIEBjb2RleyYmfSwgRXNoZWxs
IHdpbGwgZXhlY3V0ZSB0aGUKK3NlY29uZCBjb21tYW5kIG9ubHkgaWYgdGhlIGZpcnN0IHN1
Y2NlZWRzIChpLmUuQDogaGFzIGFuIGV4aXQKK3N0YXR1cyBvZiAwKTsgd2l0aCBAY29kZXt8
fH0sIEVzaGVsbCB3aWxsIGV4ZWN1dGUgdGhlIHNlY29uZCBjb21tYW5kCitvbmx5IGlmIHRo
ZSBmaXJzdCBmYWlscy4KKworQSBjb21tYW5kIGludm9jYXRpb24gZm9sbG93ZWQgYnkgYW4g
YW1wZXJzYW5kIChAY29kZXsmfSkgd2lsbCBiZSBydW4KK2luIHRoZSBiYWNrZ3JvdW5kLiAg
RXNoZWxsIGhhcyBubyBqb2IgY29udHJvbCwgc28geW91IGNhbiBub3Qgc3VzcGVuZAorb3Ig
YmFja2dyb3VuZCB0aGUgY3VycmVudCBwcm9jZXNzLCBvciBicmluZyBhIGJhY2tncm91bmQg
cHJvY2VzcyBpbnRvCit0aGUgZm9yZWdyb3VuZC4gIFRoYXQgc2FpZCwgYmFja2dyb3VuZCBw
cm9jZXNzZXMgaW52b2tlZCBmcm9tIEVzaGVsbAorY2FuIGJlIGNvbnRyb2xsZWQgdGhlIHNh
bWUgd2F5IGFzIGFueSBvdGhlciBiYWNrZ3JvdW5kIHByb2Nlc3MgaW4KK0VtYWNzLgogCiBA
bm9kZSBBcmd1bWVudHMKIEBzZWN0aW9uIEFyZ3VtZW50cwpAQCAtMTAwOCwxOSArMTAxNCw0
MSBAQCBDb21wbGV0aW9uCiB0aGUgZnVuY3Rpb24gQGNvZGV7cGNvbXBsZXRlL01BSk9SLU1P
REUvQ09NTUFORH0gdG8gZGVmaW5lIGNvbXBsZXRpb25zCiBmb3IgYSBzcGVjaWZpYyBtYWpv
ciBtb2RlLgogCi1Abm9kZSBmb3IgbG9vcAotQHNlY3Rpb24gQGNvZGV7Zm9yfSBsb29wCitA
bm9kZSBDb250cm9sIEZsb3cKK0BzZWN0aW9uIENvbnRyb2wgRmxvdwogQmVjYXVzZSBFc2hl
bGwgY29tbWFuZHMgY2FuIG5vdCAoZWFzaWx5KSBiZSBjb21iaW5lZCB3aXRoIGxpc3AgZm9y
bXMsCi1Fc2hlbGwgcHJvdmlkZXMgYSBjb21tYW5kLW9yaWVudGVkIEBjb21tYW5ke2Zvcn0t
bG9vcCBmb3IgY29udmVuaWVuY2UuCi1UaGUgc3ludGF4IGlzIGFzIGZvbGxvd3M6CitFc2hl
bGwgcHJvdmlkZXMgY29tbWFuZC1vcmllbnRlZCBjb250cm9sIGZsb3cgc3RhdGVtZW50cyBm
b3IKK2NvbnZlbmllbmNlLgogCi1AZXhhbXBsZQotQGNvZGV7Zm9yIFZBUiBpbiBUT0tFTlMg
QHsgY29tbWFuZCBpbnZvY2F0aW9uKHMpIEB9fQotQGVuZCBleGFtcGxlCitAdGFibGUgQGNv
ZGUKKworQGl0ZW0gaWYgQHsgQHZhcntjb25kaXRpb25hbH0gQH0gQHsgQHZhcnt0cnVlLWNv
bW1hbmRzfSBAfQorQGl0ZW14IGlmIEB7IEB2YXJ7Y29uZGl0aW9uYWx9IEB9IEB7IEB2YXJ7
dHJ1ZS1jb21tYW5kc30gQH0gQHsgQHZhcntmYWxzZS1jb21tYW5kc30gQH0KK0V2YWx1YXRl
IEB2YXJ7dHJ1ZS1jb21tYW5kc30gaWYgQHZhcntjb25kaXRpb25hbH0gcmV0dXJucyBzdWNj
ZXNzCisoaS5lLkA6IGl0cyBleGl0IGNvZGUgaXMgemVybyk7IG90aGVyd2lzZSwgZXZhbHVh
dGUKK0B2YXJ7ZmFsc2UtY29tbWFuZHN9LgorCitAaXRlbSB1bmxlc3MgQHsgQHZhcntjb25k
aXRpb25hbH0gQH0gQHsgQHZhcntmYWxzZS1jb21tYW5kc30gQH0KK0BpdGVteCB1bmxlc3Mg
QHsgQHZhcntjb25kaXRpb25hbH0gQH0gQHsgQHZhcntmYWxzZS1jb21tYW5kc30gQH0gQHsg
QHZhcnt0cnVlLWNvbW1hbmRzfSBAfQorRXZhbHVhdGUgQHZhcntmYWxzZS1jb21tYW5kc30g
aWYgQHZhcntjb25kaXRpb25hbH0gcmV0dXJucyBmYWlsdXJlCisoaS5lLkA6IGl0cyBleGl0
IGNvZGUgaXMgbm9uLXplcm8pOyBvdGhlcndpc2UsIGV2YWx1YXRlCitAdmFye3RydWUtY29t
bWFuZHN9LgogCi13aGVyZSBAc2FtcHtUT0tFTlN9IGlzIGEgc3BhY2Utc2VwYXJhdGVkIHNl
cXVlbmNlIG9mIHZhbHVlcyBvZgotQHZhcntWQVJ9IGZvciBlYWNoIGl0ZXJhdGlvbi4gIFRo
aXMgY2FuIGV2ZW4gYmUgdGhlIG91dHB1dCBvZiBhCi1jb21tYW5kIGlmIEBzYW1we1RPS0VO
U30gaXMgcmVwbGFjZWQgd2l0aCBAc2FtcHtAeyBjb21tYW5kIGludm9jYXRpb24gQH19Lgor
QGl0ZW0gd2hpbGUgQHsgQHZhcntjb25kaXRpb25hbH0gQH0gQHsgQHZhcntjb21tYW5kc30g
QH0KK1JlcGVhdGVkbHkgZXZhbHVhdGUgQHZhcntjb21tYW5kc30gc28gbG9uZyBhcyBAdmFy
e2NvbmRpdGlvbmFsfQorcmV0dXJucyBzdWNjZXNzLgorCitAaXRlbSB1bnRpbCBAeyBAdmFy
e2NvbmRpdGlvbmFsfSBAfSBAeyBAdmFye2NvbW1hbmRzfSBAfQorUmVwZWF0ZWRseSBldmFs
dWF0ZSBAdmFye2NvbW1hbmRzfSBzbyBsb25nIGFzIEB2YXJ7Y29uZGl0aW9uYWx9CityZXR1
cm5zIGZhaWx1cmUuCisKK0BpdGVtIGZvciBAdmFye3Zhcn0gaW4gQHZhcntsaXN0fUBkb3Rz
e30gQHsgQHZhcntjb21tYW5kc30gQH0KK0l0ZXJhdGUgb3ZlciBlYWNoIGVsZW1lbnQgb2Yg
b2YgQHZhcntsaXN0fSwgc3RvcmluZyB0aGUgZWxlbWVudCBpbgorQHZhcnt2YXJ9IGFuZCBl
dmFsdWF0aW5nIEB2YXJ7Y29tbWFuZHN9LiAgSWYgQHZhcntsaXN0fSBpcyBub3QgYSBsaXN0
LAordHJlYXQgaXQgYXMgYSBsaXN0IG9mIG9uZSBlbGVtZW50LiAgSWYgeW91IHNwZWNpZnkg
bXVsdGlwbGUKK0B2YXJ7bGlzdHN9LCB0aGlzIHdpbGwgaXRlcmF0ZSBvdmVyIGVhY2ggb2Yg
dGhlbSBpbiB0dXJuLgorCitAZW5kIHRhYmxlCiAKIEBub2RlIFNjcmlwdHMKIEBzZWN0aW9u
IFNjcmlwdHMKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VtLWFsaWFzLmVsIGIvbGlzcC9l
c2hlbGwvZW0tYWxpYXMuZWwKaW5kZXggNWQzYWFmN2M4MS4uOWFkMjE4ZDU5OCAxMDA2NDQK
LS0tIGEvbGlzcC9lc2hlbGwvZW0tYWxpYXMuZWwKKysrIGIvbGlzcC9lc2hlbGwvZW0tYWxp
YXMuZWwKQEAgLTIwNiw3ICsyMDYsNyBAQCBlc2hlbGwtd3JpdGUtYWxpYXNlcy1saXN0CiAg
ICAgICAobGV0ICgoZXNoZWxsLWN1cnJlbnQtaGFuZGxlcwogCSAgICAgKGVzaGVsbC1jcmVh
dGUtaGFuZGxlcyBlc2hlbGwtYWxpYXNlcy1maWxlICdvdmVyd3JpdGUpKSkKIAkoZXNoZWxs
L2FsaWFzKQotCShlc2hlbGwtY2xvc2UtaGFuZGxlcyAwKSkpKQorCShlc2hlbGwtY2xvc2Ut
aGFuZGxlcyAwICduaWwpKSkpCiAKIChkZWZzdWJzdCBlc2hlbGwtbG9va3VwLWFsaWFzIChu
YW1lKQogICAiQ2hlY2sgd2hldGhlciBOQU1FIGlzIGFsaWFzZWQuICBSZXR1cm4gdGhlIGFs
aWFzIGlmIHRoZXJlIGlzIG9uZS4iCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gtY21k
LmVsIGIvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbAppbmRleCA3NzVlNGMxMDU3Li45NjI3MmNh
MWEzIDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtY21kLmVsCisrKyBiL2xpc3AvZXNo
ZWxsL2VzaC1jbWQuZWwKQEAgLTU0MSw5ICs1NDEsNyBAQCBlc2hlbGwtcmV3cml0ZS1mb3It
Y29tbWFuZAogCSAgIAksKGVzaGVsbC1pbnZva2lmeS1hcmcgYm9keSB0KSkpCiAJICAgICAo
c2V0Y2FyIGZvci1pdGVtcyAoY2FkciBmb3ItaXRlbXMpKQogCSAgICAgKHNldGNkciBmb3It
aXRlbXMgKGNkZHIgZm9yLWl0ZW1zKSkpCi0gICAgICAgICAgIChlc2hlbGwtY2xvc2UtaGFu
ZGxlcwotICAgICAgICAgICAgZXNoZWxsLWxhc3QtY29tbWFuZC1zdGF0dXMKLSAgICAgICAg
ICAgIChsaXN0ICdxdW90ZSBlc2hlbGwtbGFzdC1jb21tYW5kLXJlc3VsdCkpKSkpKQorICAg
ICAgICAgICAoZXNoZWxsLWNsb3NlLWhhbmRsZXMpKSkpKQogCiAoZGVmdW4gZXNoZWxsLXN0
cnVjdHVyZS1iYXNpYy1jb21tYW5kIChmdW5jIG5hbWVzIGtleXdvcmQgdGVzdCBib2R5CiAJ
CQkJCSAgICAmb3B0aW9uYWwgZWxzZSkKQEAgLTU3NCw5ICs1NzIsNyBAQCBlc2hlbGwtc3Ry
dWN0dXJlLWJhc2ljLWNvbW1hbmQKICAgYChsZXQgKChlc2hlbGwtY29tbWFuZC1ib2R5ICco
bmlsKSkKICAgICAgICAgIChlc2hlbGwtdGVzdC1ib2R5ICcobmlsKSkpCiAgICAgICgsZnVu
YyAsdGVzdCAsYm9keSAsZWxzZSkKLSAgICAgKGVzaGVsbC1jbG9zZS1oYW5kbGVzCi0gICAg
ICAgIGVzaGVsbC1sYXN0LWNvbW1hbmQtc3RhdHVzCi0gICAgICAgIChsaXN0ICdxdW90ZSBl
c2hlbGwtbGFzdC1jb21tYW5kLXJlc3VsdCkpKSkKKyAgICAgKGVzaGVsbC1jbG9zZS1oYW5k
bGVzKSkpCiAKIChkZWZ1biBlc2hlbGwtcmV3cml0ZS13aGlsZS1jb21tYW5kICh0ZXJtcykK
ICAgIlJld3JpdGUgYSBgd2hpbGUnIGNvbW1hbmQgaW50byBpdHMgZXF1aXZhbGVudCBFc2hl
bGwgY29tbWFuZCBmb3JtLgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLWlvLmVsIGIv
bGlzcC9lc2hlbGwvZXNoLWlvLmVsCmluZGV4IDY4ZTUyYTJjOWMuLjI3NzAzOTc2ZjYgMTAw
NjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1pby5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gt
aW8uZWwKQEAgLTI1NCw2ICsyNTQsMzAgQEAgZXNoZWxsLXByb3RlY3QtaGFuZGxlcwogICAg
ICAgKHNldHEgaWR4ICgxKyBpZHgpKSkpCiAgIGhhbmRsZXMpCiAKKyhkZWZ1biBlc2hlbGwt
Y2xvc2UtaGFuZGxlcyAoJm9wdGlvbmFsIGV4aXQtY29kZSByZXN1bHQgaGFuZGxlcykKKyAg
IkNsb3NlIGFsbCBvZiB0aGUgY3VycmVudCBIQU5ETEVTLCB0YWtpbmcgcmVmY291bnRzIGlu
dG8gYWNjb3VudC4KK0lmIEhBTkRMRVMgaXMgbmlsLCB1c2UgYGVzaGVsbC1jdXJyZW50LWhh
bmRsZXMnLgorCitFWElULUNPREUgaXMgdGhlIHByb2Nlc3MgZXhpdCBjb2RlICh6ZXJvLCBp
ZiB0aGUgY29tbWFuZAorY29tcGxldGVkIHN1Y2Nlc3NmdWxseSkuICBJZiBuaWwsIHRoZW4g
dXNlIHRoZSBleGl0IGNvZGUgYWxyZWFkeQorc2V0IGluIGBlc2hlbGwtbGFzdC1jb21tYW5k
LXN0YXR1cycuCisKK1JFU1VMVCBpcyB0aGUgcXVvdGVkIHZhbHVlIG9mIHRoZSBsYXN0IGNv
bW1hbmQuICBJZiBuaWwsIHRoZW4gdXNlCit0aGUgdmFsdWUgYWxyZWFkeSBzZXQgaW4gYGVz
aGVsbC1sYXN0LWNvbW1hbmQtcmVzdWx0Jy4iCisgICh3aGVuIGV4aXQtY29kZQorICAgIChz
ZXRxIGVzaGVsbC1sYXN0LWNvbW1hbmQtc3RhdHVzIGV4aXQtY29kZSkpCisgICh3aGVuIHJl
c3VsdAorICAgIChjbC1hc3NlcnQgKGVxIChjYXIgcmVzdWx0KSAncXVvdGUpKQorICAgIChz
ZXRxIGVzaGVsbC1sYXN0LWNvbW1hbmQtcmVzdWx0IChjYWRyIHJlc3VsdCkpKQorICAobGV0
ICgoaGFuZGxlcyAob3IgaGFuZGxlcyBlc2hlbGwtY3VycmVudC1oYW5kbGVzKSkpCisgICAg
KGRvdGltZXMgKGlkeCBlc2hlbGwtbnVtYmVyLW9mLWhhbmRsZXMpCisgICAgICAod2hlbi1s
ZXQgKChoYW5kbGUgKGFyZWYgaGFuZGxlcyBpZHgpKSkKKyAgICAgICAgKHNldGNkciBoYW5k
bGUgKDEtIChjZHIgaGFuZGxlKSkpCisJKHdoZW4gKD0gKGNkciBoYW5kbGUpIDApCisgICAg
ICAgICAgKGRvbGlzdCAodGFyZ2V0IChlbnN1cmUtbGlzdCAoY2FyIChhcmVmIGhhbmRsZXMg
aWR4KSkpKQorICAgICAgICAgICAgKGVzaGVsbC1jbG9zZS10YXJnZXQgdGFyZ2V0ICg9IGVz
aGVsbC1sYXN0LWNvbW1hbmQtc3RhdHVzIDApKSkKKyAgICAgICAgICAoc2V0Y2FyIGhhbmRs
ZSBuaWwpKSkpKSkKKwogKGRlZnVuIGVzaGVsbC1jbG9zZS10YXJnZXQgKHRhcmdldCBzdGF0
dXMpCiAgICJDbG9zZSBhbiBvdXRwdXQgVEFSR0VULCBwYXNzaW5nIFNUQVRVUyBhcyB0aGUg
cmVzdWx0LgogU1RBVFVTIHNob3VsZCBiZSBub24tbmlsIG9uIHN1Y2Nlc3NmdWwgdGVybWlu
YXRpb24gb2YgdGhlIG91dHB1dC4iCkBAIC0zMDUsMzIgKzMyOSw2IEBAIGVzaGVsbC1jbG9z
ZS10YXJnZXQKICAgICgoY29uc3AgdGFyZ2V0KQogICAgIChhcHBseSAoY2FyIHRhcmdldCkg
c3RhdHVzIChjZHIgdGFyZ2V0KSkpKSkKIAotKGRlZnVuIGVzaGVsbC1jbG9zZS1oYW5kbGVz
IChleGl0LWNvZGUgJm9wdGlvbmFsIHJlc3VsdCBoYW5kbGVzKQotICAiQ2xvc2UgYWxsIG9m
IHRoZSBjdXJyZW50IGhhbmRsZXMsIHRha2luZyByZWZjb3VudHMgaW50byBhY2NvdW50Lgot
RVhJVC1DT0RFIGlzIHRoZSBwcm9jZXNzIGV4aXQgY29kZTsgbWFpbmx5LCBpdCBpcyB6ZXJv
LCBpZiB0aGUgY29tbWFuZAotY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4gIFJFU1VMVCBpcyB0
aGUgcXVvdGVkIHZhbHVlIG9mIHRoZSBsYXN0Ci1jb21tYW5kLiAgSWYgbmlsLCB0aGVuIHRo
ZSBtZXRhIHZhcmlhYmxlcyBmb3Iga2VlcGluZyB0cmFjayBvZiB0aGUKLWxhc3QgZXhlY3V0
aW9uIHJlc3VsdCBzaG91bGQgbm90IGJlIGNoYW5nZWQuIgotICAobGV0ICgoaWR4IDApKQot
ICAgIChjbC1hc3NlcnQgKG9yIChub3QgcmVzdWx0KSAoZXEgKGNhciByZXN1bHQpICdxdW90
ZSkpKQotICAgIChzZXRxIGVzaGVsbC1sYXN0LWNvbW1hbmQtc3RhdHVzIGV4aXQtY29kZQot
CSAgZXNoZWxsLWxhc3QtY29tbWFuZC1yZXN1bHQgKGNhZHIgcmVzdWx0KSkKLSAgICAod2hp
bGUgKDwgaWR4IGVzaGVsbC1udW1iZXItb2YtaGFuZGxlcykKLSAgICAgIChsZXQgKChoYW5k
bGVzIChvciBoYW5kbGVzIGVzaGVsbC1jdXJyZW50LWhhbmRsZXMpKSkKLQkod2hlbiAoYXJl
ZiBoYW5kbGVzIGlkeCkKLQkgIChzZXRjZHIgKGFyZWYgaGFuZGxlcyBpZHgpCi0JCSAgKDEt
IChjZHIgKGFyZWYgaGFuZGxlcyBpZHgpKSkpCi0JICAod2hlbiAoPSAoY2RyIChhcmVmIGhh
bmRsZXMgaWR4KSkgMCkKLQkgICAgKGxldCAoKHRhcmdldCAoY2FyIChhcmVmIGhhbmRsZXMg
aWR4KSkpKQotCSAgICAgIChpZiAobm90IChsaXN0cCB0YXJnZXQpKQotCQkgIChlc2hlbGwt
Y2xvc2UtdGFyZ2V0IHRhcmdldCAoPSBleGl0LWNvZGUgMCkpCi0JCSh3aGlsZSB0YXJnZXQK
LQkJICAoZXNoZWxsLWNsb3NlLXRhcmdldCAoY2FyIHRhcmdldCkgKD0gZXhpdC1jb2RlIDAp
KQotCQkgIChzZXRxIHRhcmdldCAoY2RyIHRhcmdldCkpKSkpCi0JICAgIChzZXRjYXIgKGFy
ZWYgaGFuZGxlcyBpZHgpIG5pbCkpKSkKLSAgICAgIChzZXRxIGlkeCAoMSsgaWR4KSkpCi0g
ICAgbmlsKSkKLQogKGRlZnVuIGVzaGVsbC1raWxsLWFwcGVuZCAoc3RyaW5nKQogICAiQ2Fs
bCBga2lsbC1hcHBlbmQnIHdpdGggU1RSSU5HLCBpZiBpdCBpcyBpbmRlZWQgYSBzdHJpbmcu
IgogICAoaWYgKHN0cmluZ3Agc3RyaW5nKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VzaGVs
bC9lc2gtY21kLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lc2gtY21kLXRlc3RzLmVs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjFkNWNkMjlkN2MKLS0t
IC9kZXYvbnVsbAorKysgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC1jbWQtdGVzdHMuZWwKQEAg
LTAsMCArMSwxODkgQEAKKzs7OyBlc2gtY21kLXRlc3RzLmVsIC0tLSBlc2gtY21kIHRlc3Qg
c3VpdGUgIC0qLSBsZXhpY2FsLWJpbmRpbmc6dCAtKi0KKworOzsgQ29weXJpZ2h0IChDKSAy
MDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBUaGlzIGZpbGUgaXMg
cGFydCBvZiBHTlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eQorOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisKKzs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
Cis7OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5n
bnUub3JnL2xpY2Vuc2VzLz4uCisKKzs7OyBDb21tZW50YXJ5OgorCis7OyBUZXN0cyBmb3Ig
RXNoZWxsJ3MgY29tbWFuZCBpbnZvY2F0aW9uLgorCis7OzsgQ29kZToKKworKHJlcXVpcmUg
J2VydCkKKyhyZXF1aXJlICdlc2gtbW9kZSkKKyhyZXF1aXJlICdlc2hlbGwpCisKKyhyZXF1
aXJlICdlc2hlbGwtdGVzdHMtaGVscGVycworICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUg
ImVzaGVsbC10ZXN0cy1oZWxwZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZp
bGUtbmFtZS1kaXJlY3RvcnkgKG9yIGxvYWQtZmlsZS1uYW1lCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdC1kaXJlY3Rvcnkp
KSkpCisKKyhkZWZ2YXIgZXNoZWxsLXRlc3QtdmFsdWUgbmlsKQorCis7OzsgVGVzdHM6CisK
KwwKKzs7IENvbW1hbmQgaW52b2NhdGlvbgorCisoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0
L3NpbXBsZS1jb21tYW5kLXJlc3VsdCAoKQorICAiVGVzdCBpbnZvY2F0aW9uIHdpdGggYSBz
aW1wbGUgY29tbWFuZC4iCisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtdGVzdC1jb21tYW5k
LXJlc3VsdCAiKyAxIDIiKSAzKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtY21kLXRlc3QvbGlz
cC1jb21tYW5kICgpCisgICJUZXN0IGludm9jYXRpb24gd2l0aCBhbiBlbGlzcCBjb21tYW5k
LiIKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC10ZXN0LWNvbW1hbmQtcmVzdWx0ICIoKyAx
IDIpIikgMykpKQorCisoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0L2xpc3AtY29tbWFuZC13
aXRoLXF1b3RlICgpCisgICJUZXN0IGludm9jYXRpb24gd2l0aCBhbiBlbGlzcCBjb21tYW5k
IGNvbnRhaW5pbmcgYSBxdW90ZS4iCisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtdGVzdC1j
b21tYW5kLXJlc3VsdCAiKGVxICdmb28gbmlsKSIpIG5pbCkpKQorCisoZXJ0LWRlZnRlc3Qg
ZXNoLWNtZC10ZXN0L2xpc3AtY29tbWFuZC1hcmdzICgpCisgICJUZXN0IGludm9jYXRpb24g
d2l0aCBlbGlzcCBhbmQgdHJhaWxpbmcgYXJncy4KK1Rlc3QgdGhhdCB0cmFpbGluZyBhcmd1
bWVudHMgb3V0c2lkZSB0aGUgUy1leHByZXNzaW9uIGFyZQoraWdub3JlZC4gIGUuZy4gXCIo
KyAxIDIpIDNcIiA9PiAzIgorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLXRlc3QtY29tbWFu
ZC1yZXN1bHQgIigrIDEgMikgMyIpIDMpKSkKKworKGVydC1kZWZ0ZXN0IGVzaC1jbWQtdGVz
dC9zdWJjb21tYW5kICgpCisgICJUZXN0IGludm9jYXRpb24gd2l0aCBhIHNpbXBsZSBzdWJj
b21tYW5kLiIKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC10ZXN0LWNvbW1hbmQtcmVzdWx0
ICJ7KyAxIDJ9IikgMykpKQorCisoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0L3N1YmNvbW1h
bmQtYXJncyAoKQorICAiVGVzdCBpbnZvY2F0aW9uIHdpdGggYSBzdWJjb21tYW5kIGFuZCB0
cmFpbGluZyBhcmdzLgorVGVzdCB0aGF0IHRyYWlsaW5nIGFyZ3VtZW50cyBvdXRzaWRlIHRo
ZSBzdWJjb21tYW5kIGFyZSBpZ25vcmVkLgorZS5nLiBcInsrIDEgMn0gM1wiID0+IDMiCisg
IChzaG91bGQgKGVxdWFsIChlc2hlbGwtdGVzdC1jb21tYW5kLXJlc3VsdCAieysgMSAyfSAz
IikgMykpKQorCisoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0L3N1YmNvbW1hbmQtbGlzcCAo
KQorICAiVGVzdCBpbnZvY2F0aW9uIHdpdGggYW4gZWxpc3Agc3ViY29tbWFuZCBhbmQgdHJh
aWxpbmcgYXJncy4KK1Rlc3QgdGhhdCB0cmFpbGluZyBhcmd1bWVudHMgb3V0c2lkZSB0aGUg
c3ViY29tbWFuZCBhcmUgaWdub3JlZC4KK2UuZy4gXCJ7KCsgMSAyKX0gM1wiID0+IDMiCisg
IChzaG91bGQgKGVxdWFsIChlc2hlbGwtdGVzdC1jb21tYW5kLXJlc3VsdCAieygrIDEgMil9
IDMiKSAzKSkpCisKKwwKKzs7IExvZ2ljYWwgb3BlcmF0b3JzCisKKyhlcnQtZGVmdGVzdCBl
c2gtY21kLXRlc3QvYW5kLW9wZXJhdG9yICgpCisgICJUZXN0IGxvZ2ljYWwgJiYgb3BlcmF0
b3IuIgorICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUtZmluZCAiWyIpKQorICAod2l0aC10
ZW1wLWVzaGVsbAorICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJbIGZvbyA9IGZvbyBd
ICYmIGVjaG8gaGkiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpXG4iKQorICAg
KGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJbIGZvbyA9IGJhciBdICYmIGVjaG8gaGkiCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxcYFxcJyIpKSkKKworKGVydC1kZWZ0ZXN0
IGVzaC1jbWQtdGVzdC9vci1vcGVyYXRvciAoKQorICAiVGVzdCBsb2dpY2FsIHx8IG9wZXJh
dG9yLiIKKyAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQgIlsiKSkKKyAgKHdpdGgt
dGVtcC1lc2hlbGwKKyAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtcCAiWyBmb28gPSBmb28g
XSB8fCBlY2hvIGhpIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcXGBcXCciKQor
ICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJbIGZvbyA9IGJhciBdIHx8IGVjaG8gaGki
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpXG4iKSkpCisKKwwKKzs7IENvbnRy
b2wgZmxvdyBzdGF0ZW1lbnRzCisKKyhlcnQtZGVmdGVzdCBlc2gtY21kLXRlc3QvZm9yLWxv
b3AgKCkKKyAgIlRlc3QgaW52b2NhdGlvbiBvZiBhIGZvciBsb29wLiIKKyAgKHdpdGgtdGVt
cC1lc2hlbGwKKyAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtcCAiZm9yIGkgaW4gNSB7IGVj
aG8gJGkgfSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNVxuIikpKQorCisoZXJ0
LWRlZnRlc3QgZXNoLWNtZC10ZXN0L2Zvci1sb29wLWxpc3QgKCkKKyAgIlRlc3QgaW52b2Nh
dGlvbiBvZiBhIGZvciBsb29wIGl0ZXJhdGluZyBvdmVyIGEgbGlzdC4iCisgICh3aXRoLXRl
bXAtZXNoZWxsCisgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LXAgImZvciBpIGluIChsaXN0
IDEgMiAobGlzdCAzIDQpKSB7IGVjaG8gJGkgfSIKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiMVxuMlxuKDMgNClcbiIpKSkKKworKGVydC1kZWZ0ZXN0IGVzaC1jbWQtdGVzdC9m
b3ItbG9vcC1tdWx0aXBsZS1hcmdzICgpCisgICJUZXN0IGludm9jYXRpb24gb2YgYSBmb3Ig
bG9vcCBpdGVyYXRpbmcgb3ZlciBtdWx0aXBsZSBhcmd1bWVudHMuIgorICAod2l0aC10ZW1w
LWVzaGVsbAorICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJmb3IgaSBpbiAxIDIgKGxp
c3QgMyA0KSB7IGVjaG8gJGkgfSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMVxu
MlxuM1xuNFxuIikpKQorCisoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0L2Zvci1uYW1lLWxv
b3AgKCkgOyBidWcjMTUyMzEKKyAgIlRlc3QgaW52b2NhdGlvbiBvZiBhIGZvciBsb29wIHVz
aW5nIGBuYW1lJy4iCisgIChsZXQgKChwcm9jZXNzLWVudmlyb25tZW50IChjb25zICJuYW1l
IiBwcm9jZXNzLWVudmlyb25tZW50KSkpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC10
ZXN0LWNvbW1hbmQtcmVzdWx0CisgICAgICAgICAgICAgICAgICAgICJmb3IgbmFtZSBpbiAz
IHsgZWNobyAkbmFtZSB9IikKKyAgICAgICAgICAgICAgICAgICAzKSkpKQorCisoZXJ0LWRl
ZnRlc3QgZXNoLWNtZC10ZXN0L2Zvci1uYW1lLXNoYWRvdy1sb29wICgpIDsgYnVnIzE1Mzcy
CisgICJUZXN0IGludm9jYXRpb24gb2YgYSBmb3IgbG9vcCB1c2luZyBhbiBlbnYtdmFyLiIK
KyAgKGxldCAoKHByb2Nlc3MtZW52aXJvbm1lbnQgKGNvbnMgIm5hbWU9ZW52LXZhbHVlIiBw
cm9jZXNzLWVudmlyb25tZW50KSkpCisgICAgKHdpdGgtdGVtcC1lc2hlbGwKKyAgICAgKGVz
aGVsbC1jb21tYW5kLXJlc3VsdC1wCisgICAgICAiZWNobyAkbmFtZTsgZm9yIG5hbWUgaW4g
MyB7IGVjaG8gJG5hbWUgfTsgZWNobyAkbmFtZSIKKyAgICAgICJlbnYtdmFsdWVcbjNcbmVu
di12YWx1ZVxuIikpKSkKKworKGVydC1kZWZ0ZXN0IGVzaC1jbWQtdGVzdC93aGlsZS1sb29w
ICgpCisgICJUZXN0IGludm9jYXRpb24gb2YgYSB3aGlsZSBsb29wLiIKKyAgKHNraXAtdW5s
ZXNzIChleGVjdXRhYmxlLWZpbmQgIlsiKSkKKyAgKHdpdGgtdGVtcC1lc2hlbGwKKyAgIChs
ZXQgKChlc2hlbGwtdGVzdC12YWx1ZSAwKSkKKyAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3Vs
dC1wCisgICAgICAoY29uY2F0ICJ3aGlsZSB7WyAkZXNoZWxsLXRlc3QtdmFsdWUgLW5lIDMg
XX0gIgorICAgICAgICAgICAgICAieyBzZXRxIGVzaGVsbC10ZXN0LXZhbHVlICgxKyBlc2hl
bGwtdGVzdC12YWx1ZSkgfSIpCisgICAgICAiMVxuMlxuM1xuIikpKSkKKworKGVydC1kZWZ0
ZXN0IGVzaC1jbWQtdGVzdC91bnRpbC1sb29wICgpCisgICJUZXN0IGludm9jYXRpb24gb2Yg
YW4gdW50aWwgbG9vcC4iCisgIChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5kICJbIikp
CisgICh3aXRoLXRlbXAtZXNoZWxsCisgICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgMCkp
CisgICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtcAorICAgICAgKGNvbmNhdCAidW50aWwg
e1sgJGVzaGVsbC10ZXN0LXZhbHVlIC1lcSAzIF19ICIKKyAgICAgICAgICAgICAgInsgc2V0
cSBlc2hlbGwtdGVzdC12YWx1ZSAoMSsgZXNoZWxsLXRlc3QtdmFsdWUpIH0iKQorICAgICAg
IjFcbjJcbjNcbiIpKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtY21kLXRlc3QvaWYtc3RhdGVt
ZW50ICgpCisgICJUZXN0IGludm9jYXRpb24gb2YgYW4gaWYgc3RhdGVtZW50LiIKKyAgKHNr
aXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQgIlsiKSkKKyAgKHdpdGgtdGVtcC1lc2hlbGwK
KyAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtcCAiaWYge1sgZm9vID0gZm9vIF19IHtlY2hv
IHllc30iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInllc1xuIikKKyAgIChlc2hl
bGwtY29tbWFuZC1yZXN1bHQtcCAiaWYge1sgZm9vID0gYmFyIF19IHtlY2hvIHllc30iCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxcYFxcJyIpKSkKKworKGVydC1kZWZ0ZXN0
IGVzaC1jbWQtdGVzdC9pZi1lbHNlLXN0YXRlbWVudCAoKQorICAiVGVzdCBpbnZvY2F0aW9u
IG9mIGFuIGlmL2Vsc2Ugc3RhdGVtZW50LiIKKyAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxl
LWZpbmQgIlsiKSkKKyAgKHdpdGgtdGVtcC1lc2hlbGwKKyAgIChlc2hlbGwtY29tbWFuZC1y
ZXN1bHQtcCAiaWYge1sgZm9vID0gZm9vIF19IHtlY2hvIHllc30ge2VjaG8gbm99IgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ5ZXNcbiIpCisgICAoZXNoZWxsLWNvbW1hbmQt
cmVzdWx0LXAgImlmIHtbIGZvbyA9IGJhciBdfSB7ZWNobyB5ZXN9IHtlY2hvIG5vfSIKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAibm9cbiIpKSkKKworKGVydC1kZWZ0ZXN0IGVz
aC1jbWQtdGVzdC91bmxlc3Mtc3RhdGVtZW50ICgpCisgICJUZXN0IGludm9jYXRpb24gb2Yg
YW4gdW5sZXNzIHN0YXRlbWVudC4iCisgIChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5k
ICJbIikpCisgICh3aXRoLXRlbXAtZXNoZWxsCisgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0
LXAgInVubGVzcyB7WyBmb28gPSBmb28gXX0ge2VjaG8gbm99IgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJcXGBcXCciKQorICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJ1
bmxlc3Mge1sgZm9vID0gYmFyIF19IHtlY2hvIG5vfSIKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibm9cbiIpKSkKKworKGVydC1kZWZ0ZXN0IGVzaC1jbWQtdGVzdC91bmxlc3Mt
ZWxzZS1zdGF0ZW1lbnQgKCkKKyAgIlRlc3QgaW52b2NhdGlvbiBvZiBhbiB1bmxlc3MvZWxz
ZSBzdGF0ZW1lbnQuIgorICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUtZmluZCAiWyIpKQor
ICAod2l0aC10ZW1wLWVzaGVsbAorICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJ1bmxl
c3Mge1sgZm9vID0gZm9vIF19IHtlY2hvIG5vfSB7ZWNobyB5ZXN9IgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ5ZXNcbiIpCisgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LXAg
InVubGVzcyB7WyBmb28gPSBiYXIgXX0ge2VjaG8gbm99IHtlY2hvIHllc30iCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm5vXG4iKSkpCisKKzs7IGVzaC1jbWQtdGVzdHMuZWwg
ZW5kcyBoZXJlCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5l
bCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLmVsCmluZGV4IDVkYzE4Nzc1NDgu
Ljg0MjM1MDBlYTcgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3Rz
LmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLmVsCkBAIC0zNiw1OSAr
MzYsNiBAQAogCiA7OzsgVGVzdHM6CiAKLShlcnQtZGVmdGVzdCBlc2hlbGwtdGVzdC9zaW1w
bGUtY29tbWFuZC1yZXN1bHQgKCkKLSAgIlRlc3QgYGVzaGVsbC1jb21tYW5kLXJlc3VsdCcg
d2l0aCBhIHNpbXBsZSBjb21tYW5kLiIKLSAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC10ZXN0
LWNvbW1hbmQtcmVzdWx0ICIrIDEgMiIpIDMpKSkKLQotKGVydC1kZWZ0ZXN0IGVzaGVsbC10
ZXN0L2xpc3AtY29tbWFuZCAoKQotICAiVGVzdCBgZXNoZWxsLWNvbW1hbmQtcmVzdWx0JyB3
aXRoIGFuIGVsaXNwIGNvbW1hbmQuIgotICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLXRlc3Qt
Y29tbWFuZC1yZXN1bHQgIigrIDEgMikiKSAzKSkpCi0KLShlcnQtZGVmdGVzdCBlc2hlbGwt
dGVzdC9saXNwLWNvbW1hbmQtd2l0aC1xdW90ZSAoKQotICAiVGVzdCBgZXNoZWxsLWNvbW1h
bmQtcmVzdWx0JyB3aXRoIGFuIGVsaXNwIGNvbW1hbmQgY29udGFpbmluZyBhIHF1b3RlLiIK
LSAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC10ZXN0LWNvbW1hbmQtcmVzdWx0ICIoZXEgJ2Zv
byBuaWwpIikgbmlsKSkpCi0KLShlcnQtZGVmdGVzdCBlc2hlbGwtdGVzdC9mb3ItbG9vcCAo
KQotICAiVGVzdCBgZXNoZWxsLWNvbW1hbmQtcmVzdWx0JyB3aXRoIGEgZm9yIGxvb3AuLiIK
LSAgKGxldCAoKHByb2Nlc3MtZW52aXJvbm1lbnQgKGNvbnMgImZvbyIgcHJvY2Vzcy1lbnZp
cm9ubWVudCkpKQotICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtdGVzdC1jb21tYW5kLXJl
c3VsdAotICAgICAgICAgICAgICAgICAgICAiZm9yIGZvbyBpbiA1IHsgZWNobyAkZm9vIH0i
KSA1KSkpKQotCi0oZXJ0LWRlZnRlc3QgZXNoZWxsLXRlc3QvZm9yLW5hbWUtbG9vcCAoKSA7
QnVnIzE1MjMxCi0gICJUZXN0IGBlc2hlbGwtY29tbWFuZC1yZXN1bHQnIHdpdGggYSBmb3Ig
bG9vcCB1c2luZyBgbmFtZScuIgotICAobGV0ICgocHJvY2Vzcy1lbnZpcm9ubWVudCAoY29u
cyAibmFtZSIgcHJvY2Vzcy1lbnZpcm9ubWVudCkpKQotICAgIChzaG91bGQgKGVxdWFsIChl
c2hlbGwtdGVzdC1jb21tYW5kLXJlc3VsdAotICAgICAgICAgICAgICAgICAgICAiZm9yIG5h
bWUgaW4gMyB7IGVjaG8gJG5hbWUgfSIpIDMpKSkpCi0KLShlcnQtZGVmdGVzdCBlc2hlbGwt
dGVzdC9mb3ItbmFtZS1zaGFkb3ctbG9vcCAoKSA7IGJ1ZyMxNTM3MgotICAiVGVzdCBgZXNo
ZWxsLWNvbW1hbmQtcmVzdWx0JyB3aXRoIGEgZm9yIGxvb3AgdXNpbmcgYW4gZW52LXZhci4i
Ci0gIChsZXQgKChwcm9jZXNzLWVudmlyb25tZW50IChjb25zICJuYW1lPWVudi12YWx1ZSIg
cHJvY2Vzcy1lbnZpcm9ubWVudCkpKQotICAgICh3aXRoLXRlbXAtZXNoZWxsCi0gICAgIChl
c2hlbGwtY29tbWFuZC1yZXN1bHQtcCAiZWNobyAkbmFtZTsgZm9yIG5hbWUgaW4gMyB7IGVj
aG8gJG5hbWUgfTsgZWNobyAkbmFtZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJlbnYtdmFsdWVcbjNcbmVudi12YWx1ZVxuIikpKSkKLQotKGVydC1kZWZ0ZXN0IGVzaGVs
bC10ZXN0L2xpc3AtY29tbWFuZC1hcmdzICgpCi0gICJUZXN0IGBlc2hlbGwtY29tbWFuZC1y
ZXN1bHQnIHdpdGggZWxpc3AgYW5kIHRyYWlsaW5nIGFyZ3MuCi1UZXN0IHRoYXQgdHJhaWxp
bmcgYXJndW1lbnRzIG91dHNpZGUgdGhlIFMtZXhwcmVzc2lvbiBhcmUKLWlnbm9yZWQuICBl
LmcuIFwiKCsgMSAyKSAzXCIgPT4gMyIKLSAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC10ZXN0
LWNvbW1hbmQtcmVzdWx0ICIoKyAxIDIpIDMiKSAzKSkpCi0KLShlcnQtZGVmdGVzdCBlc2hl
bGwtdGVzdC9zdWJjb21tYW5kICgpCi0gICJUZXN0IGBlc2hlbGwtY29tbWFuZC1yZXN1bHQn
IHdpdGggYSBzaW1wbGUgc3ViY29tbWFuZC4iCi0gIChzaG91bGQgKGVxdWFsIChlc2hlbGwt
dGVzdC1jb21tYW5kLXJlc3VsdCAieysgMSAyfSIpIDMpKSkKLQotKGVydC1kZWZ0ZXN0IGVz
aGVsbC10ZXN0L3N1YmNvbW1hbmQtYXJncyAoKQotICAiVGVzdCBgZXNoZWxsLWNvbW1hbmQt
cmVzdWx0JyB3aXRoIGEgc3ViY29tbWFuZCBhbmQgdHJhaWxpbmcgYXJncy4KLVRlc3QgdGhh
dCB0cmFpbGluZyBhcmd1bWVudHMgb3V0c2lkZSB0aGUgc3ViY29tbWFuZCBhcmUgaWdub3Jl
ZC4KLWUuZy4gXCJ7KyAxIDJ9IDNcIiA9PiAzIgotICAoc2hvdWxkIChlcXVhbCAoZXNoZWxs
LXRlc3QtY29tbWFuZC1yZXN1bHQgInsrIDEgMn0gMyIpIDMpKSkKLQotKGVydC1kZWZ0ZXN0
IGVzaGVsbC10ZXN0L3N1YmNvbW1hbmQtbGlzcCAoKQotICAiVGVzdCBgZXNoZWxsLWNvbW1h
bmQtcmVzdWx0JyB3aXRoIGFuIGVsaXNwIHN1YmNvbW1hbmQgYW5kIHRyYWlsaW5nIGFyZ3Mu
Ci1UZXN0IHRoYXQgdHJhaWxpbmcgYXJndW1lbnRzIG91dHNpZGUgdGhlIHN1YmNvbW1hbmQg
YXJlIGlnbm9yZWQuCi1lLmcuIFwieygrIDEgMil9IDNcIiA9PiAzIgotICAoc2hvdWxkIChl
cXVhbCAoZXNoZWxsLXRlc3QtY29tbWFuZC1yZXN1bHQgInsoKyAxIDIpfSAzIikgMykpKQot
CiAoZXJ0LWRlZnRlc3QgZXNoZWxsLXRlc3QvcGlwZS1oZWFkcHJvYyAoKQogICAiQ2hlY2sg
dGhhdCBwaXBpbmcgYSBub24tcHJvY2VzcyB0byBhIHByb2Nlc3MgY29tbWFuZCB3YWl0cyBm
b3IgdGhlIHByb2Nlc3MiCiAgIChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5kICJjYXQi
KSkKLS0gCjIuMjUuMQoK
--------------FB610A9ACD38E16937EFA651
Content-Type: text/plain; charset=UTF-8;
 name="0002-Allow-using-dollar-expansions-in-Eshell-conditionals.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0002-Allow-using-dollar-expansions-in-Eshell-conditionals.pa";
 filename*1="tch"

RnJvbSBmZmM3Njg4MzcwZjg1MmQ3NDI1YjdjNjdlNmE1M2NmOTRhM2U0MjA4IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j
b20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAyMToyNDoyNyAtMDcwMApTdWJqZWN0OiBbUEFU
Q0ggMi8zXSBBbGxvdyB1c2luZyBkb2xsYXIgZXhwYW5zaW9ucyBpbiBFc2hlbGwgY29uZGl0
aW9uYWxzCgoqIGxpc3AvZXNoZWxsL2VzaC1jbWQuZWwgKGVzaGVsbC1zdHJ1Y3R1cmUtYmFz
aWMtY29tbWFuZCk6IEZvcm1zCmJlZ2lubmluZyB3aXRoICdlc2hlbGwtZXNjYXBlLWFyZycg
YXJlICJkYXRhLXdpc2UiLgoKKiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC1jbWQtdGVzdHMuZWwg
KGVzaC1jbWQtdGVzdC93aGlsZS1sb29wKQooZXNoLWNtZC10ZXN0L3VudGlsLWxvb3AsIGVz
aC1jbWQtdGVzdC9pZi1zdGF0ZW1lbnQpCihlc2gtY21kLXRlc3QvaWYtZWxzZS1zdGF0ZW1l
bnQsIGVzaC1jbWQtdGVzdC91bmxlc3Mtc3RhdGVtZW50KQooZXNoLWNtZC10ZXN0L3VubGVz
cy1lbHNlLXN0YXRlbWVudCk6IFVzZSB2YXJpYWJsZSBpbnRlcnBvbGF0aW9uLgooZXNoLWNt
ZC10ZXN0L3doaWxlLWxvb3AtZXh0LWNtZCwgZXNoLWNtZC10ZXN0L3VudGlsLWxvb3AtZXh0
LWNtZCkKKGVzaC1jbWQtdGVzdC9pZi1lbHNlLXN0YXRlbWVudC1leHQtY21kKQooZXNoLWNt
ZC10ZXN0L3VubGVzcy1lbHNlLXN0YXRlbWVudC1leHQtY21kKTogTmV3IHRlc3RzLCBhZGFw
dGVkIGZyb20KdGhlIGV4aXN0aW5nIG9uZXMuCgoqIGRvYy9taXNjL2VzaGVsbC50ZXhpIChD
b250cm9sIEZsb3cpOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiBmb3IKY29uZGl0aW9uYWxzIChi
dWcjNTcxMjkpLgotLS0KIGRvYy9taXNjL2VzaGVsbC50ZXhpICAgICAgICAgICAgICB8IDQz
ICsrKysrKysrKysrKy0tLS0tLS0tLS0KIGxpc3AvZXNoZWxsL2VzaC1jbWQuZWwgICAgICAg
ICAgICB8ICA5ICsrLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC1jbWQtdGVzdHMuZWwgfCA2
MCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDc5
IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9taXNj
L2VzaGVsbC50ZXhpIGIvZG9jL21pc2MvZXNoZWxsLnRleGkKaW5kZXggZDY0M2NiNTA5Ni4u
MTQxYzMwYWU5YiAxMDA2NDQKLS0tIGEvZG9jL21pc2MvZXNoZWxsLnRleGkKKysrIGIvZG9j
L21pc2MvZXNoZWxsLnRleGkKQEAgLTEwMjAsMjcgKzEwMjAsMzIgQEAgQ29udHJvbCBGbG93
CiBFc2hlbGwgcHJvdmlkZXMgY29tbWFuZC1vcmllbnRlZCBjb250cm9sIGZsb3cgc3RhdGVt
ZW50cyBmb3IKIGNvbnZlbmllbmNlLgogCitNb3N0IG9mIEVzaGVsbCdzIGNvbnRyb2wgZmxv
dyBzdGF0ZW1lbnRzIGFjY2VwdCBhIEB2YXJ7Y29uZGl0aW9uYWx9LgorVGhpcyBjYW4gdGFr
ZSBhIGZldyBkaWZmZXJlbnQgZm9ybXMuICBJZiBAdmFye2NvbmRpdGlvbmFsfSBpcyBhIGRv
bGxhcgorZXhwYW5zaW9uLCB0aGUgY29uZGl0aW9uIGlzIHNhdGlzZmllZCBpZiB0aGUgcmVz
dWx0IGlzIGEKK25vbi1AY29kZXtuaWx9IHZhbHVlLiAgSWYgQHZhcntjb25kaXRpb25hbH0g
aXMgYSBAc2FtcHtAeworQHZhcntzdWJjb21tYW5kfSBAfX0sIHRoZSBjb25kaXRpb24gaXMg
c2F0aXNmaWVkIGlmIHRoZQorQHZhcntzdWJjb21tYW5kfSdzIGV4aXQgc3RhdHVzIGlzIDAu
CisKIEB0YWJsZSBAY29kZQogCi1AaXRlbSBpZiBAeyBAdmFye2NvbmRpdGlvbmFsfSBAfSBA
eyBAdmFye3RydWUtY29tbWFuZHN9IEB9Ci1AaXRlbXggaWYgQHsgQHZhcntjb25kaXRpb25h
bH0gQH0gQHsgQHZhcnt0cnVlLWNvbW1hbmRzfSBAfSBAeyBAdmFye2ZhbHNlLWNvbW1hbmRz
fSBAfQotRXZhbHVhdGUgQHZhcnt0cnVlLWNvbW1hbmRzfSBpZiBAdmFye2NvbmRpdGlvbmFs
fSByZXR1cm5zIHN1Y2Nlc3MKLShpLmUuQDogaXRzIGV4aXQgY29kZSBpcyB6ZXJvKTsgb3Ro
ZXJ3aXNlLCBldmFsdWF0ZQotQHZhcntmYWxzZS1jb21tYW5kc30uCi0KLUBpdGVtIHVubGVz
cyBAeyBAdmFye2NvbmRpdGlvbmFsfSBAfSBAeyBAdmFye2ZhbHNlLWNvbW1hbmRzfSBAfQot
QGl0ZW14IHVubGVzcyBAeyBAdmFye2NvbmRpdGlvbmFsfSBAfSBAeyBAdmFye2ZhbHNlLWNv
bW1hbmRzfSBAfSBAeyBAdmFye3RydWUtY29tbWFuZHN9IEB9Ci1FdmFsdWF0ZSBAdmFye2Zh
bHNlLWNvbW1hbmRzfSBpZiBAdmFye2NvbmRpdGlvbmFsfSByZXR1cm5zIGZhaWx1cmUKLShp
LmUuQDogaXRzIGV4aXQgY29kZSBpcyBub24temVybyk7IG90aGVyd2lzZSwgZXZhbHVhdGUK
LUB2YXJ7dHJ1ZS1jb21tYW5kc30uCi0KLUBpdGVtIHdoaWxlIEB7IEB2YXJ7Y29uZGl0aW9u
YWx9IEB9IEB7IEB2YXJ7Y29tbWFuZHN9IEB9Ci1SZXBlYXRlZGx5IGV2YWx1YXRlIEB2YXJ7
Y29tbWFuZHN9IHNvIGxvbmcgYXMgQHZhcntjb25kaXRpb25hbH0KLXJldHVybnMgc3VjY2Vz
cy4KLQotQGl0ZW0gdW50aWwgQHsgQHZhcntjb25kaXRpb25hbH0gQH0gQHsgQHZhcntjb21t
YW5kc30gQH0KLVJlcGVhdGVkbHkgZXZhbHVhdGUgQHZhcntjb21tYW5kc30gc28gbG9uZyBh
cyBAdmFye2NvbmRpdGlvbmFsfQotcmV0dXJucyBmYWlsdXJlLgorQGl0ZW0gaWYgQHZhcntj
b25kaXRpb25hbH0gQHsgQHZhcnt0cnVlLWNvbW1hbmRzfSBAfQorQGl0ZW14IGlmIEB2YXJ7
Y29uZGl0aW9uYWx9IEB7IEB2YXJ7dHJ1ZS1jb21tYW5kc30gQH0gQHsgQHZhcntmYWxzZS1j
b21tYW5kc30gQH0KK0V2YWx1YXRlIEB2YXJ7dHJ1ZS1jb21tYW5kc30gaWYgQHZhcntjb25k
aXRpb25hbH0gaXMgc2F0aXNmaWVkOworb3RoZXJ3aXNlLCBldmFsdWF0ZSBAdmFye2ZhbHNl
LWNvbW1hbmRzfS4KKworQGl0ZW0gdW5sZXNzIEB2YXJ7Y29uZGl0aW9uYWx9IEB7IEB2YXJ7
ZmFsc2UtY29tbWFuZHN9IEB9CitAaXRlbXggdW5sZXNzIEB2YXJ7Y29uZGl0aW9uYWx9IEB7
IEB2YXJ7ZmFsc2UtY29tbWFuZHN9IEB9IEB7IEB2YXJ7dHJ1ZS1jb21tYW5kc30gQH0KK0V2
YWx1YXRlIEB2YXJ7ZmFsc2UtY29tbWFuZHN9IGlmIEB2YXJ7Y29uZGl0aW9uYWx9IGlzIG5v
dCBzYXRpc2ZpZWQ7CitvdGhlcndpc2UsIGV2YWx1YXRlIEB2YXJ7dHJ1ZS1jb21tYW5kc30u
CisKK0BpdGVtIHdoaWxlIEB2YXJ7Y29uZGl0aW9uYWx9IEB7IEB2YXJ7Y29tbWFuZHN9IEB9
CitSZXBlYXRlZGx5IGV2YWx1YXRlIEB2YXJ7Y29tbWFuZHN9IHNvIGxvbmcgYXMgQHZhcntj
b25kaXRpb25hbH0gaXMKK3NhdGlzZmllZC4KKworQGl0ZW0gdW50aWwgQHZhcntjb25kaXRp
b25hbH0gQHsgQHZhcntjb21tYW5kc30gQH0KK1JlcGVhdGVkbHkgZXZhbHVhdGUgQHZhcntj
b21tYW5kc30gdW50aWwgQHZhcntjb25kaXRpb25hbH0gaXMKK3NhdGlzZmllZC4KIAogQGl0
ZW0gZm9yIEB2YXJ7dmFyfSBpbiBAdmFye2xpc3R9QGRvdHN7fSBAeyBAdmFye2NvbW1hbmRz
fSBAfQogSXRlcmF0ZSBvdmVyIGVhY2ggZWxlbWVudCBvZiBvZiBAdmFye2xpc3R9LCBzdG9y
aW5nIHRoZSBlbGVtZW50IGluCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gtY21kLmVs
IGIvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbAppbmRleCA5NjI3MmNhMWEzLi40NTRhOTBlOTFk
IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtY21kLmVsCisrKyBiL2xpc3AvZXNoZWxs
L2VzaC1jbWQuZWwKQEAgLTU0OSwxMCArNTQ5LDExIEBAIGVzaGVsbC1zdHJ1Y3R1cmUtYmFz
aWMtY29tbWFuZAogVGhlIGZpcnN0IG9mIE5BTUVTIHNob3VsZCBiZSB0aGUgcG9zaXRpdmUg
Zm9ybSwgYW5kIHRoZSBzZWNvbmQgdGhlCiBuZWdhdGl2ZS4gIEl0J3Mgbm90IGxpa2VseSB0
aGF0IHVzZXJzIHNob3VsZCBldmVyIG5lZWQgdG8gY2FsbCB0aGlzCiBmdW5jdGlvbi4iCi0g
IDs7IElmIHRoZSB0ZXN0IGZvcm0gYmVnaW5zIHdpdGggYGVzaGVsbC1jb252ZXJ0JywgaXQg
bWVhbnMKLSAgOzsgc29tZXRoaW5nIGRhdGEtd2lzZSB3aWxsIGJlIHJldHVybmVkLCBhbmQg
d2Ugc2hvdWxkIGxldAotICA7OyB0aGF0IGRldGVybWluZSB0aGUgdHJ1dGggb2YgdGhlIHN0
YXRlbWVudC4KLSAgKHVubGVzcyAoZXEgKGNhciB0ZXN0KSAnZXNoZWxsLWNvbnZlcnQpCisg
IDs7IElmIHRoZSB0ZXN0IGZvcm0gYmVnaW5zIHdpdGggYGVzaGVsbC1jb252ZXJ0JyBvcgor
ICA7OyBgZXNoZWxsLWVzY2FwZS1hcmcnLCBpdCBtZWFucyBzb21ldGhpbmcgZGF0YS13aXNl
IHdpbGwgYmUKKyAgOzsgcmV0dXJuZWQsIGFuZCB3ZSBzaG91bGQgbGV0IHRoYXQgZGV0ZXJt
aW5lIHRoZSB0cnV0aCBvZiB0aGUKKyAgOzsgc3RhdGVtZW50LgorICAodW5sZXNzIChtZW1x
IChjYXIgdGVzdCkgJyhlc2hlbGwtY29udmVydCBlc2hlbGwtZXNjYXBlLWFyZykpCiAgICAg
KHNldHEgdGVzdAogCSAgYChwcm9nbiAsdGVzdAogICAgICAgICAgICAgICAgICAgKGVzaGVs
bC1leGl0LXN1Y2Nlc3MtcCkpKSkKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNo
LWNtZC10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLWNtZC10ZXN0cy5lbAppbmRl
eCAxZDVjZDI5ZDdjLi5iMzExNTlhMWE4IDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxs
L2VzaC1jbWQtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VzaGVsbC9lc2gtY21kLXRlc3Rz
LmVsCkBAIC0xMzIsNiArMTMyLDE1IEBAIGVzaC1jbWQtdGVzdC9mb3ItbmFtZS1zaGFkb3ct
bG9vcAogCiAoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0L3doaWxlLWxvb3AgKCkKICAgIlRl
c3QgaW52b2NhdGlvbiBvZiBhIHdoaWxlIGxvb3AuIgorICAod2l0aC10ZW1wLWVzaGVsbAor
ICAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVlICcoMCAxIDIpKSkKKyAgICAgKGVzaGVsbC1j
b21tYW5kLXJlc3VsdC1wCisgICAgICAoY29uY2F0ICJ3aGlsZSAkZXNoZWxsLXRlc3QtdmFs
dWUgIgorICAgICAgICAgICAgICAieyBzZXRxIGVzaGVsbC10ZXN0LXZhbHVlIChjZHIgZXNo
ZWxsLXRlc3QtdmFsdWUpIH0iKQorICAgICAgIigxIDIpXG4oMilcbiIpKSkpCisKKyhlcnQt
ZGVmdGVzdCBlc2gtY21kLXRlc3Qvd2hpbGUtbG9vcC1leHQtY21kICgpCisgICJUZXN0IGlu
dm9jYXRpb24gb2YgYSB3aGlsZSBsb29wIHVzaW5nIGFuIGV4dGVybmFsIGNvbW1hbmQuIgog
ICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUtZmluZCAiWyIpKQogICAod2l0aC10ZW1wLWVz
aGVsbAogICAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVlIDApKQpAQCAtMTQyLDYgKzE1MSwx
NSBAQCBlc2gtY21kLXRlc3Qvd2hpbGUtbG9vcAogCiAoZXJ0LWRlZnRlc3QgZXNoLWNtZC10
ZXN0L3VudGlsLWxvb3AgKCkKICAgIlRlc3QgaW52b2NhdGlvbiBvZiBhbiB1bnRpbCBsb29w
LiIKKyAgKHdpdGgtdGVtcC1lc2hlbGwKKyAgIChsZXQgKChlc2hlbGwtdGVzdC12YWx1ZSBu
aWwpKQorICAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LXAKKyAgICAgIChjb25jYXQgInVu
dGlsICRlc2hlbGwtdGVzdC12YWx1ZSAiCisgICAgICAgICAgICAgICJ7IHNldHEgZXNoZWxs
LXRlc3QtdmFsdWUgdCB9IikKKyAgICAgICJ0XG4iKSkpKQorCisoZXJ0LWRlZnRlc3QgZXNo
LWNtZC10ZXN0L3VudGlsLWxvb3AtZXh0LWNtZCAoKQorICAiVGVzdCBpbnZvY2F0aW9uIG9m
IGFuIHVudGlsIGxvb3AgdXNpbmcgYW4gZXh0ZXJuYWwgY29tbWFuZC4iCiAgIChza2lwLXVu
bGVzcyAoZXhlY3V0YWJsZS1maW5kICJbIikpCiAgICh3aXRoLXRlbXAtZXNoZWxsCiAgICAo
bGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgMCkpCkBAIC0xNTIsMTUgKzE3MCwyNiBAQCBlc2gt
Y21kLXRlc3QvdW50aWwtbG9vcAogCiAoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0L2lmLXN0
YXRlbWVudCAoKQogICAiVGVzdCBpbnZvY2F0aW9uIG9mIGFuIGlmIHN0YXRlbWVudC4iCi0g
IChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5kICJbIikpCiAgICh3aXRoLXRlbXAtZXNo
ZWxsCi0gICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LXAgImlmIHtbIGZvbyA9IGZvbyBdfSB7
ZWNobyB5ZXN9IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ5ZXNcbiIpCi0gICAo
ZXNoZWxsLWNvbW1hbmQtcmVzdWx0LXAgImlmIHtbIGZvbyA9IGJhciBdfSB7ZWNobyB5ZXN9
IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcXGBcXCciKSkpCisgICAobGV0ICgo
ZXNoZWxsLXRlc3QtdmFsdWUgdCkpCisgICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtcCAi
aWYgJGVzaGVsbC10ZXN0LXZhbHVlIHtlY2hvIHllc30iCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAieWVzXG4iKSkKKyAgIChsZXQgKChlc2hlbGwtdGVzdC12YWx1ZSBuaWwp
KQorICAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LXAgImlmICRlc2hlbGwtdGVzdC12YWx1
ZSB7ZWNobyB5ZXN9IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxcYFxcJyIp
KSkpCiAKIChlcnQtZGVmdGVzdCBlc2gtY21kLXRlc3QvaWYtZWxzZS1zdGF0ZW1lbnQgKCkK
ICAgIlRlc3QgaW52b2NhdGlvbiBvZiBhbiBpZi9lbHNlIHN0YXRlbWVudC4iCisgICh3aXRo
LXRlbXAtZXNoZWxsCisgICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgdCkpCisgICAgIChl
c2hlbGwtY29tbWFuZC1yZXN1bHQtcCAiaWYgJGVzaGVsbC10ZXN0LXZhbHVlIHtlY2hvIHll
c30ge2VjaG8gbm99IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInllc1xuIikp
CisgICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgbmlsKSkKKyAgICAgKGVzaGVsbC1jb21t
YW5kLXJlc3VsdC1wICJpZiAkZXNoZWxsLXRlc3QtdmFsdWUge2VjaG8geWVzfSB7ZWNobyBu
b30iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9cbiIpKSkpCisKKyhlcnQt
ZGVmdGVzdCBlc2gtY21kLXRlc3QvaWYtZWxzZS1zdGF0ZW1lbnQtZXh0LWNtZCAoKQorICAi
VGVzdCBpbnZvY2F0aW9uIG9mIGFuIGlmL2Vsc2Ugc3RhdGVtZW50IHVzaW5nIGFuIGV4dGVy
bmFsIGNvbW1hbmQuIgogICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUtZmluZCAiWyIpKQog
ICAod2l0aC10ZW1wLWVzaGVsbAogICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJpZiB7
WyBmb28gPSBmb28gXX0ge2VjaG8geWVzfSB7ZWNobyBub30iCkBAIC0xNzAsMTUgKzE5OSwy
NiBAQCBlc2gtY21kLXRlc3QvaWYtZWxzZS1zdGF0ZW1lbnQKIAogKGVydC1kZWZ0ZXN0IGVz
aC1jbWQtdGVzdC91bmxlc3Mtc3RhdGVtZW50ICgpCiAgICJUZXN0IGludm9jYXRpb24gb2Yg
YW4gdW5sZXNzIHN0YXRlbWVudC4iCi0gIChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5k
ICJbIikpCiAgICh3aXRoLXRlbXAtZXNoZWxsCi0gICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0
LXAgInVubGVzcyB7WyBmb28gPSBmb28gXX0ge2VjaG8gbm99IgotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJcXGBcXCciKQotICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJ1
bmxlc3Mge1sgZm9vID0gYmFyIF19IHtlY2hvIG5vfSIKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAibm9cbiIpKSkKKyAgIChsZXQgKChlc2hlbGwtdGVzdC12YWx1ZSB0KSkKKyAg
ICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJ1bmxlc3MgJGVzaGVsbC10ZXN0LXZhbHVl
IHtlY2hvIG5vfSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcXGBcXCciKSkK
KyAgIChsZXQgKChlc2hlbGwtdGVzdC12YWx1ZSBuaWwpKQorICAgICAoZXNoZWxsLWNvbW1h
bmQtcmVzdWx0LXAgInVubGVzcyAkZXNoZWxsLXRlc3QtdmFsdWUge2VjaG8gbm99IgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vXG4iKSkpKQogCiAoZXJ0LWRlZnRlc3Qg
ZXNoLWNtZC10ZXN0L3VubGVzcy1lbHNlLXN0YXRlbWVudCAoKQogICAiVGVzdCBpbnZvY2F0
aW9uIG9mIGFuIHVubGVzcy9lbHNlIHN0YXRlbWVudC4iCisgICh3aXRoLXRlbXAtZXNoZWxs
CisgICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgdCkpCisgICAgIChlc2hlbGwtY29tbWFu
ZC1yZXN1bHQtcCAidW5sZXNzICRlc2hlbGwtdGVzdC12YWx1ZSB7ZWNobyBub30ge2VjaG8g
eWVzfSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ5ZXNcbiIpKQorICAgKGxl
dCAoKGVzaGVsbC10ZXN0LXZhbHVlIG5pbCkpCisgICAgIChlc2hlbGwtY29tbWFuZC1yZXN1
bHQtcCAidW5sZXNzICRlc2hlbGwtdGVzdC12YWx1ZSB7ZWNobyBub30ge2VjaG8geWVzfSIK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub1xuIikpKSkKKworKGVydC1kZWZ0
ZXN0IGVzaC1jbWQtdGVzdC91bmxlc3MtZWxzZS1zdGF0ZW1lbnQtZXh0LWNtZCAoKQorICAi
VGVzdCBpbnZvY2F0aW9uIG9mIGFuIHVubGVzcy9lbHNlIHN0YXRlbWVudCB1c2luZyBhbiBl
eHRlcm5hbCBjb21tYW5kLiIKICAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQgIlsi
KSkKICAgKHdpdGgtdGVtcC1lc2hlbGwKICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtcCAi
dW5sZXNzIHtbIGZvbyA9IGZvbyBdfSB7ZWNobyBub30ge2VjaG8geWVzfSIKLS0gCjIuMjUu
MQoK
--------------FB610A9ACD38E16937EFA651
Content-Type: text/plain; charset=UTF-8;
 name="0003-Make-and-variables-more-consistent-in-Eshell.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0003-Make-and-variables-more-consistent-in-Eshell.patch"

RnJvbSA4MjMzYzZmNDE0MTVlN2I0Mzc5YzY1MmJkNmI2YmEyNmM1MTRkZDYxIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j
b20+CkRhdGU6IFR1ZSwgOSBBdWcgMjAyMiAyMDowOTo1NyAtMDcwMApTdWJqZWN0OiBbUEFU
Q0ggMy8zXSBNYWtlICckPycgYW5kICckJCcgdmFyaWFibGVzIG1vcmUgY29uc2lzdGVudCBp
biBFc2hlbGwKClByZXZpb3VzbHksICckPycgKGxhc3QgZXhpdCBjb2RlKSB3YXMgb25seSB1
c2VmdWwgZm9yIGV4dGVybmFsCmNvbW1hbmRzLCBhbmQgJyQkJyAobGFzdCByZXN1bHQpIHdh
cyBvbmx5IHVzZWZ1bCBmb3IgTGlzcCBjb21tYW5kcy4KCiogbGlzcC9lc2hlbGwvZXNoLWNt
ZC5lbCAoZXNoZWxsLWxpc3AtZm9ybS1uaWwtaXMtZmFpbHVyZSk6IE5ldwpvcHRpb24uCihl
c2hlbGwtbGlzcC1jb21tYW5kKTogU2V0IGxhc3QgZXhpdCBjb2RlIHRvIDEgd2hlbiB0aGUg
Y29tbWFuZApzaWduYWxzIGFuIGVycm9yLCBhbmQgMiBpZiBpdCByZXR1cm5zIG5pbCAoZm9y
IExpc3AgZm9ybXMgb25seSkuCgoqIGxpc3AvZXNoZWxsL2VzaC1wcm9jLmVsIChlc2hlbGwt
c2VudGluZWwpOiBTZXQgbGFzdCByZXN1bHQgdG8gdCBpZgp0aGUgY29tbWFuZCBzdWNjZWVk
ZWQuCgoqIHRlc3QvbGlzcC9lc2hlbGwvZXNoLWNtZC10ZXN0cy5lbAooZXNoLWNtZC10ZXN0
L3doaWxlLWxvb3AtbGlzcC1mb3JtLCBlc2gtY21kLXRlc3QvdW50aWwtbG9vcC1saXNwLWZv
cm0pCihlc2gtY21kLXRlc3QvaWYtZWxzZS1zdGF0ZW1lbnQtbGlzcC1mb3JtKQooZXNoLWNt
ZC10ZXN0L2lmLWVsc2Utc3RhdGVtZW50LWxpc3AtZm9ybS0yKQooZXNoLWNtZC10ZXN0L3Vu
bGVzcy1lbHNlLXN0YXRlbWVudC1saXNwLWZvcm0pOiBOZXcgdGVzdHMuCgoqIHRlc3QvbGlz
cC9lc2hlbGwvZXNoLXZhci10ZXN0cy5lbAooZXNoLXZhci10ZXN0L2xhc3Qtc3RhdHVzLXZh
ci1saXNwLWNvbW1hbmQpCihlc2gtdmFyLXRlc3QvbGFzdC1zdGF0dXMtdmFyLWxpc3AtZm9y
bSkKKGVzaC12YXItdGVzdC9sYXN0LXN0YXR1cy12YXItbGlzcC1mb3JtLTIpCihlc2gtdmFy
LXRlc3QvbGFzdC1zdGF0dXMtdmFyLWV4dC1jbWQpCihlc2gtdmFyLXRlc3QvbGFzdC1zdGF0
dXMtdmFyLWV4dC1jbWQpOiBOZXcgdGVzdHMuCihlc2gtdmFyLXRlc3QvbGFzdC1yZXN1bHQt
dmFyMik6IFJlbmFtZSBmcm9tIHRoaXMuLi4KKCBlc2gtdmFyLXRlc3QvbGFzdC1yZXN1bHQt
dmFyLXR3aWNlKTogLi4uIHRvIHRoaXMuCgoqIGRvYy9taXNjL2VzaGVsbC50ZXhpIChWYXJp
YWJsZXMpOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhYm91dCAnJD8nCmFuZCAnJCQnLgooQ29u
dHJvbCBGbG93KTogTWVudGlvbiB0aGF0ICcobGlzcCBmb3JtcyknIGNhbiBiZSB1c2VkIGFz
CmNvbmRpdGlvbmFscy4KCiogZXRjL05FV1M6IEFubm91bmNlIHRoaXMgY2hhbmdlIChidWcj
NTcxMjkpLgotLS0KIGRvYy9taXNjL2VzaGVsbC50ZXhpICAgICAgICAgICAgICB8IDE0ICsr
KystLS0KIGV0Yy9ORVdTICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKysKIGxp
c3AvZXNoZWxsL2VzaC1jbWQuZWwgICAgICAgICAgICB8IDY4ICsrKysrKysrKysrKysrKysr
KystLS0tLS0tLS0tLS0KIGxpc3AvZXNoZWxsL2VzaC1wcm9jLmVsICAgICAgICAgICB8IDY4
ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIHRlc3QvbGlzcC9lc2hlbGwvZXNo
LWNtZC10ZXN0cy5lbCB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrKwogdGVzdC9saXNw
L2VzaGVsbC9lc2gtdmFyLXRlc3RzLmVsIHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysr
LQogNiBmaWxlcyBjaGFuZ2VkLCAxOTkgaW5zZXJ0aW9ucygrKSwgNjggZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvZG9jL21pc2MvZXNoZWxsLnRleGkgYi9kb2MvbWlzYy9lc2hlbGwu
dGV4aQppbmRleCAxNDFjMzBhZTliLi5hYWU3Nzk1NzVkIDEwMDY0NAotLS0gYS9kb2MvbWlz
Yy9lc2hlbGwudGV4aQorKysgYi9kb2MvbWlzYy9lc2hlbGwudGV4aQpAQCAtODkwLDE0ICs4
OTAsMTggQEAgVmFyaWFibGVzCiAKIEB2aW5kZXggJCQKIEBpdGVtICQkCi1UaGlzIGlzIHRo
ZSByZXN1bHQgb2YgdGhlIGxhc3QgY29tbWFuZC4gIEluIGNhc2Ugb2YgYW4gZXh0ZXJuYWwK
LWNvbW1hbmQsIGl0IGlzIEBjb2Rle3R9IG9yIEBjb2Rle25pbH0uCitUaGlzIGlzIHRoZSBy
ZXN1bHQgb2YgdGhlIGxhc3QgY29tbWFuZC4gIEZvciBleHRlcm5hbCBjb21tYW5kcywgaXQg
aXMKK0Bjb2Rle3R9IGlmIHRoZSBleGl0IGNvZGUgd2FzIDAgb3IgQGNvZGV7bmlsfSBvdGhl
cndpc2UuCiAKK0B2aW5kZXggZXNoZWxsLWxpc3AtZm9ybS1uaWwtaXMtZmFpbHVyZQogQHZp
bmRleCAkPwogQGl0ZW0gJD8KIFRoaXMgdmFyaWFibGUgY29udGFpbnMgdGhlIGV4aXQgY29k
ZSBvZiB0aGUgbGFzdCBjb21tYW5kLiAgSWYgdGhlIGxhc3QKIGNvbW1hbmQgd2FzIGEgTGlz
cCBmdW5jdGlvbiwgaXQgaXMgMCBmb3Igc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9yIDEKLW90
aGVyd2lzZS4KK290aGVyd2lzZS4gIElmIEBjb2Rle2VzaGVsbC1saXNwLWZvcm0tbmlsLWlz
LWZhaWx1cmV9IGlzCitub24tQGNvZGV7bmlsfSwgdGhlbiBhIGNvbW1hbmQgd2l0aCBhIExp
c3AgZm9ybSwgbGlrZQorQHNhbXB7KEB2YXJ7Y29tbWFuZH0gQHZhcnthcmdzfUBkb3Rze30p
fSwgdGhhdCByZXR1cm5zIEBjb2Rle25pbH0gd2lsbAorc2V0IHRoaXMgdmFyaWFibGUgdG8g
Mi4KIAogQHZpbmRleCAkQ09MVU1OUwogQHZpbmRleCAkTElORVMKQEAgLTEwMjQsOCArMTAy
OCw4IEBAIENvbnRyb2wgRmxvdwogVGhpcyBjYW4gdGFrZSBhIGZldyBkaWZmZXJlbnQgZm9y
bXMuICBJZiBAdmFye2NvbmRpdGlvbmFsfSBpcyBhIGRvbGxhcgogZXhwYW5zaW9uLCB0aGUg
Y29uZGl0aW9uIGlzIHNhdGlzZmllZCBpZiB0aGUgcmVzdWx0IGlzIGEKIG5vbi1AY29kZXtu
aWx9IHZhbHVlLiAgSWYgQHZhcntjb25kaXRpb25hbH0gaXMgYSBAc2FtcHtAewotQHZhcntz
dWJjb21tYW5kfSBAfX0sIHRoZSBjb25kaXRpb24gaXMgc2F0aXNmaWVkIGlmIHRoZQotQHZh
cntzdWJjb21tYW5kfSdzIGV4aXQgc3RhdHVzIGlzIDAuCitAdmFye3N1YmNvbW1hbmR9IEB9
fSBvciBAc2FtcHsoQHZhcntsaXNwIGZvcm19KX0sIHRoZSBjb25kaXRpb24gaXMKK3NhdGlz
ZmllZCBpZiB0aGUgY29tbWFuZCdzIGV4aXQgc3RhdHVzIGlzIDAuCiAKIEB0YWJsZSBAY29k
ZQogCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDhkNTRjY2MwZGMu
LjIxYmYxY2MwNTAgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0y
MTQ5LDYgKzIxNDksMTMgQEAgQWRkaXRpb25hbGx5LCBnbG9icyBlbmRpbmcgd2l0aCAnKiov
JyBvciAnKioqLycgbm8gbG9uZ2VyIHJhaXNlIGFuCiBlcnJvciwgYW5kIG5vdyBleHBhbmQg
dG8gYWxsIGRpcmVjdG9yaWVzIHJlY3Vyc2l2ZWx5IChmb2xsb3dpbmcKIHN5bWxpbmtzIGlu
IHRoZSBsYXR0ZXIgY2FzZSkuCiAKKysrKworKioqIExpc3AgZm9ybXMgaW4gRXNoZWxsIG5v
dyB0cmVhdCBhICduaWwnIHJlc3VsdCBhcyBhIGZhaWxlZCBleGl0IHN0YXR1cy4KK1doZW4g
ZXhlY3V0aW5nIGEgY29tbWFuZCB0aGF0IGxvb2tzIGxpa2UgJyhsaXNwIGZvcm0pJywgRXNo
ZWxsIHdpbGwKK3NldCB0aGUgZXhpdCBzdGF0dXMgKGF2YWlsYWJsZSBpbiB0aGUgJyQ/JyB2
YXJpYWJsZSkgdG8gMi4gIFRoaXMKK2FsbG93cyBjb21tYW5kcyBsaWtlIHRoYXQgdG8gYmUg
dXNlZCBhcyBjb25kaXRpb25hbHMuICBUbyBjaGFuZ2UgdGhpcworYmVoYXZpb3IsIGN1c3Rv
bWl6ZSB0aGUgbmV3ICdlc2hlbGwtbGlzcC1mb3JtLW5pbC1pcy1mYWlsdXJlJyBvcHRpb24u
CisKICoqIFNoZWxsCiAKIC0tLQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLWNtZC5l
bCBiL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwKaW5kZXggNDU0YTkwZTkxZC4uNjJjOTUwNTZm
ZCAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbAorKysgYi9saXNwL2VzaGVs
bC9lc2gtY21kLmVsCkBAIC0xMzMsNiArMTMzLDEwIEBAIGVzaGVsbC1saXNwLXJlZ2V4cAog
U3VjaCBhcmd1bWVudHMgd2lsbCBiZSBwYXNzZWQgdG8gYHJlYWQnLCBhbmQgdGhlbiBldmFs
dWF0ZWQuIgogICA6dHlwZSAncmVnZXhwKQogCisoZGVmY3VzdG9tIGVzaGVsbC1saXNwLWZv
cm0tbmlsLWlzLWZhaWx1cmUgdAorICAiSWYgbm9uLW5pbCwgTGlzcCBmb3JtcyBsaWtlIChD
T01NQU5EIEFSR1MpIHRyZWF0IGEgbmlsIHJlc3VsdCBhcyBmYWlsdXJlLiIKKyAgOnR5cGUg
J2Jvb2xlYW4pCisKIChkZWZjdXN0b20gZXNoZWxsLXByZS1jb21tYW5kLWhvb2sgbmlsCiAg
ICJBIGhvb2sgcnVuIGJlZm9yZSBlYWNoIGludGVyYWN0aXZlIGNvbW1hbmQgaXMgaW52b2tl
ZC4iCiAgIDp0eXBlICdob29rKQpAQCAtMTQxMiw0MyArMTQxNiw1MyBAQCBlc2hlbGwtbGFz
dC1vdXRwdXQtZW5kCiAoZGVmdW4gZXNoZWxsLWxpc3AtY29tbWFuZCAob2JqZWN0ICZvcHRp
b25hbCBhcmdzKQogICAiSW5zZXJ0IExpc3AgT0JKRUNULCB1c2luZyBBUkdTIGlmIGEgZnVu
Y3Rpb24uIgogICAoY2F0Y2ggJ2VzaGVsbC1leHRlcm5hbCAgICAgICAgICAgICAgIDsgZGVm
ZXJyZWQgdG8gYW4gZXh0ZXJuYWwgY29tbWFuZAorICAgIChzZXRxIGVzaGVsbC1sYXN0LWNv
bW1hbmQtc3RhdHVzIDAKKyAgICAgICAgICBlc2hlbGwtbGFzdC1hcmd1bWVudHMgYXJncykK
ICAgICAobGV0KiAoKGVzaGVsbC1lbnN1cmUtbmV3bGluZS1wIChlc2hlbGwtaW50ZXJhY3Rp
dmUtb3V0cHV0LXApKQorICAgICAgICAgICAoY29tbWFuZC1mb3JtLXAgKGZ1bmN0aW9ucCBv
YmplY3QpKQogICAgICAgICAgICAocmVzdWx0Ci0gICAgICAgICAgICAoaWYgKGZ1bmN0aW9u
cCBvYmplY3QpCi0gICAgICAgICAgICAgICAgKHByb2duCi0gICAgICAgICAgICAgICAgICAo
c2V0cSBlc2hlbGwtbGFzdC1hcmd1bWVudHMgYXJncwotICAgICAgICAgICAgICAgICAgICAg
ICAgZXNoZWxsLWxhc3QtY29tbWFuZC1uYW1lCisgICAgICAgICAgICAoaWYgY29tbWFuZC1m
b3JtLXAKKyAgICAgICAgICAgICAgICAobGV0ICgobnVtZXJpYyAobm90IChnZXQgb2JqZWN0
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlc2hlbGwtbm8t
bnVtZXJpYy1jb252ZXJzaW9ucykpKQorICAgICAgICAgICAgICAgICAgICAgIChmbmFtZS1h
cmdzIChnZXQgb2JqZWN0ICdlc2hlbGwtZmlsZW5hbWUtYXJndW1lbnRzKSkpCisgICAgICAg
ICAgICAgICAgICAod2hlbiAob3IgbnVtZXJpYyBmbmFtZS1hcmdzKQorICAgICAgICAgICAg
ICAgICAgICAod2hpbGUgYXJncworICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChhcmcg
KGNhciBhcmdzKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAoY29uZAorICAgICAgICAg
ICAgICAgICAgICAgICAgICgoYW5kIG51bWVyaWMgKHN0cmluZ3AgYXJnKSAoPiAobGVuZ3Ro
IGFyZykgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGV4dC1wcm9wZXJ0
eS1hbnkgMCAobGVuZ3RoIGFyZykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ251bWJlciB0IGFyZykpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIDs7IElmIGFueSBvZiB0aGUgYXJndW1lbnRzIGFyZSBmbGFnZ2VkIGFzCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIDs7IG51bWJlcnMgd2FpdGluZyBmb3IgY29udmVyc2lv
biwgY29udmVydAorICAgICAgICAgICAgICAgICAgICAgICAgICA7OyB0aGVtIG5vdy4KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgKHNldGNhciBhcmdzIChzdHJpbmctdG8tbnVtYmVy
IGFyZykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICgoYW5kIGZuYW1lLWFyZ3MgKHN0
cmluZ3AgYXJnKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctZXF1
YWwgYXJnICJ+IikpCisgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IElmIGFueSBvZiB0
aGUgYXJndW1lbnRzIG1hdGNoICJ+IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgOzsg
cHJlcGVuZCAiLi8iIHRvIHRyZWF0IGl0IGFzIGEgcmVndWxhcgorICAgICAgICAgICAgICAg
ICAgICAgICAgICA7OyBmaWxlIG5hbWUuCisgICAgICAgICAgICAgICAgICAgICAgICAgIChz
ZXRjYXIgYXJncyAoY29uY2F0ICIuLyIgYXJnKSkpKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAoc2V0cSBhcmdzIChjZHIgYXJncykpKSkKKyAgICAgICAgICAgICAgICAgIChzZXRxIGVz
aGVsbC1sYXN0LWNvbW1hbmQtbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmNh
dCAiIzxmdW5jdGlvbiAiIChzeW1ib2wtbmFtZSBvYmplY3QpICI+IikpCi0gICAgICAgICAg
ICAgICAgICAobGV0ICgobnVtZXJpYyAobm90IChnZXQgb2JqZWN0Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2VzaGVsbC1uby1udW1lcmljLWNvbnZl
cnNpb25zKSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAoZm5hbWUtYXJncyAoZ2V0IG9i
amVjdCAnZXNoZWxsLWZpbGVuYW1lLWFyZ3VtZW50cykpKQotICAgICAgICAgICAgICAgICAg
ICAod2hlbiAob3IgbnVtZXJpYyBmbmFtZS1hcmdzKQotICAgICAgICAgICAgICAgICAgICAg
ICh3aGlsZSBhcmdzCi0gICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgoYXJnIChjYXIg
YXJncykpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uZCAoKGFuZCBudW1lcmlj
IChzdHJpbmdwIGFyZykgKD4gKGxlbmd0aCBhcmcpIDApCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICh0ZXh0LXByb3BlcnR5LWFueSAwIChsZW5ndGggYXJnKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ251bWJlciB0IGFyZykpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7
OyBJZiBhbnkgb2YgdGhlIGFyZ3VtZW50cyBhcmUKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDs7IGZsYWdnZWQgYXMgbnVtYmVycyB3YWl0aW5nIGZvcgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOzsgY29udmVyc2lvbiwgY29udmVydCB0aGVtIG5v
dy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRjYXIgYXJncyAoc3Ry
aW5nLXRvLW51bWJlciBhcmcpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KChhbmQgZm5hbWUtYXJncyAoc3RyaW5ncCBhcmcpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChzdHJpbmctZXF1YWwgYXJnICJ+IikpCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA7OyBJZiBhbnkgb2YgdGhlIGFyZ3VtZW50cyBtYXRjaCAi
fiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBwcmVwZW5kICIuLyIg
dG8gdHJlYXQgaXQgYXMgYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsg
cmVndWxhciBmaWxlIG5hbWUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
c2V0Y2FyIGFyZ3MgKGNvbmNhdCAiLi8iIGFyZykpKSkpCi0gICAgICAgICAgICAgICAgICAg
ICAgICAoc2V0cSBhcmdzIChjZHIgYXJncykpKSkpCiAgICAgICAgICAgICAgICAgICAoZXNo
ZWxsLWFwcGx5IG9iamVjdCBlc2hlbGwtbGFzdC1hcmd1bWVudHMpKQotICAgICAgICAgICAg
ICAoc2V0cSBlc2hlbGwtbGFzdC1hcmd1bWVudHMgYXJncwotICAgICAgICAgICAgICAgICAg
ICBlc2hlbGwtbGFzdC1jb21tYW5kLW5hbWUgIiM8TGlzcCBvYmplY3Q+IikKKyAgICAgICAg
ICAgICAgKHNldHEgZXNoZWxsLWxhc3QtY29tbWFuZC1uYW1lICIjPExpc3Agb2JqZWN0PiIp
CiAgICAgICAgICAgICAgIChlc2hlbGwtZXZhbCBvYmplY3QpKSkpCiAgICAgICAoaWYgKGFu
ZCBlc2hlbGwtZW5zdXJlLW5ld2xpbmUtcAogCSAgICAgICAoc2F2ZS1leGN1cnNpb24KIAkJ
IChnb3RvLWNoYXIgZXNoZWxsLWxhc3Qtb3V0cHV0LWVuZCkKIAkJIChub3QgKGJvbHApKSkp
CiAJICAoZXNoZWxsLXByaW50ICJcbiIpKQotICAgICAgKGVzaGVsbC1jbG9zZS1oYW5kbGVz
IDAgKGxpc3QgJ3F1b3RlIHJlc3VsdCkpKSkpCisgICAgICAoZXNoZWxsLWNsb3NlLWhhbmRs
ZXMKKyAgICAgICA7OyBJZiBgZXNoZWxsLWxpc3AtZm9ybS1uaWwtaXMtZmFpbHVyZScgaXMg
bm9uLW5pbCwgTGlzcCBmb3JtcworICAgICAgIDs7IHRoYXQgc3VjY2VlZGVkIGJ1dCBoYXZl
IGEgbmlsIHJlc3VsdCBzaG91bGQgaGF2ZSBhbiBleGl0CisgICAgICAgOzsgc3RhdHVzIG9m
IDIuCisgICAgICAgKHdoZW4gKGFuZCBlc2hlbGwtbGlzcC1mb3JtLW5pbC1pcy1mYWlsdXJl
CisgICAgICAgICAgICAgICAgICAobm90IGNvbW1hbmQtZm9ybS1wKQorICAgICAgICAgICAg
ICAgICAgKD0gZXNoZWxsLWxhc3QtY29tbWFuZC1zdGF0dXMgMCkKKyAgICAgICAgICAgICAg
ICAgIChub3QgcmVzdWx0KSkKKyAgICAgICAgIDIpCisgICAgICAgKGxpc3QgJ3F1b3RlIHJl
c3VsdCkpKSkpCiAKIChkZWZhbGlhcyAnZXNoZWxsLWxpc3AtY29tbWFuZCogIydlc2hlbGwt
bGlzcC1jb21tYW5kKQogCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gtcHJvYy5lbCBi
L2xpc3AvZXNoZWxsL2VzaC1wcm9jLmVsCmluZGV4IDk5YjQzNjYxZjIuLmMzNjdiNWNkNjQg
MTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1wcm9jLmVsCisrKyBiL2xpc3AvZXNoZWxs
L2VzaC1wcm9jLmVsCkBAIC0zNDYsNyArMzQ2LDkgQEAgZXNoZWxsLWdhdGhlci1wcm9jZXNz
LW91dHB1dAogICAgICAgICAoZGVmdmFyIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpICAgICAg
ICAgO0RlZmluZWQgaW4gZXNoLW1vZGUuZWwuCiAJKGVzaGVsbC11cGRhdGUtbWFya2VycyBl
c2hlbGwtbGFzdC1vdXRwdXQtZW5kKQogCTs7IFNpbXVsYXRlIHRoZSBlZmZlY3Qgb2YgZXNo
ZWxsLXNlbnRpbmVsLgotCShlc2hlbGwtY2xvc2UtaGFuZGxlcyAoaWYgKG51bWJlcnAgZXhp
dC1zdGF0dXMpIGV4aXQtc3RhdHVzIC0xKSkKKwkoZXNoZWxsLWNsb3NlLWhhbmRsZXMKKyAg
ICAgICAgIChpZiAobnVtYmVycCBleGl0LXN0YXR1cykgZXhpdC1zdGF0dXMgLTEpCisgICAg
ICAgICAobGlzdCAncXVvdGUgKGFuZCAobnVtYmVycCBleGl0LXN0YXR1cykgKD0gZXhpdC1z
dGF0dXMgMCkpKSkKIAkoZXNoZWxsLWtpbGwtcHJvY2Vzcy1mdW5jdGlvbiBjb21tYW5kIGV4
aXQtc3RhdHVzKQogCShvciAoYm91bmQtYW5kLXRydWUtcCBlc2hlbGwtaW4tcGlwZWxpbmUt
cCkKIAkgICAgKHNldHEgZXNoZWxsLWxhc3Qtc3luYy1vdXRwdXQtc3RhcnQgbmlsKSkKQEAg
LTM5OCw0MCArNDAwLDM2IEBAIGVzaGVsbC1zZW50aW5lbAogICAod2hlbiAoYnVmZmVyLWxp
dmUtcCAocHJvY2Vzcy1idWZmZXIgcHJvYykpCiAgICAgKHdpdGgtY3VycmVudC1idWZmZXIg
KHByb2Nlc3MtYnVmZmVyIHByb2MpCiAgICAgICAodW53aW5kLXByb3RlY3QKLSAgICAgICAg
ICAobGV0ICgoZW50cnkgKGFzc3EgcHJvYyBlc2hlbGwtcHJvY2Vzcy1saXN0KSkpCi07CSAg
ICAoaWYgKG5vdCBlbnRyeSkKLTsJCShlcnJvciAiU2VudGluZWwgY2FsbGVkIGZvciB1bm93
bmVkIHByb2Nlc3MgYCVzJyIKLTsJCSAgICAgICAocHJvY2Vzcy1uYW1lIHByb2MpKQotCSAg
ICAod2hlbiBlbnRyeQotCSAgICAgICh1bndpbmQtcHJvdGVjdAotCQkgIChwcm9nbgotCQkg
ICAgKHVubGVzcyAoc3RyaW5nPSBzdHJpbmcgInJ1biIpCi0gICAgICAgICAgICAgICAgICAg
ICAgOzsgV3JpdGUgdGhlIGV4aXQgbWVzc2FnZSBpZiB0aGUgc3RhdHVzIGlzCi0gICAgICAg
ICAgICAgICAgICAgICAgOzsgYWJub3JtYWwgYW5kIHRoZSBwcm9jZXNzIGlzIGFscmVhZHkg
d3JpdGluZwotICAgICAgICAgICAgICAgICAgICAgIDs7IHRvIHRoZSB0ZXJtaW5hbC4KLSAg
ICAgICAgICAgICAgICAgICAgICAod2hlbiAoYW5kIChlcSBwcm9jIChlc2hlbGwtdGFpbC1w
cm9jZXNzKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKHN0cmlu
Zy1tYXRjaCAiXlxcKGZpbmlzaGVkXFx8ZXhpdGVkXFwpIgotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZykpKQotICAgICAgICAg
ICAgICAgICAgICAgICAgKGZ1bmNhbGwgKHByb2Nlc3MtZmlsdGVyIHByb2MpIHByb2Mgc3Ry
aW5nKSkKLSAgICAgICAgICAgICAgICAgICAgICAobGV0ICgoaGFuZGxlcyAobnRoIDEgZW50
cnkpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHIgKHByb2cxIChudGggMyBl
bnRyeSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNldGYgKG50aCAz
IGVudHJ5KSBuaWwpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RhdHVzIChw
cm9jZXNzLWV4aXQtc3RhdHVzIHByb2MpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIDs7
IElmIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgaGFuZGxpbmcgb3V0cHV0Ci0gICAgICAgICAg
ICAgICAgICAgICAgICA7OyBmcm9tIHRoaXMgcHJvY2VzcyB0aGVuIHNjaGVkdWxlIHRoZSBF
T0YgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICA7OyBsYXRlci4KLSAgICAgICAgICAg
ICAgICAgICAgICAgIChsZXRyZWMgKChmaW5pc2gtaW8KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAobGFtYmRhICgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoaWYgKG50aCA0IGVudHJ5KQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChydW4tYXQtdGltZSAwIG5pbCBmaW5pc2gtaW8pCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVuIHN0cgotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChpZ25vcmUtZXJyb3IgJ2VzaGVsbC1waXBlLWJy
b2tlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVs
bC1vdXRwdXQtb2JqZWN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RyIG5pbCBoYW5kbGVzKSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChlc2hlbGwtY2xvc2UtaGFuZGxlcwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc3RhdHVzICduaWwgaGFuZGxlcykpKSkpCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIChmdW5jYWxsIGZpbmlzaC1pbykpKSkpCi0JCShlc2hlbGwtcmVt
b3ZlLXByb2Nlc3MtZW50cnkgZW50cnkpKSkpCisgICAgICAgICAgKHdoZW4tbGV0ICgoZW50
cnkgKGFzc3EgcHJvYyBlc2hlbGwtcHJvY2Vzcy1saXN0KSkpCisJICAgICh1bndpbmQtcHJv
dGVjdAorCQkodW5sZXNzIChzdHJpbmc9IHN0cmluZyAicnVuIikKKyAgICAgICAgICAgICAg
ICAgIDs7IFdyaXRlIHRoZSBleGl0IG1lc3NhZ2UgaWYgdGhlIHN0YXR1cyBpcworICAgICAg
ICAgICAgICAgICAgOzsgYWJub3JtYWwgYW5kIHRoZSBwcm9jZXNzIGlzIGFscmVhZHkgd3Jp
dGluZworICAgICAgICAgICAgICAgICAgOzsgdG8gdGhlIHRlcm1pbmFsLgorICAgICAgICAg
ICAgICAgICAgKHdoZW4gKGFuZCAoZXEgcHJvYyAoZXNoZWxsLXRhaWwtcHJvY2VzcykpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKHN0cmluZy1tYXRjaCAiXlxcKGZp
bmlzaGVkXFx8ZXhpdGVkXFwpIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RyaW5nKSkpCisgICAgICAgICAgICAgICAgICAgIChmdW5jYWxs
IChwcm9jZXNzLWZpbHRlciBwcm9jKSBwcm9jIHN0cmluZykpCisgICAgICAgICAgICAgICAg
ICAobGV0ICgoaGFuZGxlcyAobnRoIDEgZW50cnkpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgKHN0ciAocHJvZzEgKG50aCAzIGVudHJ5KQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChzZXRmIChudGggMyBlbnRyeSkgbmlsKSkpCisgICAgICAgICAgICAgICAgICAg
ICAgICAoc3RhdHVzIChwcm9jZXNzLWV4aXQtc3RhdHVzIHByb2MpKSkKKyAgICAgICAgICAg
ICAgICAgICAgOzsgSWYgd2UncmUgaW4gdGhlIG1pZGRsZSBvZiBoYW5kbGluZyBvdXRwdXQK
KyAgICAgICAgICAgICAgICAgICAgOzsgZnJvbSB0aGlzIHByb2Nlc3MgdGhlbiBzY2hlZHVs
ZSB0aGUgRU9GIGZvcgorICAgICAgICAgICAgICAgICAgICA7OyBsYXRlci4KKyAgICAgICAg
ICAgICAgICAgICAgKGxldHJlYyAoKGZpbmlzaC1pbworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
aWYgKG50aCA0IGVudHJ5KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KHJ1bi1hdC10aW1lIDAgbmlsIGZpbmlzaC1pbykKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAod2hlbiBzdHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChpZ25vcmUtZXJyb3IgJ2VzaGVsbC1waXBlLWJyb2tlbgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoZXNoZWxsLW91dHB1dC1vYmplY3QKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciBuaWwgaGFuZGxlcykpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlc2hlbGwtY2xvc2UtaGFuZGxlcwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXMgKGxpc3QgJ3F1b3Rl
ICg9IHN0YXR1cyAwKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFu
ZGxlcykpKSkpCisgICAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgZmluaXNoLWlvKSkp
KQorCSAgICAgIChlc2hlbGwtcmVtb3ZlLXByb2Nlc3MtZW50cnkgZW50cnkpKSkKIAkoZXNo
ZWxsLWtpbGwtcHJvY2Vzcy1mdW5jdGlvbiBwcm9jIHN0cmluZykpKSkpCiAKIChkZWZ1biBl
c2hlbGwtcHJvY2Vzcy1pbnRlcmFjdCAoZnVuYyAmb3B0aW9uYWwgYWxsIHF1ZXJ5KQpkaWZm
IC0tZ2l0IGEvdGVzdC9saXNwL2VzaGVsbC9lc2gtY21kLXRlc3RzLmVsIGIvdGVzdC9saXNw
L2VzaGVsbC9lc2gtY21kLXRlc3RzLmVsCmluZGV4IGIzMTE1OWExYTguLmU4Njk4NWVjNzEg
MTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLWNtZC10ZXN0cy5lbAorKysgYi90
ZXN0L2xpc3AvZXNoZWxsL2VzaC1jbWQtdGVzdHMuZWwKQEAgLTEzOSw2ICsxMzksMTUgQEAg
ZXNoLWNtZC10ZXN0L3doaWxlLWxvb3AKICAgICAgICAgICAgICAgInsgc2V0cSBlc2hlbGwt
dGVzdC12YWx1ZSAoY2RyIGVzaGVsbC10ZXN0LXZhbHVlKSB9IikKICAgICAgICIoMSAyKVxu
KDIpXG4iKSkpKQogCisoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0L3doaWxlLWxvb3AtbGlz
cC1mb3JtICgpCisgICJUZXN0IGludm9jYXRpb24gb2YgYSB3aGlsZSBsb29wIHVzaW5nIGEg
TGlzcCBmb3JtLiIKKyAgKHdpdGgtdGVtcC1lc2hlbGwKKyAgIChsZXQgKChlc2hlbGwtdGVz
dC12YWx1ZSAwKSkKKyAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wCisgICAgICAoY29u
Y2F0ICJ3aGlsZSAoLz0gZXNoZWxsLXRlc3QtdmFsdWUgMykgIgorICAgICAgICAgICAgICAi
eyBzZXRxIGVzaGVsbC10ZXN0LXZhbHVlICgxKyBlc2hlbGwtdGVzdC12YWx1ZSkgfSIpCisg
ICAgICAiMVxuMlxuM1xuIikpKSkKKwogKGVydC1kZWZ0ZXN0IGVzaC1jbWQtdGVzdC93aGls
ZS1sb29wLWV4dC1jbWQgKCkKICAgIlRlc3QgaW52b2NhdGlvbiBvZiBhIHdoaWxlIGxvb3Ag
dXNpbmcgYW4gZXh0ZXJuYWwgY29tbWFuZC4iCiAgIChza2lwLXVubGVzcyAoZXhlY3V0YWJs
ZS1maW5kICJbIikpCkBAIC0xNTgsNiArMTY3LDE2IEBAIGVzaC1jbWQtdGVzdC91bnRpbC1s
b29wCiAgICAgICAgICAgICAgICJ7IHNldHEgZXNoZWxsLXRlc3QtdmFsdWUgdCB9IikKICAg
ICAgICJ0XG4iKSkpKQogCisoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0L3VudGlsLWxvb3At
bGlzcC1mb3JtICgpCisgICJUZXN0IGludm9jYXRpb24gb2YgYW4gdW50aWwgbG9vcCB1c2lu
ZyBhIExpc3AgZm9ybS4iCisgIChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5kICJbIikp
CisgICh3aXRoLXRlbXAtZXNoZWxsCisgICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgMCkp
CisgICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtcAorICAgICAgKGNvbmNhdCAidW50aWwg
KD0gZXNoZWxsLXRlc3QtdmFsdWUgMykgIgorICAgICAgICAgICAgICAieyBzZXRxIGVzaGVs
bC10ZXN0LXZhbHVlICgxKyBlc2hlbGwtdGVzdC12YWx1ZSkgfSIpCisgICAgICAiMVxuMlxu
M1xuIikpKSkKKwogKGVydC1kZWZ0ZXN0IGVzaC1jbWQtdGVzdC91bnRpbC1sb29wLWV4dC1j
bWQgKCkKICAgIlRlc3QgaW52b2NhdGlvbiBvZiBhbiB1bnRpbCBsb29wIHVzaW5nIGFuIGV4
dGVybmFsIGNvbW1hbmQuIgogICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUtZmluZCAiWyIp
KQpAQCAtMTg4LDYgKzIwNywzMCBAQCBlc2gtY21kLXRlc3QvaWYtZWxzZS1zdGF0ZW1lbnQK
ICAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJpZiAkZXNoZWxsLXRlc3QtdmFsdWUg
e2VjaG8geWVzfSB7ZWNobyBub30iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
bm9cbiIpKSkpCiAKKyhlcnQtZGVmdGVzdCBlc2gtY21kLXRlc3QvaWYtZWxzZS1zdGF0ZW1l
bnQtbGlzcC1mb3JtICgpCisgICJUZXN0IGludm9jYXRpb24gb2YgYW4gaWYvZWxzZSBzdGF0
ZW1lbnQgdXNpbmcgYSBMaXNwIGZvcm0uIgorICAod2l0aC10ZW1wLWVzaGVsbAorICAgKGVz
aGVsbC1jb21tYW5kLXJlc3VsdC1wICJpZiAoemVyb3AgMCkge2VjaG8geWVzfSB7ZWNobyBu
b30iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInllc1xuIikKKyAgIChlc2hlbGwt
Y29tbWFuZC1yZXN1bHQtcCAiaWYgKHplcm9wIDEpIHtlY2hvIHllc30ge2VjaG8gbm99Igor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub1xuIikKKyAgIChsZXQgKChkZWJ1Zy1v
bi1lcnJvciBuaWwpKQorICAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LXAgImlmICh6ZXJv
cCBcImZvb1wiKSB7ZWNobyB5ZXN9IHtlY2hvIG5vfSIKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJub1xuIikpKSkKKworKGVydC1kZWZ0ZXN0IGVzaC1jbWQtdGVzdC9pZi1l
bHNlLXN0YXRlbWVudC1saXNwLWZvcm0tMiAoKQorICAiVGVzdCBpbnZvY2F0aW9uIG9mIGFu
IGlmL2Vsc2Ugc3RhdGVtZW50IHVzaW5nIGEgTGlzcCBmb3JtLgorVGhpcyB0ZXN0cyB3aGVu
IGBlc2hlbGwtbGlzcC1mb3JtLW5pbC1pcy1mYWlsdXJlJyBpcyBuaWwuIgorICAobGV0ICgo
ZXNoZWxsLWxpc3AtZm9ybS1uaWwtaXMtZmFpbHVyZSBuaWwpKQorICAgICh3aXRoLXRlbXAt
ZXNoZWxsCisgICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtcCAiaWYgKHplcm9wIDApIHtl
Y2hvIHllc30ge2VjaG8gbm99IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInll
c1xuIikKKyAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJpZiAoemVyb3AgMSkge2Vj
aG8geWVzfSB7ZWNobyBub30iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieWVz
XG4iKQorICAgICAobGV0ICgoZGVidWctb24tZXJyb3IgbmlsKSkKKyAgICAgICAoZXNoZWxs
LWNvbW1hbmQtcmVzdWx0LXAgImlmICh6ZXJvcCBcImZvb1wiKSB7ZWNobyB5ZXN9IHtlY2hv
IG5vfSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vXG4iKSkpKSkKKwog
KGVydC1kZWZ0ZXN0IGVzaC1jbWQtdGVzdC9pZi1lbHNlLXN0YXRlbWVudC1leHQtY21kICgp
CiAgICJUZXN0IGludm9jYXRpb24gb2YgYW4gaWYvZWxzZSBzdGF0ZW1lbnQgdXNpbmcgYW4g
ZXh0ZXJuYWwgY29tbWFuZC4iCiAgIChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5kICJb
IikpCkBAIC0yMTcsNiArMjYwLDE3IEBAIGVzaC1jbWQtdGVzdC91bmxlc3MtZWxzZS1zdGF0
ZW1lbnQKICAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJ1bmxlc3MgJGVzaGVsbC10
ZXN0LXZhbHVlIHtlY2hvIG5vfSB7ZWNobyB5ZXN9IgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm5vXG4iKSkpKQogCisoZXJ0LWRlZnRlc3QgZXNoLWNtZC10ZXN0L3VubGVz
cy1lbHNlLXN0YXRlbWVudC1saXNwLWZvcm0gKCkKKyAgIlRlc3QgaW52b2NhdGlvbiBvZiBh
biB1bmxlc3MvZWxzZSBzdGF0ZW1lbnQgdXNpbmcgYSBMaXNwIGZvcm0uIgorICAod2l0aC10
ZW1wLWVzaGVsbAorICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJ1bmxlc3MgKHplcm9w
IDApIHtlY2hvIG5vfSB7ZWNobyB5ZXN9IgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ5ZXNcbiIpCisgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LXAgInVubGVzcyAoemVyb3Ag
MSkge2VjaG8gbm99IHtlY2hvIHllc30iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Im5vXG4iKQorICAgKGxldCAoKGRlYnVnLW9uLWVycm9yIG5pbCkpCisgICAgIChlc2hlbGwt
Y29tbWFuZC1yZXN1bHQtcCAidW5sZXNzICh6ZXJvcCBcImZvb1wiKSB7ZWNobyBub30ge2Vj
aG8geWVzfSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub1xuIikpKSkKKwog
KGVydC1kZWZ0ZXN0IGVzaC1jbWQtdGVzdC91bmxlc3MtZWxzZS1zdGF0ZW1lbnQtZXh0LWNt
ZCAoKQogICAiVGVzdCBpbnZvY2F0aW9uIG9mIGFuIHVubGVzcy9lbHNlIHN0YXRlbWVudCB1
c2luZyBhbiBleHRlcm5hbCBjb21tYW5kLiIKICAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxl
LWZpbmQgIlsiKSkKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLXZhci10ZXN0
cy5lbCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLXZhci10ZXN0cy5lbAppbmRleCA1NGU3MDFh
NmFhLi42NmRhYmQ0MjRiIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VzaC12YXIt
dGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VzaGVsbC9lc2gtdmFyLXRlc3RzLmVsCkBAIC01
MDAsMTggKzUwMCw3MiBAQCBlc2gtdmFyLXRlc3QvaW5zaWRlLWVtYWNzLXZhci1zcGxpdC1p
bmRpY2VzCiAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LXAgImVjaG8gJElOU0lERV9FTUFD
U1ssIDFdIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlc2hlbGwiKSkpCiAKKyhl
cnQtZGVmdGVzdCBlc2gtdmFyLXRlc3QvbGFzdC1zdGF0dXMtdmFyLWxpc3AtY29tbWFuZCAo
KQorICAiVGVzdCB1c2luZyB0aGUgXCJsYXN0IGV4aXQgc3RhdHVzXCIgKCQ/KSB2YXJpYWJs
ZSB3aXRoIGEgTGlzcCBjb21tYW5kIgorICAod2l0aC10ZW1wLWVzaGVsbAorICAgKGVzaGVs
bC1jb21tYW5kLXJlc3VsdC1wICJ6ZXJvcCAwOyBlY2hvICQ/IgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0XG4wXG4iKQorICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICJ6
ZXJvcCAxOyBlY2hvICQ/IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwXG4iKQor
ICAgKGxldCAoKGRlYnVnLW9uLWVycm9yIG5pbCkpCisgICAgIChlc2hlbGwtY29tbWFuZC1y
ZXN1bHQtcCAiemVyb3AgZm9vOyBlY2hvICQ/IgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIjFcbiIpKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtdmFyLXRlc3QvbGFzdC1zdGF0
dXMtdmFyLWxpc3AtZm9ybSAoKQorICAiVGVzdCB1c2luZyB0aGUgXCJsYXN0IGV4aXQgc3Rh
dHVzXCIgKCQ/KSB2YXJpYWJsZSB3aXRoIGEgTGlzcCBmb3JtIgorICAobGV0ICgoZXNoZWxs
LWxpc3AtZm9ybS1uaWwtaXMtZmFpbHVyZSB0KSkKKyAgKHdpdGgtdGVtcC1lc2hlbGwKKyAg
IChlc2hlbGwtY29tbWFuZC1yZXN1bHQtcCAiKHplcm9wIDApOyBlY2hvICQ/IgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0XG4wXG4iKQorICAgKGVzaGVsbC1jb21tYW5kLXJl
c3VsdC1wICIoemVyb3AgMSk7IGVjaG8gJD8iCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIjJcbiIpCisgICAobGV0ICgoZGVidWctb24tZXJyb3IgbmlsKSkKKyAgICAgKGVzaGVs
bC1jb21tYW5kLXJlc3VsdC1wICIoemVyb3AgXCJmb29cIik7IGVjaG8gJD8iCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiMVxuIikpKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gt
dmFyLXRlc3QvbGFzdC1zdGF0dXMtdmFyLWxpc3AtZm9ybS0yICgpCisgICJUZXN0IHVzaW5n
IHRoZSBcImxhc3QgZXhpdCBzdGF0dXNcIiAoJD8pIHZhcmlhYmxlIHdpdGggYSBMaXNwIGZv
cm0uCitUaGlzIHRlc3RzIHdoZW4gYGVzaGVsbC1saXNwLWZvcm0tbmlsLWlzLWZhaWx1cmUn
IGlzIG5pbC4iCisgIChsZXQgKChlc2hlbGwtbGlzcC1mb3JtLW5pbC1pcy1mYWlsdXJlIG5p
bCkpCisgICAgKHdpdGgtdGVtcC1lc2hlbGwKKyAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3Vs
dC1wICIoemVyb3AgMCk7IGVjaG8gJD8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiMFxuIikKKyAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wICIoemVyb3AgMCk7IGVj
aG8gJD8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMFxuIikKKyAgICAgKGxl
dCAoKGRlYnVnLW9uLWVycm9yIG5pbCkpCisgICAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3Vs
dC1wICIoemVyb3AgXCJmb29cIik7IGVjaG8gJD8iCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICIxXG4iKSkpKSkKKworKGVydC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9sYXN0
LXN0YXR1cy12YXItZXh0LWNtZCAoKQorICAiVGVzdCB1c2luZyB0aGUgXCJsYXN0IGV4aXQg
c3RhdHVzXCIgKCQ/KSB2YXJpYWJsZSB3aXRoIGFuIGV4dGVybmFsIGNvbW1hbmQiCisgIChz
a2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5kICJbIikpCisgICh3aXRoLXRlbXAtZXNoZWxs
CisgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LXAgIlsgZm9vID0gZm9vIF07IGVjaG8gJD8i
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjBcbiIpCisgICAoZXNoZWxsLWNvbW1h
bmQtcmVzdWx0LXAgIlsgZm9vID0gYmFyIF07IGVjaG8gJD8iCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIjFcbiIpKSkKKwogKGVydC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9sYXN0
LXJlc3VsdC12YXIgKCkKICAgIlRlc3QgdXNpbmcgdGhlIFwibGFzdCByZXN1bHRcIiAoJCQp
IHZhcmlhYmxlIgogICAod2l0aC10ZW1wLWVzaGVsbAogICAgKGVzaGVsbC1jb21tYW5kLXJl
c3VsdC1wICIrIDEgMjsgKyAkJCAyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICIz
XG41XG4iKSkpCiAKLShlcnQtZGVmdGVzdCBlc2gtdmFyLXRlc3QvbGFzdC1yZXN1bHQtdmFy
MiAoKQorKGVydC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9sYXN0LXJlc3VsdC12YXItdHdpY2Ug
KCkKICAgIlRlc3QgdXNpbmcgdGhlIFwibGFzdCByZXN1bHRcIiAoJCQpIHZhcmlhYmxlIHR3
aWNlIgogICAod2l0aC10ZW1wLWVzaGVsbAogICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1w
ICIrIDEgMjsgKyAkJCAkJCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiM1xuNlxu
IikpKQogCisoZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L2xhc3QtcmVzdWx0LXZhci1leHQt
Y21kICgpCisgICJUZXN0IHVzaW5nIHRoZSBcImxhc3QgcmVzdWx0XCIgKCQkKSB2YXJpYWJs
ZSB3aXRoIGFuIGV4dGVybmFsIGNvbW1hbmQiCisgIChza2lwLXVubGVzcyAoZXhlY3V0YWJs
ZS1maW5kICJbIikpCisgICh3aXRoLXRlbXAtZXNoZWxsCisgICAoZXNoZWxsLWNvbW1hbmQt
cmVzdWx0LXAgIlsgZm9vID0gZm9vIF07IGZvcm1hdCBcIiVzXCIgJCQiCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInRcbiIpCisgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LXAg
IlsgZm9vID0gYmFyIF07IGZvcm1hdCBcIiVzXCIgJCQiCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIm5pbFxuIikpKQorCiAoZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L2xhc3Qt
cmVzdWx0LXZhci1zcGxpdC1pbmRpY2VzICgpCiAgICJUZXN0IHVzaW5nIHRoZSBcImxhc3Qg
cmVzdWx0XCIgKCQkKSB2YXJpYWJsZSB3aXRoIHNwbGl0IGluZGljZXMiCiAgICh3aXRoLXRl
bXAtZXNoZWxsCi0tIAoyLjI1LjEKCg==
--------------FB610A9ACD38E16937EFA651--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Lars Ingebrigtsen <larsi@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 12 Aug 2022 15:23:02 +0000
Resent-Message-ID: <handler.57129.B57129.166031776331866 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Jim Porter <jporterbugs@HIDDEN>
Cc: 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166031776331866
          (code B ref 57129); Fri, 12 Aug 2022 15:23:02 +0000
Received: (at 57129) by debbugs.gnu.org; 12 Aug 2022 15:22:43 +0000
Received: from localhost ([127.0.0.1]:58624 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oMWUl-0008Ht-Dv
	for submit <at> debbugs.gnu.org; Fri, 12 Aug 2022 11:22:43 -0400
Received: from quimby.gnus.org ([95.216.78.240]:55808)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1oMWUj-0008He-2e
 for 57129 <at> debbugs.gnu.org; Fri, 12 Aug 2022 11:22:41 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References:
 In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=yNxIzmVvDGsiqj461H893hbC2deOlgsgNcqBfvPOQHc=; b=Ey4ewCTtqZHGiDzIZJxbR1jiBL
 c2KUyIziYgGF1S0djQveqnWlxyDqOpx/VXZE6xQ/TnfMbsY+ifMsMU/YzpdMQ3yIke1/m2Yil7eE5
 kUZzxivLmR9485lUDwlAHb7tbCVK8uw0N5tdso+FhhDm3P5gJECJwYtZnYASASuQs+Y4=;
Received: from [84.212.220.105] (helo=joga)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1oMWUa-0006Sj-W7; Fri, 12 Aug 2022 17:22:35 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
In-Reply-To: <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> (Jim Porter's
 message of "Wed, 10 Aug 2022 19:46:41 -0700")
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN>
X-Now-Playing: Joni Mitchell's _Clouds_: "Chelsea Morning"
Date: Fri, 12 Aug 2022 17:22:32 +0200
Message-ID: <87mtc9o5af.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  Jim Porter <jporterbugs@HIDDEN> writes: > Here are some
 patches to fix this. I haven't tested the patches, but reading them, they
 make sense to me, so please go ahead and push. 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
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 (---)

Jim Porter <jporterbugs@HIDDEN> writes:

> Here are some patches to fix this.

I haven't tested the patches, but reading them, they make sense to me,
so please go ahead and push.





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Jim Porter <jporterbugs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 13 Aug 2022 05:15:01 +0000
Resent-Message-ID: <handler.57129.B57129.16603676537631 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Lars Ingebrigtsen <larsi@HIDDEN>
Cc: 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.16603676537631
          (code B ref 57129); Sat, 13 Aug 2022 05:15:01 +0000
Received: (at 57129) by debbugs.gnu.org; 13 Aug 2022 05:14:13 +0000
Received: from localhost ([127.0.0.1]:59387 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oMjTR-0001z1-5n
	for submit <at> debbugs.gnu.org; Sat, 13 Aug 2022 01:14:13 -0400
Received: from mail-pg1-f170.google.com ([209.85.215.170]:33739)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1oMjTN-0001ym-Ew
 for 57129 <at> debbugs.gnu.org; Sat, 13 Aug 2022 01:14:11 -0400
Received: by mail-pg1-f170.google.com with SMTP id l64so2405080pge.0
 for <57129 <at> debbugs.gnu.org>; Fri, 12 Aug 2022 22:14:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:from:to:cc;
 bh=IF/br+MxOUq7I8VJ5tMAs7v+o318hNW7zuML9ivwx3c=;
 b=ewRa/bljlds3r8rGl23SD68a1N94CmDsi3BW63UJDYAZKAuWOhJvfR8/uhi+UmbrjH
 qvD+3bECwxwSbS04RaDImdGbwh5da94rIWZ0F/2YQo5wDFz/MPFqt8WNC5FLBWp65dhK
 2I+2IaAJqNBHJq/AP6jW3zojF7cLx7lIQ9VE28e4jrqQ0yJZ/Es8ZIa1Oo6A+M3gKQnR
 b/7CsKv8bXVR2hIWxUqQzTiRGcUqTEkSoy0x1+qgtattmPcKl6ihx0tZYEijFzKbS+Uh
 edtJT7VLIWgq7jcS39PRi5Cobe5qri7c9IFN6+y2bhW3E8pg+nVXkU8+ytSE3OMhIAhW
 tXdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:x-gm-message-state
 :from:to:cc;
 bh=IF/br+MxOUq7I8VJ5tMAs7v+o318hNW7zuML9ivwx3c=;
 b=ovhirAnAsC/XlXSwUex3ADR762hV0LRQh1sK2wBYJOXhNcbK/Hta2Qd+fXbUwLloFF
 77BfltriZHqsIb7YYU9CmxFGlpOGpGuDmNMftbk/5Yo7Ug9/MNMJxr8abmikwQZxZHsa
 qPcTED41zcECqpPGkDARgnvzx5dcEtAaMgT18SfhGmyyuJLpNMiYRfGnwC4rcGpY+Wol
 l2/CuiJMiFXNFh7bVjxFvkUnmS0l5U7phbB9kPCuttnmwFUzdNpv5mg+RYA+Iq0i6g0h
 bCfweBR3xYEswQQXLzJ29iCNWTYkO4+g5lHCEPiw9R/iKYUrbil7/YbpmA4xmGgJBJq6
 gjuA==
X-Gm-Message-State: ACgBeo2+E1Cq1NhV/WeySOM8BCGCGZRTmgvGVMNfL3txbAmU130i7oUh
 CbLlLzafziLinqH//0YR9aJN2k+fbQE=
X-Google-Smtp-Source: AA6agR7BtBZ+UruTwthRHVx/8kO3kLNYB9qJu9pDxuDlGMpFXRuHmDBJ/cm+E/JQRrDu1bu6YSVPUw==
X-Received: by 2002:a63:e217:0:b0:41a:69b1:a68e with SMTP id
 q23-20020a63e217000000b0041a69b1a68emr5510151pgh.428.1660367643566; 
 Fri, 12 Aug 2022 22:14:03 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 z18-20020aa79492000000b0052d6ad246a4sm2627921pfk.144.2022.08.12.22.14.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Aug 2022 22:14:02 -0700 (PDT)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
From: Jim Porter <jporterbugs@HIDDEN>
Message-ID: <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN>
Date: Fri, 12 Aug 2022 22:14:02 -0700
MIME-Version: 1.0
In-Reply-To: <87mtc9o5af.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
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 (-)

On 8/12/2022 8:22 AM, Lars Ingebrigtsen wrote:
> Jim Porter <jporterbugs@HIDDEN> writes:
> 
>> Here are some patches to fix this.
> 
> I haven't tested the patches, but reading them, they make sense to me,
> so please go ahead and push.

Thanks for taking a look. Merged as 
f3408af0a3251a744cb0b55b5e153565bfd57ea3.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 13 Aug 2022 07:02:01 +0000
Resent-Message-ID: <handler.57129.B57129.166037409327051 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Jim Porter <jporterbugs@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166037409327051
          (code B ref 57129); Sat, 13 Aug 2022 07:02:01 +0000
Received: (at 57129) by debbugs.gnu.org; 13 Aug 2022 07:01:33 +0000
Received: from localhost ([127.0.0.1]:59544 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oMl9J-00072F-8p
	for submit <at> debbugs.gnu.org; Sat, 13 Aug 2022 03:01:33 -0400
Received: from eggs.gnu.org ([209.51.188.92]:33504)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oMl9G-000722-QV
 for 57129 <at> debbugs.gnu.org; Sat, 13 Aug 2022 03:01:31 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:44390)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oMl9B-0007ck-Fz; Sat, 13 Aug 2022 03:01:25 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=0za/p4bW66vvCfDhe/VTfduRwj3jlWzxG0ZH/WiL+bA=; b=YettXuTIZML7
 YOOmk+majt9vtkTroQARpLGiIwtm7a7TDfpWYwVQObsUeW7bmH2nxRbWQZsCEoenwE18m07QGEC4+
 s8sGh4Dc3DeR4H9D/gsXxaNdSv8xlsM4+JC7b2ipoT8Yivsh41YH0IiiWA3BVmMHsnbhMlm53Qbiw
 0a2OeEc3uRa1orHPaGz42NwJPevaH11HeeM1TyVVnE5sIw5B1zAhvwStVe6CQsl6Zkon+6qjfmy/c
 FhqMvhOcfnwybc07JvZH4QtcX88aiX2GKBhCRnSj1IgOQKA2sSLN6pURBTMoy80X4qU080DaY0S+H
 h9ik2a8qk6Txc0EkvV/xkw==;
Received: from [87.69.77.57] (port=1075 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oMl9A-0004UO-Tk; Sat, 13 Aug 2022 03:01:25 -0400
Date: Sat, 13 Aug 2022 10:01:21 +0300
Message-Id: <83h72gmxtq.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> (message from
 Jim Porter on Fri, 12 Aug 2022 22:14:02 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN>
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 (---)

> Cc: 57129 <at> debbugs.gnu.org
> From: Jim Porter <jporterbugs@HIDDEN>
> Date: Fri, 12 Aug 2022 22:14:02 -0700
> 
> On 8/12/2022 8:22 AM, Lars Ingebrigtsen wrote:
> > Jim Porter <jporterbugs@HIDDEN> writes:
> > 
> >> Here are some patches to fix this.
> > 
> > I haven't tested the patches, but reading them, they make sense to me,
> > so please go ahead and push.
> 
> Thanks for taking a look. Merged as 
> f3408af0a3251a744cb0b55b5e153565bfd57ea3.

One of the tests in esh-var-tests.el failed on MS-Windows; I fixed it,
although I'm not sure it's a correct fix, because the Eshell manual
seems to say that a built-in implementation of a command should be
preferred by default?

One of the tests in eshell-tests.el also fails on MS-Windows, but I
have no idea how to fix it, nor even what are the details of the
test.  Are the 'echo' commands in that test supposed to be external
shell commands or internal Eshell commands?  If the former, it could
be a problem on MS-Windows.

(This is a good example of my gripes about the test suite, which I
described in bug#57150 yesterday: debugging a failure is unnecessarily
hard and tedious.  There's no information about the specific intent of
the test and its inner workings and assumptions, except the general
idea described in the doc string.)

Here's the failure I get:

  Test eshell-test/subcommand-reset-in-pipeline backtrace:
    signal(ert-test-failed (((should (equal (eshell-test-command-result
    ert-fail(((should (equal (eshell-test-command-result (format templat
    (if (unwind-protect (setq value-38 (apply fn-36 args-37)) (setq form
    (let (form-description-40) (if (unwind-protect (setq value-38 (apply
    (let ((value-38 'ert-form-evaluation-aborted-39)) (let (form-descrip
    (let* ((fn-36 #'equal) (args-37 (condition-case err (let ((signal-ho
    (let ((template (car --dolist-tail--))) (let* ((fn-26 #'equal) (args
    (while --dolist-tail-- (let ((template (car --dolist-tail--))) (let*
    (let ((--dolist-tail-- '("echo {%s} | *cat" "echo ${%s} | *cat" "*ca
    (closure (t) nil (let* ((fn-21 #'executable-find) (args-22 (conditio
    ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
    ert-run-test(#s(ert-test :name eshell-test/subcommand-reset-in-pipel
    ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
    ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
    ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
    ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
    eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
    command-line-1(("-L" ";." "-l" "ert" "-l" "lisp/eshell/eshell-tests.
    command-line()
    normal-top-level()
  Test eshell-test/subcommand-reset-in-pipeline condition:
      (ert-test-failed
       ((should
	 (equal
	  (eshell-test-command-result ...)
	  "first"))
	:form
	(equal nil "first")
	:value nil :explanation
	(different-types nil "first")))
     FAILED  18/18  eshell-test/subcommand-reset-in-pipeline (1.873920 sec) at lisp/eshell/eshell-tests.el:80




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Jim Porter <jporterbugs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 13 Aug 2022 18:57:02 +0000
Resent-Message-ID: <handler.57129.B57129.16604169913378 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.16604169913378
          (code B ref 57129); Sat, 13 Aug 2022 18:57:02 +0000
Received: (at 57129) by debbugs.gnu.org; 13 Aug 2022 18:56:31 +0000
Received: from localhost ([127.0.0.1]:35101 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oMwJD-0000sQ-Dw
	for submit <at> debbugs.gnu.org; Sat, 13 Aug 2022 14:56:31 -0400
Received: from mail-pl1-f180.google.com ([209.85.214.180]:47005)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1oMwJB-0000sC-Dq
 for 57129 <at> debbugs.gnu.org; Sat, 13 Aug 2022 14:56:29 -0400
Received: by mail-pl1-f180.google.com with SMTP id jm11so1093509plb.13
 for <57129 <at> debbugs.gnu.org>; Sat, 13 Aug 2022 11:56:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:from:to:cc;
 bh=nd4O7bcDJhEIRyTVDAR7SqGynpKMwDeux89I3OiKZas=;
 b=U8okBEMFvngnhnBHUOWlOrxaQaJ41IuNhskKhPIvXPQxM6AQ/BI7n8d2OqUCQOnYc+
 5AEX8LfcFJPLbxx4ZkllxCKocsKMN5Bqh/SK9sOWq7FJ7/FO7VdG4iLdCnKDFBMwFcaH
 knJqmpEttqcMwt1thkKG9qKY/y1kyTZjR84K6Ms2M0gfidoXhSZfqx9Sb60smAY9i6u3
 0lRuxMksh50J2T2/bbhy6zx88Eg8VZv/0e9nHSXERd8MMhg6snhX2xqXRIrBBwKCTXM8
 Q+iiJC8FHiXpq/sW8Yus6Eq3Cb49B6SjgfAYm6UL/couGFtiyQ6rK28xdpsxez4W+EMh
 5YEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:x-gm-message-state
 :from:to:cc;
 bh=nd4O7bcDJhEIRyTVDAR7SqGynpKMwDeux89I3OiKZas=;
 b=13ZQo6RGn6Qe3tpoN5p1P3qihtSy3Gy28qmesaejIYHXwcfXtGQOrCO8PXofRHC3Ob
 2NFax8TJf4no8aOTD80Q/0YhJyaki7IMdav3csnUkD+4s/kWVbf3FPkpzDeZMKWdaKxX
 E04nlK5QINleYprBSbXrHEtSp/tFkjQIPY4h+sbw7Khz0iPMqf0UCO7EsZs026bQxDIH
 WJJWB+jdw1Uxdcs6upsH3IuXJeLMMtMLnt0Qq8idocMZ50l2j8M79qGWJSrzLdl0t6xX
 +NacpXnKYqxrdqj5wJrPF08Ie/6ZmOBuZ85yTNusYZL2Ombs9Xu8SfEFm8sxGFwBDOdN
 2paA==
X-Gm-Message-State: ACgBeo1LuB8BgS3XyPxF+lOdrmu/FEg4d6Fqqr6NMLFJPSJ15tzTvO3O
 6jEwJLnBfgRf5pzyGUp34yTl1OFx3wU=
X-Google-Smtp-Source: AA6agR7ec/dS7nGDjOzB9aN1M6V5hLbzWbBaWcjwaP7pRLPznYzWk1k7yQ2I7hywdrosKL8B2xpiQw==
X-Received: by 2002:a17:902:cf0e:b0:172:60b7:777c with SMTP id
 i14-20020a170902cf0e00b0017260b7777cmr2266076plg.132.1660416983328; 
 Sat, 13 Aug 2022 11:56:23 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 fv20-20020a17090b0e9400b001f2fbf2c42esm1934541pjb.26.2022.08.13.11.56.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 13 Aug 2022 11:56:22 -0700 (PDT)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
From: Jim Porter <jporterbugs@HIDDEN>
Message-ID: <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN>
Date: Sat, 13 Aug 2022 11:56:20 -0700
MIME-Version: 1.0
In-Reply-To: <83h72gmxtq.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
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 (-)

On 8/13/2022 12:01 AM, Eli Zaretskii wrote:
> One of the tests in esh-var-tests.el failed on MS-Windows; I fixed it,
> although I'm not sure it's a correct fix, because the Eshell manual
> seems to say that a built-in implementation of a command should be
> preferred by default?

Sorry about that. I think that's the right fix for that case. Maybe it 
would make sense to set 'eshell-prefer-lisp-functions' to t for most of 
the Eshell tests to improve reproducibility on various platforms; tests 
that want an external command can just put a "*" in front of the command 
name.

> One of the tests in eshell-tests.el also fails on MS-Windows, but I
> have no idea how to fix it, nor even what are the details of the
> test.  Are the 'echo' commands in that test supposed to be external
> shell commands or internal Eshell commands?  If the former, it could
> be a problem on MS-Windows.

The echo commands should be internal Eshell commands (since there's an 
'eshell/echo' Lisp function, that one should always be preferred by Eshell).

I'm surprised that test fails on MS Windows, since it *should* be 
testing internal Eshell logic that's not platform-specific. Based on the 
failure, it looks like one of the following commands is returning the 
wrong value:

   echo {echo $eshell-in-pipeline-p | echo} | *cat
   echo ${echo $eshell-in-pipeline-p | echo} | *cat
   *cat $<echo $eshell-in-pipeline-p | echo> | *cat

All of these should return 'first'. That test is just checking that, 
when you're in a subcommand ({...}, ${...}, or $<...>), the value of 
'eshell-in-pipeline-p' shouldn't be influenced by the pipeline in the 
"super-command". Some built-in Eshell commands consult 
'eshell-in-pipeline-p', and if it had the wrong value, they might do the 
wrong thing.

If nothing else, it would probably be helpful to set up ERT explainers 
so that the error messages are easier to understand. As it is now, 
they're not very explanatory.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Sean Whitton <spwhitton@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 14 Aug 2022 05:04:01 +0000
Resent-Message-ID: <handler.57129.B57129.166045343920770 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Jim Porter <jporterbugs@HIDDEN>
Cc: 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166045343920770
          (code B ref 57129); Sun, 14 Aug 2022 05:04:01 +0000
Received: (at 57129) by debbugs.gnu.org; 14 Aug 2022 05:03:59 +0000
Received: from localhost ([127.0.0.1]:35599 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oN5n5-0005Ov-0j
	for submit <at> debbugs.gnu.org; Sun, 14 Aug 2022 01:03:59 -0400
Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:56219)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <spwhitton@HIDDEN>) id 1oN5n0-0005Oe-GX
 for 57129 <at> debbugs.gnu.org; Sun, 14 Aug 2022 01:03:57 -0400
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 2E43032001FF;
 Sun, 14 Aug 2022 01:03:48 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Sun, 14 Aug 2022 01:03:48 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=spwhitton.name;
 h=cc:cc:content-type:date:date:from:from:in-reply-to
 :in-reply-to:message-id:mime-version:references:reply-to:sender
 :subject:subject:to:to; s=fm3; t=1660453427; x=1660539827; bh=zG
 YKT0EGjuubXAUAW6KGeI8aYmem3qpc+gh80bXiazk=; b=ho5BPFHUdOPoa3uQ3d
 7egbu3y3HzyvyFvZK4ycabhmGamCueLjNety+MbJyLRW0lLvN/GflrSk4uSzoy3F
 QnHSFMbYBLuvPv3fhtbq3gJyPwkAzYRwqp9fr/DkiPvqx3FcOcdwzDVxwNY1qVCE
 jrRcqqWfr4daP8zAbeCxqZsr8ByB0Tyip/fjvzFreh4kO5i1W3OokhR0I/BOQ8jp
 NrRSUenNkjUCpc5yYk7OjJvoaqsZJoT5ORm0e85RzwXBVz/G4jon72spZr7tUeb7
 pCjjPqeFH5MNzx+tQ3pRyvVEcmpiNovTfzTKHzh26KdGXwrilH8cEBsBCqZpI1Rz
 47tQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
 :feedback-id:from:from:in-reply-to:in-reply-to:message-id
 :mime-version:references:reply-to:sender:subject:subject:to:to
 :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
 fm1; t=1660453427; x=1660539827; bh=zGYKT0EGjuubXAUAW6KGeI8aYmem
 3qpc+gh80bXiazk=; b=2x2jNXb4+JN88YRicWRgrLR9+2fiHtx0y1azOmbLvNUj
 NJwnUFdOxXyOWmD50BLRyNNlOrY7SQf803ZOm+Abpso12hA6WcPPoT1045A7rNzA
 bBVmPZg8R2tUEVpepwPgwiy+2XRiCieuPVNntPDnfYTRVh/HddTV7/LnK5CvrOgT
 1TRBY1hTIgBpjb7JP7aVgJtVsPPxpRDW/hB0qSRWRR++H4OT+uAo7ASuyGdTi34G
 rvKN80aGa5XYqo8vBWa/R5envBamMS4OPgOovjF0rFameGEVf7yPlFLdF3N/Vqbd
 rWky2hkWBP0o0hc9HWHgFZWgJgy9tqV4PmolRlrj8g==
X-ME-Sender: <xms:M4L4Ymd8ObwBvYAEs9z6aFDWzCsVKQmxRzfK5OlCiB2i1bAw_IIaoA>
 <xme:M4L4YgOeKBOBMf5ZGi1PJkQgNJ91z-3WTLDXoKztnzp7eyLFLVktVyNMbDeNcg6WD
 uYU4tlT9_M6sxV0ag>
X-ME-Received: <xmr:M4L4YnhRZuIWvWE7o5eNyqJpCADGS2Nu7yF3L8WqZxrnwFzdJtSmz0mhDcs3JWpHJ7_1yF4U6uI1srni5hLQ09wKa4wUotkHm-cCYni-PML5u6Z7TQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvdegledgleefucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufgjfhffkfgfgggtsehttd
 dttddtredtnecuhfhrohhmpefuvggrnhcuhghhihhtthhonhcuoehsphifhhhithhtohhn
 sehsphifhhhithhtohhnrdhnrghmvgeqnecuggftrfgrthhtvghrnheptdffvdffueelue
 dvteekvdevhefghedvgeevgffhvedukeeggeelveegjeekteeknecuvehluhhsthgvrhfu
 ihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepshhpfihhihhtthhonhesshhpfi
 hhihhtthhonhdrnhgrmhgv
X-ME-Proxy: <xmx:M4L4Yj_sRcI5J1AtRN8mhQyaU_OEUcRoWbpyrgP0TH1mDkclQjTe-Q>
 <xmx:M4L4Yiv1XTINl4ZZnY9CgDh0pNDy-D7gHVuSfY09OkgUShEjXGJr7A>
 <xmx:M4L4YqGh0Kom43t9qLP7ytv79npGCw-cvaSIcy5BSKttGFlBV2nCKA>
 <xmx:M4L4Yo0lbzLvwE2CLavTcj5Bz4yDFM4TSkHfkJfjtT9U3yh0wqQKYA>
Feedback-ID: i23c04076:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 14 Aug 2022 01:03:47 -0400 (EDT)
Received: by melete.silentflame.com (Postfix, from userid 1000)
 id 2AF077EDB9A; Sat, 13 Aug 2022 22:03:46 -0700 (MST)
From: Sean Whitton <spwhitton@HIDDEN>
In-Reply-To: <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> (Jim Porter's
 message of "Fri, 12 Aug 2022 22:14:02 -0700")
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN>
 <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN>
Date: Sat, 13 Aug 2022 22:03:46 -0700
Message-ID: <87mtc7wh59.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
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 (-)

Hello,

On Fri 12 Aug 2022 at 10:14PM -07, Jim Porter wrote:

> On 8/12/2022 8:22 AM, Lars Ingebrigtsen wrote:
>> Jim Porter <jporterbugs@HIDDEN> writes:
>>
>>> Here are some patches to fix this.
>> I haven't tested the patches, but reading them, they make sense to me,
>> so please go ahead and push.
>
> Thanks for taking a look. Merged as f3408af0a3251a744cb0b55b5e153565bfd57ea3.

Thanks for working on this, pretty cool.

-- 
Sean Whitton




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 14 Aug 2022 05:09:02 +0000
Resent-Message-ID: <handler.57129.B57129.166045369621567 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Jim Porter <jporterbugs@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166045369621567
          (code B ref 57129); Sun, 14 Aug 2022 05:09:02 +0000
Received: (at 57129) by debbugs.gnu.org; 14 Aug 2022 05:08:16 +0000
Received: from localhost ([127.0.0.1]:35608 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oN5rD-0005bn-MH
	for submit <at> debbugs.gnu.org; Sun, 14 Aug 2022 01:08:16 -0400
Received: from eggs.gnu.org ([209.51.188.92]:53844)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oN5rA-0005bX-Mt
 for 57129 <at> debbugs.gnu.org; Sun, 14 Aug 2022 01:08:13 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:38212)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oN5r5-0000Ex-BG; Sun, 14 Aug 2022 01:08:07 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=wwj8iPp1pw6US8Cnw4BfPlkkjS8/4kvB+P7BwyHYDjw=; b=rHZfBj9GX5ja
 2/uiwysZbge1PZELxHEe3GKyHryUjMN6lraZeAqr6eHUj8vW53SkwV3oWW6P+4FcO2gDN7/6p3JnC
 Uo10RMNzdZwNCNazhNxQuF9WKsGfmBzqXe7Hy4ls2Lsybzqu4k9jUESNyu++YmRIkxyS3/fR8ZsQm
 McEZ2VY6O2V1OgAJ3ckJDAlduVUn10ARxf1BTg4XPnUnkSnnc4jZUu6YqQA/1GAJdEaxz1jgitzaU
 fwkHxOhIdJbftVUeCMnMy2wY7xrbsVyWgnSRZhoZ8zQkA4KSiqa10yuWvX8oTllZtz5bw0WjAsdY1
 jUJLKOHwziJAzzzP3hSbmw==;
Received: from [87.69.77.57] (port=2444 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oN5r4-0000lX-M6; Sun, 14 Aug 2022 01:08:07 -0400
Date: Sun, 14 Aug 2022 08:07:49 +0300
Message-Id: <83pmh3l8ey.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> (message from
 Jim Porter on Sat, 13 Aug 2022 11:56:20 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN>
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 (---)

> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
> From: Jim Porter <jporterbugs@HIDDEN>
> Date: Sat, 13 Aug 2022 11:56:20 -0700
> 
> On 8/13/2022 12:01 AM, Eli Zaretskii wrote:
> > One of the tests in esh-var-tests.el failed on MS-Windows; I fixed it,
> > although I'm not sure it's a correct fix, because the Eshell manual
> > seems to say that a built-in implementation of a command should be
> > preferred by default?
> 
> Sorry about that. I think that's the right fix for that case. Maybe it 
> would make sense to set 'eshell-prefer-lisp-functions' to t for most of 
> the Eshell tests to improve reproducibility on various platforms; tests 
> that want an external command can just put a "*" in front of the command 
> name.

But then this fragment from the Eshell manual:

     The command can be either an Elisp function or an external command.
  Eshell looks first for an alias (*note Aliases::) with the same name as
  the command, then a built-in (*note Built-ins::) or a function with the
  same name; if there is no match, it then tries to execute it as an
  external command.

seems to be inaccurate?  Since 'format' exists as a built-in command,
why did Eshell in this case invoke the external command instead?

> I'm surprised that test fails on MS Windows, since it *should* be 
> testing internal Eshell logic that's not platform-specific. Based on the 
> failure, it looks like one of the following commands is returning the 
> wrong value:
> 
>    echo {echo $eshell-in-pipeline-p | echo} | *cat
>    echo ${echo $eshell-in-pipeline-p | echo} | *cat
>    *cat $<echo $eshell-in-pipeline-p | echo> | *cat
> 
> All of these should return 'first'.

The first two do; the last one returns nothing.

> That test is just checking that, 
> when you're in a subcommand ({...}, ${...}, or $<...>), the value of 
> 'eshell-in-pipeline-p' shouldn't be influenced by the pipeline in the 
> "super-command". Some built-in Eshell commands consult 
> 'eshell-in-pipeline-p', and if it had the wrong value, they might do the 
> wrong thing.

So how to investigate this failure further?

> If nothing else, it would probably be helpful to set up ERT explainers 
> so that the error messages are easier to understand. As it is now, 
> they're not very explanatory.

Indeed, more explanations in this and other tests will be most
welcome.

Thanks.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Jim Porter <jporterbugs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 14 Aug 2022 05:38:02 +0000
Resent-Message-ID: <handler.57129.B57129.166045544724702 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166045544724702
          (code B ref 57129); Sun, 14 Aug 2022 05:38:02 +0000
Received: (at 57129) by debbugs.gnu.org; 14 Aug 2022 05:37:27 +0000
Received: from localhost ([127.0.0.1]:35645 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oN6JR-0006QL-9j
	for submit <at> debbugs.gnu.org; Sun, 14 Aug 2022 01:37:27 -0400
Received: from mail-pl1-f172.google.com ([209.85.214.172]:40905)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1oN6JL-0006Q3-E5
 for 57129 <at> debbugs.gnu.org; Sun, 14 Aug 2022 01:37:23 -0400
Received: by mail-pl1-f172.google.com with SMTP id x23so3944816pll.7
 for <57129 <at> debbugs.gnu.org>; Sat, 13 Aug 2022 22:37:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-language:in-reply-to:mime-version:date:message-id:from
 :references:cc:to:subject:from:to:cc;
 bh=HocWahDv5Qht2tm0dREWw201fk24lC4CZutx97AdDHA=;
 b=YISQGFBDqpDi2YC4fuCgVVvaPWb0bnUNCj6/gQrHY5lA4BUfisyvoPDG8y00itTZJS
 Br5t/wIFQXtkFMlZgZ3ntRd+NCmHso/FNtZOF22T64bGchwai3m++fk/skhCafwXjv44
 inChUZn1CZwwCMSC9Doz8kaCqPLNtSLhiH3mL/BfS/0bi090dR2ukFq7zICwdH7EM/mS
 ICZu5AUMKqkNXgI2tLK13d8QajLjAnvcg1MTbRqs06tgDnWg6S0GsRIvZgdBi3ct19K3
 V814By+CATMQDbiudfMbqxptLEcd6DN4XiqeZcmrktKX4YUgCQ8s3BeSca0yVfKaVUA6
 MW1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-language:in-reply-to:mime-version:date:message-id:from
 :references:cc:to:subject:x-gm-message-state:from:to:cc;
 bh=HocWahDv5Qht2tm0dREWw201fk24lC4CZutx97AdDHA=;
 b=AHRg+P2Hl0uOueJzLKJdg5WLMmkTwC27N8XMAU2cpNpPNyuSB1kOeamP69AcrQyAoe
 quGKvTdv18UrI4C/UkeG3hvsX4YDiCQRSvUly0a7ujd0FJWkde/4Z1w31ITBAGUaBpXZ
 g9pt45/vIHdiqZgkAKkU2BJvUBd7jN2ZWGW3ttStMCMPu9BwcoIUskI01NaymWDMg5kC
 mwntWh5EutOz3de8dPRNrI5DeoP1zNGPSsxhqxzMJKYqE/Fkf4NqQqn4bNb/Xm8UmJWW
 3j7jhBMYcSAuDgFc2R+igfvdb8ttEeuSovoHo7QgWWw0gO8ACVxbVqBLclxh72KyXuLa
 giXw==
X-Gm-Message-State: ACgBeo3SkqMKnkllMg1KeZ2K9LNQfM8t0UWPq16zVot6sMNRCxDGvf0R
 zgNFGToqOz56EN/fbraL9q2G2MtXH5A=
X-Google-Smtp-Source: AA6agR4VVaJaquNprAfA5LHHQ7JqjlEItZc97k4NAMEC3LJUHBObfOyqEmou3JnOn/IErYT0cV4gUw==
X-Received: by 2002:a17:902:d144:b0:170:cabe:a719 with SMTP id
 t4-20020a170902d14400b00170cabea719mr11265335plt.76.1660455433407; 
 Sat, 13 Aug 2022 22:37:13 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 b14-20020a170902d50e00b0016dc1df9bf7sm4685617plg.27.2022.08.13.22.37.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 13 Aug 2022 22:37:12 -0700 (PDT)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
From: Jim Porter <jporterbugs@HIDDEN>
Message-ID: <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN>
Date: Sat, 13 Aug 2022 22:37:12 -0700
MIME-Version: 1.0
In-Reply-To: <83pmh3l8ey.fsf@HIDDEN>
Content-Type: multipart/mixed; boundary="------------1679FDC9C3768559027CA3F9"
Content-Language: en-US
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 (-)

This is a multi-part message in MIME format.
--------------1679FDC9C3768559027CA3F9
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 8/13/2022 10:07 PM, Eli Zaretskii wrote:
>> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
>> From: Jim Porter <jporterbugs@HIDDEN>
>> Date: Sat, 13 Aug 2022 11:56:20 -0700
>>
>> Sorry about that. I think that's the right fix for that case. Maybe it
>> would make sense to set 'eshell-prefer-lisp-functions' to t for most of
>> the Eshell tests to improve reproducibility on various platforms; tests
>> that want an external command can just put a "*" in front of the command
>> name.
> 
> But then this fragment from the Eshell manual:
> 
>       The command can be either an Elisp function or an external command.
>    Eshell looks first for an alias (*note Aliases::) with the same name as
>    the command, then a built-in (*note Built-ins::) or a function with the
>    same name; if there is no match, it then tries to execute it as an
>    external command.
> 
> seems to be inaccurate?  Since 'format' exists as a built-in command,
> why did Eshell in this case invoke the external command instead?

"Built-in" in that part of the manual refers to a function named 
'eshell/FOO'. If you run "FOO" as an Eshell command, it will check for 
'eshell/FOO' before an external command on your system. The manual could 
probably stand to be improved here.

>> I'm surprised that test fails on MS Windows, since it *should* be
>> testing internal Eshell logic that's not platform-specific. Based on the
>> failure, it looks like one of the following commands is returning the
>> wrong value:
>>
>>     echo {echo $eshell-in-pipeline-p | echo} | *cat
>>     echo ${echo $eshell-in-pipeline-p | echo} | *cat
>>     *cat $<echo $eshell-in-pipeline-p | echo> | *cat
>>
>> All of these should return 'first'.
> 
> The first two do; the last one returns nothing.
[snip]
> So how to investigate this failure further?

I have access to an MS Windows system (but don't have a build 
environment set up for native MS Windows builds), so I can try to 
reproduce this using the Emacs 29 pretest binaries in the next few days. 
Hopefully that works.

If you'd like to dig into this further yourself, you could try running 
this command in Eshell:

   eshell-parse-command '*cat $<echo $eshell-in-pipeline-p | echo> | *cat'

That will print the Lisp form that the command gets converted to. I've 
attached the result that I get in a recent Emacs 29 build on GNU/Linux. 
The two functions that set 'eshell-in-pipeline-p' in there are:

* 'eshell-as-subcommand', which resets it to nil so that the outer
   command's pipeline state doesn't interfere with the subcommand.

* 'eshell-execute-pipeline', which calls 'eshell-do-pipelines' (except
   on MS-DOS, I think) and should set 'eshell-in-pipeline-p' to 'first'
   in the above case.

>> If nothing else, it would probably be helpful to set up ERT explainers
>> so that the error messages are easier to understand. As it is now,
>> they're not very explanatory.
> 
> Indeed, more explanations in this and other tests will be most
> welcome.

Yeah, this test in particular is high up on the list of tests that needs 
more explanation. It's pretty subtle, and the test doesn't really serve 
as a good example of why someone would care that this behavior works the 
way the test demands it.

--------------1679FDC9C3768559027CA3F9
Content-Type: text/plain; charset=UTF-8;
 name="parsed-command.el"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="parsed-command.el"

KGVzaGVsbC10cmFwLWVycm9ycwogKGVzaGVsbC1leGVjdXRlLXBpcGVsaW5lCiAgJygoZXNo
ZWxsLW5hbWVkLWNvbW1hbmQKICAgICAoZXNoZWxsLWNvbmNhdCBuaWwgIioiICJjYXQiKQog
ICAgIChsaXN0CiAgICAgIChlc2hlbGwtZXNjYXBlLWFyZwogICAgICAgKGxldAogICAgICAg
ICAgICgoaW5kaWNlcwogICAgICAgICAgICAgKGVzaGVsbC1ldmFsLWluZGljZXMgJ25pbCkp
KQogICAgICAgICAobGV0CiAgICAgICAgICAgICAoKGVzaGVsbC1jdXJyZW50LWhhbmRsZXMK
ICAgICAgICAgICAgICAgKGVzaGVsbC1jcmVhdGUtaGFuZGxlcyAiL3RtcC9RcVBGd28iICdv
dmVyd3JpdGUpKSkKICAgICAgICAgICAocHJvZ24KICAgICAgICAgICAgIChlc2hlbGwtYXMt
c3ViY29tbWFuZAogICAgICAgICAgICAgIChlc2hlbGwtdHJhcC1lcnJvcnMKICAgICAgICAg
ICAgICAgKGVzaGVsbC1leGVjdXRlLXBpcGVsaW5lCiAgICAgICAgICAgICAgICAnKChlc2hl
bGwtbmFtZWQtY29tbWFuZCAiZWNobyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChsaXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGVzaGVsbC1lc2NhcGUtYXJnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChsZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICgoaW5kaWNlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoZXNoZWxsLWV2YWwtaW5kaWNlcyAnbmlsKSkpCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1nZXQtdmFyaWFibGUKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIygiZXNoZWxsLWlu
LXBpcGVsaW5lLXAiIDAgMjAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoZXNjYXBlZCB0KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5kaWNlcyBuaWwpKSkpKQogICAgICAgICAgICAgICAgICAocHJv
Z24KICAgICAgICAgICAgICAgICAgICAoaWdub3JlCiAgICAgICAgICAgICAgICAgICAgIChl
c2hlbGwtc2V0LW91dHB1dC1oYW5kbGUgMSAnb3ZlcndyaXRlICIvdG1wL1FxUEZ3byIpKQog
ICAgICAgICAgICAgICAgICAgIChlc2hlbGwtbmFtZWQtY29tbWFuZCAiZWNobyIpKSkpKSkK
ICAgICAgICAgICAgIChpZ25vcmUKICAgICAgICAgICAgICAobmNvbmMgZXNoZWxsLXRoaXMt
Y29tbWFuZC1ob29rCiAgICAgICAgICAgICAgICAgICAgIChsaXN0CiAgICAgICAgICAgICAg
ICAgICAgICAjJyhsYW1iZGEgbmlsCiAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0
ZS1maWxlICIvdG1wL1FxUEZ3byIpKSkpKQogICAgICAgICAgICAgKGVzaGVsbC1hcHBseS1p
bmRpY2VzICIvdG1wL1FxUEZ3byIgaW5kaWNlcyBuaWwpKSkpKSkpCiAgICAoZXNoZWxsLW5h
bWVkLWNvbW1hbmQKICAgICAoZXNoZWxsLWNvbmNhdCBuaWwgIioiICJjYXQiKSkpKSkK
--------------1679FDC9C3768559027CA3F9--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 14 Aug 2022 07:31:02 +0000
Resent-Message-ID: <handler.57129.B57129.16604622274149 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Jim Porter <jporterbugs@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.16604622274149
          (code B ref 57129); Sun, 14 Aug 2022 07:31:02 +0000
Received: (at 57129) by debbugs.gnu.org; 14 Aug 2022 07:30:27 +0000
Received: from localhost ([127.0.0.1]:35719 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oN84p-00014r-DZ
	for submit <at> debbugs.gnu.org; Sun, 14 Aug 2022 03:30:27 -0400
Received: from eggs.gnu.org ([209.51.188.92]:39666)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oN84m-00014Z-QX
 for 57129 <at> debbugs.gnu.org; Sun, 14 Aug 2022 03:30:25 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:41256)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oN84h-0001je-Cs; Sun, 14 Aug 2022 03:30:19 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=hTx1+YY9mnnSi2UQLyjmHsrq5eQSJaRSMMpS3QoY3Nk=; b=M0OmwcWm++w0Xrd9G0F4
 8hokq02LmY8cfuQNxXRTJcdwZuuAchPVTw53yAhuGvZU9nfYHIkSciuK2BBzk0KIP98F55wGJjrr8
 afVO+k+6S0e6gzZlu1736cyhD/nPlmUxzIqTZ2aiKlTJutK4WLvnocaSuEGflEervycugsshmhKWE
 qoaIajeNmNgcm56nHvK8fFgA2ECxaRpwrWRzHHU5AzcrphldoVqaAiZta8PmnJ6/gCNEVCVynxiB9
 Pj8lwYL4mGHIzCdOp/XMrKPtKPgyqkzs5seFbfF42I6QEOiNoz4Y9Kpkepcc3cAyrK7q//0zeJZwS
 GXs9LgmOQTHntw==;
Received: from [87.69.77.57] (port=3169 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oN84g-00060B-SS; Sun, 14 Aug 2022 03:30:19 -0400
Date: Sun, 14 Aug 2022 10:30:02 +0300
Message-Id: <837d3bl1tx.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> (message from
 Jim Porter on Sat, 13 Aug 2022 22:37:12 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
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 (---)

> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
> From: Jim Porter <jporterbugs@HIDDEN>
> Date: Sat, 13 Aug 2022 22:37:12 -0700
> 
> > But then this fragment from the Eshell manual:
> > 
> >       The command can be either an Elisp function or an external command.
> >    Eshell looks first for an alias (*note Aliases::) with the same name as
> >    the command, then a built-in (*note Built-ins::) or a function with the
> >    same name; if there is no match, it then tries to execute it as an
> >    external command.
> > 
> > seems to be inaccurate?  Since 'format' exists as a built-in command,
> > why did Eshell in this case invoke the external command instead?
> 
> "Built-in" in that part of the manual refers to a function named 
> 'eshell/FOO'. If you run "FOO" as an Eshell command, it will check for 
> 'eshell/FOO' before an external command on your system. The manual could 
> probably stand to be improved here.

The manual definitely should be clarified in that matter, because:

  d:/gnu/git/emacs/trunk/src $ which format
  format is a built-in function in ‘C source code’.

To me this says that 'format' is a built-in command, and the manual
says such commands should be invoked in preference to external
commands.  The "eshell/" part is not mentioned anywhere.

> If you'd like to dig into this further yourself, you could try running 
> this command in Eshell:
> 
>    eshell-parse-command '*cat $<echo $eshell-in-pipeline-p | echo> | *cat'
> 
> That will print the Lisp form that the command gets converted to. I've 
> attached the result that I get in a recent Emacs 29 build on GNU/Linux. 

I get the same output, with 2 exceptions:

  . the name of the temporary file is different
  . instead of a simple string here:

                     (eshell-set-output-handle 1 'overwrite "/tmp/QqPFwo"))

    I get a file name split into several parts, which are then
    concatenated by eshell-concat:

		     (eshell-set-output-handle 1 'overwrite
					       (eshell-extended-glob
						(eshell-concat nil "c:/DOCUME" "~" "1/Zaretzky/LOCALS" "~" "1/Temp/OIi8Wd")))

Any chance that the "~" parts here somehow get in the way?

If not, any other thoughts?  My main worry is that there's something
here specific to how we invoke subprocesses, which you lately changed.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Jim Porter <jporterbugs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 14 Aug 2022 21:41:01 +0000
Resent-Message-ID: <handler.57129.B57129.166051321819397 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166051321819397
          (code B ref 57129); Sun, 14 Aug 2022 21:41:01 +0000
Received: (at 57129) by debbugs.gnu.org; 14 Aug 2022 21:40:18 +0000
Received: from localhost ([127.0.0.1]:40003 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNLLF-00052n-KK
	for submit <at> debbugs.gnu.org; Sun, 14 Aug 2022 17:40:17 -0400
Received: from mail-pg1-f170.google.com ([209.85.215.170]:46686)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1oNLLC-00052U-8v
 for 57129 <at> debbugs.gnu.org; Sun, 14 Aug 2022 17:40:16 -0400
Received: by mail-pg1-f170.google.com with SMTP id d71so5120034pgc.13
 for <57129 <at> debbugs.gnu.org>; Sun, 14 Aug 2022 14:40:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:from:to:cc;
 bh=A7I56gc1B07T9YfRdFMxylcCVPj9jdFOrpU0dl4IB5Q=;
 b=HyBHc/HGNR2tdas7NsO5MoDPY+hVA3zns7M8xwkokytqCAGrxCVl8v2P6kAno+AYYH
 cSM3s2Q0qck9U6rleM1vwI/0kQUNq1/FbTMwBbs0lz02ICL9SLy8ludAX5KqpFrQIBFd
 hW7YdMr/tRlkoYCl2dMbYvqNpSBRcQ5bsK91ITXQkEcK+MuHbwvphOlr6z3fspsZE3Ta
 FZ0XZ3x5zJm9EiRKFGS3oOen9wK1Z427UJNkArJzkQp6w0LBvItYgf7MehddhBmyVs9b
 yEUf5IRH48nsPoXwuN0VA4pjAvdsXd+wPQMCywYYpb/GbO9vaGOCYThhbM7CstaArkf5
 1ZTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:x-gm-message-state
 :from:to:cc;
 bh=A7I56gc1B07T9YfRdFMxylcCVPj9jdFOrpU0dl4IB5Q=;
 b=IEgxcyohjtxyFmUKRbZjyQhsHuMmK0RIn0Z773TbqG6FaSRWC5RODdxr3TfEcsn5Q8
 YQDghtLvy3QOQxn1e8b+rM46acbRq23UpgTZQ7zFe0hDxMexYQbPO52Df47QkdIMuaA1
 xBmMe5AuadrhoEvYUZobtY4DyXNZCqq6rIe6RZE9WhRTuQWtH3JCKmZ3w2ovj7rlGssI
 p49GCwiMoBcImymhnUFk5SAhSDMA6WPQZQE5bJIGztyy6Zm6oWPgnTIjBgFcX1s2DK3k
 2okQtCjpLGWVrJAqMU/X2XpmVsWMTdzKKtcXrwRpB54k5GU/Ybho74tIERLq9ZWvfRUY
 jsqA==
X-Gm-Message-State: ACgBeo1r3LnCoXEIqgQwAEjU0Rl2dlwQKurrFqZwZb1xBCNvp0+2m65V
 2Lfpqnq7GRWsUa0RhBWBFPXw31gwXf8=
X-Google-Smtp-Source: AA6agR4bnQoMmIw93LqmOiRu4LxApIivU213FpKYFvdMJTUZkDRcr5Mw7UIp7eJ1SureCXaq92lUYQ==
X-Received: by 2002:a05:6a00:22c6:b0:52f:4d67:b370 with SMTP id
 f6-20020a056a0022c600b0052f4d67b370mr13465479pfj.58.1660513208403; 
 Sun, 14 Aug 2022 14:40:08 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 lk9-20020a17090b33c900b001df264610c4sm10762883pjb.0.2022.08.14.14.40.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 14 Aug 2022 14:40:07 -0700 (PDT)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
From: Jim Porter <jporterbugs@HIDDEN>
Message-ID: <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN>
Date: Sun, 14 Aug 2022 14:40:06 -0700
MIME-Version: 1.0
In-Reply-To: <837d3bl1tx.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
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 (-)

On 8/14/2022 12:30 AM, Eli Zaretskii wrote:
> The manual definitely should be clarified in that matter, because:
> 
>    d:/gnu/git/emacs/trunk/src $ which format
>    format is a built-in function in ‘C source code’.
> 
> To me this says that 'format' is a built-in command, and the manual
> says such commands should be invoked in preference to external
> commands.  The "eshell/" part is not mentioned anywhere.

I'll work on a fix for that. This is a little more complex than 
immediately apparent though, since Eshell also unfortunately uses the 
term "alias" to refer to two kinds of entities:

1) Command abbreviations created by the user using the 'alias' command,
    e.g. "alias ll 'ls -l'". These are sometimes called "command
    aliases", and are implemented in em-alias.el.

2) Lisp functions with names like 'eshell/FOO'. These are sometimes
    called "alias functions", and are implemented in esh-cmd.el. For
    example, see 'eshell-find-alias-function', which checks if
    'eshell/FOO' exists.

It would probably be good to fix all this terminology for once and for all.

> I get the same output, with 2 exceptions:
> 
>    . the name of the temporary file is different
>    . instead of a simple string here:
> 
>                       (eshell-set-output-handle 1 'overwrite "/tmp/QqPFwo"))
> 
>      I get a file name split into several parts, which are then
>      concatenated by eshell-concat:
> 
> 		     (eshell-set-output-handle 1 'overwrite
> 					       (eshell-extended-glob
> 						(eshell-concat nil "c:/DOCUME" "~" "1/Zaretzky/LOCALS" "~" "1/Temp/OIi8Wd")))
> 
> Any chance that the "~" parts here somehow get in the way?

It's possible. I think Eshell is trying to ensure that the "~" doesn't 
get parsed as "home directory" here. But it could be doing something 
wrong there. I did also touch 'eshell-concat' not too long ago, so I 
might have broken something there.

> If not, any other thoughts?  My main worry is that there's something
> here specific to how we invoke subprocesses, which you lately changed.

You could try some Eshell commands that don't use subprocesses to see if 
that changes anything. For example, these should only use Lisp functions:

   ;; Should print "first" in the Eshell buffer:
   eshell/echo ${eshell/echo $eshell-in-pipeline-p | eshell/echo}
   eshell/echo ${eshell/echo $eshell-in-pipeline-p | eshell/echo} | 
eshell/echo

   ;; Should open a temp file containing "first" in a new buffer:
   find-file $<eshell/echo $eshell-in-pipeline-p | eshell/echo>
   find-file $<eshell/echo $eshell-in-pipeline-p | eshell/echo> | 
eshell/echo

The "eshell/" prefix probably isn't necessary, but I figured it's worth 
being extra-careful here while diagnosing the issue. I'm particularly 
interested in whether the third and fourth commands work. If they work, 
that would definitely point towards a bug in Eshell's subprocess 
handling; if not, then that would point to a bug in the "$<subcommand>" 
handling.

I also filed bug#57216 to add ERT explainers that will print better 
error messages for most of the Eshell tests. That doesn't address the 
sometimes-vague documentation of the tests, but I'll do that separately.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 15 Aug 2022 12:15:02 +0000
Resent-Message-ID: <handler.57129.B57129.166056565929442 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Jim Porter <jporterbugs@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166056565929442
          (code B ref 57129); Mon, 15 Aug 2022 12:15:02 +0000
Received: (at 57129) by debbugs.gnu.org; 15 Aug 2022 12:14:19 +0000
Received: from localhost ([127.0.0.1]:41147 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNYz4-0007eo-LH
	for submit <at> debbugs.gnu.org; Mon, 15 Aug 2022 08:14:18 -0400
Received: from eggs.gnu.org ([209.51.188.92]:53282)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oNYz0-0007ea-Ts
 for 57129 <at> debbugs.gnu.org; Mon, 15 Aug 2022 08:14:16 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:37722)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNYyu-0006fW-ST; Mon, 15 Aug 2022 08:14:09 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=tOZ1cU/d2Nc9bCi3YhX/8saTAdIO9H2VCRWEdMPCYIY=; b=a8HRQgHOTlE2l9g2Z2zR
 S0cHB+MA8KMedilhj+Jt0bO2GfTsS3XfYSFbj1vBFNfrpld5wz8SsIpsR8hOr/XKb+PLjs9i9Zegs
 X4j1/6rqEi6v7uscdOkMgxjjPP1u/HhpkL5ZSoSDwsi4fcKiWEYKmu+2oyi/QXF5N0C86bd6rlQ68
 42lNcU6qgPOyqNBYMzsG9B1RezKsBKi6GDhioti+FIku0cI5v0S1nIZh61XOYkicUwn+/qGS14nh0
 Uk1C8+6TUeoY5XEEepM84L9hPR+njnqO/N62BFp4gVBF/U7HohBvWcaWlDzuKlxAR8hxio3w2jxFN
 dndFaTsye4Ui6w==;
Received: from [87.69.77.57] (port=1688 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNYyu-0004e1-Cq; Mon, 15 Aug 2022 08:14:08 -0400
Date: Mon, 15 Aug 2022 15:13:55 +0300
Message-Id: <831qthiu0s.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> (message from
 Jim Porter on Sun, 14 Aug 2022 14:40:06 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
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 (---)

> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
> From: Jim Porter <jporterbugs@HIDDEN>
> Date: Sun, 14 Aug 2022 14:40:06 -0700
> 
> On 8/14/2022 12:30 AM, Eli Zaretskii wrote:
> > The manual definitely should be clarified in that matter, because:
> > 
> >    d:/gnu/git/emacs/trunk/src $ which format
> >    format is a built-in function in ‘C source code’.
> > 
> > To me this says that 'format' is a built-in command, and the manual
> > says such commands should be invoked in preference to external
> > commands.  The "eshell/" part is not mentioned anywhere.
> 
> I'll work on a fix for that. This is a little more complex than 
> immediately apparent though, since Eshell also unfortunately uses the 
> term "alias" to refer to two kinds of entities:
> 
> 1) Command abbreviations created by the user using the 'alias' command,
>     e.g. "alias ll 'ls -l'". These are sometimes called "command
>     aliases", and are implemented in em-alias.el.
> 
> 2) Lisp functions with names like 'eshell/FOO'. These are sometimes
>     called "alias functions", and are implemented in esh-cmd.el. For
>     example, see 'eshell-find-alias-function', which checks if
>     'eshell/FOO' exists.
> 
> It would probably be good to fix all this terminology for once and for all.

Yes, that could well be a source of a lot of confusion.

> You could try some Eshell commands that don't use subprocesses to see if 
> that changes anything. For example, these should only use Lisp functions:
> 
>    ;; Should print "first" in the Eshell buffer:
>    eshell/echo ${eshell/echo $eshell-in-pipeline-p | eshell/echo}
>    eshell/echo ${eshell/echo $eshell-in-pipeline-p | eshell/echo} | 
> eshell/echo
> 
>    ;; Should open a temp file containing "first" in a new buffer:
>    find-file $<eshell/echo $eshell-in-pipeline-p | eshell/echo>
>    find-file $<eshell/echo $eshell-in-pipeline-p | eshell/echo> | 
> eshell/echo
> 
> The "eshell/" prefix probably isn't necessary, but I figured it's worth 
> being extra-careful here while diagnosing the issue. I'm particularly 
> interested in whether the third and fourth commands work. If they work, 
> that would definitely point towards a bug in Eshell's subprocess 
> handling; if not, then that would point to a bug in the "$<subcommand>" 
> handling.

All the 4 commands do what you say they should do.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Jim Porter <jporterbugs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 15 Aug 2022 16:15:01 +0000
Resent-Message-ID: <handler.57129.B57129.166058005331926 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166058005331926
          (code B ref 57129); Mon, 15 Aug 2022 16:15:01 +0000
Received: (at 57129) by debbugs.gnu.org; 15 Aug 2022 16:14:13 +0000
Received: from localhost ([127.0.0.1]:43926 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNcjF-0008Is-A1
	for submit <at> debbugs.gnu.org; Mon, 15 Aug 2022 12:14:13 -0400
Received: from mail-pf1-f180.google.com ([209.85.210.180]:42976)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1oNcjD-0008Id-62
 for 57129 <at> debbugs.gnu.org; Mon, 15 Aug 2022 12:14:11 -0400
Received: by mail-pf1-f180.google.com with SMTP id f192so6981819pfa.9
 for <57129 <at> debbugs.gnu.org>; Mon, 15 Aug 2022 09:14:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:from:to:cc;
 bh=xWezpF9ofczCp9MQkHmEpZq5/AbdlIsYu/Q7fGVCvkw=;
 b=BJ9t5sz/yjYSF4Gu2rl/SkajoPb1i17tFULt6To2RjXB41pofj9K0wNxDg5BwcGivg
 9vGiKRYuj4Af/jSMnQ+Tud27n9kHBdtVpTDMpnQcw1BZORaUnZD+zCkFixcrRQ2us4/c
 ld0izj1jfL0ZMI9T/DBvjjCRFlkhaYYic2VSGQWpXgOJ92L0ARMzvHhqbn8XtbNUcuz4
 9P5xjXXUO0K4Hndo+rsREAod+Rrn3S6vW3kcev4oicvbY0ZqcdJa6wySIm92cmLRtVcW
 9IjS7C3YR/miS5k/tvtjWhWqVy33PL8ak6eQz9kOHxbnvycSeYwty32+1rm500HZ8qjr
 mbEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:x-gm-message-state
 :from:to:cc;
 bh=xWezpF9ofczCp9MQkHmEpZq5/AbdlIsYu/Q7fGVCvkw=;
 b=C9/KHHd5vdQLgB5foQlEvAAW8pV2tm7vsGKzHTGFRA/kryRN1xNtOPFzrkqA5vbtih
 iImpoUXyT3pHN/atDgj1XONNR3WZUQ9Vp6OHfMI6Z/EZ8JBRxjJbZgi1k//S2NPLPhL+
 5oY9RiBP6YZmCh+7P/ThWR6VZu0oK8gIiVaQVTDYmzqmpzxLD5cwNnlI9CszLlFOZybR
 8JKcpFyKDJnzUZAXj8kStnTxWK53QPwHrOeQw3TPxBp+co6zLgzXHrIcJwGL0SJaYZ5O
 2+DGvm/pu+HU9A6qqW6lQPado+RWQIAZvfConUU8m8G/PguaXjM9w6pR2wBCNzLVglHs
 WKGQ==
X-Gm-Message-State: ACgBeo25JD43ZFYTn/zBUHjkzLtLQ1HUh/B2Ja1DJApveGbi3UcLKWJC
 HXrPS4V4gR6+ikpLjj/B3PjiWzmD36A=
X-Google-Smtp-Source: AA6agR4XCaMIioUibg2bvlSU3v81bk+t9YWnJ7t/3VC9oYmWumsKpjF14Tqo37/tFSD0dvv9+8WvCA==
X-Received: by 2002:a05:6a00:158b:b0:52e:6fe3:537d with SMTP id
 u11-20020a056a00158b00b0052e6fe3537dmr16868881pfk.51.1660580045215; 
 Mon, 15 Aug 2022 09:14:05 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 a85-20020a621a58000000b0052abfc4b4a4sm6962182pfa.12.2022.08.15.09.14.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Aug 2022 09:14:04 -0700 (PDT)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> <831qthiu0s.fsf@HIDDEN>
From: Jim Porter <jporterbugs@HIDDEN>
Message-ID: <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN>
Date: Mon, 15 Aug 2022 09:14:04 -0700
MIME-Version: 1.0
In-Reply-To: <831qthiu0s.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
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 (-)

On 8/15/2022 5:13 AM, Eli Zaretskii wrote:
>> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
>> From: Jim Porter <jporterbugs@HIDDEN>
>> Date: Sun, 14 Aug 2022 14:40:06 -0700
>>
>> You could try some Eshell commands that don't use subprocesses to see if
>> that changes anything. For example, these should only use Lisp functions:
>>
>>     ;; Should print "first" in the Eshell buffer:
>>     eshell/echo ${eshell/echo $eshell-in-pipeline-p | eshell/echo}
>>     eshell/echo ${eshell/echo $eshell-in-pipeline-p | eshell/echo} |
>> eshell/echo
>>
>>     ;; Should open a temp file containing "first" in a new buffer:
>>     find-file $<eshell/echo $eshell-in-pipeline-p | eshell/echo>
>>     find-file $<eshell/echo $eshell-in-pipeline-p | eshell/echo> |
>> eshell/echo
>>
>> The "eshell/" prefix probably isn't necessary, but I figured it's worth
>> being extra-careful here while diagnosing the issue. I'm particularly
>> interested in whether the third and fourth commands work. If they work,
>> that would definitely point towards a bug in Eshell's subprocess
>> handling; if not, then that would point to a bug in the "$<subcommand>"
>> handling.
> 
> All the 4 commands do what you say they should do.

Hm, and I can't reproduce this on the prebuilt Emacs 29 snapshot from 
July 18, which is from just before I merged the changes to 
'make-process', so it's definitely possible that this is due to those 
commits.

Does reverting 4e59830bc0ab17cdbd85748b133c97837bed99e3 and 
d7b89ea4077d4fe677ba0577245328819ee79cdc fix the issue? I checked 
locally, and they should revert cleanly at least.

It might also be interesting to revert just the changes from d7b89ea in 
lisp/eshell/esh-proc.el. I don't think any of the changes I made to the 
C sources should impact this, since a) I was careful to keep the logic 
as close to before as I could, and b) it just changes the logic for 
creating a PTY, which doesn't work on MS Windows anyway.

I did notice one weird issue though, and maybe this has something to do 
with the problem: on MS Windows, if I run any command with a 
$<subcommand>, the second and subsequent times, it warns me about 
changing the temp file, e.g.:

   3Zz80A has changed since visited or saved.  Save anyway? (yes or no)

This probably shouldn't do that, and it could definitely cause issues in 
the tests, which can't prompt the user for things like that.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 15 Aug 2022 16:50:02 +0000
Resent-Message-ID: <handler.57129.B57129.16605821663142 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Jim Porter <jporterbugs@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.16605821663142
          (code B ref 57129); Mon, 15 Aug 2022 16:50:02 +0000
Received: (at 57129) by debbugs.gnu.org; 15 Aug 2022 16:49:26 +0000
Received: from localhost ([127.0.0.1]:43952 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNdHJ-0000oc-Qo
	for submit <at> debbugs.gnu.org; Mon, 15 Aug 2022 12:49:26 -0400
Received: from eggs.gnu.org ([209.51.188.92]:53466)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oNdHF-0000oM-HO
 for 57129 <at> debbugs.gnu.org; Mon, 15 Aug 2022 12:49:24 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:39314)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNdHA-0001H6-14; Mon, 15 Aug 2022 12:49:16 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=s8vBEmJuz4w4qYkEUqhyjEaMg2Iq2W9XO8ltl59fGYU=; b=oWrMpT9ndt08
 HaDEo2TVTfTRVB9zI72/QcX1YdxCkg5eIEFEtI7r9Nzvtg3dX/GZJwyluomKr5Qab84QFbbJc2gyp
 SGDtjOW3+uOajWhY0U8/WaELhl5B3dYKxH2+BAJYE2/BJw56ZbZDHZ/uassqY+YI/yHzHztABou7I
 OqviPsSTVzd812VcTqqC8k+Bvgr3TKZevwOYHttYZNa0iszL1bSLqBIL4takZIY8CmW1CSamGVqMp
 axcOHcSwgIs9G+e3AGduagIQ2dR7YFpMg6h6NXOp5SJyR+A4xxyI2dI/Se+SRXdqrj72+Gy1Oqgbm
 Q3J8SgLB51eAKdGGCu38mQ==;
Received: from [87.69.77.57] (port=2747 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNdH9-0005lQ-DA; Mon, 15 Aug 2022 12:49:15 -0400
Date: Mon, 15 Aug 2022 19:49:00 +0300
Message-Id: <83pmh1h2pv.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN> (message from
 Jim Porter on Mon, 15 Aug 2022 09:14:04 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> <831qthiu0s.fsf@HIDDEN>
 <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN>
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 (---)

> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
> From: Jim Porter <jporterbugs@HIDDEN>
> Date: Mon, 15 Aug 2022 09:14:04 -0700
> 
> > All the 4 commands do what you say they should do.
> 
> Hm, and I can't reproduce this on the prebuilt Emacs 29 snapshot from 
> July 18, which is from just before I merged the changes to 
> 'make-process', so it's definitely possible that this is due to those 
> commits.
> 
> Does reverting 4e59830bc0ab17cdbd85748b133c97837bed99e3 and 
> d7b89ea4077d4fe677ba0577245328819ee79cdc fix the issue? I checked 
> locally, and they should revert cleanly at least.
> 
> It might also be interesting to revert just the changes from d7b89ea in 
> lisp/eshell/esh-proc.el. I don't think any of the changes I made to the 
> C sources should impact this, since a) I was careful to keep the logic 
> as close to before as I could, and b) it just changes the logic for 
> creating a PTY, which doesn't work on MS Windows anyway.

None of these reverts fixes the issue.  I tried both the tests in
eshell-tests.el and the problematic command:

   *cat $<echo $eshell-in-pipeline-p | echo> | *cat

> I did notice one weird issue though, and maybe this has something to do 
> with the problem: on MS Windows, if I run any command with a 
> $<subcommand>, the second and subsequent times, it warns me about 
> changing the temp file, e.g.:
> 
>    3Zz80A has changed since visited or saved.  Save anyway? (yes or no)
> 
> This probably shouldn't do that, and it could definitely cause issues in 
> the tests, which can't prompt the user for things like that.

I guess this means you somehow reuse the same temporary file on
MS-Windows?  Maybe change the test a bit so that the file name
definitely differs?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Jim Porter <jporterbugs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 15 Aug 2022 18:09:02 +0000
Resent-Message-ID: <handler.57129.B57129.166058694010687 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166058694010687
          (code B ref 57129); Mon, 15 Aug 2022 18:09:02 +0000
Received: (at 57129) by debbugs.gnu.org; 15 Aug 2022 18:09:00 +0000
Received: from localhost ([127.0.0.1]:44017 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNeWJ-0002mI-V3
	for submit <at> debbugs.gnu.org; Mon, 15 Aug 2022 14:09:00 -0400
Received: from mail-pf1-f175.google.com ([209.85.210.175]:36717)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1oNeWE-0002lw-2P
 for 57129 <at> debbugs.gnu.org; Mon, 15 Aug 2022 14:08:58 -0400
Received: by mail-pf1-f175.google.com with SMTP id a22so6656903pfg.3
 for <57129 <at> debbugs.gnu.org>; Mon, 15 Aug 2022 11:08:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:from:to:cc;
 bh=QwF5+71Fr54YILFVnFOUDs1tU7J+xO3wGJJcT+AJs60=;
 b=ZRZHboGq9eGtjP/AIIFOqSzdEkRiiZAu70kh761zQ7l0pxfUTpkLim613a+7Fbc8yU
 3jhaDyOJm1fcwurcI4Sn2d7GNDaMmtAxuwHRU2bHlmBYC8P+iQuJEkfxbHjWAyU5F00R
 gi1cWxm5cWBkR6SSoMfXaz/49z+ghsVkoLVsVjlwkrHf9EYCXoNqYoOXX5cqV7IfRpxQ
 krGlxIWkv4y+NEPeeSBWUFW9ZaYM/2lcXwD0O8DJtVXt9S+rwpZy0XL9nav873+zh6Df
 8KYEbaXfDpAOSPQhiKVkNFBcGRLyIgxGnHzPnqs0leMr0D+RnfqNU1ExH0Lari4lGIOm
 AYfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:x-gm-message-state
 :from:to:cc;
 bh=QwF5+71Fr54YILFVnFOUDs1tU7J+xO3wGJJcT+AJs60=;
 b=7olAVCFY+YwTAn0sk+xOMsWcakB1fI3/00lwSDIexC9FkY3J+OWo0mCxnzOU2KTEKP
 /Y+SN9qBC33dPj9b2YRrXIx/Tgq0bRExkO24ishnNMS2XwEPN7ZOLl1g8708C4ivbPij
 S7Z6X1+jrtGeu69uEOesh9jR6TeXiLmDZzXed8DijSMSpb71ArSlA9VuRPTAOi3MnIY3
 nr+lEkL6Ohv6AknnUFOfC2hhq1tYsAVB4ajt7OOwSYH0hyIYGnoAi/Zdzx+73DH0G79u
 NhJZSrcGmEt6kGvmltvRTKuuGPpBNLyuowu58O28kZb/Y8gqbBqaTrSeQ2ueeD9NCluU
 jRFg==
X-Gm-Message-State: ACgBeo3GVqjZrnGqsmyZnvWHNgQ5OyiFN5fECt2so+VkWT5Ye+8uzJBh
 rV6MGGrX7jDgpRyRF8QhMqn1Q7g9pOw=
X-Google-Smtp-Source: AA6agR4olejpgnJ/QqRfsYwkROVw0BXTt/ZCVXv0f7D0zjNnJdbKAwr3wn8VnHyLpfGHcJTY0nMIiA==
X-Received: by 2002:a63:80c7:0:b0:41c:62dd:2109 with SMTP id
 j190-20020a6380c7000000b0041c62dd2109mr14427834pgd.449.1660586928101; 
 Mon, 15 Aug 2022 11:08:48 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 p23-20020a63e657000000b0041d02809facsm6101001pgj.79.2022.08.15.11.08.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Aug 2022 11:08:46 -0700 (PDT)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> <831qthiu0s.fsf@HIDDEN>
 <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN> <83pmh1h2pv.fsf@HIDDEN>
From: Jim Porter <jporterbugs@HIDDEN>
Message-ID: <d5cd4361-9004-efdc-2308-958296ca201f@HIDDEN>
Date: Mon, 15 Aug 2022 11:08:45 -0700
MIME-Version: 1.0
In-Reply-To: <83pmh1h2pv.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
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 (-)

On 8/15/2022 9:49 AM, Eli Zaretskii wrote:
> None of these reverts fixes the issue.  I tried both the tests in
> eshell-tests.el and the problematic command:
> 
>     *cat $<echo $eshell-in-pipeline-p | echo> | *cat

Thanks for testing. I might have to get an MS-Windows dev environment 
set up to dig into this further. I'm a bit worried that this is related 
to bug#55590, where I had to jump through some awkward hoops to fix a 
somewhat-related issue with Eshell subcommands. I think that's due to 
'eshell-do-eval' being written before lexical binding existed, and so 
the variable scoping doesn't work quite as expected. It could be that 
you only see this failure when using external commands due to some 
differences in timing.

If that's the problem here too, it would be a pain to fix (but it would 
likely also mean that this bug has been present for a long time, and my 
tests/fixes have just brought it to the surface). As mentioned in 
bug#55590, I think it'd be nice to rip out 'eshell-do-eval' and replace 
it with the generator.el machinery, since they're conceptually pretty 
similar. That's easier said than done though...

>> I did notice one weird issue though, and maybe this has something to do
>> with the problem: on MS Windows, if I run any command with a
>> $<subcommand>, the second and subsequent times, it warns me about
>> changing the temp file, e.g.:
>>
>>     3Zz80A has changed since visited or saved.  Save anyway? (yes or no)
>>
>> This probably shouldn't do that, and it could definitely cause issues in
>> the tests, which can't prompt the user for things like that.
> 
> I guess this means you somehow reuse the same temporary file on
> MS-Windows?  Maybe change the test a bit so that the file name
> definitely differs?

I need to investigate this a bit further, since on GNU/Linux, I get a 
new temp file every time. I think that's the behavior we want, or 
failing that, we could at least kill the temp file's buffer after we're 
done with it. I don't think there's much value in leaving it around.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 15 Aug 2022 18:22:01 +0000
Resent-Message-ID: <handler.57129.B57129.166058769811938 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Jim Porter <jporterbugs@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166058769811938
          (code B ref 57129); Mon, 15 Aug 2022 18:22:01 +0000
Received: (at 57129) by debbugs.gnu.org; 15 Aug 2022 18:21:38 +0000
Received: from localhost ([127.0.0.1]:44040 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNeiY-00036U-50
	for submit <at> debbugs.gnu.org; Mon, 15 Aug 2022 14:21:38 -0400
Received: from eggs.gnu.org ([209.51.188.92]:45530)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oNeiW-00036G-3V
 for 57129 <at> debbugs.gnu.org; Mon, 15 Aug 2022 14:21:36 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:46538)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNeiQ-000892-Ok; Mon, 15 Aug 2022 14:21:30 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=hYTrStJEMsp4EL75X3T6vSi6DafPjyJbg0FyYAsmp2g=; b=TX9cQKt0ySxi
 JZIsqXQiihgspt31mo/9A5qsXgTre7ZHvkEbS/i7HDAGtlZXdb4L6laAuDPmPJN+KxfKv6pxbgTTX
 Yj0BKqaEqjgivblUOOyFW7a0xXmK6hoAQoqlwrY0wL2y+qp2Zf9tCKStGoMe/Wlci+jtLuZ0aCAIN
 Evp0yTnFJo82y5u4EO8C4hvnLtelJV0y5JFinisGPP6uFu53M7xfxvPLFfqKUy4PpLAVcQqJGBTyy
 U6zU5Led+lAicWpHvCy7sLGGbmcqOSyNLS5tURSSvXKn6MXWHOVQPtKyCMvJ6TcGDG5JLk4grOrE6
 fMWXkp4z0dBpYK/7vWYP4A==;
Received: from [87.69.77.57] (port=4408 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNeiQ-0006KI-80; Mon, 15 Aug 2022 14:21:30 -0400
Date: Mon, 15 Aug 2022 21:21:16 +0300
Message-Id: <83lerpgyg3.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <d5cd4361-9004-efdc-2308-958296ca201f@HIDDEN> (message from
 Jim Porter on Mon, 15 Aug 2022 11:08:45 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> <831qthiu0s.fsf@HIDDEN>
 <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN> <83pmh1h2pv.fsf@HIDDEN>
 <d5cd4361-9004-efdc-2308-958296ca201f@HIDDEN>
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 (---)

> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
> From: Jim Porter <jporterbugs@HIDDEN>
> Date: Mon, 15 Aug 2022 11:08:45 -0700
> 
> >> I did notice one weird issue though, and maybe this has something to do
> >> with the problem: on MS Windows, if I run any command with a
> >> $<subcommand>, the second and subsequent times, it warns me about
> >> changing the temp file, e.g.:
> >>
> >>     3Zz80A has changed since visited or saved.  Save anyway? (yes or no)
> >>
> >> This probably shouldn't do that, and it could definitely cause issues in
> >> the tests, which can't prompt the user for things like that.
> > 
> > I guess this means you somehow reuse the same temporary file on
> > MS-Windows?  Maybe change the test a bit so that the file name
> > definitely differs?
> 
> I need to investigate this a bit further, since on GNU/Linux, I get a 
> new temp file every time.

Can you tell how you create these temporary files?  Or point me to the
code which does that?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Jim Porter <jporterbugs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 15 Aug 2022 18:31:01 +0000
Resent-Message-ID: <handler.57129.B57129.166058821712831 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166058821712831
          (code B ref 57129); Mon, 15 Aug 2022 18:31:01 +0000
Received: (at 57129) by debbugs.gnu.org; 15 Aug 2022 18:30:17 +0000
Received: from localhost ([127.0.0.1]:44057 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNeqv-0003Kt-B8
	for submit <at> debbugs.gnu.org; Mon, 15 Aug 2022 14:30:17 -0400
Received: from mail-pg1-f172.google.com ([209.85.215.172]:35418)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1oNeqt-0003Kb-5P
 for 57129 <at> debbugs.gnu.org; Mon, 15 Aug 2022 14:30:15 -0400
Received: by mail-pg1-f172.google.com with SMTP id r69so7187843pgr.2
 for <57129 <at> debbugs.gnu.org>; Mon, 15 Aug 2022 11:30:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:from:to:cc;
 bh=tu/Onxd1QMPEsB+4U6ws53Uxk/EVvZWRxmk4NCq/i60=;
 b=HDHJp2rN5Z2hJov+e/ELvjkvz82Nlzc9cNBd8hMdVkmrUT5NuDbxMVUohK2HqUkqlL
 HhTrgMnUNrkLU3PX+DO6z4pKrT3efmTYUivIpiUEGn9OF2osOuYXLEZNIdkraAOJTesz
 YIQA/a6eWDxRejigASnKIsQUqRhLAEMKoHAvhQgZqElezFBwOnHIlFGm544nmxJqa+gE
 stAvysHdaPpoqJgqSgEBMv/wSHWO+R6yvJTk5h6RTK606b+MfAtC9mjm67WLc6Uy3/zs
 sZL0RzIHO92HcVy2k43W2BP9H3oagz5yAgpKD+FX+0MDUjvtljikCNhIVGh319belJ6D
 +EDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:x-gm-message-state
 :from:to:cc;
 bh=tu/Onxd1QMPEsB+4U6ws53Uxk/EVvZWRxmk4NCq/i60=;
 b=rnb6WoOUhmEsN3tU9bri9mS16GcOGlXaFsnilAxvxZnSBUuHna/OV9ZSKKKo90kO94
 NNDQuPyCWwNZQ8u986boC6T+JC84D57pXAsxe4P6QsAwX3LTUBP2XKdQEkkwdUaIhi5W
 MK/nRievyIZpviolNMePCozj67Nw2hItqB2H0YnWJLUKwr6q5BVbt0TpUcNDHFU48CYg
 grFwJGaEkd3LJi1OrPFLq4G18gAGkKkA8bqs3O5q4AczYhi8z2APPZa8H5Cs30YvuJTM
 UUAh4M1PHB1+gaQwyp4+ba58eJ95mZyPL6/aF5Uvviak41i2yg2kTmLRbPrms45crg+j
 4Utg==
X-Gm-Message-State: ACgBeo2UEey+VF2y3n+jKqlic7f56G3N8/fElz/wm4mQbehPpt2rM8J5
 X8h2creqnjLNpWAeqHWvoScZFErgn3g=
X-Google-Smtp-Source: AA6agR68CUcnnaMWmw4a7Pd1TqgSWE4Z1KY8XVNJRyS9/KZfw9jDnZ4dZem/8IG3TjREVnR79VPRLA==
X-Received: by 2002:a05:6a00:a81:b0:530:2967:dc48 with SMTP id
 b1-20020a056a000a8100b005302967dc48mr17459320pfl.38.1660588209412; 
 Mon, 15 Aug 2022 11:30:09 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 k15-20020a170902c40f00b0016dd6929af5sm7326395plk.206.2022.08.15.11.30.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Aug 2022 11:30:08 -0700 (PDT)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> <831qthiu0s.fsf@HIDDEN>
 <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN> <83pmh1h2pv.fsf@HIDDEN>
 <d5cd4361-9004-efdc-2308-958296ca201f@HIDDEN> <83lerpgyg3.fsf@HIDDEN>
From: Jim Porter <jporterbugs@HIDDEN>
Message-ID: <cbbf05b1-0101-80dd-c0e1-f0bbd037fd27@HIDDEN>
Date: Mon, 15 Aug 2022 11:30:07 -0700
MIME-Version: 1.0
In-Reply-To: <83lerpgyg3.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
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 (-)

On 8/15/2022 11:21 AM, Eli Zaretskii wrote:
>> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
>> From: Jim Porter <jporterbugs@HIDDEN>
>> Date: Mon, 15 Aug 2022 11:08:45 -0700
>>
>> I need to investigate this a bit further, since on GNU/Linux, I get a
>> new temp file every time.
> 
> Can you tell how you create these temporary files?  Or point me to the
> code which does that?

The temp files are created by Eshell in lisp/eshell/esh-var.el in the 
function 'eshell-parse-variable-ref', specifically in the part starting 
with:

   (eq (char-after) ?\<)




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 15 Aug 2022 18:59:02 +0000
Resent-Message-ID: <handler.57129.B57129.166058993415539 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Jim Porter <jporterbugs@HIDDEN>, Paul Eggert <eggert@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166058993415539
          (code B ref 57129); Mon, 15 Aug 2022 18:59:02 +0000
Received: (at 57129) by debbugs.gnu.org; 15 Aug 2022 18:58:54 +0000
Received: from localhost ([127.0.0.1]:44079 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNfIb-00042X-W9
	for submit <at> debbugs.gnu.org; Mon, 15 Aug 2022 14:58:54 -0400
Received: from eggs.gnu.org ([209.51.188.92]:52678)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oNfIX-00042G-Ne
 for 57129 <at> debbugs.gnu.org; Mon, 15 Aug 2022 14:58:52 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:38904)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNfIQ-0005dP-Ss; Mon, 15 Aug 2022 14:58:42 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=hlOkUqVn5sTK7azbt1XdJNamQtr4iN+/0M+q8pMCImI=; b=Wei+1D+Jeeza
 7787bDaW9/mDpMTlsYQcxhBfkosE5AjAyQSfC0BDBJTP77/cd3LLm2M8dcx80pkiwpBELuG2cYUvn
 mnf2LCfjU7jY2SU/vKhx3lBgTwAf24OiThulf7FTHEvEoXxtMwFoFV3MpNWplt0Mw1MIa4VETxWOm
 sV+Xt769PH/3ucAZa3tYteihIsqsNUhRkWLVsLROj812nGh03T9qZms8olIJSXYjJJR4atZvPyLiw
 1Z58kthHIfd5kNOeKaEdnkMi5aMT2zvGSZO2pdyD9AyfAraBs0rZSndav7XePebRu0NH031MF91bj
 C6r3dGZzcadOgYDQu+vynA==;
Received: from [87.69.77.57] (port=2701 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNfIQ-0008O6-8D; Mon, 15 Aug 2022 14:58:42 -0400
Date: Mon, 15 Aug 2022 21:58:28 +0300
Message-Id: <83ilmtgwq3.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <cbbf05b1-0101-80dd-c0e1-f0bbd037fd27@HIDDEN> (message from
 Jim Porter on Mon, 15 Aug 2022 11:30:07 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> <831qthiu0s.fsf@HIDDEN>
 <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN> <83pmh1h2pv.fsf@HIDDEN>
 <d5cd4361-9004-efdc-2308-958296ca201f@HIDDEN> <83lerpgyg3.fsf@HIDDEN>
 <cbbf05b1-0101-80dd-c0e1-f0bbd037fd27@HIDDEN>
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 (---)

> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
> From: Jim Porter <jporterbugs@HIDDEN>
> Date: Mon, 15 Aug 2022 11:30:07 -0700
> 
> >> I need to investigate this a bit further, since on GNU/Linux, I get a
> >> new temp file every time.
> > 
> > Can you tell how you create these temporary files?  Or point me to the
> > code which does that?
> 
> The temp files are created by Eshell in lisp/eshell/esh-var.el in the 
> function 'eshell-parse-variable-ref', specifically in the part starting 
> with:
> 
>    (eq (char-after) ?\<)

Ah, okay.  It's a (mis)feature of Gnulib's gen_tempname function
(which is the guts of make-temp-file) in its implementation for
MS-Windows (and maybe other platforms?): it always begins from the
same "random" characters in the file name, and only generates other
random characters if there's already a file by that name.  So if you
are careful and delete the temporary file each time after usage, and
never need more than one temporary file at the same time, you will get
the same name every call.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Paul Eggert <eggert@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 15 Aug 2022 20:56:02 +0000
Resent-Message-ID: <handler.57129.B57129.166059695026951 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: Jim Porter <jporterbugs@HIDDEN>, larsi@HIDDEN, Gnulib bugs <bug-gnulib@HIDDEN>, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166059695026951
          (code B ref 57129); Mon, 15 Aug 2022 20:56:02 +0000
Received: (at 57129) by debbugs.gnu.org; 15 Aug 2022 20:55:50 +0000
Received: from localhost ([127.0.0.1]:44202 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNh7l-00070c-6K
	for submit <at> debbugs.gnu.org; Mon, 15 Aug 2022 16:55:50 -0400
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:36318)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eggert@HIDDEN>) id 1oNh7f-00070L-Gs
 for 57129 <at> debbugs.gnu.org; Mon, 15 Aug 2022 16:55:47 -0400
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 3D80A160149;
 Mon, 15 Aug 2022 13:55:37 -0700 (PDT)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id iz8g08aNcE6e; Mon, 15 Aug 2022 13:55:35 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id BD060160139;
 Mon, 15 Aug 2022 13:55:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 4OIYDawA6Uhx; Mon, 15 Aug 2022 13:55:35 -0700 (PDT)
Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com
 [172.91.119.151])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 7FCE2160129;
 Mon, 15 Aug 2022 13:55:35 -0700 (PDT)
Content-Type: multipart/mixed; boundary="------------z02mCF0yqnIghhs3seMwKK6j"
Message-ID: <af0af29b-2362-77db-081e-046158937808@HIDDEN>
Date: Mon, 15 Aug 2022 13:55:35 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> <831qthiu0s.fsf@HIDDEN>
 <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN> <83pmh1h2pv.fsf@HIDDEN>
 <d5cd4361-9004-efdc-2308-958296ca201f@HIDDEN> <83lerpgyg3.fsf@HIDDEN>
 <cbbf05b1-0101-80dd-c0e1-f0bbd037fd27@HIDDEN> <83ilmtgwq3.fsf@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
In-Reply-To: <83ilmtgwq3.fsf@HIDDEN>
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 (---)

This is a multi-part message in MIME format.
--------------z02mCF0yqnIghhs3seMwKK6j
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 8/15/22 11:58, Eli Zaretskii wrote:

> Ah, okay.  It's a (mis)feature of Gnulib's gen_tempname function
> (which is the guts of make-temp-file) in its implementation for
> MS-Windows (and maybe other platforms?): it always begins from the
> same "random" characters in the file name, and only generates other
> random characters if there's already a file by that name.

Not sure I'd call it a misfeature, as gen_tempname is generating a 
uniquely-named file that is exclusive to Emacs, which is all it's 
supposed to do.

I do see a comment saying that gen_tempname generates "hard-to-predict" 
names, which as you note is not correct on MS-DOS, nor even strictly 
speaking on all POSIX platforms. I installed the first attached patch 
into Gnulib to fix that comment.

I'm not sure I'm entirely understanding the Emacs problem, but it 
appears to be that Emacs has its own set of filenames that it thinks it 
knows about, and Emacs wants the new temporary file's name to not be a 
member of that set. If I'm right, does the second attached patch (this 
patch is to Emacs) address the problem? I haven't tested or installed it.
--------------z02mCF0yqnIghhs3seMwKK6j
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-tempname-remove-incorrect-comment.patch"
Content-Disposition: attachment;
 filename="0001-tempname-remove-incorrect-comment.patch"
Content-Transfer-Encoding: base64

RnJvbSBhN2VmMjFiZjM0N2RhNWUzYThiNTQ5MmI4NDlkNjMzZWYzMjUyZDYyIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1
PgpEYXRlOiBNb24sIDE1IEF1ZyAyMDIyIDEzOjA0OjA4IC0wNzAwClN1YmplY3Q6IFtQQVRD
SF0gdGVtcG5hbWU6IHJlbW92ZSBpbmNvcnJlY3QgY29tbWVudAoKKiBsaWIvdGVtcG5hbWUu
YywgbGliL3RlbXBuYW1lLmg6IFJlbW92ZSBpbmNvcnJlY3QgY29tbWVudCwKYXMgdGhlIG5h
bWVzIGFyZSBub3QgbmVjZXNzYXJpbHkgaGFyZCB0byBwcmVkaWN0IChCdWcjNTcxMjkpLgot
LS0KIENoYW5nZUxvZyAgICAgIHwgNiArKysrKysKIGxpYi90ZW1wbmFtZS5jIHwgMiArLQog
bGliL3RlbXBuYW1lLmggfCAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygr
KSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cK
aW5kZXggYmExNmI1MzhmNS4uMWUyMGRiN2UzNyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisr
KyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkgQEAKKzIwMjItMDgtMTUgIFBhdWwgRWdnZXJ0
ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgorCisJdGVtcG5hbWU6IHJlbW92ZSBpbmNvcnJlY3Qg
Y29tbWVudAorCSogbGliL3RlbXBuYW1lLmMsIGxpYi90ZW1wbmFtZS5oOiBSZW1vdmUgaW5j
b3JyZWN0IGNvbW1lbnQsCisJYXMgdGhlIG5hbWVzIGFyZSBub3QgbmVjZXNzYXJpbHkgaGFy
ZCB0byBwcmVkaWN0IChCdWcjNTcxMjkpLgorCiAyMDIyLTA4LTE0ICBTaW1vbiBKb3NlZnNz
b24gIDxzaW1vbkBqb3NlZnNzb24ub3JnPgogCiAJYm9vdHN0cmFwLmNvbmY6IFVzZSBwcm9w
ZXIgc2hlbGwgbWFya2VyIGZvciBFbWFjcy4KZGlmZiAtLWdpdCBhL2xpYi90ZW1wbmFtZS5j
IGIvbGliL3RlbXBuYW1lLmMKaW5kZXggNWZjNWVmZTAzMS4uNzVhOTM5ZTU3MSAxMDA2NDQK
LS0tIGEvbGliL3RlbXBuYW1lLmMKKysrIGIvbGliL3RlbXBuYW1lLmMKQEAgLTIxMyw3ICsy
MTMsNyBAQCBzdGF0aWMgY29uc3QgY2hhciBsZXR0ZXJzW10gPQogICAgICAgICAgICAgICAg
ICAgICAgICAgYW5kIHJldHVybiBhIHJlYWQtd3JpdGUgZmQuICBUaGUgZmlsZSBpcyBtb2Rl
IDA2MDAuCiAgICBfX0dUX0RJUjogICAgICAgICAgICBjcmVhdGUgYSBkaXJlY3RvcnksIHdo
aWNoIHdpbGwgYmUgbW9kZSAwNzAwLgogCi0gICBXZSB1c2UgYSBjbGV2ZXIgYWxnb3JpdGht
IHRvIGdldCBoYXJkLXRvLXByZWRpY3QgbmFtZXMuICovCisgICAqLwogI2lmZGVmIF9MSUJD
CiBzdGF0aWMKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliL3RlbXBuYW1lLmggYi9saWIvdGVt
cG5hbWUuaAppbmRleCBjMTcyODIwZjdmLi41ZTNjNWUxNTUwIDEwMDY0NAotLS0gYS9saWIv
dGVtcG5hbWUuaAorKysgYi9saWIvdGVtcG5hbWUuaApAQCAtNDgsNyArNDgsNyBAQCBleHRl
cm4gIkMiIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCByZXR1cm4gYSByZWFkLXdy
aXRlIGZkLiAgVGhlIGZpbGUgaXMgbW9kZSAwNjAwLgogICAgR1RfRElSOiAgICAgICAgICAg
ICAgY3JlYXRlIGEgZGlyZWN0b3J5LCB3aGljaCB3aWxsIGJlIG1vZGUgMDcwMC4KIAotICAg
V2UgdXNlIGEgY2xldmVyIGFsZ29yaXRobSB0byBnZXQgaGFyZC10by1wcmVkaWN0IG5hbWVz
LiAqLworICAgKi8KIGV4dGVybiBpbnQgZ2VuX3RlbXBuYW1lIChjaGFyICp0bXBsLCBpbnQg
c3VmZml4bGVuLCBpbnQgZmxhZ3MsIGludCBraW5kKTsKIC8qIFNpbWlsYXIsIGV4Y2VwdCBY
X1NVRkZJWF9MRU4gZ2l2ZXMgdGhlIG51bWJlciBvZiBYcy4gICovCiBleHRlcm4gaW50IGdl
bl90ZW1wbmFtZV9sZW4gKGNoYXIgKnRtcGwsIGludCBzdWZmaXhsZW4sIGludCBmbGFncywg
aW50IGtpbmQsCi0tIAoyLjM0LjEKCg==
--------------z02mCF0yqnIghhs3seMwKK6j
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-Don-t-create-temp-file-with-same-name-as-visited.patch"
Content-Disposition: attachment;
 filename*0="0001-Don-t-create-temp-file-with-same-name-as-visited.patch"
Content-Transfer-Encoding: base64

RnJvbSBhMDc3Njk4NGJjMzYzMGM4YzBiZDU3YjNmZDFhY2NhMWYwYjhjYjVjIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1
PgpEYXRlOiBNb24sIDE1IEF1ZyAyMDIyIDEyOjU1OjQwIC0wNzAwClN1YmplY3Q6IFtQQVRD
SF0gPT9VVEYtOD9xP0Rvbj1FMj04MD05OXQ9MjBjcmVhdGU9MjB0ZW1wPTIwZmlsZT0yMHdp
dGg9MjBzPz0KID0/VVRGLTg/cT9hbWU9MjBuYW1lPTIwYXM9MjB2aXNpdGVkPz0KTUlNRS1W
ZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNv
bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClByb2JsZW0gcmVwb3J0ZWQgYnkgSmlt
IFBvcnRlciAoQnVnIzU3MTI5IzQ3KS4KKiBzcmMvZmlsZWlvLmMgKGNyZWF0ZV90ZW1wbmFt
ZSk6IE5ldyBmdW5jdGlvbi4KKEZtYWtlX3RlbXBfZmlsZV9pbnRlcm5hbCk6IFVzZSBpdC4K
LS0tCiBzcmMvZmlsZWlvLmMgfCAyOSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQog
MSBmaWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZm
IC0tZ2l0IGEvc3JjL2ZpbGVpby5jIGIvc3JjL2ZpbGVpby5jCmluZGV4IDk2OTdmNmM4Y2Yu
LjRmMTM0YmJmYTkgMTAwNjQ0Ci0tLSBhL3NyYy9maWxlaW8uYworKysgYi9zcmMvZmlsZWlv
LmMKQEAgLTY3Nyw2ICs2NzcsMjcgQEAgREVGVU4gKCJkaXJlY3RvcnktZmlsZS1uYW1lIiwg
RmRpcmVjdG9yeV9maWxlX25hbWUsIFNkaXJlY3RvcnlfZmlsZV9uYW1lLAogICByZXR1cm4g
dmFsOwogfQogCisvKiBDcmVhdGUgYSB0ZW1wb3JhcnkgZmlsZSB3aG9zZSBlbmNvZGVkIG5h
bWUgaXMgRU5DT0RFRF9GSUxFTkFNRSwgYW5kCisgICB3aG9zZSBkZWNvZGVkIG5hbWUgaXMg
KihMaXNwX09iamVjdCAqKSBGTEFHUy4gIFByZXRlbmQgdGhlIGZpbGUKKyAgIGFscmVhZHkg
ZXhpc3RzIGlmIGEgbGl2ZSBidWZmZXIgaXMgdmlzaXRpbmcgaXQuICBSZXR1cm4gYSBmaWxl
CisgICBkZXNjcmlwdG9yIGlmIHN1Y2Nlc3NmdWwsIC0xIChzZXR0aW5nIGVycm5vKSBvdGhl
cndpc2UuICAqLworc3RhdGljIGludAorY3JlYXRlX3RlbXBuYW1lIChjaGFyICplbmNvZGVk
X2ZpbGVuYW1lLCB2b2lkICpmbGFncykKK3sKKyAgTGlzcF9PYmplY3QgKmFkZHZhbCA9IGZs
YWdzOworICBMaXNwX09iamVjdCBmaWxlbmFtZSA9ICphZGR2YWw7CisKKyAgaWYgKCFOSUxQ
IChGZ2V0X2ZpbGVfYnVmZmVyIChmaWxlbmFtZSkpKQorICAgIHsKKyAgICAgIGVycm5vID0g
RUVYSVNUOworICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICByZXR1cm4gb3BlbiAoZW5j
b2RlZF9maWxlbmFtZSwKKwkgICAgICAgT19SRFdSIHwgT19CSU5BUlkgfCBPX0NMT0VYRUMg
fCBPX0NSRUFUIHwgT19FWENMLAorCSAgICAgICBTX0lSVVNSIHwgU19JV1VTUik7Cit9CisK
IERFRlVOICgibWFrZS10ZW1wLWZpbGUtaW50ZXJuYWwiLCBGbWFrZV90ZW1wX2ZpbGVfaW50
ZXJuYWwsCiAgICAgICAgU21ha2VfdGVtcF9maWxlX2ludGVybmFsLCA0LCA0LCAwLAogICAg
ICAgIGRvYzogLyogR2VuZXJhdGUgYSBuZXcgZmlsZSB3aG9zZSBuYW1lIHN0YXJ0cyB3aXRo
IFBSRUZJWCwgYSBzdHJpbmcuCkBAIC03MDcsMTggKzcyOCwxOCBAQCBERUZVTiAoIm1ha2Ut
dGVtcC1maWxlLWludGVybmFsIiwgRm1ha2VfdGVtcF9maWxlX2ludGVybmFsLAogICBtZW1j
cHkgKGRhdGEsIFNTREFUQSAoZW5jb2RlZF9wcmVmaXgpLCBwcmVmaXhfbGVuKTsKICAgbWVt
c2V0IChkYXRhICsgcHJlZml4X2xlbiwgJ1gnLCBuWCk7CiAgIG1lbWNweSAoZGF0YSArIHBy
ZWZpeF9sZW4gKyBuWCwgU1NEQVRBIChlbmNvZGVkX3N1ZmZpeCksIHN1ZmZpeF9sZW4pOwor
ICBMaXNwX09iamVjdCBkdmFsID0gREVDT0RFX0ZJTEUgKHZhbCksIGRkdmFsID0gZHZhbDsK
ICAgaW50IGtpbmQgPSAoTklMUCAoZGlyX2ZsYWcpID8gR1RfRklMRQogCSAgICAgIDogQkFT
RV9FUSAoZGlyX2ZsYWcsIG1ha2VfZml4bnVtICgwKSkgPyBHVF9OT0NSRUFURQogCSAgICAg
IDogR1RfRElSKTsKLSAgaW50IGZkID0gZ2VuX3RlbXBuYW1lIChkYXRhLCBzdWZmaXhfbGVu
LCBPX0JJTkFSWSB8IE9fQ0xPRVhFQywga2luZCk7CisgIGludCBmZCA9IHRyeV90ZW1wbmFt
ZSAoZGF0YSwgc3VmZml4X2xlbiwgJmRkdmFsLCBjcmVhdGVfdGVtcG5hbWUpOwogICBib29s
IGZhaWxlZCA9IGZkIDwgMDsKICAgaWYgKCFmYWlsZWQpCiAgICAgewogICAgICAgc3BlY3Bk
bF9yZWYgY291bnQgPSBTUEVDUERMX0lOREVYICgpOwogICAgICAgcmVjb3JkX3Vud2luZF9w
cm90ZWN0X2ludCAoY2xvc2VfZmlsZV91bndpbmQsIGZkKTsKLSAgICAgIHZhbCA9IERFQ09E
RV9GSUxFICh2YWwpOwogICAgICAgaWYgKFNUUklOR1AgKHRleHQpICYmIFNCWVRFUyAodGV4
dCkgIT0gMCkKLQl3cml0ZV9yZWdpb24gKHRleHQsIFFuaWwsIHZhbCwgUW5pbCwgUW5pbCwg
UW5pbCwgUW5pbCwgZmQpOworCXdyaXRlX3JlZ2lvbiAodGV4dCwgUW5pbCwgZHZhbCwgUW5p
bCwgUW5pbCwgUW5pbCwgUW5pbCwgZmQpOwogICAgICAgZmFpbGVkID0gTklMUCAoZGlyX2Zs
YWcpICYmIGVtYWNzX2Nsb3NlIChmZCkgIT0gMDsKICAgICAgIC8qIERpc2NhcmQgdGhlIHVu
d2luZCBwcm90ZWN0LiAgKi8KICAgICAgIHNwZWNwZGxfcHRyID0gc3BlY3BkbF9yZWZfdG9f
cHRyIChjb3VudCk7CkBAIC03MzMsNyArNzU0LDcgQEAgREVGVU4gKCJtYWtlLXRlbXAtZmls
ZS1pbnRlcm5hbCIsIEZtYWtlX3RlbXBfZmlsZV9pbnRlcm5hbCwKIAl9OwogICAgICAgcmVw
b3J0X2ZpbGVfZXJyb3IgKGtpbmRfbWVzc2FnZVtraW5kXSwgcHJlZml4KTsKICAgICB9Ci0g
IHJldHVybiB2YWw7CisgIHJldHVybiBkdmFsOwogfQogCiAKLS0gCjIuMzcuMQoK

--------------z02mCF0yqnIghhs3seMwKK6j--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Bruno Haible <bruno@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 15 Aug 2022 21:23:02 +0000
Resent-Message-ID: <handler.57129.B57129.166059855529580 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: bug-gnulib@HIDDEN, Paul Eggert <eggert@HIDDEN>
Cc: Jim Porter <jporterbugs@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166059855529580
          (code B ref 57129); Mon, 15 Aug 2022 21:23:02 +0000
Received: (at 57129) by debbugs.gnu.org; 15 Aug 2022 21:22:35 +0000
Received: from localhost ([127.0.0.1]:44240 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNhXf-0007h2-A3
	for submit <at> debbugs.gnu.org; Mon, 15 Aug 2022 17:22:35 -0400
Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.161]:40145)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bruno@HIDDEN>) id 1oNhXc-0007gs-FL
 for 57129 <at> debbugs.gnu.org; Mon, 15 Aug 2022 17:22:33 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1660598548;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=NTVfemy3C7IP5WnmWxBSzjjMXOt1DHqe62oWQDHNrEY=;
 b=FRpB8j+3KXQnPilw7VzEAYeoO9Z6BV8m+1iYEeU+Q7qOCz8odzVVb2doBQVirUMouC
 X9QkbiCnpDtNGXiJ2m24Ix6SOSgTg/jKLY6Uhl+mojwBqledhWhCDNh/5faoGvCuj81x
 mrHAh2njk1K3x5gKUMocMC8vMc84U7la9FKq4qdGZfRglTn/ISEzu0MDQ5zsZIRAYbnG
 5nQYEQfM6hbx6K/LVWSNMEU4Kqia98fWxvLl0/ArUf/duzkOA6rk4UZ4PDYB/Ox6qnB/
 h73VZHOJehmkfDEPXYIq3oASAPYL1O9GXXL4+DAr41PKun5LlcSN/R02L55IJ4p2oFkT
 9TRQ==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zG6tLj91pCQ0eN7ysCnnpESqlYuuWQ2Mis="
X-RZG-CLASS-ID: mo00
Received: from nimes.localnet by smtp.strato.de (RZmta 47.47.0 AUTH)
 with ESMTPSA id g97246y7FLMRhAz
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Mon, 15 Aug 2022 23:22:27 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
Date: Mon, 15 Aug 2022 23:22:27 +0200
Message-ID: <6414919.G0QQBjFxQf@nimes>
In-Reply-To: <af0af29b-2362-77db-081e-046158937808@HIDDEN>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <83ilmtgwq3.fsf@HIDDEN> <af0af29b-2362-77db-081e-046158937808@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
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 (-)

Paul Eggert wrote:
> I do see a comment saying that gen_tempname generates "hard-to-predict" 
> names, which as you note is not correct on MS-DOS, nor even strictly 
> speaking on all POSIX platforms. I installed the first attached patch 
> into Gnulib to fix that comment.

Another comment fix is as below. Note that both comment fixes need to be
propagated to glibc.


2022-08-15  Bruno Haible  <bruno@HIDDEN>

	tempname: Fix a comment.
	* lib/tempname.c (try_tempname_len): Use of entropy makes the function
	more, not less, secure.

diff --git a/lib/tempname.c b/lib/tempname.c
index 75a939e571..e6520191d7 100644
--- a/lib/tempname.c
+++ b/lib/tempname.c
@@ -273,7 +273,7 @@ try_tempname_len (char *tmpl, int suffixlen, void *args,
   /* Whether to consume entropy when acquiring random bits.  On the
      first try it's worth the entropy cost with __GT_NOCREATE, which
      is inherently insecure and can use the entropy to make it a bit
-     less secure.  On the (rare) second and later attempts it might
+     more secure.  On the (rare) second and later attempts it might
      help against DoS attacks.  */
   bool use_getrandom = tryfunc == try_nocreate;
 







Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 11:05:02 +0000
Resent-Message-ID: <handler.57129.B57129.166064787614820 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Paul Eggert <eggert@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166064787614820
          (code B ref 57129); Tue, 16 Aug 2022 11:05:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 11:04:36 +0000
Received: from localhost ([127.0.0.1]:45085 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNuNA-0003qy-68
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 07:04:36 -0400
Received: from eggs.gnu.org ([209.51.188.92]:52230)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oNuN5-0003qi-SW
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 07:04:34 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:56246)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNuMy-0005aO-EN; Tue, 16 Aug 2022 07:04:25 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=2s9bGlDfB2sYGgIyR4DFRmc6CJotEtUJADjIOPRzRLY=; b=aJF68mt328jv96AToipg
 Qc5wAKLHucjE95a52/to+7eiUzd/tV6It7nXHTHsGsc65HNFR4hgm/YpXUUi7fXFiVWcJgW2lcTPR
 i5zwRx/rTMzP125Pdm14abBVJlIqvigg+0nE5U28iksPVuRJaIK1MZJXzNWrGmuofd7+RdXvmg6Cq
 D+fpf1VRO0SgM4SX31Bor1b2jmlEEpfYwIwWm0nU8dwTp5vS4FQLiMcOh8OJpSjLVBUwhwDaoDKMv
 QIFTMIWwiCCSMkICe7v9ufQ1I343D4WFF96J6Lo3RrkghuqoJG2DbbWf4fPeKzsEkevz7sfExBtPO
 TJiIX9WzdRUv4g==;
Received: from [87.69.77.57] (port=1712 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNuMx-0004Mw-0y; Tue, 16 Aug 2022 07:04:24 -0400
Date: Tue, 16 Aug 2022 14:04:10 +0300
Message-Id: <835yish2l1.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <af0af29b-2362-77db-081e-046158937808@HIDDEN> (message from
 Paul Eggert on Mon, 15 Aug 2022 13:55:35 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> <831qthiu0s.fsf@HIDDEN>
 <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN> <83pmh1h2pv.fsf@HIDDEN>
 <d5cd4361-9004-efdc-2308-958296ca201f@HIDDEN> <83lerpgyg3.fsf@HIDDEN>
 <cbbf05b1-0101-80dd-c0e1-f0bbd037fd27@HIDDEN> <83ilmtgwq3.fsf@HIDDEN>
 <af0af29b-2362-77db-081e-046158937808@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
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 (---)

> Date: Mon, 15 Aug 2022 13:55:35 -0700
> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org, Jim Porter
>  <jporterbugs@HIDDEN>, Gnulib bugs <bug-gnulib@HIDDEN>
> From: Paul Eggert <eggert@HIDDEN>
> 
> On 8/15/22 11:58, Eli Zaretskii wrote:
> 
> > Ah, okay.  It's a (mis)feature of Gnulib's gen_tempname function
> > (which is the guts of make-temp-file) in its implementation for
> > MS-Windows (and maybe other platforms?): it always begins from the
> > same "random" characters in the file name, and only generates other
> > random characters if there's already a file by that name.
> 
> Not sure I'd call it a misfeature

I didn't say "misfeature".  Evidently, for you and perhaps others it's
a feature.

> as gen_tempname is generating a uniquely-named file that is
> exclusive to Emacs, which is all it's supposed to do.

Then perhaps calling it from make-temp-file in Emacs is a mistake,
because that function's doc string says

  Create a temporary file.
  The returned file name (created by appending some random characters at the end
  of PREFIX, and expanding against ‘temporary-file-directory’ if necessary),
  is guaranteed to point to a newly created file.

When you tell someone that the file name will include "some random
characters", they don't expect that they will be the same "random
characters" every call, just like saying that some function generates
random numbers doesn't imply it will be the same number every call.

> I'm not sure I'm entirely understanding the Emacs problem, but it 
> appears to be that Emacs has its own set of filenames that it thinks it 
> knows about, and Emacs wants the new temporary file's name to not be a 
> member of that set. If I'm right, does the second attached patch (this 
> patch is to Emacs) address the problem? I haven't tested or installed it.

I don't think that's the problem, no.  The problem is that callers of
make-temp-file reasonably expect it to return a new name every call.
And evidently, it does that on GNU/Linux (not sure how, given that the
tempname.c code is supposed to be in glibc?).  So if there's no
intention to change gen_tempname on non-glibc platforms so that it
doesn't repeat the same "random characters" upon each call, I think
Emacs should call a different function to generate "random" names of
temporary files, for consistency across platforms if not for other
reasons.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Bruno Haible <bruno@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 13:36:01 +0000
Resent-Message-ID: <handler.57129.B57129.166065692513838 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Paul Eggert <eggert@HIDDEN>, bug-gnulib@HIDDEN, Eli Zaretskii <eliz@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166065692513838
          (code B ref 57129); Tue, 16 Aug 2022 13:36:01 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 13:35:25 +0000
Received: from localhost ([127.0.0.1]:45363 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNwj6-0003b7-U1
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 09:35:25 -0400
Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.163]:44239)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bruno@HIDDEN>) id 1oNwj3-0003ax-WE
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 09:35:22 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1660656918;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=hMDRdLRVf5Cez6XjVbIQ4bUDT9wQZfYKdY/cWRTTzNI=;
 b=hKZjP7aHOBErbd6Yjh/syzgLgHm7pZu+o0boUGWDk8wA8mCDyO2HGL8pE5iPErfX7D
 iC7tYWH2OXSQm6gjdpWH/FArxkUeDGTUGW3gxiOjp7KeiYrmSCbnVphell1u7fmPqh5B
 l0Xy73MvgR0H6n0wOzoKNTMXS72Kw2dSrK5LnIuhrgkQ3za5Sx4gyVGfCYS8itxorsos
 /NR1sUPH2QmSCqfUTHpCoT3vr0slE/hh4LHAJdkY/AOKje4eKjSRspbRAz102fL3ODNE
 X2NjX82mOUvpmwyQq5q7tf4u01tXuOnzyGkXVru7V0DnnNp3lzrScCo/5ygP/lyts5Sp
 z0Ew==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zG6tLj91pCR2L7hM6+Odi8PRCuZoP2/ZC83xg=="
X-RZG-CLASS-ID: mo00
Received: from nimes.localnet by smtp.strato.de (RZmta 47.47.0 AUTH)
 with ESMTPSA id g97246y7GDZIlZn
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Tue, 16 Aug 2022 15:35:18 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
Date: Tue, 16 Aug 2022 15:35:17 +0200
Message-ID: <1871347.6tgchFWduM@nimes>
In-Reply-To: <835yish2l1.fsf@HIDDEN>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <af0af29b-2362-77db-081e-046158937808@HIDDEN> <835yish2l1.fsf@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
X-Spam-Score: 2.0 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: Eli Zaretskii wrote: > The problem is that callers of >
 make-temp-file
 reasonably expect it to return a new name every call. > And evidently, it
 does that on GNU/Linux (not sure how, given that the > [...] 
 Content analysis details:   (2.0 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 SPF_NONE               SPF: sender does not publish an SPF Record
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [81.169.146.163 listed in wl.mailspike.net]
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [81.169.146.163 listed in list.dnswl.org]
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: gl-temp-xxxxxx.xyz (xyz)]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
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 (+)

Eli Zaretskii wrote:
> The problem is that callers of
> make-temp-file reasonably expect it to return a new name every call.
> And evidently, it does that on GNU/Linux (not sure how, given that the
> tempname.c code is supposed to be in glibc?).  So if there's no
> intention to change gen_tempname on non-glibc platforms so that it
> doesn't repeat the same "random characters" upon each call, I think
> Emacs should call a different function to generate "random" names of
> temporary files, for consistency across platforms if not for other
> reasons.

You are making incorrect assumptions or hypotheses. I am adding the unit
test below. It proves that (at least) on Linux, FreeBSD 11, NetBSD 7,
OpenBSD 6.0, macOS, AIX 7.1, Solaris 10, Cygwin, and native Windows,
gen_tempname *does* return a new file name on each call, with a very high
probability.

So, gen_tempname does *not* repeat the same "random characters" upon each call.


2022-08-16  Bruno Haible  <bruno@HIDDEN>

	tempname: Add tests.
	* tests/test-tempname.c: New file.
	* modules/tempname-tests: New file.

=========================== tests/test-tempname.c ==========================
/* Test of creating a temporary file.
   Copyright (C) 2022 Free Software Foundation, Inc.

   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */

/* Written by Bruno Haible <bruno@HIDDEN>, 2022.  */

#include <config.h>

#include "tempname.h"

#include <string.h>
#include <unistd.h>

#include "macros.h"

int
main ()
{
  /* Verify that two consecutive calls to gen_tempname return two different
     file names, with a high probability.  */
  const char *templ18 = "gl-temp-XXXXXX.xyz";
  char filename1[18 + 1];
  char filename2[18 + 1];

  strcpy (filename1, templ18);
  int fd1 = gen_tempname (filename1, strlen (".xyz"), 0, GT_FILE);
  ASSERT (fd1 >= 0);

  strcpy (filename2, templ18);
  int fd2 = gen_tempname (filename2, strlen (".xyz"), 0, GT_FILE);
  ASSERT (fd2 >= 0);

  /* With 6 'X' and a good pseudo-random number generator behind the scenes,
     the probability of getting the same file name twice in a row should be
     1/62^6 < 1/10^10.  */
  ASSERT (strcmp (filename1, filename2) != 0);

  /* Clean up.  */
  close (fd1);
  close (fd2);
  unlink (filename1);
  unlink (filename2);

  return 0;
}
=========================== modules/tempname-tests =========================
Files:
tests/test-tempname.c
tests/macros.h

Depends-on:
unlink

configure.ac:

Makefile.am:
TESTS += test-tempname
check_PROGRAMS += test-tempname
test_tempname_LDADD = $(LDADD) $(LIB_GETRANDOM) $(LIB_CLOCK_GETTIME)
============================================================================







Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 13:52:01 +0000
Resent-Message-ID: <handler.57129.B57129.166065789015605 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Bruno Haible <bruno@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, eggert@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166065789015605
          (code B ref 57129); Tue, 16 Aug 2022 13:52:01 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 13:51:30 +0000
Received: from localhost ([127.0.0.1]:45409 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNwyf-00043c-Kw
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 09:51:29 -0400
Received: from eggs.gnu.org ([209.51.188.92]:56860)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oNwya-00043M-RZ
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 09:51:28 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:34416)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNwyU-0006m3-Ax; Tue, 16 Aug 2022 09:51:18 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=qTh2SrrgccwmooMEmjvaMRa8VOetjSi706dW5g+p7es=; b=qxuW3pGhxfRZ
 rjaMQ6lJoYRiWUFYVxTxYGX77RR7xoDOFxutCxFOrpEUenitT35BoDi0SqjETRva/kdY5wPyFOLwn
 iBxjirbgk96bkY441KdmH1Ujjqq96lz13mQIxVBYYLRt8BA7AtX7o9kt0K3knoMzSO7wvxgnckvL3
 LXrLM9nQeCPXSxMBUxONXCB/C3hXvOJQZQR5vmy5zQPPSUPewyo/sEk+VtCnDq5fSIuh3Vl9dLR6s
 TVd+4n3RRezD7cBue+VhZ8VnZmy9hTAFOukHtoUuKwYT4zxzGmXPvFXXZRXqBL1bevCGIHZym3g1R
 4KW0rLjaqQ0iLe0pO3Sh/g==;
Received: from [87.69.77.57] (port=4103 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNwyT-0006fG-Qh; Tue, 16 Aug 2022 09:51:18 -0400
Date: Tue, 16 Aug 2022 16:51:06 +0300
Message-Id: <838rnofgad.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <1871347.6tgchFWduM@nimes> (message from Bruno Haible on Tue, 16
 Aug 2022 15:35:17 +0200)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <af0af29b-2362-77db-081e-046158937808@HIDDEN> <835yish2l1.fsf@HIDDEN>
 <1871347.6tgchFWduM@nimes>
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 (---)

> From: Bruno Haible <bruno@HIDDEN>
> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
> Date: Tue, 16 Aug 2022 15:35:17 +0200
> 
> Eli Zaretskii wrote:
> > The problem is that callers of
> > make-temp-file reasonably expect it to return a new name every call.
> > And evidently, it does that on GNU/Linux (not sure how, given that the
> > tempname.c code is supposed to be in glibc?).  So if there's no
> > intention to change gen_tempname on non-glibc platforms so that it
> > doesn't repeat the same "random characters" upon each call, I think
> > Emacs should call a different function to generate "random" names of
> > temporary files, for consistency across platforms if not for other
> > reasons.
> 
> You are making incorrect assumptions or hypotheses.

They are neither assumptions nor hypotheses.  They are what I actually
saw by stepping with a debugger into the code.

> I am adding the unit test below. It proves that (at least) on Linux,
> FreeBSD 11, NetBSD 7, OpenBSD 6.0, macOS, AIX 7.1, Solaris 10,
> Cygwin, and native Windows, gen_tempname *does* return a new file
> name on each call, with a very high probability.
> 
> So, gen_tempname does *not* repeat the same "random characters" upon each call.

Well, it does here, when called from Emacs in the particular scenario
of the unit test I was looking into.

Looking at your test program, I see that you generate the seconds file
name without deleting the first one.  When a file by the first
generated name already exists, gen_tempname will indeed generate a
different name.  But in the scenario I described, Emacs creates one
temporary file, uses it, then deletes it, and only after that creates
another file.  In terms of your test program, you need to move the
first unlink call to before the second call to gen_tempname.  Then
your test program will faithfully reproduce what Emacs does in the
case in point.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Bruno Haible <bruno@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 14:41:02 +0000
Resent-Message-ID: <handler.57129.B57129.166066082322917 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, eggert@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166066082322917
          (code B ref 57129); Tue, 16 Aug 2022 14:41:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 14:40:23 +0000
Received: from localhost ([127.0.0.1]:47988 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNxjz-0005xZ-Bu
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 10:40:23 -0400
Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.160]:40019)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bruno@HIDDEN>) id 1oNxjx-0005xL-1Z
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 10:40:21 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1660660817;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=e1eJMRlQLSM2pax8WA9jBkugmTgyOJ2FZcycMNDDoFo=;
 b=rTnBP9U3MEgy2L/qSnE9NIA6eFhoqhV4NTDGFxZ5XtVGZBGRYRSuLeet591SDUg/yW
 igypYNPkBPs3osS3g5mBHXIozqXqgXqTJ14QZZVnZpKEI8tMPfb//fYj6WFdo4Zictgj
 U9oGIvPA7vErzYKJTescM18OBfC84388aen+q86IEy0W97/DzFlYTBLDoZk+U1WaSgHQ
 95mzemyaLBqIP2M20CzDwl/SAePsqFUs3uO0P2hyZl28VVavzgQjzIycBoJZ++NFg5Dd
 R2Q/6s3meoTdEIECETZqvfsr4zR2cAWMqABJi1VrM+ye0JYHrRF83YqDESP2VjV0OmDa
 H31A==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zG6tLj91pCR2L7hM6+Odi8PRCuZoP2/ZC83xg=="
X-RZG-CLASS-ID: mo00
Received: from nimes.localnet by smtp.strato.de (RZmta 47.47.0 AUTH)
 with ESMTPSA id g97246y7GEeGm0L
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Tue, 16 Aug 2022 16:40:16 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
Date: Tue, 16 Aug 2022 16:40:16 +0200
Message-ID: <4165399.mogB4TqSGs@nimes>
In-Reply-To: <838rnofgad.fsf@HIDDEN>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
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 (-)

Eli Zaretskii wrote:
> Looking at your test program, I see that you generate the seconds file
> name without deleting the first one.  When a file by the first
> generated name already exists, gen_tempname will indeed generate a
> different name.  But in the scenario I described, Emacs creates one
> temporary file, uses it, then deletes it, and only after that creates
> another file.

Why would it be important for the second temporary file to bear a different
name, once the first one is gone? I mean, process IDs get reused over time;
socket numbers get reused over time; what is wrong with reusing a file name,
once the older file is gone?

Maybe the problem is that the file gets deleted too early, when some parts
of Emacs still reference it?

Bruno







Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 16:26:02 +0000
Resent-Message-ID: <handler.57129.B57129.1660667155842 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Bruno Haible <bruno@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, eggert@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.1660667155842
          (code B ref 57129); Tue, 16 Aug 2022 16:26:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 16:25:55 +0000
Received: from localhost ([127.0.0.1]:48119 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNzO7-0000DW-4N
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 12:25:55 -0400
Received: from eggs.gnu.org ([209.51.188.92]:37240)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oNzO2-0000DD-0L
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 12:25:53 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:58256)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNzNu-0000AR-OY; Tue, 16 Aug 2022 12:25:42 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=Ocgy09KkRCZm2wECFo11lo6yvo6Dv/oSVgkgpO6HE08=; b=NDZC0dtzQEv+
 bR4n4JpRJ6G+FF0zvGLhXD7XMqgJQPfhzVp2c2kR8Z6TETYR4mZMZsYFtI0LbUmvO1zmmq3uCewgp
 9kQxmL/2BOIvQdkwICCu1zKoTtdTL2/7BGMZoC6ZEEEVJdubQen6IpRS+nFCTQ8KfRAYiFv/ulTpE
 kZD1Q+62ZIhDFPfyMrDzRWaffmJ998bWwxLWkoxTwNrt+0NAa1GFctxY1B8gye9jcpUiVVhPpI+dg
 K/VTZFEaodcTDHGDZm6V9v1N8osJ2q9FgQLhiIkOWBcPATRWkVIFXoousVwTFL74NMbfEHVWcyRhn
 1rP0CtZ4w+I3u6q4clOiSw==;
Received: from [87.69.77.57] (port=1567 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNzNh-00007P-JC; Tue, 16 Aug 2022 12:25:41 -0400
Date: Tue, 16 Aug 2022 19:25:16 +0300
Message-Id: <83wnb8dukz.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <4165399.mogB4TqSGs@nimes> (message from Bruno Haible on Tue, 16
 Aug 2022 16:40:16 +0200)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes>
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 (---)

> From: Bruno Haible <bruno@HIDDEN>
> Cc: eggert@HIDDEN, bug-gnulib@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
> Date: Tue, 16 Aug 2022 16:40:16 +0200
> 
> Eli Zaretskii wrote:
> > Looking at your test program, I see that you generate the seconds file
> > name without deleting the first one.  When a file by the first
> > generated name already exists, gen_tempname will indeed generate a
> > different name.  But in the scenario I described, Emacs creates one
> > temporary file, uses it, then deletes it, and only after that creates
> > another file.
> 
> Why would it be important for the second temporary file to bear a different
> name, once the first one is gone? I mean, process IDs get reused over time;
> socket numbers get reused over time; what is wrong with reusing a file name,
> once the older file is gone?

Because the Emacs Lisp program expected that, based on what
make-temp-file in Emacs promises (see the "random characters" part),
and because that's how it behaves on GNU/Linux.  Then the same program
behaved differently on MS-Windows, and the programmer was stumped.

Sure, it's possible to write the same program somewhat differently,
carefully working around this issue, but my point is that such
functions should ideally present the same behavior traits on all
systems, otherwise the portability is hampered.

> Maybe the problem is that the file gets deleted too early, when some parts
> of Emacs still reference it?

The buffer which visited that file still exists, and still records the
name of the file, yes.  And then, when the program writes to another
file created by another call to make-temp-file, it actually writes to
a file that some buffer still visits, and in Emacs that triggers a
prompt to the user to refresh the buffer.  The programmer didn't
expect that because it is natural to expect each call to a function
that creates a temporary file to create a file under a new name, not
reuse the same name.  E.g., similar facilities in the Standard C
library exhibit that behavior.  So the program was written assuming
that the second write was to an entirely different and unrelated file.

And again, my main point is: why does this work differently on
different platforms?  If you consider it OK to return the same file
name each time, provided that no such file exists, then why doesn't
that function do it on GNU/Linux?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Paul Eggert <eggert@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 16:55:02 +0000
Resent-Message-ID: <handler.57129.B57129.16606688793763 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org, Bruno Haible <bruno@HIDDEN>
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.16606688793763
          (code B ref 57129); Tue, 16 Aug 2022 16:55:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 16:54:39 +0000
Received: from localhost ([127.0.0.1]:48153 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oNzpu-0000yc-Vc
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 12:54:39 -0400
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:32962)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eggert@HIDDEN>) id 1oNzpp-0000yL-Uw
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 12:54:37 -0400
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 296CE160153;
 Tue, 16 Aug 2022 09:54:28 -0700 (PDT)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id tnxyRXa6F2If; Tue, 16 Aug 2022 09:54:27 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 481B4160156;
 Tue, 16 Aug 2022 09:54:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id I7seefgBy73Q; Tue, 16 Aug 2022 09:54:27 -0700 (PDT)
Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com
 [172.91.119.151])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 143F1160153;
 Tue, 16 Aug 2022 09:54:27 -0700 (PDT)
Message-ID: <206e38df-2db4-a46a-e0ff-952bc8ab939c@HIDDEN>
Date: Tue, 16 Aug 2022 09:54:25 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
In-Reply-To: <83wnb8dukz.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
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 (---)

On 8/16/22 09:25, Eli Zaretskii wrote:
> The programmer didn't
> expect that because it is natural to expect each call to a function
> that creates a temporary file to create a file under a new name, not
> reuse the same name.

Regardless of whether the programmer expects a random name or a 
predictable-but-unique name, there are only a finite number of names to 
choose from so the programmer must take into account the possibility 
that the chosen name clashes with names that the programmer would prefer 
not to be chosen.

This means an Emacs patch such as [1] is needed regardless of whether 
Gnulib's gen_tempname is changed to be more random than it is. Although 
it's true that the bug fixed by [1] is less likely if gen_tempname 
generates more-random names, the bug can occur no matter what we do 
about gen_tempname.

[1] 
https://debbugs.gnu.org/cgi/bugreport.cgi?filename=0001-Don-t-create-temp-file-with-same-name-as-visited.patch;bug=57129;msg=59;att=2




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 17:06:01 +0000
Resent-Message-ID: <handler.57129.B57129.16606695114874 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Paul Eggert <eggert@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org, bruno@HIDDEN
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.16606695114874
          (code B ref 57129); Tue, 16 Aug 2022 17:06:01 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 17:05:11 +0000
Received: from localhost ([127.0.0.1]:48167 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO006-0001GY-QF
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:05:11 -0400
Received: from eggs.gnu.org ([209.51.188.92]:45712)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oO004-0001GI-OQ
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:05:09 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:35700)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNzzy-0006FD-Ge; Tue, 16 Aug 2022 13:05:02 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=0K+5E/MZjkx6L76pLY1tsyafXk2V0HKi+RD5SuC7Gj4=; b=nfcXL2uAWrzR
 XcYUa6Y4hrXssGfeWCClD6+dbDlo/qI/3nIw2FXyD9ZI1DdM8aikNf/5k9Ez7cPNrYj9B8CPNFa7Q
 Swb3b2pIXcvXc1OywzJWXEobS8ugI24uaBeqbFG/7exUt5soR9h+zXshUfqLwRTq2l7Bt93YJ97MM
 piDZc95xx2UHWMa0w83sBwoH1ltLn1ZdXvD7Y6lwEeuszj9b0JW4WqFI44/ZFw/R4E+Uwhyo084dA
 zep8xNaB0z0Nl2wwhGPyu3SA7un6b9zDhw8ltLlaYdbs+18BroC0Pt3FWvDNbDhA8mpNsh9/4bYfu
 C5YgzUFr2PJmBVqMe8UAhA==;
Received: from [87.69.77.57] (port=3989 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oNzzx-0006Xh-QA; Tue, 16 Aug 2022 13:05:02 -0400
Date: Tue, 16 Aug 2022 20:04:49 +0300
Message-Id: <83sflwdsr2.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <206e38df-2db4-a46a-e0ff-952bc8ab939c@HIDDEN> (message from
 Paul Eggert on Tue, 16 Aug 2022 09:54:25 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
 <206e38df-2db4-a46a-e0ff-952bc8ab939c@HIDDEN>
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 (---)

> Date: Tue, 16 Aug 2022 09:54:25 -0700
> Cc: bug-gnulib@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org,
>  jporterbugs@HIDDEN, Bruno Haible <bruno@HIDDEN>
> From: Paul Eggert <eggert@HIDDEN>
> 
> On 8/16/22 09:25, Eli Zaretskii wrote:
> > The programmer didn't
> > expect that because it is natural to expect each call to a function
> > that creates a temporary file to create a file under a new name, not
> > reuse the same name.
> 
> Regardless of whether the programmer expects a random name or a 
> predictable-but-unique name, there are only a finite number of names to 
> choose from so the programmer must take into account the possibility 
> that the chosen name clashes with names that the programmer would prefer 
> not to be chosen.

Then what is this comment and the following assertion in Bruno's code
about?

  /* With 6 'X' and a good pseudo-random number generator behind the scenes,
     the probability of getting the same file name twice in a row should be
     1/62^6 < 1/10^10.  */
  ASSERT (strcmp (filename1, filename2) != 0);

That "finite number" of 62^6 sounds pretty close to infinity to me!

> This means an Emacs patch such as [1] is needed regardless of whether 
> Gnulib's gen_tempname is changed to be more random than it is. Although 
> it's true that the bug fixed by [1] is less likely if gen_tempname 
> generates more-random names, the bug can occur no matter what we do 
> about gen_tempname.

No, sorry.  I object to this patch, because it hides the problem under
the carpet.  That there's a file-visiting buffer that records the name
of a temporary file is just one case where this issue gets in the way.
The general problem is still there.  And it isn't an Emacs problem, so
Emacs is not the place to solve it.

Therefore, if there's no intention to fix this in Gnulib, I'm going to
update the documentation of make-temp-file so that Emacs users and
programmers will be informed about that and will be careful enough to
side-step these issues in all the situations.  (Not that I understand
why won't Gnulib provide consistent behavior on all platforms, but I
guess it's above my pay grade.)




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Paul Eggert <eggert@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 17:27:02 +0000
Resent-Message-ID: <handler.57129.B57129.16606707716984 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>, Bruno Haible <bruno@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.16606707716984
          (code B ref 57129); Tue, 16 Aug 2022 17:27:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 17:26:11 +0000
Received: from localhost ([127.0.0.1]:48203 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO0KQ-0001oa-LB
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:26:10 -0400
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:37490)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eggert@HIDDEN>) id 1oO0KL-0001o1-2u
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:26:09 -0400
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4795C160157;
 Tue, 16 Aug 2022 10:25:59 -0700 (PDT)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 4Mzz9JQxGaR0; Tue, 16 Aug 2022 10:25:58 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4CF18160158;
 Tue, 16 Aug 2022 10:25:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id cTC2_t8o45s0; Tue, 16 Aug 2022 10:25:58 -0700 (PDT)
Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com
 [172.91.119.151])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 119F4160157;
 Tue, 16 Aug 2022 10:25:58 -0700 (PDT)
Content-Type: multipart/mixed; boundary="------------vgbOtvgTFfN9LnNaetVKh9oz"
Message-ID: <f329244a-cba7-65cd-2e5d-2630eba3e9e9@HIDDEN>
Date: Tue, 16 Aug 2022 10:25:57 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
In-Reply-To: <83wnb8dukz.fsf@HIDDEN>
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 (---)

This is a multi-part message in MIME format.
--------------vgbOtvgTFfN9LnNaetVKh9oz
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 8/16/22 09:25, Eli Zaretskii wrote:
> why does this work differently on
> different platforms?

Platforms that lack clock_gettime and CLOCK_MONOTONIC fall back on a 
deterministic algorithm. Presumably MS-DOS one of the few such 
platforms, which is why the problem is observed only on MS-DOS.

How about something like the attached patch to Gnulib's lib/tempname.c? 
If I understand things correctly this should make the names random 
enough on MS-DOS, though Emacs itself still needs a patch as I mentioned 
a few minutes ago.

If this patch isn't good enough for MS-DOS, what sort of random bits are 
easily available on that platform? We don't need anything 
cryptographically secure; a higher-res clock should suffice.
--------------vgbOtvgTFfN9LnNaetVKh9oz
Content-Type: text/x-patch; charset=UTF-8; name="rand.diff"
Content-Disposition: attachment; filename="rand.diff"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL2xpYi90ZW1wbmFtZS5jIGIvbGliL3RlbXBuYW1lLmMKaW5kZXggZTY1
MjAxOTFkNy4uZTNkMDlkOTYzZCAxMDA2NDQKLS0tIGEvbGliL3RlbXBuYW1lLmMKKysrIGIv
bGliL3RlbXBuYW1lLmMKQEAgLTcxLDcgKzcxLDggQEAKIAogLyogVXNlIGdldHJhbmRvbSBp
ZiBpdCB3b3JrcywgZmFsbGluZyBiYWNrIG9uIGEgNjQtYml0IGxpbmVhcgogICAgY29uZ3J1
ZW50aWFsIGdlbmVyYXRvciB0aGF0IHN0YXJ0cyB3aXRoIFZhcidzIHZhbHVlCi0gICBtaXhl
ZCBpbiB3aXRoIGEgY2xvY2sncyBsb3ctb3JkZXIgYml0cyBpZiBhdmFpbGFibGUuICAqLwor
ICAgbWl4ZWQgaW4gd2l0aCBhIGNsb2NrJ3MgbG93LW9yZGVyIGJpdHMgKG9yIHdpdGggc29t
ZSBvdGhlcgorICAgcHNldWRvcmFuZG9tIG51bWJlcikgaWYgYXZhaWxhYmxlLiAgKi8KIHR5
cGVkZWYgdWludF9mYXN0NjRfdCByYW5kb21fdmFsdWU7CiAjZGVmaW5lIFJBTkRPTV9WQUxV
RV9NQVggVUlOVF9GQVNUNjRfTUFYCiAjZGVmaW5lIEJBU0VfNjJfRElHSVRTIDEwIC8qIDYy
KioxMCA8IFVJTlRfRkFTVDY0X01BWCAqLwpAQCAtODksNiArOTAsOSBAQCByYW5kb21fYml0
cyAocmFuZG9tX3ZhbHVlIHZhciwgYm9vbCB1c2VfZ2V0cmFuZG9tKQogICBzdHJ1Y3QgX190
aW1lc3BlYzY0IHR2OwogICBfX2Nsb2NrX2dldHRpbWU2NCAoQ0xPQ0tfTU9OT1RPTklDLCAm
dHYpOwogICB2YXIgXj0gdHYudHZfbnNlYzsKKyNlbHNlCisgIC8qIEZhbGwgYmFjayBvbiBw
c2V1ZG9yYW5kb20gbnVtYmVyIDxodHRwczovL2J1Z3MuZ251Lm9yZy81NzEyOT4uICAqLwor
ICB2YXIgXj0gcmFuZCAoKTsKICNlbmRpZgogICByZXR1cm4gMjg2MjkzMzU1NTc3Nzk0MTc1
NyAqIHZhciArIDMwMzcwMDA0OTM7CiB9Cg==

--------------vgbOtvgTFfN9LnNaetVKh9oz--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Bruno Haible <bruno@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 17:30:02 +0000
Resent-Message-ID: <handler.57129.B57129.16606709807327 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, eggert@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.16606709807327
          (code B ref 57129); Tue, 16 Aug 2022 17:30:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 17:29:40 +0000
Received: from localhost ([127.0.0.1]:48217 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO0Nn-0001u7-Vs
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:29:40 -0400
Received: from mo4-p00-ob.smtp.rzone.de ([85.215.255.20]:39025)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bruno@HIDDEN>) id 1oO0Nl-0001tx-FF
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:29:38 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1660670974;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=y/FpYlIaG9c90SiPB8ozskZf3MFr5ouzwwXozvKZbDk=;
 b=rNzlXx18HdqH5cf9ipElaqEQ7ewes0jMibyHWu7DT8R0tILoxYF2YfPtHlJSFcv7at
 SdkD1/ux0SpJbXQ09T3oXR+ZPT+A7U0jhpVckiVweq0KcuP4mH9durV5goEHtJM5SYJR
 h4WsP1Nzm5j54s/YF1zq+SWMrs3aBQP/GzZas58jozXsttwlntTzExHQeNSkgC6Zi0kJ
 teaBPqTqWdxEitx6SnWECbETNP04AGC/Ri9sHPLecDUx1hqvR6Z7j4FR/vrmNquO/xfk
 mqg414tp9LdnzMX6YqJKotQaTI/GJBqHZxOaw4EqdTFuUp6tvsPXTqqUAo8j9Q0IjJb8
 dnDw==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zG6tLj91pCR2L7hM6+Odi8PRCuZoP2/ZC83xg=="
X-RZG-CLASS-ID: mo00
Received: from nimes.localnet by smtp.strato.de (RZmta 47.47.0 AUTH)
 with ESMTPSA id g97246y7GHTYmYt
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Tue, 16 Aug 2022 19:29:34 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
Date: Tue, 16 Aug 2022 19:29:33 +0200
Message-ID: <2594092.Isy0gbHreE@nimes>
In-Reply-To: <83wnb8dukz.fsf@HIDDEN>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
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 (-)

Thanks for the explanations, Eli.

Eli Zaretskii wrote:
> > Maybe the problem is that the file gets deleted too early, when some pa=
rts
> > of Emacs still reference it?
>=20
> The buffer which visited that file still exists, and still records the
> name of the file, yes.  And then, when the program writes to another
> file created by another call to make-temp-file, it actually writes to
> a file that some buffer still visits, and in Emacs that triggers a
> prompt to the user to refresh the buffer.

That is a reasonable behaviour for a text editor =E2=80=94 but only for file
names that are explicitly controlled by some program or by the user,
not for temporary files.

> The programmer didn't
> expect that because it is natural to expect each call to a function
> that creates a temporary file to create a file under a new name, not
> reuse the same name.

This is an incorrect assumption. Just like socket numbers are randomly
generated in some situations, temp file names are random, and you can't
make assumptions about the resulting file name.

How about storing, as an attribute of the buffer, a boolean that tells
whether the underlying file name is randomly generated (i.e. a temp file),
and query this boolean before prompting to the user to refresh the buffer?

Bruno







Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Paul Eggert <eggert@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 17:32:02 +0000
Resent-Message-ID: <handler.57129.B57129.166067106215564 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org, bruno@HIDDEN
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166067106215564
          (code B ref 57129); Tue, 16 Aug 2022 17:32:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 17:31:02 +0000
Received: from localhost ([127.0.0.1]:48221 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO0P8-00042k-At
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:31:02 -0400
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:38216)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eggert@HIDDEN>) id 1oO0P6-0003sK-Ii
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:31:01 -0400
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4205B160157;
 Tue, 16 Aug 2022 10:30:55 -0700 (PDT)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id yKzRiERpHmFl; Tue, 16 Aug 2022 10:30:54 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 7F19D160158;
 Tue, 16 Aug 2022 10:30:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id J5TIbtCeIbsR; Tue, 16 Aug 2022 10:30:54 -0700 (PDT)
Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com
 [172.91.119.151])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 47B84160157;
 Tue, 16 Aug 2022 10:30:54 -0700 (PDT)
Message-ID: <ceeeaa86-6199-93b1-ff65-bbd3e531e235@HIDDEN>
Date: Tue, 16 Aug 2022 10:30:54 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
 <206e38df-2db4-a46a-e0ff-952bc8ab939c@HIDDEN> <83sflwdsr2.fsf@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
In-Reply-To: <83sflwdsr2.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
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 (---)

On 8/16/22 10:04, Eli Zaretskii wrote:
> That "finite number" of 62^6 sounds pretty close to infinity to me!

It's only 57 billion or so. That's not infinity, considering all the 
Emacs sessions out there. If Emacs's success grows, almost surely 
someone will run into this unlikely bug. Since we have the patch to 
prevent it, why not install it?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 17:42:02 +0000
Resent-Message-ID: <handler.57129.B57129.166067169016783 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: eggert@HIDDEN, bruno@HIDDEN
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166067169016783
          (code B ref 57129); Tue, 16 Aug 2022 17:42:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 17:41:30 +0000
Received: from localhost ([127.0.0.1]:48226 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO0ZF-0004Ma-Ic
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:41:29 -0400
Received: from eggs.gnu.org ([209.51.188.92]:52710)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oO0ZC-0004ML-5D
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:41:28 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:55566)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oO0Z5-0003Mt-1c; Tue, 16 Aug 2022 13:41:19 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=gQkGVMKUOCWrl0Dw8UOu9+jKbB/Ycss6QcuJ+vbWhhw=; b=PJeXgQnAq2cU
 S6Cw5bfGk1Ozbjjh03DwIQl3yznMrpr6xLbSTwURLMr+guyZS4S/IqjEU5W2dVRkaoIxZjCEFik2Z
 Q2xfu2gFfGh5JvUIi/cJBcdOCUZiifD48RV1ML3pqcNHxDXGWitSpka4P25qBjT50RoXcCPwkByWc
 TJ0g2vJP4kl//2z4Z7AJqpI5OVH0qMVIq1a93NZkDHhFyDVxDcReOatLLcYhQG1pVQISHZYkKQX1n
 MYRCzUV6X02AJSByo5G8YHNsCL1H6Zs3qx6attqaNksvNphusUd/MQM2vuxh1Fl3MYsVl995xpHuV
 +ac6GXFUc+ixYrKsHSsDgg==;
Received: from [87.69.77.57] (port=2417 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oO0Z4-0007I4-Ld; Tue, 16 Aug 2022 13:41:18 -0400
Date: Tue, 16 Aug 2022 20:41:06 +0300
Message-Id: <83pmh0dr2l.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <83sflwdsr2.fsf@HIDDEN> (message from Eli Zaretskii on Tue, 16
 Aug 2022 20:04:49 +0300)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
 <206e38df-2db4-a46a-e0ff-952bc8ab939c@HIDDEN> <83sflwdsr2.fsf@HIDDEN>
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 (---)

> Cc: jporterbugs@HIDDEN, larsi@HIDDEN, bug-gnulib@HIDDEN,
>  57129 <at> debbugs.gnu.org, bruno@HIDDEN
> Date: Tue, 16 Aug 2022 20:04:49 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
> 
> Therefore, if there's no intention to fix this in Gnulib, I'm going to
> update the documentation of make-temp-file so that Emacs users and
> programmers will be informed about that and will be careful enough to
> side-step these issues in all the situations.  (Not that I understand
> why won't Gnulib provide consistent behavior on all platforms, but I
> guess it's above my pay grade.)

And btw, looking closer, I see that this is a regression in Emacs 28,
which was caused by a change in Gnulib: the versions of tempname.c
that we used up to and including Emacs 27.2 used gettimeofday and the
PID to generate the file name, so it was more random than the code in
current Gnulib, and in particular the sequence of

   generate file-name1
   delete file-name1
   generate file-name2

would produce file-name2 that is different from file-name1.  With the
current code in Gnulib, something similar happens only on glibc
systems.  So I hope the code in Gnulib's tempname.c will be amended to
call clock_gettime or something similar, so that the names on
non-glibc platforms could also be random.  Or, failing that, at least
that gen_tempname in glibc would behave identically to other systems,
i.e. start from a fixed "random" value.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 17:48:02 +0000
Resent-Message-ID: <handler.57129.B57129.166067205517376 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Paul Eggert <eggert@HIDDEN>
Cc: bug-gnulib@HIDDEN, larsi@HIDDEN, bruno@HIDDEN, 57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166067205517376
          (code B ref 57129); Tue, 16 Aug 2022 17:48:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 17:47:35 +0000
Received: from localhost ([127.0.0.1]:48235 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO0f8-0004WC-Rr
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:47:35 -0400
Received: from eggs.gnu.org ([209.51.188.92]:53464)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oO0f2-0004Vr-Q7
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:47:32 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:49100)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oO0ew-0004BK-0U; Tue, 16 Aug 2022 13:47:22 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=GVjEeqEP4gCWuxKz6O9x1MwgFwF0p2zZBzG3Jt+9JeM=; b=KjY+WtlJzgMp
 Fu9+HMgOaj2yZw2tLmtbYK7/SRyeAyBMgJX6izioFz1n9M7Gl3bJ8KFFAwifHi6jLS6ucXQikbiQb
 XZMFztXXIyC0lsRPR6hAxoglJ0jZPySM07DWmPcdn8+nqV9B9FTriZI0U7Y4Qm+Cie47BTRooIAX5
 40oaY6VIizB4/HA7Tt+2niwDMW9G2Dr9r9uCAnIz1pxOusVSYH1xCu3Mq9A/htHRtaTg3Zcd6ryNv
 nuSU+7g12ugoJsw3GJBBbDngWJrLVOdiv465CrMP7hnRXKlhvqyMJVHEaIAQtwNbuEqqOmh9t5Lov
 8foX+hmU7JnMNg6TFqGrsA==;
Received: from [87.69.77.57] (port=2788 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oO0ev-0007u2-F0; Tue, 16 Aug 2022 13:47:21 -0400
Date: Tue, 16 Aug 2022 20:47:10 +0300
Message-Id: <83o7wkdqsh.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <f329244a-cba7-65cd-2e5d-2630eba3e9e9@HIDDEN> (message from
 Paul Eggert on Tue, 16 Aug 2022 10:25:57 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
 <f329244a-cba7-65cd-2e5d-2630eba3e9e9@HIDDEN>
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 (---)

> Date: Tue, 16 Aug 2022 10:25:57 -0700
> Cc: bug-gnulib@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org,
>  jporterbugs@HIDDEN
> From: Paul Eggert <eggert@HIDDEN>
> 
> On 8/16/22 09:25, Eli Zaretskii wrote:
> > why does this work differently on
> > different platforms?
> 
> Platforms that lack clock_gettime and CLOCK_MONOTONIC fall back on a 
> deterministic algorithm. Presumably MS-DOS one of the few such 
> platforms, which is why the problem is observed only on MS-DOS.

(Why are you talking about MS-DOS?)

MinGW does have clock_gettime, but we don't want to use it, because
one of the MinGW flavors (MinGW64) implements that function in
libwinpthreads, and that makes Emacs depend on libwinpthreads DLL,
which we want to avoid.

> How about something like the attached patch to Gnulib's lib/tempname.c? 

Thanks, but why not use 'random' instead?  Emacs does have it on all
platforms, including MS-Windows.  AFAIU, it's better than 'rand'.

> If I understand things correctly this should make the names random 
> enough on MS-DOS, though Emacs itself still needs a patch as I mentioned 
> a few minutes ago.

Why would Emacs need that patch?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 17:54:01 +0000
Resent-Message-ID: <handler.57129.B57129.166067239818144 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Bruno Haible <bruno@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, eggert@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166067239818144
          (code B ref 57129); Tue, 16 Aug 2022 17:54:01 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 17:53:18 +0000
Received: from localhost ([127.0.0.1]:48240 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO0kf-0004ia-LP
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:53:18 -0400
Received: from eggs.gnu.org ([209.51.188.92]:54342)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oO0kd-0004iM-72
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:53:15 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:43970)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oO0kX-00051J-Pa; Tue, 16 Aug 2022 13:53:09 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=xcCimE2hkja97WjL3ZYTM2NM4o03g/deLJ/MYyO7SAg=; b=J5VHmqc2Wo1N4fKgY/IK
 SEKeQ5Qv5mPi9baoyhj9wg6hmHf0vyuZY1BA07RbSWLZVhncbY1b/CD9Mxu4zPI5n22B5x9/EVjML
 nwxW/u/j6mlAz2feg+WayYN59w+fpdbAXFTLyV2MR7RGACOUEqMc56bQ3J1s2VL8wdTCkzn/KVxzL
 9u2XPcwtQCaZA+P9Nyj5MH2a8SveLMV5yLX4ygki1MNW46yA9k+vyj1v2TfKtsmUflX384UcJn3Wr
 w7QxwLKYWYIgsZ92CiSn8seVKQjU5Pjb7vbhlLwjpt0h2yXVIh+QwLOVMFrY1u0e41zhShuw7FIs5
 hlVBqUnnKGcIhg==;
Received: from [87.69.77.57] (port=3136 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oO0kX-0008O1-8t; Tue, 16 Aug 2022 13:53:09 -0400
Date: Tue, 16 Aug 2022 20:52:57 +0300
Message-Id: <83mtc4dqiu.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <2594092.Isy0gbHreE@nimes> (message from Bruno Haible on Tue, 16
 Aug 2022 19:29:33 +0200)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
 <2594092.Isy0gbHreE@nimes>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
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 (---)

> From: Bruno Haible <bruno@HIDDEN>
> Cc: eggert@HIDDEN, bug-gnulib@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
> Date: Tue, 16 Aug 2022 19:29:33 +0200
> 
> > The buffer which visited that file still exists, and still records the
> > name of the file, yes.  And then, when the program writes to another
> > file created by another call to make-temp-file, it actually writes to
> > a file that some buffer still visits, and in Emacs that triggers a
> > prompt to the user to refresh the buffer.
> 
> That is a reasonable behaviour for a text editor — but only for file
> names that are explicitly controlled by some program or by the user,
> not for temporary files.

Why not for temporary files?

Emacs has a with-temp-file macro, which generates a temporary file
name, executes the body of the macro with a variable bound to the file
name, then deletes the file.  Very handy for writing test suites.  We
don't usually bother deleting the buffers where the file was processed
in those tests, because the test suite runs in batch mode, and Emacs
exits after running the tests, thus cleaning up.

Having to carefully make sure no such buffers were left from the
previous test is a nuisance.

> > The programmer didn't
> > expect that because it is natural to expect each call to a function
> > that creates a temporary file to create a file under a new name, not
> > reuse the same name.
> 
> This is an incorrect assumption. Just like socket numbers are randomly
> generated in some situations, temp file names are random, and you can't
> make assumptions about the resulting file name.

People get their ideas from other similar APIs, and functions like
tmpfile in C do generate a different name each call.

> How about storing, as an attribute of the buffer, a boolean that tells
> whether the underlying file name is randomly generated (i.e. a temp file),
> and query this boolean before prompting to the user to refresh the buffer?

That's a terrible complications, especially since the solution is so
close at hand, and it makes gen_tempname behave on Windows as it does
on GNU/Linux, and as it behaved just a year or two ago.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 17:57:02 +0000
Resent-Message-ID: <handler.57129.B57129.166067260318523 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Paul Eggert <eggert@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org, bruno@HIDDEN
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166067260318523
          (code B ref 57129); Tue, 16 Aug 2022 17:57:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 17:56:43 +0000
Received: from localhost ([127.0.0.1]:48250 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO0ny-0004of-Os
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:56:43 -0400
Received: from eggs.gnu.org ([209.51.188.92]:55004)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oO0nj-0004o8-JZ
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 13:56:41 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:52844)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oO0ne-0005XH-3a; Tue, 16 Aug 2022 13:56:22 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=8wdn566jQPrFWRp3fZwAoGTfZrclS4CIT70AYTwgwtk=; b=BWsLe3D33hna
 OinFSLJHKVDkIzN93xBchUM2aDf+3tHtBXQekAREwd85/EXj9EaqzzwVXLXC/HDCxj95WElZJkjHr
 z4bvKe1T5n4Gc84hOv3Gc2f0M28ib1gQgkmDMoTis3cnDFqFXK/qWt6EfbiOzhkV24Q0d0WyVgKDJ
 7RBD3N1fYtl7pWb2MRnCmjLDpbMo9DCSHfRrdex7gfTBOMA7G/cRGW/b7tUapgaYedA5xmDKxh8tY
 owwZHUT32eKg8iAdWaWlw2iTXLQuZ5q4y16Uaa+5Pi0vuKuNrh+2WOFQTgxzxggoa0nDXvHm5SjV/
 RGNWVxeeW6RLsKyACgUZ4A==;
Received: from [87.69.77.57] (port=3340 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oO0nd-0000YN-Ip; Tue, 16 Aug 2022 13:56:21 -0400
Date: Tue, 16 Aug 2022 20:56:10 +0300
Message-Id: <83lerodqdh.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <ceeeaa86-6199-93b1-ff65-bbd3e531e235@HIDDEN> (message from
 Paul Eggert on Tue, 16 Aug 2022 10:30:54 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
 <206e38df-2db4-a46a-e0ff-952bc8ab939c@HIDDEN> <83sflwdsr2.fsf@HIDDEN>
 <ceeeaa86-6199-93b1-ff65-bbd3e531e235@HIDDEN>
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: -3.3 (---)

> Date: Tue, 16 Aug 2022 10:30:54 -0700
> Cc: bug-gnulib@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org,
>  jporterbugs@HIDDEN, bruno@HIDDEN
> From: Paul Eggert <eggert@HIDDEN>
> 
> On 8/16/22 10:04, Eli Zaretskii wrote:
> > That "finite number" of 62^6 sounds pretty close to infinity to me!
> 
> It's only 57 billion or so. That's not infinity

Yeah, right.

> Since we have the patch to prevent it, why not install it?

Because it isn't needed, and is a weird thing to do.  It also slows
down make-temp-file, especially when a session has a lot of buffers
and with remote file names.  So thanks, but no, thanks.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Paul Eggert <eggert@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 19:12:01 +0000
Resent-Message-ID: <handler.57129.B57129.166067709526549 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: bug-gnulib@HIDDEN, larsi@HIDDEN, bruno@HIDDEN, 57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166067709526549
          (code B ref 57129); Tue, 16 Aug 2022 19:12:01 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 19:11:35 +0000
Received: from localhost ([127.0.0.1]:48346 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO1yQ-0006u9-PV
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 15:11:35 -0400
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:52292)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eggert@HIDDEN>) id 1oO1yO-0006tw-N3
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 15:11:33 -0400
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 6A7C01600AF;
 Tue, 16 Aug 2022 12:11:26 -0700 (PDT)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id QpVnuqTvpy5M; Tue, 16 Aug 2022 12:11:25 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 2FEA41600B0;
 Tue, 16 Aug 2022 12:11:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id eUZlkWXG9RXQ; Tue, 16 Aug 2022 12:11:25 -0700 (PDT)
Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com
 [172.91.119.151])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id E8DE11600AF;
 Tue, 16 Aug 2022 12:11:24 -0700 (PDT)
Content-Type: multipart/mixed; boundary="------------MG8oHTZLRs6SzariwQEGHrDK"
Message-ID: <d95734ab-6bbc-7403-c1f8-fbf742badda4@HIDDEN>
Date: Tue, 16 Aug 2022 12:11:24 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
 <f329244a-cba7-65cd-2e5d-2630eba3e9e9@HIDDEN> <83o7wkdqsh.fsf@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
In-Reply-To: <83o7wkdqsh.fsf@HIDDEN>
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 (---)

This is a multi-part message in MIME format.
--------------MG8oHTZLRs6SzariwQEGHrDK
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 8/16/22 10:47, Eli Zaretskii wrote:

> (Why are you talking about MS-DOS?)

I mistakenly thought it was an MS-DOS problem because tempname.c 
ordinarily would use clock_gettime on MinGW. I didn't know Emacs 
'configure' deliberately suppresses MinGW's clock_gettime.


> Thanks, but why not use 'random' instead?  Emacs does have it on all
> platforms, including MS-Windows.  AFAIU, it's better than 'rand'.

If the code used 'random' then the Gnulib 'tempname' module would need 
to add a dependency on the Gnulib 'random' module, which would in turn 
add a cascading dependency on Gnulib's 'random_r' module. It's better to 
avoid this dependency if we can easily do so.

Come to think of it, we don't need to use 'rand' either, since 
tempname.c already has a good-enough pseudorandom generator. I installed 
into Gnulib the attached patch, which I hope fixes the Emacs problem 
without changing glibc's generated code (once this gets migrated back 
into glibc).


>> If I understand things correctly this should make the names random
>> enough on MS-DOS, though Emacs itself still needs a patch as I mentioned
>> a few minutes ago.
> 
> Why would Emacs need that patch?

In another part of this thread you rejected that patch, on the grounds 
that fixing the unlikely Emacs bug is more trouble than it's worth. So 
I'll drop that suggestion.
--------------MG8oHTZLRs6SzariwQEGHrDK
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-tempname-generate-better-names-for-MinGW-Emacs.patch"
Content-Disposition: attachment;
 filename*0="0001-tempname-generate-better-names-for-MinGW-Emacs.patch"
Content-Transfer-Encoding: base64

RnJvbSA1MTJlNDRhZGFlYmIzMDk2ZGRkMWJmNTY0ZTY3OWQwNmUwMzAxNjE2IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1
PgpEYXRlOiBUdWUsIDE2IEF1ZyAyMDIyIDEyOjA2OjQ4IC0wNzAwClN1YmplY3Q6IFtQQVRD
SF0gdGVtcG5hbWU6IGdlbmVyYXRlIGJldHRlciBuYW1lcyBmb3IgTWluR1cgRW1hY3MKTUlN
RS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04
CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCk9uIE1pbkdXLCBHTlUgRW1hY3Mg
ZGlzYWJsZXMgY2xvY2tfZ2V0dGltZSwgd2hpY2ggcmVsaWFibHkgYnJlYWtzCnNvbWUgb2Yg
Z2VuX3RlbXBuYW1l4oCZcyBvcHRpbWlzdGljIGNhbGxlcnMuICBXb3JrIGFyb3VuZCB0aGUK
cHJvYmxlbSBieSBtYWtpbmcgdGhlIGdlbmVyYXRlZCBuYW1lcyBsZXNzIHByZWRpY3RhYmxl
LiAgV2UgZG9u4oCZdApuZWVkIGNyeXB0b2dyYXBoaWMgcmFuZG9tbmVzcyBoZXJlLCBqdXN0
IGVub3VnaCB1bnByZWRpY3RhYmlsaXR5CnRvIGtlZXAgRW1hY3MgaGFwcHkgbW9zdCBvZiB0
aGUgdGltZS4KKiBsaWIvdGVtcG5hbWUuYyAoSEFTX0NMT0NLX0VOVFJPUFkpOiBOZXcgbWFj
cm8uCihyYW5kb21fYml0cyk6IFVzZSBpdC4KKHRyeV90ZW1wbmFtZV9sZW4pOiBPbiBzeXN0
ZW1zIGxhY2tpbmcgY2xvY2sgZW50cm9weSwgbWFpbnRhaW4Kc3RhdGUgc28gdGhhdCBnZW5f
ZmlsZW5hbWUgZ2VuZXJhdGVzIGxlc3MtcHJlZGljdGFibGUgbmFtZXMgb24Kc3VjY2Vzc2l2
ZSBzdWNjZXNzZnVsIGNhbGxzLgotLS0KIENoYW5nZUxvZyAgICAgIHwgMTQgKysrKysrKysr
KysrKysKIGxpYi90ZW1wbmFtZS5jIHwgMTggKysrKysrKysrKysrKysrKystCiAyIGZpbGVz
IGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg
YS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYjYzOWQxNzA5ZC4uZWI5NjI4MTU5MSAx
MDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDIyLTA4LTE2ICBQYXVsIEVnZ2VydCAgPGVnZ2VydEBjcy51Y2xhLmVkdT4KKworCXRl
bXBuYW1lOiBnZW5lcmF0ZSBiZXR0ZXIgbmFtZXMgZm9yIE1pbkdXIEVtYWNzCisJT24gTWlu
R1csIEdOVSBFbWFjcyBkaXNhYmxlcyBjbG9ja19nZXR0aW1lLCB3aGljaCByZWxpYWJseSBi
cmVha3MKKwlzb21lIG9mIGdlbl90ZW1wbmFtZeKAmXMgb3B0aW1pc3RpYyBjYWxsZXJzLiAg
V29yayBhcm91bmQgdGhlCisJcHJvYmxlbSBieSBtYWtpbmcgdGhlIGdlbmVyYXRlZCBuYW1l
cyBsZXNzIHByZWRpY3RhYmxlLiAgV2UgZG9u4oCZdAorCW5lZWQgY3J5cHRvZ3JhcGhpYyBy
YW5kb21uZXNzIGhlcmUsIGp1c3QgZW5vdWdoIHVucHJlZGljdGFiaWxpdHkKKwl0byBrZWVw
IEVtYWNzIGhhcHB5IG1vc3Qgb2YgdGhlIHRpbWUuCisJKiBsaWIvdGVtcG5hbWUuYyAoSEFT
X0NMT0NLX0VOVFJPUFkpOiBOZXcgbWFjcm8uCisJKHJhbmRvbV9iaXRzKTogVXNlIGl0Lgor
CSh0cnlfdGVtcG5hbWVfbGVuKTogT24gc3lzdGVtcyBsYWNraW5nIGNsb2NrIGVudHJvcHks
IG1haW50YWluCisJc3RhdGUgc28gdGhhdCBnZW5fZmlsZW5hbWUgZ2VuZXJhdGVzIGxlc3Mt
cHJlZGljdGFibGUgbmFtZXMgb24KKwlzdWNjZXNzaXZlIHN1Y2Nlc3NmdWwgY2FsbHMuCisK
IDIwMjItMDgtMTYgIFNpbW9uIEpvc2Vmc3NvbiAgPHNpbW9uQGpvc2Vmc3Nvbi5vcmc+CiAK
IAltYWludGFpbmVyLW1ha2VmaWxlOiBDaGVjayBmb3IgaW5jb3JyZWN0IERJU1RDSEVDS19D
T05GSUdVUkVfRkxBR1MKZGlmZiAtLWdpdCBhL2xpYi90ZW1wbmFtZS5jIGIvbGliL3RlbXBu
YW1lLmMKaW5kZXggZTY1MjAxOTFkNy4uNWFkZmU2MjlhOCAxMDA2NDQKLS0tIGEvbGliL3Rl
bXBuYW1lLmMKKysrIGIvbGliL3RlbXBuYW1lLmMKQEAgLTc3LDYgKzc3LDEyIEBAIHR5cGVk
ZWYgdWludF9mYXN0NjRfdCByYW5kb21fdmFsdWU7CiAjZGVmaW5lIEJBU0VfNjJfRElHSVRT
IDEwIC8qIDYyKioxMCA8IFVJTlRfRkFTVDY0X01BWCAqLwogI2RlZmluZSBCQVNFXzYyX1BP
V0VSICg2MkxMICogNjIgKiA2MiAqIDYyICogNjIgKiA2MiAqIDYyICogNjIgKiA2MiAqIDYy
KQogCisjaWYgX0xJQkMgfHwgKGRlZmluZWQgQ0xPQ0tfTU9OT1RPTklDICYmIEhBVkVfQ0xP
Q0tfR0VUVElNRSkKKyMgZGVmaW5lIEhBU19DTE9DS19FTlRST1BZIHRydWUKKyNlbHNlCisj
IGRlZmluZSBIQVNfQ0xPQ0tfRU5UUk9QWSBmYWxzZQorI2VuZGlmCisKIHN0YXRpYyByYW5k
b21fdmFsdWUKIHJhbmRvbV9iaXRzIChyYW5kb21fdmFsdWUgdmFyLCBib29sIHVzZV9nZXRy
YW5kb20pCiB7CkBAIC04NCw3ICs5MCw3IEBAIHJhbmRvbV9iaXRzIChyYW5kb21fdmFsdWUg
dmFyLCBib29sIHVzZV9nZXRyYW5kb20pCiAgIC8qIFdpdGhvdXQgR1JORF9OT05CTE9DSyBp
dCBjYW4gYmUgYmxvY2tlZCBmb3IgbWludXRlcyBvbiBzb21lIHN5c3RlbXMuICAqLwogICBp
ZiAodXNlX2dldHJhbmRvbSAmJiBfX2dldHJhbmRvbSAoJnIsIHNpemVvZiByLCBHUk5EX05P
TkJMT0NLKSA9PSBzaXplb2YgcikKICAgICByZXR1cm4gcjsKLSNpZiBfTElCQyB8fCAoZGVm
aW5lZCBDTE9DS19NT05PVE9OSUMgJiYgSEFWRV9DTE9DS19HRVRUSU1FKQorI2lmIEhBU19D
TE9DS19FTlRST1BZCiAgIC8qIEFkZCBlbnRyb3B5IGlmIGdldHJhbmRvbSBkaWQgbm90IHdv
cmsuICAqLwogICBzdHJ1Y3QgX190aW1lc3BlYzY0IHR2OwogICBfX2Nsb2NrX2dldHRpbWU2
NCAoQ0xPQ0tfTU9OT1RPTklDLCAmdHYpOwpAQCAtMjY3LDYgKzI3MywxMyBAQCB0cnlfdGVt
cG5hbWVfbGVuIChjaGFyICp0bXBsLCBpbnQgc3VmZml4bGVuLCB2b2lkICphcmdzLAogICAg
ICBhbGlnbm1lbnQuICAqLwogICByYW5kb21fdmFsdWUgdiA9ICgodWludHB0cl90KSAmdikg
LyBhbGlnbm9mIChtYXhfYWxpZ25fdCk7CiAKKyNpZiAhSEFTX0NMT0NLX0VOVFJPUFkKKyAg
LyogQXJyYW5nZSBnZW5fdGVtcG5hbWUgdG8gcmV0dXJuIGxlc3MgcHJlZGljdGFibGUgZmls
ZSBuYW1lcyBvbgorICAgICBzeXN0ZW1zIGxhY2tpbmcgY2xvY2sgZW50cm9weSA8aHR0cHM6
Ly9idWdzLmdudS5vcmcvNTcxMjk+LiAgKi8KKyAgc3RhdGljIHJhbmRvbV92YWx1ZSBwcmV2
X3Y7CisgIHYgXj0gcHJldl92OworI2VuZGlmCisKICAgLyogSG93IG1hbnkgcmFuZG9tIGJh
c2UtNjIgZGlnaXRzIGNhbiBjdXJyZW50bHkgYmUgZXh0cmFjdGVkIGZyb20gVi4gICovCiAg
IGludCB2ZGlnaXRzID0gMDsKIApAQCAtMzE4LDYgKzMzMSw5IEBAIHRyeV90ZW1wbmFtZV9s
ZW4gKGNoYXIgKnRtcGwsIGludCBzdWZmaXhsZW4sIHZvaWQgKmFyZ3MsCiAgICAgICBpZiAo
ZmQgPj0gMCkKICAgICAgICAgewogICAgICAgICAgIF9fc2V0X2Vycm5vIChzYXZlX2Vycm5v
KTsKKyNpZiAhSEFTX0NMT0NLX0VOVFJPUFkKKyAgICAgICAgICBwcmV2X3YgPSB2OworI2Vu
ZGlmCiAgICAgICAgICAgcmV0dXJuIGZkOwogICAgICAgICB9CiAgICAgICBlbHNlIGlmIChl
cnJubyAhPSBFRVhJU1QpCi0tIAoyLjM0LjEKCg==

--------------MG8oHTZLRs6SzariwQEGHrDK--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Bruno Haible <bruno@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 20:00:02 +0000
Resent-Message-ID: <handler.57129.B57129.166067995631516 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, eggert@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166067995631516
          (code B ref 57129); Tue, 16 Aug 2022 20:00:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 19:59:16 +0000
Received: from localhost ([127.0.0.1]:48438 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO2ia-0008CF-2V
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 15:59:16 -0400
Received: from mo4-p01-ob.smtp.rzone.de ([85.215.255.54]:40943)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bruno@HIDDEN>) id 1oO2iX-0008C6-PJ
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 15:59:14 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1660679950;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=MqIf/K6WFWBXw9SmvP1Tk1nL/nip8h/gJtfRkQ0eLt4=;
 b=G6Cbgmw+J3lYBywD7l600y2vLcVOcwhNBaM3tvVhttV4jTWrqzanKZTLsy83v9XR94
 7+H4njmynDHXdRQqbuCL8eqkeE8Wvga40/KVXcQIG3nLmOEysTe5VSPtHQYOwJqzTAGl
 aBReu/iRpMx9HlqAiEyhvyeQdqjx9/WBKh/YrwUSJEWAp10i51VXqTV7J1pEWfboXVbV
 A7ykz6mQatJ/Jx4VqVf3NM5SBo5ENeCJZ1WqKbORqrbRBDpyTJMSUYsh8B/LKCM6E9h8
 PHb9Sz7FBek35x+1I+iNGw9hUTVGv6AnFfHa3WfNxSDH5KrD6T6+Z9SPDDc+EmITaubu
 0Atw==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zG6tLj91pCR2L7hM6+Odi8PRCuZoP2/ZC83xg=="
X-RZG-CLASS-ID: mo00
Received: from nimes.localnet by smtp.strato.de (RZmta 47.47.0 AUTH)
 with ESMTPSA id g97246y7GJxAmr9
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Tue, 16 Aug 2022 21:59:10 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
Date: Tue, 16 Aug 2022 21:59:10 +0200
Message-ID: <2135151.C4sosBPzcN@nimes>
In-Reply-To: <838rnofgad.fsf@HIDDEN>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="nextPart2470919.4XsnlVU6TS"
Content-Transfer-Encoding: 7Bit
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 (-)

This is a multi-part message in MIME format.

--nextPart2470919.4XsnlVU6TS
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Eli Zaretskii wrote:
> Looking at your test program, I see that you generate the seconds file
> name without deleting the first one.  When a file by the first
> generated name already exists, gen_tempname will indeed generate a
> different name.  But in the scenario I described, Emacs creates one
> temporary file, uses it, then deletes it, and only after that creates
> another file.

I'm adding this scenario to the unit test. Still, the unit test succeeds
when run once on:
  Linux, FreeBSD, NetBSD, OpenBSD, macOS, Solaris, Cygwin, native Windows.

Since this contradicts what you debugged on mingw, I ran the test 10000
times on native Windows. Result:
  - on 32-bit mingw, no failure.
  - on 64-bit mingw, around 30 failures (or around 10 failures with Paul's
    newest patch). That is, a probability of ca. 0.3% of getting the same
    file name as on the previous call.

Bruno

--nextPart2470919.4XsnlVU6TS
Content-Disposition: attachment; filename="0001-tempname-Add-more-tests.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="UTF-8"; name="0001-tempname-Add-more-tests.patch"

From aa52cadc36fb1af0509dc3a4bce4ce73197ece68 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@HIDDEN>
Date: Tue, 16 Aug 2022 21:50:11 +0200
Subject: [PATCH] tempname: Add more tests.

Based on scenario described by Eli Zaretskii in
<https://lists.gnu.org/archive/html/bug-gnulib/2022-08/msg00043.html>.

* tests/test-tempname.c (main): Add another test.
* modules/tempname-tests (Status): Mark the test as unportable.
---
 ChangeLog              |  8 ++++++
 modules/tempname-tests |  3 ++
 tests/test-tempname.c  | 65 ++++++++++++++++++++++++++++++------------
 3 files changed, 58 insertions(+), 18 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index eb96281591..de113ce081 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2022-08-16  Bruno Haible  <bruno@HIDDEN>
+
+	tempname: Add more tests.
+	Based on scenario described by Eli Zaretskii in
+	<https://lists.gnu.org/archive/html/bug-gnulib/2022-08/msg00043.html>.
+	* tests/test-tempname.c (main): Add another test.
+	* modules/tempname-tests (Status): Mark the test as unportable.
+
 2022-08-16  Paul Eggert  <eggert@HIDDEN>
 
 	tempname: generate better names for MinGW Emacs
diff --git a/modules/tempname-tests b/modules/tempname-tests
index 384f98707b..adccd0d8e9 100644
--- a/modules/tempname-tests
+++ b/modules/tempname-tests
@@ -2,6 +2,9 @@ Files:
 tests/test-tempname.c
 tests/macros.h
 
+Status:
+unportable-test
+
 Depends-on:
 unlink
 
diff --git a/tests/test-tempname.c b/tests/test-tempname.c
index d463eec2b4..4a0ca65f2c 100644
--- a/tests/test-tempname.c
+++ b/tests/test-tempname.c
@@ -34,24 +34,53 @@ main ()
   char filename1[18 + 1];
   char filename2[18 + 1];
 
-  strcpy (filename1, templ18);
-  int fd1 = gen_tempname (filename1, strlen (".xyz"), 0, GT_FILE);
-  ASSERT (fd1 >= 0);
-
-  strcpy (filename2, templ18);
-  int fd2 = gen_tempname (filename2, strlen (".xyz"), 0, GT_FILE);
-  ASSERT (fd2 >= 0);
-
-  /* With 6 'X' and a good pseudo-random number generator behind the scenes,
-     the probability of getting the same file name twice in a row should be
-     1/62^6 < 1/10^10.  */
-  ASSERT (strcmp (filename1, filename2) != 0);
-
-  /* Clean up.  */
-  close (fd1);
-  close (fd2);
-  unlink (filename1);
-  unlink (filename2);
+  /* Case 1: The first file still exists while gen_tempname is called a second
+     time.  */
+  {
+    strcpy (filename1, templ18);
+    int fd1 = gen_tempname (filename1, strlen (".xyz"), 0, GT_FILE);
+    ASSERT (fd1 >= 0);
+
+    strcpy (filename2, templ18);
+    int fd2 = gen_tempname (filename2, strlen (".xyz"), 0, GT_FILE);
+    ASSERT (fd2 >= 0);
+
+    /* gen_tempname arranges (via O_EXCL) to not return the name of an existing
+       file.  */
+    ASSERT (strcmp (filename1, filename2) != 0);
+
+    /* Clean up.  */
+    close (fd1);
+    close (fd2);
+    unlink (filename1);
+    unlink (filename2);
+  }
+
+  /* Case 2: The first file is deleted before gen_tempname is called a second
+     time.  */
+  {
+    strcpy (filename1, templ18);
+    int fd1 = gen_tempname (filename1, strlen (".xyz"), 0, GT_FILE);
+    ASSERT (fd1 >= 0);
+
+    /* Clean up.  */
+    close (fd1);
+    unlink (filename1);
+
+    strcpy (filename2, templ18);
+    int fd2 = gen_tempname (filename2, strlen (".xyz"), 0, GT_FILE);
+    ASSERT (fd2 >= 0);
+
+    /* With 6 'X' and a good pseudo-random number generator behind the scenes,
+       the probability of getting the same file name twice in a row should be
+       1/62^6 < 1/10^10.
+       But on 64-bit native Windows, this probability is ca. 0.1% to 0.3%.  */
+    ASSERT (strcmp (filename1, filename2) != 0);
+
+    /* Clean up.  */
+    close (fd2);
+    unlink (filename2);
+  }
 
   return 0;
 }
-- 
2.34.1


--nextPart2470919.4XsnlVU6TS--







Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Bruno Haible <bruno@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 20:07:02 +0000
Resent-Message-ID: <handler.57129.B57129.166068038032267 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, eggert@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166068038032267
          (code B ref 57129); Tue, 16 Aug 2022 20:07:02 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 20:06:20 +0000
Received: from localhost ([127.0.0.1]:48442 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO2pQ-0008ON-5O
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 16:06:20 -0400
Received: from mo4-p01-ob.smtp.rzone.de ([85.215.255.54]:42559)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bruno@HIDDEN>) id 1oO2pN-0008OC-FI
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 16:06:18 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1660680374;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=fECqejbJa56Ro0FL3fAaZUK9AdCOKuSZEmSfQINfiyc=;
 b=SRlQVzS2oBeyWG8EdHhUNLUkVPsx9OUwmfhOJf7z3ntugsObAeCwAsNl2rq8w9iHXZ
 TXhDje2PLjnjR/XObVX+Bn3vB5znnI1cFwDHLmb64ZeS3QMWsxknevEPyrU3UAE+GEAM
 T5gsTH+0XDq5wCA9el3jgmBHoWNhsVgyEwC40Jb7A0yb8pgF/DLTLmqMO5Nh4kAx/UIN
 ShjDh8GbAHpUwgFEk5Et+yTu9dAinLtiLoYmd57dHf5DGSnQ0yXRWqmKiixWGazf2AZQ
 4EBqCsZXZfb3ESXMyw3hCBy440K901B/e5kQ1N9dx/FVsEuUcOypS/GLjI7kUWxxnTYg
 GWBw==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zG6tLj91pCR2L7hM6+Odi8PRCuZoP2/ZC83xg=="
X-RZG-CLASS-ID: mo00
Received: from nimes.localnet by smtp.strato.de (RZmta 47.47.0 AUTH)
 with ESMTPSA id g97246y7GK6Dmru
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Tue, 16 Aug 2022 22:06:13 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
Date: Tue, 16 Aug 2022 22:06:13 +0200
Message-ID: <2606289.q0ZmV6gNhb@nimes>
In-Reply-To: <83mtc4dqiu.fsf@HIDDEN>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <2594092.Isy0gbHreE@nimes> <83mtc4dqiu.fsf@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
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 (-)

Eli Zaretskii wrote:
> Emacs has a with-temp-file macro, which generates a temporary file
> name, executes the body of the macro with a variable bound to the file
> name, then deletes the file.  Very handy for writing test suites.

Since, even with Paul's newest patch, gen_tempname on 64-bit mingw
produces the same file name as on the previous call with a probability
of about 0.1%, you still need to be prepared to see the original problem
occasionally.

Bruno







Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Bruno Haible <bruno@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 20:13:01 +0000
Resent-Message-ID: <handler.57129.B57129.1660680780397 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>, Paul Eggert <eggert@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.1660680780397
          (code B ref 57129); Tue, 16 Aug 2022 20:13:01 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 20:13:00 +0000
Received: from localhost ([127.0.0.1]:48447 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO2vr-00006L-Tv
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 16:13:00 -0400
Received: from mo4-p01-ob.smtp.rzone.de ([81.169.146.166]:36055)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bruno@HIDDEN>) id 1oO2vo-00006B-14
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 16:12:58 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1660680773;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=bUBiXd1t1Q/YwLfGGSVmL+QsjVzPEbmXWc1xkuSKzXc=;
 b=fUKa8Fi48DBiv6doODG38eSfvIb4JLpKCT2knLkya798AkDpH6SoefugTRphmlrddu
 kTBzmeBlVGWH8YjujYV394oc45iozgqM6dcicYrrxDRSljA3C4x7+r/kELnjxgOBQ94z
 szWfpMb8v0nISE1ySmE4py3Gp9jS0N2FtPCB3cP84f4f3WDLUV7LjY6DN67zx63Av4VR
 m+95hzUC6/7i8WAzSbVoa3SNcOmg2vjOrRilQZlTmCMANskAv5ul9y29yBlfK7YmhfDW
 f3tyWg4h7x4+fzUg5wiL0GJI51t/tr+DNdJeG1H48Rmhf27XJRQAiKyiNXNHGjyRIzrv
 bfyw==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zG6tLj91pCR2L7hM6+Odi8PRCuZoP2/ZC83xg=="
X-RZG-CLASS-ID: mo00
Received: from nimes.localnet by smtp.strato.de (RZmta 47.47.0 AUTH)
 with ESMTPSA id g97246y7GKCqmsa
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Tue, 16 Aug 2022 22:12:52 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
Date: Tue, 16 Aug 2022 22:12:51 +0200
Message-ID: <1856780.eGJsNajkDb@nimes>
In-Reply-To: <d95734ab-6bbc-7403-c1f8-fbf742badda4@HIDDEN>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <83o7wkdqsh.fsf@HIDDEN> <d95734ab-6bbc-7403-c1f8-fbf742badda4@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
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 (-)

Paul Eggert wrote:
> Emacs 'configure' deliberately suppresses MinGW's clock_gettime.

Ah, this explains why Eli saw the problem in Emacs in a deterministic
manner, whereas I see it only with 0.3% probability in my tests on 64-bit
mingw.

> I installed 
> into Gnulib the attached patch, which I hope fixes the Emacs problem 
> without changing glibc's generated code (once this gets migrated back 
> into glibc).

In 10000 runs on 64-bit mingw, your patch went from 27 test failures
to 11 test failures. So, we're still at ca. 0.1% probability (*), far
above the 62^-6 or 10^-10 probability that one would have hoped for.

(*) I wouldn't consider these measurements reliable. Maybe the probability
did not change, and what I'm seeing is merely a measurement fluke.

Bruno







Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Paul Eggert <eggert@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 16 Aug 2022 20:54:01 +0000
Resent-Message-ID: <handler.57129.B57129.16606832104460 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Bruno Haible <bruno@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.16606832104460
          (code B ref 57129); Tue, 16 Aug 2022 20:54:01 +0000
Received: (at 57129) by debbugs.gnu.org; 16 Aug 2022 20:53:30 +0000
Received: from localhost ([127.0.0.1]:48495 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oO3Z3-00019s-Qm
	for submit <at> debbugs.gnu.org; Tue, 16 Aug 2022 16:53:30 -0400
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:35886)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eggert@HIDDEN>) id 1oO3Yx-00019a-QI
 for 57129 <at> debbugs.gnu.org; Tue, 16 Aug 2022 16:53:28 -0400
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 3EE711600AF;
 Tue, 16 Aug 2022 13:53:17 -0700 (PDT)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 0T45bcV_MrDv; Tue, 16 Aug 2022 13:53:16 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 8B4441600B3;
 Tue, 16 Aug 2022 13:53:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id OzkSKMa41q_5; Tue, 16 Aug 2022 13:53:16 -0700 (PDT)
Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com
 [172.91.119.151])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 5352E1600AF;
 Tue, 16 Aug 2022 13:53:16 -0700 (PDT)
Message-ID: <2271941c-3ac3-1525-4d9f-62c757641d6c@HIDDEN>
Date: Tue, 16 Aug 2022 13:53:16 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <2135151.C4sosBPzcN@nimes>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
In-Reply-To: <2135151.C4sosBPzcN@nimes>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
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 (---)

On 8/16/22 12:59, Bruno Haible wrote:
> Since this contradicts what you debugged on mingw, I ran the test 10000
> times on native Windows. Result:
>    - on 32-bit mingw, no failure.
>    - on 64-bit mingw, around 30 failures (or around 10 failures with Paul's
>      newest patch). That is, a probability of ca. 0.3% of getting the same
>      file name as on the previous call.

That's odd, for two reasons. First, 64-bit and 32-bit mingw shouldn't 
differ, as they both use uint_fast64_t which should be the same width on 
both platforms. Second, I could not reproduce the problem on 64-bit 
Ubuntu x86-64 (after altering tempname.c to always define 
HAS_CLOCK_ENTROPY to false) test-tempname always succeeded in 10000 tries.

Could you investigate further why mingw 64-bit fails?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 17 Aug 2022 11:10:01 +0000
Resent-Message-ID: <handler.57129.B57129.16607345488624 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Paul Eggert <eggert@HIDDEN>
Cc: bug-gnulib@HIDDEN, larsi@HIDDEN, bruno@HIDDEN, 57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.16607345488624
          (code B ref 57129); Wed, 17 Aug 2022 11:10:01 +0000
Received: (at 57129) by debbugs.gnu.org; 17 Aug 2022 11:09:08 +0000
Received: from localhost ([127.0.0.1]:49546 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oOGv5-0002F2-Ne
	for submit <at> debbugs.gnu.org; Wed, 17 Aug 2022 07:09:08 -0400
Received: from eggs.gnu.org ([209.51.188.92]:45474)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oOGv1-0002ET-9K
 for 57129 <at> debbugs.gnu.org; Wed, 17 Aug 2022 07:09:07 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:36770)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oOGut-0006ZI-04; Wed, 17 Aug 2022 07:08:55 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=3wgnObi32SXFt8hy0+wZ9NSUqVTKvQWjqKztMnz9gdA=; b=XD4IWY1WriL0
 21w50v8My2OX90+cKskHK+Jxkai/eP0e37wiVdq6QgOf7q7mqJTIgHPXbHzWc+wJbOGC64RFh/SqB
 /c5X3/F4YlXpLjEqAN7QdbeTCZucTOVqQkcPPCI7m3wdH9ErpEsHRXnIk9mPfr6wAfJg1YoA2uwds
 URrtjL71GCwPIdjVy4aib/ByA0DFTTbC9eTOXLgW5Mlf7CqhY4UiQ9UiIQGZUJbTF3QBez8OUHNc5
 +CmVkGvrbDwxKKFpWHd0ED913G7rCoZ7NeIn97u4DWDG0abPf9PlSIWCevD3p4HPDSr4DD+4ALcta
 Dryr8ldbBrXzhf6y9mkaxA==;
Received: from [87.69.77.57] (port=2404 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oOGus-0001yC-DT; Wed, 17 Aug 2022 07:08:54 -0400
Date: Wed, 17 Aug 2022 14:08:44 +0300
Message-Id: <83h72bdt4z.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <d95734ab-6bbc-7403-c1f8-fbf742badda4@HIDDEN> (message from
 Paul Eggert on Tue, 16 Aug 2022 12:11:24 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
 <f329244a-cba7-65cd-2e5d-2630eba3e9e9@HIDDEN> <83o7wkdqsh.fsf@HIDDEN>
 <d95734ab-6bbc-7403-c1f8-fbf742badda4@HIDDEN>
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 (---)

> Date: Tue, 16 Aug 2022 12:11:24 -0700
> Cc: bruno@HIDDEN, bug-gnulib@HIDDEN, larsi@HIDDEN,
>  57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
> From: Paul Eggert <eggert@HIDDEN>
> 
> > Thanks, but why not use 'random' instead?  Emacs does have it on all
> > platforms, including MS-Windows.  AFAIU, it's better than 'rand'.
> 
> If the code used 'random' then the Gnulib 'tempname' module would need 
> to add a dependency on the Gnulib 'random' module, which would in turn 
> add a cascading dependency on Gnulib's 'random_r' module. It's better to 
> avoid this dependency if we can easily do so.
> 
> Come to think of it, we don't need to use 'rand' either, since 
> tempname.c already has a good-enough pseudorandom generator. I installed 
> into Gnulib the attached patch, which I hope fixes the Emacs problem 
> without changing glibc's generated code (once this gets migrated back 
> into glibc).

Thanks.

Would it be possible to cherry-pick this to the emacs-28 branch, so
that Emacs 28.2 would have this fixed?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 17 Aug 2022 11:31:02 +0000
Resent-Message-ID: <handler.57129.B57129.166073580820567 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Bruno Haible <bruno@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, eggert@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166073580820567
          (code B ref 57129); Wed, 17 Aug 2022 11:31:02 +0000
Received: (at 57129) by debbugs.gnu.org; 17 Aug 2022 11:30:08 +0000
Received: from localhost ([127.0.0.1]:49621 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oOHFP-0005Jp-Nw
	for submit <at> debbugs.gnu.org; Wed, 17 Aug 2022 07:30:08 -0400
Received: from eggs.gnu.org ([209.51.188.92]:49722)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oOHFN-0004z3-3g
 for 57129 <at> debbugs.gnu.org; Wed, 17 Aug 2022 07:30:06 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:59382)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oOHFG-0005h7-Ld; Wed, 17 Aug 2022 07:29:58 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=QrW5Z6ND9f42Sfvj7tNzckk+QCpMBWPZDlOpjCCCZsU=; b=kV+Q1H+2sE+Y
 dlV74CCc6yszm5HTxPGlmmClUKSolgAAygIYwm+I6MLvCz+at/af56I3MUhOxNs7VEoIfrKCELsjy
 BQppG6F/p/+hXdLoXE0MFr6x9/Ivze6P0UnHcxXaynKs2nNDjpjCMniUoxDRqosBYfgZN4klVJ6LJ
 qyCtF6kRrmaIGqpe7A5SgKXDzlPmwDrX8IW/uMQppFoom23AtfzlIaap8ZXJ0ZTNllN995Kl+tGgf
 HqH3pvMH6xeUUVN8nupmQaznb5J8SqUDo41ngjckN7OKYNft3Bz2Mp7LmnE3vWhXwx04VUwsQBohb
 zQqu+7E6R9LR9UtJsv5JBg==;
Received: from [87.69.77.57] (port=3681 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oOHFG-0006jl-48; Wed, 17 Aug 2022 07:29:58 -0400
Date: Wed, 17 Aug 2022 14:29:49 +0300
Message-Id: <83czczds5u.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <2606289.q0ZmV6gNhb@nimes> (message from Bruno Haible on Tue, 16
 Aug 2022 22:06:13 +0200)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <2594092.Isy0gbHreE@nimes> <83mtc4dqiu.fsf@HIDDEN>
 <2606289.q0ZmV6gNhb@nimes>
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 (---)

> From: Bruno Haible <bruno@HIDDEN>
> Cc: eggert@HIDDEN, bug-gnulib@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
> Date: Tue, 16 Aug 2022 22:06:13 +0200
> 
> Eli Zaretskii wrote:
> > Emacs has a with-temp-file macro, which generates a temporary file
> > name, executes the body of the macro with a variable bound to the file
> > name, then deletes the file.  Very handy for writing test suites.
> 
> Since, even with Paul's newest patch, gen_tempname on 64-bit mingw
> produces the same file name as on the previous call with a probability
> of about 0.1%, you still need to be prepared to see the original problem
> occasionally.

I'll take that risk, thank you.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Paul Eggert <eggert@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 18 Aug 2022 06:06:02 +0000
Resent-Message-ID: <handler.57129.B57129.166080274310266 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: bug-gnulib@HIDDEN, larsi@HIDDEN, bruno@HIDDEN, 57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166080274310266
          (code B ref 57129); Thu, 18 Aug 2022 06:06:02 +0000
Received: (at 57129) by debbugs.gnu.org; 18 Aug 2022 06:05:43 +0000
Received: from localhost ([127.0.0.1]:53494 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oOYf1-0002fV-C3
	for submit <at> debbugs.gnu.org; Thu, 18 Aug 2022 02:05:43 -0400
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:44566)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eggert@HIDDEN>) id 1oOYez-0002fE-14
 for 57129 <at> debbugs.gnu.org; Thu, 18 Aug 2022 02:05:42 -0400
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id BADD41600C2;
 Wed, 17 Aug 2022 23:05:34 -0700 (PDT)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id wN5rgzIdgpfx; Wed, 17 Aug 2022 23:05:34 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 19F8E1600C5;
 Wed, 17 Aug 2022 23:05:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id SeURb88oyosw; Wed, 17 Aug 2022 23:05:34 -0700 (PDT)
Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com
 [172.91.119.151])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id D24AD1600C2;
 Wed, 17 Aug 2022 23:05:33 -0700 (PDT)
Message-ID: <57b8f10f-8e9b-5951-e5ad-8cba2a8cb569@HIDDEN>
Date: Wed, 17 Aug 2022 23:05:33 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
 <f329244a-cba7-65cd-2e5d-2630eba3e9e9@HIDDEN> <83o7wkdqsh.fsf@HIDDEN>
 <d95734ab-6bbc-7403-c1f8-fbf742badda4@HIDDEN> <83h72bdt4z.fsf@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
In-Reply-To: <83h72bdt4z.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
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 (---)

On 8/17/22 04:08, Eli Zaretskii wrote:
> Would it be possible to cherry-pick this to the emacs-28 branch, so
> that Emacs 28.2 would have this fixed?

I installed that.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 18 Aug 2022 06:46:01 +0000
Resent-Message-ID: <handler.57129.B57129.166080510814087 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Paul Eggert <eggert@HIDDEN>
Cc: bug-gnulib@HIDDEN, larsi@HIDDEN, bruno@HIDDEN, 57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166080510814087
          (code B ref 57129); Thu, 18 Aug 2022 06:46:01 +0000
Received: (at 57129) by debbugs.gnu.org; 18 Aug 2022 06:45:08 +0000
Received: from localhost ([127.0.0.1]:53542 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oOZHA-0003f9-Cc
	for submit <at> debbugs.gnu.org; Thu, 18 Aug 2022 02:45:08 -0400
Received: from eggs.gnu.org ([209.51.188.92]:46362)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oOZH6-0003eJ-NR
 for 57129 <at> debbugs.gnu.org; Thu, 18 Aug 2022 02:45:06 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:39472)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oOZH0-0006vk-Iz; Thu, 18 Aug 2022 02:44:58 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=4N/VGoEB19W8NNO3dELwHsJHO5eGq/c7EB4fP7Xs+ZQ=; b=QjM8cCCIJZ0n
 IxFjuJlzdBiBQrEwYQ89T3rJsoYN3dawtKxZvN6lmswtg3PRQlZ7RMQv2RzsaZzyqHvcnIj/jUnaG
 3o+5QRm6ss4065fnQuFlZbS9Lxyto237bixF4WnrMIHD8s1upvlkRkh4Y85Hug8Jeyqh7LiALLlDB
 XzZvUf3fgBEsw7QsZ7WWnBPfrg/XyzVy6qKqXLQBcSncAT2Xh3Cps9Dmv9qTvlpbms2sLLmYuLNrr
 5okPQ1l1pn874Ea7uGdNJScD4ox0cs8vKwr6xi6/i9fnp7MHHfGQRRLCP8ibt8WxYOK7vYwDfRZ6X
 M1x5ZTlbO9DZR/H3HZvA3Q==;
Received: from [87.69.77.57] (port=2625 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oOZGz-0001op-3i; Thu, 18 Aug 2022 02:44:58 -0400
Date: Thu, 18 Aug 2022 09:44:48 +0300
Message-Id: <83sfluaw4f.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <57b8f10f-8e9b-5951-e5ad-8cba2a8cb569@HIDDEN> (message from
 Paul Eggert on Wed, 17 Aug 2022 23:05:33 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <1871347.6tgchFWduM@nimes> <838rnofgad.fsf@HIDDEN>
 <4165399.mogB4TqSGs@nimes> <83wnb8dukz.fsf@HIDDEN>
 <f329244a-cba7-65cd-2e5d-2630eba3e9e9@HIDDEN> <83o7wkdqsh.fsf@HIDDEN>
 <d95734ab-6bbc-7403-c1f8-fbf742badda4@HIDDEN> <83h72bdt4z.fsf@HIDDEN>
 <57b8f10f-8e9b-5951-e5ad-8cba2a8cb569@HIDDEN>
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 (---)

> Date: Wed, 17 Aug 2022 23:05:33 -0700
> Cc: bruno@HIDDEN, bug-gnulib@HIDDEN, larsi@HIDDEN,
>  57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
> From: Paul Eggert <eggert@HIDDEN>
> 
> On 8/17/22 04:08, Eli Zaretskii wrote:
> > Would it be possible to cherry-pick this to the emacs-28 branch, so
> > that Emacs 28.2 would have this fixed?
> 
> I installed that.

Thanks!




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Jim Porter <jporterbugs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Aug 2022 18:04:01 +0000
Resent-Message-ID: <handler.57129.B57129.166101861925981 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>, Paul Eggert <eggert@HIDDEN>
Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166101861925981
          (code B ref 57129); Sat, 20 Aug 2022 18:04:01 +0000
Received: (at 57129) by debbugs.gnu.org; 20 Aug 2022 18:03:39 +0000
Received: from localhost ([127.0.0.1]:33483 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oPSot-0006ky-5D
	for submit <at> debbugs.gnu.org; Sat, 20 Aug 2022 14:03:39 -0400
Received: from mail-pf1-f174.google.com ([209.85.210.174]:39669)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1oPSoq-0006kk-HV
 for 57129 <at> debbugs.gnu.org; Sat, 20 Aug 2022 14:03:38 -0400
Received: by mail-pf1-f174.google.com with SMTP id 83so1204530pfw.6
 for <57129 <at> debbugs.gnu.org>; Sat, 20 Aug 2022 11:03:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-language:in-reply-to:mime-version:date:message-id:from
 :references:cc:to:subject:from:to:cc;
 bh=11IrK6JhG5yVnsmTAD6RsIFZtnt51uOGHkGGl6K1QYY=;
 b=kCbntuuuP9HsQP6+qIRC2/uohRR52Gg20WmywnfWEuoyvhyYL7XgXWAphTCIWo8VJq
 wUCeb2BAwOYGV83+bft/oYqwujR5CPmzQNLr9JLIA/9flnKu9rZip9x/s5cFt5wYf6Wl
 uGhrSan0e8tUO9xfKhf/LOTPMb+WC/32rWBHTs2Id9ltP1DJi6IbEgQ3pMDnBRwlhkmL
 MzCW6MeRTOV48jZWSdtWd9bIteiE4RVdQSxepKloFfQKcvGfLfneTqqGTaIOACnEIP8C
 LTrDjKC4Y25DKCLiDm8Tb8dQ3Sj1kOQ2M+p0aG5gOEDFwnnh/2KvP2cS0prO05zYOdlf
 5f4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-language:in-reply-to:mime-version:date:message-id:from
 :references:cc:to:subject:x-gm-message-state:from:to:cc;
 bh=11IrK6JhG5yVnsmTAD6RsIFZtnt51uOGHkGGl6K1QYY=;
 b=WhGudz9NTQrl5y7Fr+PuEZqikwpYTXhDo4ck5cGOGppiHRnWRcDESsIYhc+X9mODoj
 TrXtUjUgkTGoreKOB/j7OhBwz03HvH3/aKsCOUJiR1mjDMR0JVrxvoQS8bDT/RsphCwb
 XcrFizxqkuHkCW0yMLvy7yLXkYdWyfyAhcxeCGaA8wBDqb6Hp2QA8h65xnikV3yN4sPv
 HGPonnPT+NW0bcnRM9kYek7lg7KJFgI7R0stZ7MkdWENa58YX5H06jBzzl8qnLpfvYPA
 Sd9yrXu0SD+a6nAz0SRBtqHBmTGoqEjPDRqHsO1mL3v9vSQ5ZzL+tsrsk997lZCxaRaD
 xN7A==
X-Gm-Message-State: ACgBeo3zhF2oNKghKxThgn5Um1gqx15aYnCb6E99rNs7FDlZMEGv7VTo
 AKYtDElFBqJF7qeYJTmYYjlbkstV/UQ=
X-Google-Smtp-Source: AA6agR7F/ZbRInzcC6ZAKLiNocJFkI9cO8UqNDYeA4SmnNs0AHJmsDSXuHhTCbp6VR0geCOe/zpCjA==
X-Received: by 2002:a05:6a00:1a0c:b0:528:6baa:a2e3 with SMTP id
 g12-20020a056a001a0c00b005286baaa2e3mr13612770pfv.27.1661018610690; 
 Sat, 20 Aug 2022 11:03:30 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 iw3-20020a170903044300b00172c7d6badcsm1512409plb.251.2022.08.20.11.03.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 20 Aug 2022 11:03:29 -0700 (PDT)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> <831qthiu0s.fsf@HIDDEN>
 <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN> <83pmh1h2pv.fsf@HIDDEN>
 <d5cd4361-9004-efdc-2308-958296ca201f@HIDDEN> <83lerpgyg3.fsf@HIDDEN>
 <cbbf05b1-0101-80dd-c0e1-f0bbd037fd27@HIDDEN> <83ilmtgwq3.fsf@HIDDEN>
From: Jim Porter <jporterbugs@HIDDEN>
Message-ID: <ed7136bb-b519-b92d-04e7-9034abd3a367@HIDDEN>
Date: Sat, 20 Aug 2022 11:03:27 -0700
MIME-Version: 1.0
In-Reply-To: <83ilmtgwq3.fsf@HIDDEN>
Content-Type: multipart/mixed; boundary="------------E1D8F599EEB8329E850EFB53"
Content-Language: en-US
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 (-)

This is a multi-part message in MIME format.
--------------E1D8F599EEB8329E850EFB53
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 8/15/2022 11:58 AM, Eli Zaretskii wrote:
>> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
>> From: Jim Porter <jporterbugs@HIDDEN>
>> Date: Mon, 15 Aug 2022 11:30:07 -0700
>>
>> The temp files are created by Eshell in lisp/eshell/esh-var.el in the
>> function 'eshell-parse-variable-ref', specifically in the part starting
>> with:
>>
>>     (eq (char-after) ?\<)
> 
> Ah, okay.  It's a (mis)feature of Gnulib's gen_tempname function
> (which is the guts of make-temp-file) in its implementation for
> MS-Windows (and maybe other platforms?): it always begins from the
> same "random" characters in the file name, and only generates other
> random characters if there's already a file by that name.  So if you
> are careful and delete the temporary file each time after usage, and
> never need more than one temporary file at the same time, you will get
> the same name every call.

In addition to the changes to temporary file name generation, I think it 
would be useful for Eshell to kill the temporary buffer too. If you use 
this feature in Eshell a lot, the temporary buffers could pile up, 
consuming memory for no real benefit. (A user who wanted the buffer to 
stick around would probably redirect to a non-temporary file, or even 
just to a buffer.) Attached is a patch to do this.

--------------E1D8F599EEB8329E850EFB53
Content-Type: text/plain; charset=UTF-8;
 name="0001-Kill-the-buffer-associated-with-a-temp-file-when-usi.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0="0001-Kill-the-buffer-associated-with-a-temp-file-when-usi.pa";
 filename*1="tch"

RnJvbSA2MmU0MzE2YmFkNjY0NWZmMTJlZjc1ODc3MzViOWUxYzVlNzRmZTIxIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j
b20+CkRhdGU6IFNhdCwgMjAgQXVnIDIwMjIgMTA6NDg6MzIgLTA3MDAKU3ViamVjdDogW1BB
VENIXSBLaWxsIHRoZSBidWZmZXIgYXNzb2NpYXRlZCB3aXRoIGEgdGVtcCBmaWxlIHdoZW4g
dXNpbmcKICckPGNvbW1hbmQ+JyBpbiBFc2hlbGwKCiogbGlzcC9lc2hlbGwvZXNoLXZhci5l
bCAoZXNoZWxsLXBhcnNlLXZhcmlhYmxlLXJlZik6IEtpbGwgdGhlIHRlbXAKZmlsZSdzIGJ1
ZmZlciB3aGVuIHdlJ3JlIGRvbmUuCi0tLQogbGlzcC9lc2hlbGwvZXNoLXZhci5lbCB8IDcg
KysrKystLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gtdmFyLmVsIGIvbGlzcC9lc2hlbGwv
ZXNoLXZhci5lbAppbmRleCAyZjY2MTRiNWQ3Li5hOWRmMTcyZTg4IDEwMDY0NAotLS0gYS9s
aXNwL2VzaGVsbC9lc2gtdmFyLmVsCisrKyBiL2xpc3AvZXNoZWxsL2VzaC12YXIuZWwKQEAg
LTQ5MCw4ICs0OTAsMTEgQEAgZXNoZWxsLXBhcnNlLXZhcmlhYmxlLXJlZgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOzsgYnkgYGVzaGVsbC1kby1ldmFsJywgd2hpY2ggcmVxdWly
ZXMgdmVyeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgcGFydGljdWxhciBmb3Jt
cyBpbiBvcmRlciB0byB3b3JrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBwcm9w
ZXJseS4gIFNlZSBidWcjNTQxOTAuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAobGlz
dCAoZnVuY3Rpb24gKGxhbWJkYSAoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoZGVsZXRlLWZpbGUgLHRlbXApKSkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChsaXN0IChmdW5jdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChsYW1iZGEgKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxl
dGUtZmlsZSAsdGVtcCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3
aGVuLWxldCAoKGJ1ZmZlciAoZ2V0LWZpbGUtYnVmZmVyICx0ZW1wKSkpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChraWxsLWJ1ZmZlciBidWZmZXIpKSkpKSkp
CiAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1hcHBseS1pbmRpY2VzICx0ZW1wIGluZGlj
ZXMgLGVzaGVsbC1jdXJyZW50LXF1b3RlZCkpKQogICAgICAgICAgICAgKGdvdG8tY2hhciAo
MSsgZW5kKSkpKSkpKQogICAgKChlcSAoY2hhci1hZnRlcikgP1woKQotLSAKMi4yNS4xCgo=
--------------E1D8F599EEB8329E850EFB53--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Aug 2022 18:15:01 +0000
Resent-Message-ID: <handler.57129.B57129.166101925626952 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Jim Porter <jporterbugs@HIDDEN>
Cc: larsi@HIDDEN, eggert@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166101925626952
          (code B ref 57129); Sat, 20 Aug 2022 18:15:01 +0000
Received: (at 57129) by debbugs.gnu.org; 20 Aug 2022 18:14:16 +0000
Received: from localhost ([127.0.0.1]:33496 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oPSzA-00070e-8m
	for submit <at> debbugs.gnu.org; Sat, 20 Aug 2022 14:14:16 -0400
Received: from eggs.gnu.org ([209.51.188.92]:41520)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oPSz9-00070S-6s
 for 57129 <at> debbugs.gnu.org; Sat, 20 Aug 2022 14:14:15 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:42140)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oPSz2-0000Eo-EY; Sat, 20 Aug 2022 14:14:08 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=3BKn7t3LSSTt3LBx3/aqXFcP93BMlDseJKFF6jq1AFI=; b=R6dcr7ROG9y1
 f0wl9GYyd6HvIhmIt2JrxLJDcJtvxZQodSejEoWe6cXQ8Qrx11VtDSF12b9Y91eKdxHiGeariILcl
 XP9YEzPuayktiZavRfE0eKa4WN030dd4+7TDhh0GbiSQnZuL2w1k4AKadKsyBz+POT5OSQ4hEVMbL
 rCx8FI9ehokwfJ5a/on9LCV9cn0I023gGLOriYaHJMBr1fglFoba3ahHuu4mnUiEDmdlQKU9i4Y9G
 tHpRwHnqyRUl1AEcOftPocI9sOUuaGMAbHpHN+BvUStqq0wHftb4fZNY0YH03MoeGqtcJ9Fm6yvX9
 e4UqX1Ar1Sr6T2ffvzSRpQ==;
Received: from [87.69.77.57] (port=4884 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oPSz1-0004KE-Mt; Sat, 20 Aug 2022 14:14:08 -0400
Date: Sat, 20 Aug 2022 21:14:07 +0300
Message-Id: <83v8qmdbps.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <ed7136bb-b519-b92d-04e7-9034abd3a367@HIDDEN> (message from
 Jim Porter on Sat, 20 Aug 2022 11:03:27 -0700)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> <831qthiu0s.fsf@HIDDEN>
 <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN> <83pmh1h2pv.fsf@HIDDEN>
 <d5cd4361-9004-efdc-2308-958296ca201f@HIDDEN> <83lerpgyg3.fsf@HIDDEN>
 <cbbf05b1-0101-80dd-c0e1-f0bbd037fd27@HIDDEN> <83ilmtgwq3.fsf@HIDDEN>
 <ed7136bb-b519-b92d-04e7-9034abd3a367@HIDDEN>
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 (---)

> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
> From: Jim Porter <jporterbugs@HIDDEN>
> Date: Sat, 20 Aug 2022 11:03:27 -0700
> 
> In addition to the changes to temporary file name generation, I think it 
> would be useful for Eshell to kill the temporary buffer too. If you use 
> this feature in Eshell a lot, the temporary buffers could pile up, 
> consuming memory for no real benefit. (A user who wanted the buffer to 
> stick around would probably redirect to a non-temporary file, or even 
> just to a buffer.) Attached is a patch to do this.

That makes sense, of course, but why not use with-temp-buffer in the
first place?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Jim Porter <jporterbugs@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 20 Aug 2022 18:50:01 +0000
Resent-Message-ID: <handler.57129.B57129.166102138830405 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: larsi@HIDDEN, eggert@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166102138830405
          (code B ref 57129); Sat, 20 Aug 2022 18:50:01 +0000
Received: (at 57129) by debbugs.gnu.org; 20 Aug 2022 18:49:48 +0000
Received: from localhost ([127.0.0.1]:33515 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oPTXX-0007uL-PQ
	for submit <at> debbugs.gnu.org; Sat, 20 Aug 2022 14:49:48 -0400
Received: from mail-pf1-f173.google.com ([209.85.210.173]:36558)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1oPTXS-0007tz-Gz
 for 57129 <at> debbugs.gnu.org; Sat, 20 Aug 2022 14:49:46 -0400
Received: by mail-pf1-f173.google.com with SMTP id w29so1409468pfj.3
 for <57129 <at> debbugs.gnu.org>; Sat, 20 Aug 2022 11:49:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:from:to:cc;
 bh=uneXAV4uRtoc741SnlonZ3qbDLUc//XJd2j2a4ewbLY=;
 b=nHwObuo13c6hQMipq9UGC2gY6G/ghaE/5u/CEmAuP2xpvn/UDYufWWHI4zsOU+K6Cm
 jvw+w6riqeSZ13tD3XO7UZDJOzXaXJhwWED54hfCp002zHX8fMAM0gMmHMohCRYCXkwC
 hNPfuacZQtJv6yE9GbBH3U2Yld+FEz4HT5DzepcwnqYpif8/khsulyxCduvuETTA+T+V
 HVYmKXANq9ZTL2nCXanyFDSI0b+VwFZpWuVbpqo0aZwt+aG9SPMOEVz1rJ4wAlDmPsY1
 7Z5OfMCdRWw7bF01dHOCGBR63X+cAQn3U/kEyPTjdKspCZw9zXiGZHoynUHqmr0LsQ9N
 XGaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:content-language:in-reply-to:mime-version
 :date:message-id:from:references:cc:to:subject:x-gm-message-state
 :from:to:cc;
 bh=uneXAV4uRtoc741SnlonZ3qbDLUc//XJd2j2a4ewbLY=;
 b=HjIQDSM4ANEhc/u12JrEOLsuL2NFpvjNEq9TVGLpSWxpXg14+NvL9Rao6/4dELAxNl
 ZU9D0Axm86m63PVbmokQ5BakitNbL3HF/Vmv71pN1KursI1z/uyU1LfmKlXgwUTH7MOq
 jDVpUnuf4r1CvqvJqHcCQVHbmcBtx4Kh7sInXH9DLYXMp+z2c/UNEGH487Ohdl/OmPAZ
 QNAuOOe/xL3QfK8BKNyCHvtqDHQ8ZSD25oh+35Xy0rUSbYN2O2P5ur0PuBx2vkA3lpdJ
 vSCbLA8ppYI5y3aK+gGBlGKZdG3fWx6FY077kZdZwSYM2mCYgnSK5v1/jOOTh9hvklgS
 Pbdw==
X-Gm-Message-State: ACgBeo3R2dhK0nhOyvVM2HD2DITSGI4yRULDMJFc56umXBLQhxNVtxPP
 otvmKLVQ9PMISQSzHk8FbTUWhECK+HE=
X-Google-Smtp-Source: AA6agR4VjRGR9RjbfEmUjtu6VKRylCJ2ZzVJ1WpLdz5bLPweItn0D/M/n2aPALQ1jnkhhukxiGvGvQ==
X-Received: by 2002:a63:cc51:0:b0:41f:12f5:675b with SMTP id
 q17-20020a63cc51000000b0041f12f5675bmr10714694pgi.69.1661021376708; 
 Sat, 20 Aug 2022 11:49:36 -0700 (PDT)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 75-20020a62144e000000b00534a7a127bcsm5547962pfu.164.2022.08.20.11.49.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 20 Aug 2022 11:49:35 -0700 (PDT)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <8fb3461d-b7eb-23c4-2736-cdd6dfeb1aa0@HIDDEN> <87mtc9o5af.fsf@HIDDEN>
 <bf7ff0c0-d95f-ded1-0a5c-2311e3508299@HIDDEN> <83h72gmxtq.fsf@HIDDEN>
 <7c04a92b-85f4-41c3-917b-4716cca2b9d6@HIDDEN> <83pmh3l8ey.fsf@HIDDEN>
 <9ca08054-5b73-a13e-0478-d838b650317b@HIDDEN> <837d3bl1tx.fsf@HIDDEN>
 <5ff283e8-9ced-5894-1075-43bba580185e@HIDDEN> <831qthiu0s.fsf@HIDDEN>
 <7259f313-c6ef-bce8-ddc4-e35ecc27d856@HIDDEN> <83pmh1h2pv.fsf@HIDDEN>
 <d5cd4361-9004-efdc-2308-958296ca201f@HIDDEN> <83lerpgyg3.fsf@HIDDEN>
 <cbbf05b1-0101-80dd-c0e1-f0bbd037fd27@HIDDEN> <83ilmtgwq3.fsf@HIDDEN>
 <ed7136bb-b519-b92d-04e7-9034abd3a367@HIDDEN> <83v8qmdbps.fsf@HIDDEN>
From: Jim Porter <jporterbugs@HIDDEN>
Message-ID: <4f4b034b-6531-b7e3-2a4d-acecfc1acae3@HIDDEN>
Date: Sat, 20 Aug 2022 11:49:34 -0700
MIME-Version: 1.0
In-Reply-To: <83v8qmdbps.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
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 (-)

On 8/20/2022 11:14 AM, Eli Zaretskii wrote:
>> Cc: larsi@HIDDEN, 57129 <at> debbugs.gnu.org
>> From: Jim Porter <jporterbugs@HIDDEN>
>> Date: Sat, 20 Aug 2022 11:03:27 -0700
>>
>> In addition to the changes to temporary file name generation, I think it
>> would be useful for Eshell to kill the temporary buffer too. If you use
>> this feature in Eshell a lot, the temporary buffers could pile up,
>> consuming memory for no real benefit. (A user who wanted the buffer to
>> stick around would probably redirect to a non-temporary file, or even
>> just to a buffer.) Attached is a patch to do this.
> 
> That makes sense, of course, but why not use with-temp-buffer in the
> first place?

I'm not sure that would work in this case. 'with-temp-buffer' (or 
probably 'with-temp-file', since we want a real file) would clean 
everything up once BODY has executed, but we want to perform cleanup in 
a hook, which might execute quite a while later (e.g. if passing this 
temp file to an external process).

If there's a way to use that though, I'm all for it.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Bruno Haible <bruno@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 21 Aug 2022 16:21:01 +0000
Resent-Message-ID: <handler.57129.B57129.166109886021473 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>, Paul Eggert <eggert@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166109886021473
          (code B ref 57129); Sun, 21 Aug 2022 16:21:01 +0000
Received: (at 57129) by debbugs.gnu.org; 21 Aug 2022 16:21:00 +0000
Received: from localhost ([127.0.0.1]:36636 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oPnh6-0005aH-BY
	for submit <at> debbugs.gnu.org; Sun, 21 Aug 2022 12:21:00 -0400
Received: from mo4-p00-ob.smtp.rzone.de ([85.215.255.24]:41447)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bruno@HIDDEN>) id 1oPnh4-0005a8-21
 for 57129 <at> debbugs.gnu.org; Sun, 21 Aug 2022 12:20:59 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1661098853;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=FHZVqMp3q+2vRVjD/hH+pGPZioEQGoUa/9h7Lz40kEY=;
 b=rd2Y+knyOFA8ro0ad0OtjucoUKbouj+X7WME0/EaS1miZGSzXbpEFhqlZjKLgG/7I2
 qtHLZQPPu/TdXuju7urEukTksTBpdg7Y0a7CuXdUiwC84tmtGniS+FjO8QaN2eIas0b2
 ZlGn/XlkkHvREBrav0etY56azxB5wX3j52I5j3RVQj3wrBBM8lpfgyVCzlW1qyFStlss
 PQzi0r2dvO8XQNnM9K/JSl13XD6JoiWOB4hz9AOK8M2O6Rx9IvkfAP64cucCZQf+/PI8
 E932+/KpViLonbjSRYLhz0Ch+bB0MG21IpLHTsEOX5zH3e8mtRv5JyQsWDYv0qpnqO3f
 aL4g==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zG6tLj91pDF2uL3XvxqkO7mdhiJBa+hRD1V"
X-RZG-CLASS-ID: mo00
Received: from nimes.localnet by smtp.strato.de (RZmta 47.47.0 AUTH)
 with ESMTPSA id g97246y7LGKqP4W
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Sun, 21 Aug 2022 18:20:52 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
Date: Sun, 21 Aug 2022 18:20:52 +0200
Message-ID: <1903912.fIoEIV5pvu@nimes>
In-Reply-To: <2271941c-3ac3-1525-4d9f-62c757641d6c@HIDDEN>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <2135151.C4sosBPzcN@nimes> <2271941c-3ac3-1525-4d9f-62c757641d6c@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="nextPart3787166.fW5hKsROvD"
Content-Transfer-Encoding: 7Bit
X-Spam-Score: 2.0 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: Paul Eggert wrote: > > Since this contradicts what you
 debugged
 on mingw, I ran the test 10000 > > times on native Windows. Result: > > -
 on 32-bit mingw, no failure. > > - on 64-bit mingw, around 30 [...] 
 Content analysis details:   (2.0 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 SPF_NONE               SPF: sender does not publish an SPF Record
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [85.215.255.24 listed in list.dnswl.org]
 2.0 PDS_OTHER_BAD_TLD      Untrustworthy TLDs
 [URI: gl-temp-hgtmvy.xyz (xyz)]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
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 (+)

This is a multi-part message in MIME format.

--nextPart3787166.fW5hKsROvD
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"

Paul Eggert wrote:
> > Since this contradicts what you debugged on mingw, I ran the test 10000
> > times on native Windows. Result:
> >    - on 32-bit mingw, no failure.
> >    - on 64-bit mingw, around 30 failures (or around 10 failures with Paul's
> >      newest patch). That is, a probability of ca. 0.3% of getting the same
> >      file name as on the previous call.
> 
> That's odd, for two reasons. First, 64-bit and 32-bit mingw shouldn't 
> differ, as they both use uint_fast64_t which should be the same width on 
> both platforms. Second, I could not reproduce the problem on 64-bit 
> Ubuntu x86-64 (after altering tempname.c to always define 
> HAS_CLOCK_ENTROPY to false) test-tempname always succeeded in 10000 tries.
> 
> Could you investigate further why mingw 64-bit fails?

That's odd indeed, and here are more detailed results.

I changed test-tempname.c to skip the case 1 and execute only case 2, and
added printf statements per the attached tempname.c.diff. Then ran
$ for i in `seq 1000`; do ./test-tempname.exe; done 2>&1 | tee out1000

In 32-bit mingw, the result is fully deterministic: each run behaves the same.
The first file name is always gl-temp-3FXzHa.xyz;
the second file name is always gl-temp-HgtmVy.xyz.

Thus, for a single Emacs process, things will look fine, but as soon as someone
starts to use temporary files in two different Emacs processes, in the way Eli
described, there will be massive collisions.

In 64-bit mingw, the 'tempname 1' value is deterministic. This simply shows
that Windows 10 does not use address space randomization (ASLR).
The 'tempname 2' value is unique 99% of the time:
  $ grep 'tempname 2' out1000-mingw64 | sort | uniq -d | wc -l
  8
The interesting thing is that each of the duplicate values of v is occurring
in the same process:
  $ grep 'tempname 2' out1000-mingw64 | sort | uniq -d
  tempname 2 v=0x00c1efa91fb60900
  tempname 2 v=0x32ccb2946974f2f6
  tempname 2 v=0x5cafcc69e359a147
  tempname 2 v=0x6d0676018e27d771
  tempname 2 v=0x6d95bd6083168079
  tempname 2 v=0x7cb95116ffae8ece
  tempname 2 v=0xe0afc7086808ce33
  tempname 2 v=0xe46a60c28fb0ec7f
  $ grep 'tempname 2' out1000-mingw64 | grep -n 0x00c1efa91fb60900
  560:tempname 2 v=0x00c1efa91fb60900
  561:tempname 2 v=0x00c1efa91fb60900
  $ grep 'tempname 2' out1000-mingw64 | grep -n 0x32ccb2946974f2f6
  1129:tempname 2 v=0x32ccb2946974f2f6
  1130:tempname 2 v=0x32ccb2946974f2f6
  etc.

So, in this environment, different Emacs processes will not conflict. But
within a single Emacs process, with 1% probability, the two resulting file
names are the same.

Bruno

--nextPart3787166.fW5hKsROvD
Content-Disposition: attachment; filename="tempname.c.diff"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="UTF-8"; name="tempname.c.diff"

--- lib/tempname.c	2022-08-16 21:27:10.455608233 +0200
+++ tempname.c	2022-08-17 01:55:47.590241280 +0200
@@ -308,6 +308,7 @@
 
   for (count = 0; count < attempts; ++count)
     {
+fprintf(stderr,"tempname 1 v=0x%016llx\n", v);  fflush(stderr);
       for (size_t i = 0; i < x_suffix_len; i++)
         {
           if (vdigits == 0)
@@ -315,6 +316,7 @@
               do
                 {
                   v = random_bits (v, use_getrandom);
+fprintf(stderr,"tempname 2 v=0x%016llx\n", v);  fflush(stderr);
                   use_getrandom = true;
                 }
               while (unfair_min <= v);
@@ -326,7 +328,7 @@
           v /= 62;
           vdigits--;
         }
-
+fprintf(stderr,"tempname filename=%s\n", tmpl); fflush(stderr);
       fd = tryfunc (tmpl, args);
       if (fd >= 0)
         {

--nextPart3787166.fW5hKsROvD
Content-Disposition: attachment; filename="out1000-mingw32.gz"
Content-Transfer-Encoding: base64
Content-Type: application/gzip; name="out1000-mingw32.gz"

H4sICE5VAmMCA291dDEwMDAtbWluZ3czMgDtzzEKwkAQBdDeU+QCykbNamMrOYHYbmIighGLIOrp
RUHSidj6phrmD3xe33TnU+qaLM8uq3ANw+yKtlqO+nc+feUxpjiNoajTsgp1KIa8PRyb57LaH8fP
43i23t7LNLne7sPTdyVVm7fzxaxO+a6Jiyr/UFLu+25z+6WEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
hISEhISEhISEhISEhISEhISE5K8lDyQIU0cQFQMA


--nextPart3787166.fW5hKsROvD
Content-Disposition: attachment; filename="out1000-mingw64.gz"
Content-Transfer-Encoding: base64
Content-Type: application/gzip; name="out1000-mingw64.gz"

H4sICHYu/GICA291dDEwMDAtbWluZ3c2NAC8XFlTI0hyfvevaD+tHeGZrSPr2oh94AYh7gYEb5V1
CIEQoAMkfv2mNjweOzoiw84H9/R0TLSmya7KrO/IymLZXt9n+bX90D8+/67W6s8fHntp/7L843Pz
z8+DKS7UaG1MtmPWf37eJ9O2/Y+/j6e/bX/zt/fD1d6q/77efP/5P/3vgiRsFpxL1SZboq9MkO+b
wVcQBalOlxQS2hoTFuOZIHvrq9VwKQuifPYVbW/d1RSZICbs+FWUBAEditLKgM0+adWYIKvLcDDc
kwTJOXmdFSpIFmLkVvLW0y2ciYLEDibE5Ex14AsX5GX59DwTrUQh9qy91dom8JGrLixRPTxLgjhT
AkabnAIXoXIr+fq+m/aNJIgNDrvCUqLtParABJkPfQgvopyokLJGCzVYTaXGBAkZDy+NJEjMtVDO
QwcoCcFwif8amdGNKPE26UofGdV9UlYxQc6Gs6t3UQljTL6CzyZH3W22TJBje3MxfhcFSVS33kDR
JYNCYIJcHBz45iRBWsvdtZBa1QDacSt5GpeT8ZcIu2gdugfVtS/estilHiebI9F2FQPVgO/gqsOa
uSAPH08fRyAJohNqE6m2sOoEyJ0T9+TeT/dFhzFZVwp4VM3HZguLwhfHb0eSIJ4OItYYG8auauYA
cnSDZk+2Xdm51jRRo8rZNU5IhPXy7kvE8RYg25BBR9NrqVwJX5+uHtxUhF30o2QLaGjPwHGHUU1M
updBvXdd92ocYXGqhauu6f3jxfWjKAhBo6mAKtXQbOeq6+Z+vLxbiKorYqgt+YC5EUBy23XqZxev
IlhBOu70AZZmSoveMUE+F8v5QKZWtOrZOKosOihacwqybI4vNheic9ID2KCq0qaqgp3jE8wP6x1J
EKMpHy6rRkWcc0lMELt7cgMiLdyKJjKhIo5Oh+C5w7i7t7fIQcQnFSkpyqScawuVgxX9ddamKAkS
UoJGmiuFkHtlUXi156/nIlWfS6/EJCZhKAE6h8LHbze1NFHiLQEjYO49O+UUF2R4pl/eRVCvAIH4
XRXQylXP0u/ZZD76FKGwo3Q4HyEW4i/LVdfocnblRKreKIc526hjhqI8l/jJXpholKn6Dq2nSG7L
QQtcCU/nJ+1VtF3krXMxjYSK8spEPie5h3ORCWokhoLBXNAR2HMoPDq6vrZeEqTXlFKnskotlZTL
L58n+mOkNEhi1u7/e8fiP3eigOp9a2tJf/rI/SVnX5/wLoIlzDF1CBpLjj5Z1qndDb6PJqIjAKGo
DJE2whQMmaPvUWxnJ6LtDq2ij7Eab7ut6tcGUULC91pjyNYXZP4S++4LZyCDLTINtXRapoIK3Dm8
fzi4PlmJhIpDo0mZFq99aMDlbNTN+upQRCW9U80RrqiMSQEHW+vJeufuVlQY3YI2TZP0IkmkWOZ9
ubtYVBFf1e1+kfWtVBep8c0ItQm7osST1AJMFZvXSSmuxMHC2fxelBNQoXobSyK3CMiVsH05nR58
iEgxp6QIHa1X0VbDNSNeF0fDiYhKSnGqJK+6o198Y8XjuTuWOTkVcdu+cZ4YhfaLA9Dh3u3FqYh5
lY6ggwZrayJXygVxm6fJZi0iRaKHmq2m6g1Q2WZEe1ztXYnaKrFVo4mQTNSYLSu59l83s/030XaF
0K1yBC56uxYOIE/e4/JR1CewqUZyjEFv+ysUhfM/HffVQOZ/yPpsNUQPqmTWyYVHtdo5FeVE2UIq
JQcMurrCwUr5mn+gyP+4FLrDBLmANYXFrpeDS30v6nE6UjMk6rxNsUBO3HYdT7ovIl1nTFLJmZAs
NlKrHKys976+60hkF5W3tdYeo+4kODjSet79+twRrQSg1uA95b8rUw0H9Z+DdH4lUqjFbhvCPthg
anKFE/RpRw2U6DBuK9f42jRqqw2ydlGNHkaylVTnqnGOKqyS0mRbwqejI1lzO5CK0M0Z0zIq7Tgh
8RQfxjNRkGhdL54sNsnVYjOX+Ofn9Xwhaqt0dDWoXl1oLvbcf1GYlC/IShW0uUfkGkirx/HVmxX9
JbombvbZKAwY0f3yOTl/ZTJ5I23pNP/yOWXbkQ9N24ZgcIq7yVqE1O9HMg0RdcOStKmYkFWobpBv
T37K/BHpxqyIe3OOyDLvsrvFbCbabtC6KQhEI4V2k7vJeps8T87fZO1NrKSGCIMjoQrbSnv8CmdG
ZrJIAimTSKJS6mPlmoKXi+vBQiToK0khl4hQWtg2PLic6MmRexdtV8uaXIkikdqISRzHV+9vj2oh
G1pw3RiVNZkf0lzsje+Z3cRXUZDgclYeiBVzJQRjrwHU4VB21xCBoL1R0iG0kjWnIQ6XP79RBEsV
qtMIpFeoAsjOcdi3/+yqyGRpXVPwPW1rrBXDCfrJcn5eRL2dmMBBLZWEUPXNc9U1w3c7Fg0tkH3P
9PUzBDLYVARMkI9PO2gPoo5HzjmQqtclqeiQ2y5/Nd4bH4hcA51GE6vvhjQXdFbXfV9/XSlREDJA
wSUyv6QeDTutUuY31z/HIvFICB+rq6kRxSJrF78uXvz0RLYSxFBIc9VOtFW4w7gmdraiGQ9HxL1V
IdAbCWJ2/GLz8/zTiWY8IBBXURALjQRx5lay+3i/On6V+Z9ojWu1JrSlBy4n97tPencpa6tYn5HY
FzLGWCt7uzh4eBKdk6QjLQQDSaNgCcM4qJ8+OnUhu7tOkEIMyipFlMJZ+MlJPLu8kvkfDZa8KKVG
ZRW5ZsTBdR08Pok43gbVjFZ04H2LnTvxq9Pj50PZdmkXNZLEs00DstgVLtr1vihIhg7Ft+BVickA
l/inJzBfWSTuMML2wqNBsrprbiXz0R1ei4REV7kFUK4VIJujuR7n5iu1dCa9u9ZFG4gtW3KNXKur
DPZPRG0VdKYSxLvYtLPADi3szMJxFqmV9M9j6JpDt00Mx/EHH8fWi5xWbYHQXpnScwPjuCBq/vHz
SdQnaNt+hyomdqLFEjhJNG2Dl4fH/78gv//+V/o5ni7bYrn46/bX3/74c7+Xv4Xwtx95sWjz5eRt
9uMvi+W8vL7/+Lc/vqD+j//62ubff/zr33+ov/zomX6n/p9pvaZUyZqDRe8TarafPX74ElVtM4Yc
e6N/QskxcDw1OHbnw2PR+UugCuFuJ4mafObg6vhj5yKKbrDIgKpeXA6uu4SOQ3f/OHr5FJ2/TBah
FBMa6XidMmdJ/CrtBNHRULRFBXpR3YGJ7Djtsb7aL6Ighsxh8eSpK3iSXRzwvkynH4ffIiQhqm1K
V4WWzInngqxunvTlXDYtVrFV47a3VxkLh+73l3N4KbKry5RJnOSsCVIi230KE1OGojsGxGibIe1Q
E2DyXMdxCrdudSeyiRDooBeSv0WFmNjbd32wNxVZd6Cs25icDh0wsIcxv9635busM58i1a9yNpXW
EsdT4xYuPlGm5wpY5QvRYfKqciXsh5uj1xOZdsiBfGgvkbBLs0J+aG6nG9FKyPFgrlkprMp0zeXk
CNr6UdTbDN41U3SulcR2Vlx1DfHifSM6J2Byjl5hdlBzZufecLLceRetRLuudCmkShNlnr33edq5
wIOZTJmGVPUWVKJLPXC+5+E43K5RdhfnDAJoykezhr1V3PnaH7zKmDHW0hMZk0AOqLD95rlOg3sU
qhXi+Foa+V3UrJ57fj7ZPFTZvA3RVfJJhaQpN8heNJTXY9m8jcMUdPWYgy45cUJiJ6b7U1F/oNts
dHFEwZUcQ+XaKYOfz+ebS9mrL6d1K3H7YqYSoXBqZbw7uxbNrWVfyFM1BSQibGD7Azd++nkn6g8U
Soh1WHIOpFMdt5Lr8+H8UySJdKjGk7ZrqmAhtmeCXN2f7D2LJiKIR4iwyFbbXrJNbGPI3c5Gz7KR
MSApjM1g8R2B8yc/T16XHyB7xuQ6CVRw0HOqnlvJbhiMVmMZrOhQbECiYArFjtOeP8XnqagJ4Unc
9WYCUI2BYrFL69niWvamsEeNJmJOpLt85tTKeAorK3qeQUaxh6qboeryxnN84ku1RiS4W0wpWjKl
IVdbEpeT4dXJ5UYEK93p0mPzuQFFC78eVt8KugRF923Thb1Sea5fE9m4rI2alLj3zobQWNiZq72H
zweZ6s+t9eBRm9oTe47wZLRWImtRS6AQOtiQG1Z2Yvzr6GjYgvD1ZFT0sxkwBAjsBN6lXgbZWIZ1
SmsoHaKDzA/92NnF50rWZ2s5bC/oyfWlwJY4LupAiZ45OVWCoawjhAiNfco8P5jUKgzSdWlVWaKE
rAqnZuK0rD9F/WgsITqXwralsNWxXO9z1u2Z7EVrwApUXDZALqFyib9+6epbNGwQjfZxa/hKst0F
tn2/+3W/FB1GH0ghG4eoDLl8trOu4H3nVNQqRq+aTgZdjD1Z5J8y73zeyNyx1iRek21Re63YYYPh
29PD5FZ224HRxGrrdiC2I/sQ5epgZzfL6NmRd4lblZkLdi4nR2/T19elrLNnunO+R5choOVIK16+
jpey71phiLCAtH+g8iqF7ezd3n8PRrIn/yZv/1UAJP8Vd06eoZUu/E4ipPq6q307YkeAz52Tdr9u
okd0mg5gqipY2rOmWcl0MJnZiUz1o8uYoGqzvbKz7A3UcH77LJuDrj5GbWm7NShkEx/39PJgLnsL
ZRWtIlqIZjunzjHj6HVnT7QST2yVuoEEAZJnx8ZTOVwNRK/xCU90dqhbajknw3H85Xi4GK9lh1Hn
stXjtXWAxnH8+m7ow6nsoTxpZYtGJzqSLnX2bW5dNJEkgtx7s5nkI4JD9or+LKX1QPa8gtxLBaUz
ltot+/5suNuvQXaJaqNryUPE5qw2bAk/rzY/RW32RLIrZiIs46Ppiu2HHR5fZBH9ptyRzmAMqFQD
dqIb+3V8mckGpXRK2hmwZIG642Dl5uRqbyxrJvhidI/WaSAzxN6eP7Szn/goe/kdmmnKe0IwFVk+
OcOX3cVQBPWgwJhMLN8T/o+x8V8bPDfLg50r2UAhpOCIuhBrDpql31v7+i56lEDASA7FtRo77Rf/
autm+R1HsjeBNjXva1QqmqTZt05rmB+KDiORr2k1W0RN1BI4WBk9z45lY3hQaLdy9dAJh0FxTmt8
9Xi+UrL7FQ8WCbw8qqItl5PLl6tzfJbdrxhtQwIieQXkVDghMbs4iaeyQSmyi706k+220DhmDLPz
lwPZJKnxzrqYso+atDCbk4t2eiK6r3e11NpVsRh1hcwNBdy9Ho0/REGCdr511TBaYhV2UOPxcqOP
Rb0VVQEBaveUdp/4EvbXYSHq7NUaTFS51owqJPaK8Fr35e2u7N1MLQRZxkHxumT167RW9RpI9qsA
urFaWa0uz65ETqybZnXutqZgKrDNhOnubjoVNd0Uefyt97a2FsI2jjlX3x9pfCi7zzfF4XYuJRP1
sM8jjiZHs6mMb2Iz2+c3hGsUznLMWVfzXGQvtwE0WoSeKVxlr9oPLqc3G9Ecc1WI2VEBxo6tsa8f
1+PXQRYxZ48xq+3MAO3X9nvz/Cqpkq8+xBSwu8QOuH98vn3sf8oe+DpCo+ZySAo7+3BxejhOb6K7
5WRjjC0HF//B2bX1Jnfs0L8098sjBAgh5EIIBHibKyEEwhcIJPn1x/OpD0fqkY9kVWortSrde4/t
tTz2WrURdeyIl8PqmTaxraSzxkSegHZoi3Y05Kn/Q8sITXajRpeM5y5m9LL06uGr80VSQDDJ19Lu
EpreWOaoBM3hVyxIN7IxZ4DSKZW2MwUkBHtdndfV+UAktrV4BpRQJx3Qb7Lvr2dS0sQJtLY5RaEa
W0OVEgfp4+OJ1l5kvkYjnIDqrY1CiW1vd1mTWIGo1iQAI8V5px3aV97mw2ZEOsLGA5pmsvDY9D4z
KmLY/VVuTtv5s0IHD2mrCsBWqHqL3goaAmXwva0GSuiENhzdyjpuu+vXGxo4DMIElZxWXgZUqPg4
W8fyS5zB8CkJVziXjglUAWG3HD2TNoAg+5qofGSehVLQftk3X8kHUlrhGaIk62gy4yai/bLT8NQ5
kiarLYQJz04JbZsWJ9YHCB+XwZL0ugpXjEkN8NIAEkDnx/qf7M/nN60N7xtPc62JnSzeynri22tH
G1KLxSXLjC3BKIce4ctuMqN1mSCjVGBohlVfdMQ4559Tf/NE2iH3zhtdY9TOqGIS9k3+HNN8TJrB
yDEzldqNaygySewIvwn3cKatEntIXCXk4BJnwDKwOBmrwRWJDrqULQOEJ0sN3qCiUM/73+OSxF9k
8AUOFkSizt5UrDLWVXdDGxU28J8uoSYZWIRMjL2ubj3ed2i4CwCdc0LpEqssaMRf7+RhQeoyJdbG
uqDuJgeYBd1eXA2uxq5HWyWWOlSlQ4C0Ig0W8R/BuFdNm7pqUk2hbYRIeBDsdW0/DwfLaOPbunre
8nBtcsXobqztWEUbetZQrCwksAKY26G2CvmsTlsa7gpapGxqVY34obsU4vYsfKbhriYXArwyCeDg
Bdeae44rQ6MOzAQAqRnSClcWFYU6qc2GdK2bTVGqVqAooQmbYU/yyD8vXxdaxP9dAKvAGxOP6Ph2
kd/jryVt6BkyVtGOsdIEKFEZhPn7p/CktMIF8F+btNYGEBga8R2fF5IG7gzTFk4xq64IXF3Fnfe9
QkuQwBcZ1F4RWh7G0oqafA1Hj7Tei+dGRIBDVViTw7+phc1ZQ+4UVmSLG62ce11haI1UZaEK+Byj
EI6hera78S+niUYp3wIJIkhxqR2Gla+n44MjibDnWn3NzqZom+QHOgkXHs+XJQ1oQHarjtsET5LQ
yet57vzKFXHVWJsqM2CNJi+BHfGdfPoc/dKIK4u5AKBpe1wB3Qx9kjdv1y9EfUBhnG+QycaM6qPf
TSfq50CbhMtcQAo1AGeTrVicDHds9UmTZG5ajUFFXa1KCr/Adp+/4UzbUAiQ2Dz8E+GDElhfeSLH
7/JC45QiRW+sEI1a4mOp04fFO00mW4bElOMJmEUq6DzyW388XCxpSu8pmlK1LilDwGCnaxcP1yNS
S1cbpkzTroBsDWka4y/fE/7RGdKCsUnEhVoaTWKoPcnuMLn/pAkIWSjMzhn4HJDAUPWVx/K++KC5
uTBuDaB9raQPDG268cE0sSdSxDc3Gi6Zgz+biLLj/cf8xdLkqbRVLLnCWIQPw1BtU72/Xi6odleO
c6DhUIETqhw1mK5/RkRA3qIxGg9kH74MqrA2+7ydbWkbCBqOL/wRnWhaSBgTG+/UmqYBLPTfJqUE
nMwqujq/CtHddWlXHwV+IKQiY2KmYuX3eh/1gDSPbKPRQF1EEapYj67OL3vbziHSdvcKsxCHtSRR
dcJn+n4H1zR3MGlqm7xywWfPUHXIzuLn5o5WGasv0khbjXalou3DJTsImiKozNwDUQqBR64iOhDl
t2xzuaLpWAB1UcoWxgP8GBaM3bwW3TFtztL6KILUXFRn0Tb7nM9/Hga0e8gom4VTElGawLA4Wd8k
fXVFu7ZlxlRrwl8NNHT99En3Xxd9mnKuB15ig7fCFI+mlZ5+zDsS3XMmOh089wqwcEIlKOugc8c4
LeJ5tiaFBGjFenS/Zcw3ptJUvw2z2mioKVIZ3A/w/D2LL39okmHMR1cs0CyWmMYi/lZ29o6Eu5Jx
8CTGB8dswW1GD/erD70jCjdm+O7BAX3gFdUWeRv3ymBD02UGnBJ5Bk6aakXnXlaT6a0lUWwg2C47
YI0eHoP/9339P3EkASPLpKyD/w2DMjF52k0uv7T7/MQVT1n6FKRExaFH16Pn3hcNKysOMEbptpns
UQW2we+rODGaiCDz1mqhtHEiCnQc7zQStDsxy7P3whbbrpEyamVxv2W9zjftWhcwQLJFazh9QWI/
MrhZDuY0lVUXJeRNOOesKIMOcrwu9PqXZiIlWf47LAIYsGR0W3d+mu1/SAvpMtkEoDyGzExmqJXf
7+fdK22qKiSthWkj6oJXizqEXk23XXamkaRYK3yNCOS1KlTDd8eH1zuaX2BxVbM2N8BiLRnLbfOf
6+mlS5tOhGPVdPGcsC6jPxJPp97kSAMaCnhxBegH8Vgl9rpmF66+RjSg0eyEJMQ6YM2E9o3fjq+T
R5pUCyDY1nZrrjJQbrCIH30Mhjc0lVUtHWQvoGEF2FJGpw9fvze0wUAhdXSAMAA6aTjE6OhW/+XI
SEAjFqskU6YIo4CDC1RXeXGwtIlRnqXxPptimzQM9rrC6DUPH2kb1MoH5RV8DsEKGvGpM5ktOzTj
4eylk975aJlFLwxuDg+XIVEiLzRBLu5Yca7gBnjmJQxIlTGIqnL0kIqhRBp01fG+XN5GJLpnWQhM
ca5VU5dDNROYPtsNKdUXnatjwCoBGfmK1vjafX7+Q7r6YLrqHFOIjtUAsAUD5Jtp74EEJILlNXJh
meEaHgQVQLXnA9sT1Yh10kyy0lS7Bbon9qSNIs2HGVYjcEkV4W8YrjTgH04vNLSSs+AyQgY28OmL
xurJefuw7ZMSpDKysNRGdJu3NWoo5HP6omn4yqhdsqKJfmggr9iT/B7nTq1o7UMbQ/LFtAEIjfL8
73Bce9JVO08lqSi5j6bwgF7i9MzLnGZQl4pL1QalQ2wWhehE6PXxgeYQKuFzAERVVqqaIyrXPnGP
b4cLzdZN68B54iX/1RzCpkXKSg8STfajUVIr2hptxLWu+/58z69oKilZGAshz70UkDYwIDH6uhlm
mnqdVSIASRFMA6TAnuTl6mbbm9Mu1pJJHOK9aeQE1KCho4+rOSl32eRNKUHF5pkR0aXN3vfneUFq
utkS4FxFZx1EY0HXtOvzPgwCTc7AQVaRqXJgjBztgN/q7vf0iRbxVhmhhbDS5oCqPObbm1t1QzNN
F0Djq6gM3liuaFqZfl3/JNrpii4G4wuEiWIFVdfud7vfJ1q3NbkSuZTcGK8SOgN+6azEjvYjhnnG
tIM86TS6bDaLdfSYaTeqsnkTZtugvUQvcWb194GmhBZCUIzHJpMShEcNup/vdRJDmhdPG52I2obc
VFexJ9mp3qBDW8EKEOdQs7wEQq84DiR492FBs2SRiXENTMi2FiQ6PGNGIz6gtXSBx7PWMsjG8P/O
wv9kBF+q88BceBa2ondi91m8LGm4rOkpOFeB6TFX0Q0E/X5KC0frIkknIGJzkSFJhb3OcDidJ280
U3UBOaem4B0XGZ0R/10/3YcZjYmJwplIHPiYchwrap/nXpmRvgmTkNKKsipJrSp68ba/nt9uujTN
asUgUD1ggGSVRuXYQnq/DcR7SkidskLySb6iGcGZu/3VnOiB0NTpo4M6XRxqgXyqi735IarXQUaz
UsI5rvi+5HPvc7awRPU65SNUAx7hLxJ7XVcf4iG80rbaPZDwqmObFa6oltV0+tX5CDRtd4AYRjRd
Qag7aGeP77fsk6iblGoBpAzFzSSBivq/XiCFftAMUXXxXqkYg9UeHdY8fW/Ot6Si5pNyrDqh250U
vDK0cvY3R05bnQ9N7Q2+icsuoleEz9dxNib1XkwDGa3DU+BsWVTwd7A/TW9psiBGx6a1X3wbpcQ7
4OWl9ElLNFFFyI6iJBYykAssC+c539F8llmGF9aGtiRT3KEbCLuDfpyRNN8g9wL2MxqKl5Y8VtTT
t/N7eqNZShbBtTWqagVoBov4993a3pO6rVwWkWLkQTatCfwSRzyn3yMtQXKVlRA5iBCZQ42zjvLu
T6T5txiWXQgAAUVSHIv42WD0/kwTZ2p7TcwyD3/yBXXnSqHcalJzWstcpVTO2aqCRdWGrsd8RfPU
qTHxIo1hTahCxH/pwQDsU06VoIIWNan/0a2FwxlVyk0l3AV07W48VOaXJnTKk5CBV85UluhdwE1/
Mh2SrhihaJdggGPD+8giYlsjx+7l/os2ZuS8CwA9TYrGBoNl8dfHRfeWtmFdJBB4r3KtcHo8hnZK
Gd0OaW0VKdqgMpAs4HOQxrEQMIZoGliS4D5q7oQJABCxENj0PJsK2hxmTglQlbZOJINO+V6tw2Qu
aFm8BqhDOjsLgAcVBObT6fdyTtOGZxDE3uS2mwqs8N+jYa2hZ510WSWFGmjttunm4502z+x1hkrV
VjH+zy7G4G3hLonYb+NQDJkovgKKxOrVn+rCklavlJapcK5z0iKgk3TDl97b8kSMIyVcbJ8sFoVe
3Dk7Pso1bSYQDp7MbRWDuxQxkhX1sjMvtIGpki1gU6+DLhX1UTpd3d3PNW0CyDkBjDcKZkpEdzEG
N/dhQhIRgFwAxKSkUlLOARV4PPnR18+MeMGtqreqJmsCBAtW3u+eJqsTTQcj5QjoQQge4BhjWfr6
+/n+sqa5EyvrK5cyBAeQGIsTue8/9UlCqNzo5jlV2/FqXV0MaNTfNU03lnFfQ2YiZ8uLy/jmqNyM
OC2teN7uCIBk1SDw/f7n769PEjUBWi2NrSJaQJEBVYr+Ht4Nun3anVrIwjXDKSOrqAU12E6rT5rd
p4anEMkpHqMy6HXX/nuoNzQRAQvFP+vIa0gpKYw1iPlwvyCuE3lWIHsxlrUX6MCUup+OTyTI5OHL
F8cKT9WajMqHAhh4NqQaL6XXqcRcHXwcgzqrd2bPTm5ovnxGcG6KqEYAEER3+77268kX7UmKDAzQ
JfyA5Sgus7J/nBCHPYtOkMAyZHt4HqzGb7we0q4gMy8A/iDPCyBrBlXt+uh8cEGzlhQpOt1anEBN
M4q73NOfO9qNrfLA3oG8RxdEYQJVidya1bunybVlwOFeA3lJ8NpQb6tnryYk4TlfOEQ7nC6TvJIo
gvRTd/JPtNEvC1jYM2MkQG+0uf1TlpMnmh95BnrcdDB8Ctp6LOJZzzw80aYXjY9CpyzhX2jyJNiM
xu3T0HVpRatEllOEyigURxVuZ8+fhz9vNFtcruBH4Bwna7NCJ4Cuuv1Cc+IM1Sdvc/Usl4KW35f5
3j/QhBu49r62g9wOMDp0MD+s375mxOUBHz3jLDTMgmqT7PraLml+YoLLtkFWmiGTUljE2+Nyt7/Q
rhihkiQnRCquqIJaer++7Y+vtBovUruTK8Y0P2TU3uAxmvsvWjMht6UUURS32Qf3b+147Y13oUl8
C49uZ41m01P/h+Z7IVVgMkjLGLccFUC5mfj8TtslZ7yaWiEdaMlQYQd76D1F2sK6DxowX9M6Bahs
HOrZ837Z/dAGqoCJxQrMhf21IMJO33w9cyQ0o0VToIwxR18bUcL2McvjzZImrO1zqMy5KEyGYELR
zHGzHe1pEuGOWVtKhOSZHKoZ9/56m7Y0FXwIoOYE5pvviUfNNdw0vXemtBUvoPjeCaY4qxlduztv
17vHb5q2IjCwWksG0OS4xZ7kMreps6OZNckAx9gY+CkWUKz88n21mpP0Ltvtk4wAA1yN3qIkaWhm
vcU1DSsHkxzTplquC0ddH892vp/RUL9WXjDnQ1CGo/cviyNzhw5NRhfySgXADIgf8AZWnn8e7NuY
BsiBrmqnAfdV4Y1DdfxmTB4kbTFKcRm8NIUL+PToVsmqbNiRNj4RghTNtaUaFVAdv/HLejU+0GzY
GZQUeIzIAT2hgloPcnbznmguXTZo03QoDSsWnZbf3th7RvPl885axoWNNXPmUU3rwci/3NKKllfN
PsFHbq1GL1P7s6/dCwkyWVeAiUVgMTWGhPOXr/knbcbcQMgXLQElx2o9anhyPz7/h7kr62k0S7J/
JeepZ6SZ6rsvLfUDeAFjDNgYY/N2V2Njs9iAMb9+4qYmW9WqUUgdD6UuVWWlUsr88ltuxDmxnHO5
JfF8K2up0bIipFQ6o02cPuvck2aZgv65YCtM06OS6G6fexCD92eia73MTQswyRoyulrP48P74zWN
grdWkUrZC8MtOvc/0B+fmy2tUxR1NoCHgtAV136/KouTA+mdcG6b4FEBzpdT0ahK5OL6/HVPE9Sq
ACGtYEWWiLcI82Wv0+O09Otcyd5yEQTz6Pi3uxv0/Aut1V5dzMZ5W41JqMjZUE+GmhQgIfdq4RLg
VA54BTX/07vHry7N5kNIAKnJt34qS6jd59v5dLIkDbK3kb+qfQHaGoJBYepk4q/faKsrLjBTm7+v
dcyjTGvfz9+zC5o7ajNJirIYG41N2Cc8mYvFFc0cgysZRALIzWO26KTcenicuB1N6ypxxosJ8BWX
jMJUJldrd6TNl0muY3Njyo4l9DD2TsezuiYKZyslXfJt872gdjid8+AWpGorD4ILyUzzKTYV3RUf
j3tzdkrbKrEmhFyTTUFatG27yo+hftMel3BFyaxiW/tA7aOnIl/0ZrThGgGvRMVUONAgVNZw/rY5
Uyc0kTPHogME4aMRACWxO1ncV5pBVjSFsQykVLU1MrTa+rStE/9EK+nqIrV12ZmiCj7ePR/Z4Ya2
OZp4lSIW+Akkeuxx2YvL+k7KjFEK3zbrLQOCahWOha/6b6Sx1Rx0rtIY61k2RmC1/MPzfNmnuW1L
abMCGOGann3CNatfz8qMNkOuq7QAh0pUKaEd1fA8GV7d0Mrsqugcmiu91QxV5nxd6IG+odl9ShtL
81uWIeP20af9+dOGNIDLHcStkAASB8gsGVXmnIfpwydN2UZHpZQA4mtccigx3XQfu6e0/krSRYUs
tM7Wo+z3YrSsXdJhdKUZuzjBctM6ixiQuNx/xAtHO/EQT4S0oWghIUli2omqPzwh3clPpcmQc+Lc
i/h79vtrwZAZgEqmZMHgsKL9F/nl3gpNjcjHAuEtJxeNQ7++/cX3oEsrTmcA/bxNP+ioGaqyYt36
NEraqmRo/gYJ2F5xwbD/x9sq+zYbC2k8J3ymL12tDiRi63nQQNBSrDVCJkdFawbXixkNt3mmeIW4
p4pKGlW5n57NDrdTWjVWtT6Vt/DEVESXD85Gi3gc0dyHWGAWCKEzueAqkieD3kaR2lWxmipKcCIC
4DHo8M35aNt7uCBql8TqtVE8ARoxGEYIK7sItDVwXuE2PMTWXICuYY/rjKvliFSNZSx4BZzQ6WZ9
onDtklGqQ+KsEg9MAiEUvs3hYBVyO3ye0fqUqpU0FBCoAgwXrZfB01wtL2glX+W5d23bImbD0e7e
3eC4pPXEKi9KGDiImil8cuGi6+LFjraan0ONSYrMIbqgJIpvR4cHUr6ppThtIW7V1KZs3R9nmSzE
hKJ9iCbrjIUdphw8dpoRnXeiVGZ19tGhaka5N3jp0BZ1PfNKN/8Y7drOJpb0NoeormkVdGasYdwV
YTO+Sjk99Had+z/vIr/99lf4d7l5L/v3/V/bj//z6/f9lv5m7d9+hP2+7N5XL88//rJ/36Xt64//
/PUH8v/+x58t/uvHf/z9B/vLjxrgV/K/jrIqkyZz+LBs9b/fb/ul8sqbWy+cK8msRCPR9V1/+zmm
7Xi4ZEwQyjYBwIRx4e7p864+EP0Ca+G2OAXZrnjs6Cx2N/dDWqVFag3JOgDUj4YFVBJguyyCZuOj
YmYyAjOqwQhU52b9PF0+kjC+9tUF4Fs+VGckOprZ5Z0zmsNOkwQAwq2sh9MTUE/g9/G5fydNFxcT
2ouvxkZgKyiy3V08va/nNDwYtXUsh9Y6LyiD3NzzL9p2JERL+KxcUcpxZSSGbOcv/XpJa3RUl7hX
qmoZvUUbHb2n2W5HKh0wSKU5afiRq2wkxqvE1Ynb3hPVYVg0ppRoPBPyj8lUS58VA9SQrE6oEsl0
ujwoGvLlzTJWadFmBWXB8tyOfUZLah8UeJ7JNiEcIFcF1SY6n51crY5/3kX+TfJcadoQbW7eGqsS
6u7HPv1EkaYCsk0JoGjKEHFkQv0L4tf+5HRKm89WbUAn6GpEs6nEKqEXdfdNG8qTQA1MbMkM/kOF
xM8H/bNhj+avVoUuKkpgOJKhHYN4/xx3tN365owhnPPWRCNRF5l17e2Op1QfwgI5PyTGaknYnVwu
eP/rQHtcwHGAoicLx1Cifp7ruLl2nzSDF+8icBBRgWBYj/G1s8349U3TdA0dAM5scs7FC5RDT0Mc
DWirnSzx5toM+PWnBB02aX67m3fP/ryL/LvExFy5N9U4Dm+Do7vCk+F52FRaZzvIJpNluHbRomPy
9/vNSXgijjSkklllTlUh0MA7KYbFC9pqdY3SpGCilyqj+lVyYedjEi0G0p55NlEZwHoenVfty93u
g9ZT0cLLnFPxibeRfwzbH/nVhOZ04mouwhXuTFUZDbzvb3U6C7RIYgLzsWhgpyHigXd5eXxitCUM
B4CbVQ33ExQ6nHExmZwsSQ3OarhIvngTIN+W3wOUf4yaSl6lkTxARsNLgtM8GNEepzCiaAs5AP4G
DpX6OLl/uPggjZoq3orNRSe4FaPxgvPZ84EmkJHb1FlzJrSiWBkxvDd4uxl+jWlmpE2Zz0A2c7W4
hFpGf9zeHUmNGwavXHujfn6CBhVsGr3Y4fKFZq1eS6jVAupzJQnsHF3s7II2kg3sOEAKqMJ6Vy3a
wx8+Hc7P9jTBJtkMHBVEagigqCL3y9N56nMaqfOQO5v+fhtpRcXm3Hjevz2ljdAJDSSfp2CDjhYD
+i+bd99jNJWNJnsihCpAPbPFQOXD2XH5ekNbjInKawDIzgfu0D7WXVC2Q3onOqgY4KRrFoMAqopV
rdnnYEeqz+eYRJLFNJRci8S+rqXJZUUbBpRCRKm1bAAA/ocpcs97PnRpWq+By9jWfKVxEjW3frvy
h2dSvzcKeN9GO9k2DHGh/+n9c6k0a8Kc4Qvm1nhtuERLbw/7/YhmFeWAECkmjbUi2Oywwzj4up6/
nBLbflqxmrRtTg9oJ2E36KZ7WotJtPqhq54ZgH4o+Vqz7YLoeAoHXumUFAvKMbQHf945zCyt5qqN
TyrJmCx3HvXZWb10vr9Icl7V5uCVYRryinDhD7iseQnKNjkRQhYCzZyVLfO3ockUBR9YK7qxLDK6
Wfg21PKaNqsPQN2F4DQLXOOF36F90adXtA1cq41wXjFTs8sBFfjzYUtzqBMJwHRhRkf4Rix2EfW5
Gb7ROttAOXRzqYPXogOq/ny6Eg/fW6KQpk7GQFRThhuU33yWgxyf0MqWLtQY4RtWTia03/t5JZRZ
0KiFLFHwHKXklhdUcHYbjme0smXJUnEAfryEEtBWj+ydjUdHmus5V1HDo5LSBYmWyAbbwbOe0vaM
fIT4bGtilgmGGpUd1wNFk5UoGWgzs9zAFTSKZnoqfLz3aJI4zDHhi0wcgjXaEp3tx3o4oPVdDXA9
FYSBJ8bRssnjfGw06SLJWSkqKxBdfvprYhf5mtUjUZiMN3Ycq1JVFdS/3fnOIZPqZUllloGHh8Yt
i8aY2FK/jtaSdpFkWnZsorHJoVZSm7u7S3GgGZU19/amHgXYT6NJ62wSx7R9vGqDKa4UyzQc/d+7
a/7fX8KZaHLIxgUGlBNVdlwXdr6gVTREEkblqEVzZcMR6Gp6R4JUMpQYbG3a48XbgFWZ3jodNqC5
DSTrvdZW2WbDjH4Yn/Y4oNkTi8qFkslFpmMblMDKJk9L8bEkKgwF4X2boQNW6CPaEh27B5rNRDKy
5pRLkEpKtHXZ+f7s0uyJg1FNOJIxIDmQ4tHptuPK2E/arrHIvo0cilY6QX0TRqc3ydNkwYvVOsJr
Yc0xGo0IQnRL3dMMy5tIMWchhmoq2h99vZnXlz7Ni08XFqtpW3s64HLFH19iRorSBuh5rBDYqjGZ
VyysiEe7Ybe0AS/FvA6pMqvaOig2RTbZ31jSyqlxWddUvUqsBoH6I866X7dD0osHVCYjY7oa1ubm
sMdldt1y80A9jJkF4JxALIvCgMbz/eH7pkf7hOHrSq0l7m3CKxofZbCZkaali4O0FUXMWbRbiqgj
6mzMLmjgT1qj4E58TsajFp+Ps+H3gTQPBwG4AqOAZyVc5Kij0PSuTDoj2nqjrJU1WQnX9EmxF3+6
ebm7e6Qpo2TfOnMMLsM9qrR1frtjX6QJdhsUz8ZDdv+5uYel3+V4sbeWpr1XROaBF0jxhXlUwmC8
/Nh+0Gy8i+XZF4CZCZ4alhl156E/odmxNGV6uAMP54UVVATrftrXptLcnKWRbYndcWE86vR48zBf
n86ISsGi2GqCEhDr0ZLv7FM/nBDFSUvSJhfTNnA0Q1Vpl+curmhi11I18XxttVfRYY9rnrvjexq1
KJ5H7XSrVal/moH6pe7sGcCYKCQAJhz1mzx+u6HBWN9cWS0zTSTLc+wiY707W5BqmCnwDEAcAKxz
nqHm2FYMxqsurV5mIivcAY9RSqOyeLcn0/mRdI5cizvCslSrAziDeozdmeMTbd1Et2lFDpwvAGKW
uJf4+Ik2rq41qz7Ad1WAPMuITuCZk3OatYeEF86BvrSFTckEKplzFZc9mrKj91H5mLmzxlpUE7n3
lrd3pE6TF7W1TKLRhqvIsMbc5+Vb7bzSlLiCTYy7AFkn4l7ir6Pp14gkwaayyyIboBcaPmHUz+rd
nK1clxZWmre7My56rjkqvHzZD2vfIz6uqiOAsqp/KgliF/HPZqxphdKSm89zqjrDh4zlm6IHWpD2
8UI0Ck5iK1w4ZRVuHDPauwuicBnwCp6SifBKUO29xceTerA0++ICb75wIMixKNTmuzPgu/JGU9z2
1gKIjZBYID9iJ/5ke/94pFXIBZBiUbxSrVnKLLqZtLrtvdB0ebJs0mXNG10o3B/x/KvHaEtDFWhS
FKLW0tpvWI7vdNjnNSMalldrmvqyaUgW7+59jvYkIcyYJUtNYVf4oCvKjm/K5fqeVg8LriqT4JV7
C4kRLYtMV29vpBPPm4cKV8lHA3BFYZnxdrSqksQprXZVNG0piMDCKCxpnT55/XVJq+xp5pRQOkSf
AyoYO86LenEggrssjdYK6EuKFXtcJ1+vH8+0rWje8m+SGriYrgF7XPP1xefhjbYVLYTikQEqqhY3
vOi/xi0jnRMNMUs5peC8wzeGGy0/iPU1zbDclFxSdirV2NaWsdrLx8njlhQgmQ0A7bRsep6loOfk
Q9nJLtHkWUquwBsKwO0o0VH+W3GIs1valC9LkletU07sn+xUfpGkALnGiqCY8QKd+Vsdv64GJIEM
r0NoUqwyagCyBSW2MfU1bfzbMOkth2dZlLVo5S/fzbeGNjQds7BGlbbDrNPvZ5l+jewbqauDU8aA
w6MR42V3mR9JTA2+lVzgH8GV4dGh0yazp81xTgOHIduqavNijAat3Uw3Zdp/J9Zu6k+jxwqZT6Az
gaHfvaWFJdsGQCqg6KZPoNBCar07megDbRg0xGJUVjGoFCP29fWvb/Jdh/TiNZMVCCfzNTGPSkwf
Op277ZC2q9H6sG1FOsCRDVhYYndqFkics/JifGpRqbmioh7Kq+dHkUmxT4VmMmE9h+NiJWoeNz1j
w8MjLekBjvLFNcE7nlFH1NuTrSi0LjnL2QkJCTyYnFED2euX2w9HqzI1hz1mACfwmjSqbxWWV5cu
EmW/c1GatYnpIlG1zv3pNJ/SFIYCM/DlSgAkwKTQ/Zk4LGVFGmLjmVf4elX13gBXx3DbbPj5NSGd
E9PkZSA0tuKc0ejiVF2uTHdE6/7xYiFCMq+jd6hQxUv/+44mq5cd3EoDOtZpYdFSlu6PxTMJUtla
ZICoogKXTKJTWXO2PokzmoaEYJHDvRTui0adt95vZk9M0HZvtQ4pGi5NlNLi8g5ye6louxhJ2KYz
B/iw7UpinHP8+pYCbb6MucCDqnCpgp+T7utmuh7ShMuECrK1aHQRGZ2Umx+/lrTGnDWuSEApTdaW
WYtKHT6Fm/cRjam1li8vP0sNTuCaYvf3/UTz001cc2OjlxArUT3FeytGj4m4I9vsqH1t4ngBLZus
Ge/SZL8tDwXosy4yyiJRJZ+5fq//y9yV9bSWJM2/VPvyCNhgg8Eb2Ji3WsErZjM2v36y7uhKPeJT
jpQPn6ZbLbW6H871OVWZEVWREeMpbT6mAvKCqtL85DRaIE8fw4v5hGaDYgHaaVi9LZ2oouzZX672
tPz2kAWUyKx0M7FELabfuFv0H2hzZBVgRPayyloYqou5/1h8D2jBMd7FXCu8MBa8RvnJUZUOTZ2o
csgyxgJ1vnUUdI7s7Pri7Ujz51XWtO0orSg5Ykv4/XFzeL6kRd1mHWMuorQJWFSyoudn3YWlTSgk
mRJwfadTxOXdH2f9DT/SxDdVRMW9Ahwhs0FNBKaddaxEnl841BZA9CmYlH6Pr3oGhTrYnGtyqEbj
8DX87BjiXYBqY0bewCrEfUWfJu+9M5LYU1udqmsjWjHLgJ7W8sFD95BoF3NRaRdYrZnD60Ktcw9K
5nfiEo9MRABlzfgY9anZntXTiWYLrrRNLR+eRaG5Q8cknFWXO9rAugguFAP/q3qJPuSCf35eTWgp
tUEVZosxmvOMKkp/3taD7R1N+gVFLaXMpOTBo9O+m7fvEy1twInofZJCmiKzlKg7dBp+lCMt182K
aI3UDc4a3IJ6qpenIc0at3BZWeIsJVbRwIzb8n23HtOc7RWUtcpz+fesD3a4PTrzt3e00XthVbNc
cNaKbLElPOwstlNJs2rXLSCnKXx4VGgqR5Erdkab9NFWwH8Ost0x44ayajcbb1a0fVIE19Fybdr0
PRoXGS9/LmkX2CEb6X1xXGVtcaeCoMZLkpS4CJsiMxb6VWwJwlh73sk5zRo3S19dZjoyriq+44eP
fHNPUpMYBd09aMlzEEoWi0pWutN3T5scBYycUwwJwJMO6H3/Zlp2c9pBqILeDnDcRWGtxdrv4rD9
nhnah6+6HScI13yCGQaJfh5ujpc0DbngySiTWFGpJI79ku9sXidPNIQpSjRBOK0CNC0MK/OvF/n6
SRvqFFaqP24FMhhUP/a87ckOzUQgVQB3LXBNRIlLuz6/dldmTs04Ns6oGgGsSDS95mP4/jilOdNr
WLuA7qqt5b+4ei3e3/ZPHZpiNDnueZDJFaHQNDR51dkOFW203jJWY4N3tRmCIg/xrjf/ofGXbNr9
SvLc1lr++Uv+DkdzXrxKUKETMAzUwHzAZpsX2gChi6lk2ELZtqQmrHOqz/7HkfaQZqbqjWvQr2SU
WnD2kmknGiEI6JsKvhm8VrQ9987mN+svmt1pcqyVttq8dlFAngcPx9sL2kNa5xTe+MiqRE+ZDrxv
b0mvyzPdhu8rg4YgAloRbtP70+GdJiUunrFU22i8kGhK7XLS7RwYDQMUqaMXbcy7mRVgWib1fTYQ
tFgjWL0AlyxzwuA8X76YXGi5by1REGjSH110FdhmLP3zjV8QgUaLRyxBK2sDavA42Ct3HNLiVhIQ
fe0ZAAClKyrHC/Z6mWhuRSannHWB+hmDQ63DwufpIGhlxWWgrNFaaSVHZy0ulu5mdUU7yuI2imYa
x1TzKfvV9GyAPwPPGf4ACqAuRgcHzybSrGRTApLGVEyuWQpiZccOL5InLXHLlDDZuSokEwrNSL75
rqcTCVLxwrR0SUZvZBKomuRdXG5oavnMA/Nae2DngRXUgs/93JnbLs1lUjheOXM5iuxQT7mv7ujI
SR++eTKZlGw1JeSIxnwL9RkvM00FHL3mHABVKK6gmZZrFu329P/3kP8R5922WE1m2dginELlSYPO
BTsjHVtmQJrJtqRXHlRA7RZPac8+Sfc+1QGD9UCbo7ZCmvp7vi0XaKfQtU11hf+KHTPNrhdgSfEh
FOhX2ILcfXWGmnZYqAy8AdcSKm2OaAiRuUrXS1qGYEuDVy1HBRgxmmXRuRs9fpDGz10ouuSkuZbC
FNQIbLudL9e0mmpkYYLnUKEBOYt75WfVJaaGAoxj0QiWlc8cTROQxq5oCRAsMFmTdhq4JJforWT/
bitpKKv69hdzRRte0SQjXr4sLdROKx8dYAbYZT55lPLcmxEb3REzX5LRwTZHi1YysI7de64T0klL
i32ytjjJso4WNQLb929uRh3aiWQw8OWd4TYnhQ/RjXdXhzVNgJIqj7B4ucoxopbM/ffkHmkRVrCs
ABdoBpWlOTVgsGCxn05ood0VPoeCulIEoBAUXi/ezX75QDsE0ZZzphTnzQ7+l5Ni8kkLriQwLykq
Kt3s6iO7dDSNlYLa5h0sEB84SlOvquY3Y5ruzShjYMcWVYRGs5P2Xz/7/YYmcfbAFBJzrI1DoZMX
o82j3ZAeUoHJZ1eN1lU7jw5tny+ezzskMYSIbZ6nTVhm3sRWmDJpXfcd2qhA8NAxU9DJexsS+z/E
3NCSvHTesarQ64X7+2t5RTqUd+26Hf4EOgHF86hhRepNli8090uTmIT3yawFWIXqferzMHeuaZtZ
trekZJJahH9OMP11Msk1umZlIuBfHepkYm9GjnSiyWLUNTigmE5zj7pmbHfzGGjuMvChFJCzZGxo
+S7YN9s83e/7NN0cvCNZ25xW8BadmL0aq90zCQ1x7uBv77XKTWGARi7uBtMvUitxzNfKfFKshIDP
/p7FyVW/0ICKhCahSlTZM3wsd2CDXBGNX0JUUjAZRDb4KfNuufY0sYQxEvquE15LWM3o+PrhMDpd
jGmjbaGYWKoDCiQZemf+FbeDZ00LYa02Vl18E60n1Etit9j8PNJ8pQWwZhZb0guwLFRYvEuz9w6p
rMDLMhWAUHHwXVzBMMLbaL/ZftBkhkCNcxKWw6exCju44vOXx1faUIQqhVsftJPFBPR+1jztfe+J
tk9SW8NASqQ1GZVIf11+xEorKwHKr3BeepsLQ09MuH0ZE+W4XHLVaEMWSWXU5uFheL/eXdE8imU7
FVVSxRaCiD1kbDqDvafdz2ZoIwY2vVdQkLFvMuWT8+GAtk9CbGhKNRl+UShreLxSm1fabUxWSRrv
jGVASbF+0r9czF7GtPEOYX2VSuTaTCvQsVsznk5o1oHaOh1Klc7ICrUekxhE93ZGovDK6KihzMMa
DkqgM4nLSX5dOVrqmWBe5AIlWGeHtt9Y397uGc10V+fspQ3aZtgrv0al4Uc6AJ5e6lJzRiPl59/z
1eOEmFQngOMHBS0h4AhzuP+4fixEOW4J1XClI/BeNHXJzc4mywVtnFD4zBOvOZocURvuzfPjz47k
Ws7Fn4CfGjULLToSY3Ljh/ftBU2O64HFWyaLM9l4DDJxeRZmpLIDrN1V4C7as1QialW77vipJmlP
PE8p8ShjaeF16BzpYn9rprSKEFxsk2W8sJAqamM3cff8fkkTsSaXfIVnOQtIFnX9ezGzCe3sBuje
Hwvu5suXI/aQyWOYBdoMfNDVAjDTVSsfUBemu+P5eHBPO4woOQoFINPbqHz+7WamjFPAaquVyRv0
6ubKPE9ommAleIWWxLPM8KMdepdgD+WZhhGqyDJEIVlQHD0c/3l1s0Si6E5FliXAQllDzg4roKdR
f+y3tNNezoXTqYWwFpVRJe1If3OaGNwAnzWawzKvjKPZElM/7Y0HNOeszE1zrdCywiJDz61nlz/n
pM4J/0mwXNvVf2qTJr9T2ZWWXhaefHPDwTbzz+3orKxph+esxR0xqUz0DLUl6tZFL9HkVe1ySbnk
DBfwUrFv9rD4+ug80yLUPECRZCSQU+5RP93xqzztTrQJJ+4LK+0+F7YSyuQUfx5fj2jOwBq+SYSH
GNZso7CHhPHVqtICmZt1ptTZVFVcwkhWn/VvP4ljVMlyqDzterswFCMs+8uP6TtNLxThYwjpuVcq
/HNQ/+8UAfzOxJPISgJ3QQ393rZr2hSBDAlahPVapsgzOqOSFncvaUUziQ8SyoWPwMKDQgf5n1Yv
63WHdu0Mr4u1Msu8KhmlLvzm1dEO9bwAaCeN00xnrdC7hN7++5zW9HJ1QjPDs9NRoe6aj5fX2/cz
WlQHUy3folgbJaARDNelXu73af0ocsDbvKSgZJZYRXjrHjo90mQ6IK0WdgNdCTqBRw/1gGDcDkgw
2CcdOIfNqHlSpWJoZ3Jk57STw+QkA/BYErTPzFALz/6H3KhnmhpNwsoqBapbm95ED1oNX3YfaCmB
zcDdOe1D1hr1CJud9mc0XV0olqvEOJNZCFMwcDg/sN3tPa1ABgOb0IgIiAcX/xw28nb8QBOLG+th
P8J2idWhIz2rq8v1UdJiu3kRolgDFEVkNB3gh/ndDc3bKLsQAGo46VnEpaHduBTiRPMJdS4FaM2x
uRMaDM3cfPaHtCvIymV0XhSnXPS4yC7chLvxlqZmEcmnXHLhKhpUzcJXd19dRTNXKCUoYL3aGGY0
trqkXxRN6vFtkMsBf4oW9rtHA5Ns197evNM0HhreFIcdGYvFJdTs0ueXe9pBa+LSJOuKks561Bjm
qZ53aZdEQbX8gRpNDJKhw0mz86+LxzFNvwYkTMOvqDmWGjAm5ufnI9pmLFw71/wAco3MRjQwqU72
N6R9YjJjGshmVDxFeG1Y+31YezmmgTsojLB8A/wUh4O7Hf8cLUgWNzZrBpURgISv3KIUfb5l/XhH
G6wE9OA9QJbqmjwXQ/WzjdeOWLsiVC0VNfRf2JBYFfbXvQkJCyubvWCmeB60MmjmV3cuMm3QRVnp
E+BT3sbCXUWvu2a2Twuy1JaVYJtxOldc4zP0+8ODXNKSGV0CZuxYsxtTqLXgOH4MhjThYrKpGU6F
wG1l+KjBeP7+QBPBZUAQFshp0oBVJYZWLgEQ3IxoWidojNypJiCvrOrfsRAlwSIvFvhr1gmrCC83
NzUJmtPJn9xRa4P1xaCCKv69e54PaQdA0bFqktSsVNw9cz6c7kuhqfENV0zLyFlWDC07ZvOz3ZFs
7krmrmom1J/GhorgeqJ3XJHOOJm2JfoWqBCclKhs9vvp7WIypSXOVVh7NbOaEsftILu78Tlt/F1I
BuhSy5Z06nGX2bQavr0cabk5QTQCDg9L3KO5OYtr+FNImsSy7RMA4962gBOUWpxv9j2ShkNGHY3O
sBU9rABUhlQ/Pj/elzS3AAs/RNda2xg8KvDlx/63XdKG9DhgAJlUjfm/fJN1Pix3NP4SMpMipKIB
LzGPumrY7VuX5AMahc6eewavy3hv0CCYwX23R0OYrd1oB53Zeh1R90y5fDxcE8cNXczSZcmM4RH1
bWOfi0hTnErV3L5VUVwWU1DUP7vf9ba0tBkG+0TCxwiBWVOx12VvzweO5svmVXCh8tgG9QPqPlM2
x53lJAzgmawGgLIuSpXfDnQh+6iqSILJpPFbjdP6ENOMNv4ehGE5WwVcTaBXkKvFYt3d0zSDLRgo
caELlFA0dXaxOd/Pz2ngkCeTRbPVbSpedI7t4iSuaAJeZaNk3FrAurmi5wDj7mM4kM76i2li1OAl
4Axp0RiiU6+eadqwK293tl74Urw2ATtsOO17szFJV+OkVkFJIYFJOYOKDgS/fnmgqel9bAbdIeoK
FB2N8niepAe3plUE2abOVWxhwBG9Re+flrPuJy25sbBmqQJNR4T/eMhfa3Xo222JCy94xb/Zi53W
Lc0XIajgbXQtfgd4CHYFOXh9otl4c+GrBgJkuNY2oxLMru6e3kjUAxBhLb7lNQDW0ej8zcs6894X
zeUJegSwDqGB5QBwxw4jZvvLqw7N+NI4nRMLkntpUF+3svqRgaS2TzLXmLKGf5iSqLL7+X5w7JHO
brjVlafigBEG4wTWb6539+5IwwhKw1/RyvwnLQa1Jfo6OH5Hk461e3Sg3skFq1CxaH81Wag+MXk+
c+lrslZUi6Y68a83/92j3cimHGNux5wAd1An+tXT3WpbaIl0wD0Ay+jEuJDoXYAdzU6fS5rXXs4M
SIFyyRuOmpHGyZue0RSpzCUhvC7Q1xTPGMzdfa2OVyS7e5Ejb4e1Acin4Rw1MZDyYUGa3oopZsMc
y0GymFAnx0N6ccdvYlOTpcKXgR/D/kN4+He6i/kcE4+wxJVHj7o+p4NPO6Jpb0sRNjLAhdXiZzfx
4348oWVTCOai8xWoiYgWVXb30+ftjjYhzphlIYoI8FDgvm6Pb9MhTTfjI1fCtMuuUHJAie9IC3Ek
7SNb/sXbtfU0uizXv7LzdBIp2afvlyPlAYwBgwcwYLD91lcMxhd8xf71qZ5oR4qI6kj1EGk0D8yA
+b7urlpVvWqt7GQRAoJPcYKjC5+WZzQEqqyCHBBrK0stQ7XEP17uepdHmhRuFUJw0/R8JD7SfHou
63RGaz+mmkvSTWyPS5R0nQ9mx0n3nIo5mZz32cpUjEVdm/q+v6LdokMuExlWBOBMimiHvb4OO7ck
OckimyRmykZFDSAT+5BVvtM0zX3OWAwy5ih5k8JFPVyeFstZpNH1UhskTyFzOIuF/7QpitYk2fxw
4PtR1pZ/WIv1DdHqwzTXUhNcgfoE7YGe7lPxtD6BNLqGqCrjgN2wJ4l2MvJrosBsG4sG2F4D5ARU
DW06yh3SpJErkJVl1ka4DGUOaiSj9redB2oJL4u1v8maEZ0ruFnnxYGmYCdNsNmmXKRVuMXazcPi
+avQbtlzzNw0hvDvbhQGc8Pu85nEENIVsnJQVWZeU0WvKA8T8RpouK0EbplwTcSg6QpizG1xr4c0
v0MbMnMmCg1xBxc6ijfs8o3mg5B5CNqlEGQIzqCtrnvzi3aV75LWro1fS9/odNiTPHYc65MuiTSD
0hYqqCzaKITG2iZvm4fl4ZOmVN+U/ExWUBeWgvodvj6muy9Lm7oXAP6YDbJN8qCH8WFzePoi9aUj
LEYxJTHIaNWizW8n12JPm3DIEtCflSWXIFTBYKwdsb6gDShWw2MIMShXDEOV4N4uL5fftCjMpG9L
UqzmXnGUrvd1/0rz1jOpStXuhguElYAak0381/ucZldchYuGCw4bOHjU3Xk/vbt7uaWpU3BRhOfw
GDwklN2YXh4eum80ZnYT3/ZOBS+gRMdC/e3ZptOjnXjIibbqZGHRHe5PJZ/ms4shWTk45gQ7zHGL
znMOHruHUGniUopHJ0WEigy2AHbin1b7L9okUIHaKDHBnXMhFJxt0nkd0Mq9BBHeigJFEnwWbkV4
Vz71y5Z2Tnyx0fFQVE0CBdz9x+XpgtMGEI0VKpbIWWkjgtiNbffhZvZCNCZLEFmcs1F7qVBh/86L
v7qhKQNLYaOtntcsHT6Wt9l2upZmo6ph7VVjtmgm0Dr/JRzmvz5oMFVbqXIRweiUcK3wMj/sv2mV
FmMuRBaigVJLos2Ej94oK9o9JjxK9hHOISCjjNOMzOM3KUAGFrW0TpbCTdNUwICEPe6/aMMFFdJi
zMKXZklSUSuPmTiPJIIuq8obDoBYCGUyOoRzvpbjBU0jSEarfTIm5QQ7GLXrmm+W76Q1yVBc87Z3
dZPJRS07L6cPeknqvSRIWpBTnEmJQa2Cpd+dMeNMYwAJmWOCAPabrInaq3TZ5d0dyVApWS+ZKzxa
+B8OvYp30+l9yTQRtRyqV0YC+oLMgopDfdxMe0803doYipDNUCkIbrBzIvsPZ/ecFupj8lACQfVg
VOD49FUu2yui94TmkKyC0s6EhB3Gi94UcBPpxBtlmrcFBEdfEjri1TuU6wntaqTxmUXNvOlcm6L/
Dz0arVtkE4rJhA7izld8uRzRBkKiUckZzzkLluFzZrZ38U1LBblpYLZeP1RkqE5g/rjc0hwddNYS
drZhUCZHvEji7/WM6HKuGa/wukIb0Jcon/lrMBkfaRpBOlio9CTU3yklVOJi4vsPoxWNVABbvPDC
BODxglbHy0W66bzT3AGElRKyv428OHT27+56OLx8o5GmvQq6lNZEhEof28L1etmRNLO4BmNzu0RS
8M7wydJlOP8kNae9qZonF7gyruIt3cn+RqRXmvwoID54lGxZZh6dM0vzuy9PmjML2sGqZFNliami
TzIaH57eaN56jfIf4LTrhvpRCb8bYaerLU3tSLcSvOaoBWxmbAu/XASuF7TYVYpjHJ4m6exRdYmn
8/W1PdHaIinK5tPhq9BZoIZK/uI9vdHYi6rwRpuukFIqigEePlb59ZPsQalku5UKvnhUVnF+cf3B
aKTp3C6PeeHJKoPSVufDY1r3aeJQ3kahVPHGWMDNWAm+Pa27JEDuBZNwDq0BVJ5wa6j7mRo/GZri
O3wxywDwkjmP5xPfWw23tCdphk0+wOvyNaCv63XZn+lXmp8AoK4Med4wAOaoHNxFfzK7u6BpziVu
lAiNhWsCOkv+azNdTN6JTLjYDIeLyN57tMETHpaX4zEN9TcWp7UaVt1b9GLt1/f7135F41gUoXVu
wmI8FlR+9L0/l0ficLSEGJ8b6moUW+xDet3dWH/Tbu8YhJQgbKm6SpTadb+72NFE0iQgYXgElQoA
IoFuYe3DsWjaFrY+SuMATYic0deVBldyR1MralPxTWhFQXkiI/tpsdauEFPlTaKeFwxoPMw/F3ck
1B+VYxYydGzdH4azfE89k6ZEFRZfdaMnKK0SCpl8uR/QTK5kqk3+NtsSWLXomMTQvw53NHVwr31k
MhsR4dhyrNmQ9+GGJqbOrHXO6xhFm51GKSlOVM9I6uDZuehMEckXXS1a7i35enMgNa95yIGJ9q8+
V4++rjjoF1orC4p87SHAxWbUqtHh6bf7dad3ommXKAkhx0GpV5lXArW3n54Wiqhf5rNinrflN8n/
AIcuS2lESIB2leGoC7ob9gqnAZHkWba6GiltUljsmy2f+vsjLfY1iQNfIiuc/S9rmb/sjLkuWUlA
W15U9OJOfbLSkbRfotHcjRYuQODQ9sdhNzJo5rM2xpTCsbC1veyNjCb2rXMKVQZImhG2MMYXGPCT
zLR8xmVyAJEdZJqCK4t2Pk9TRpOSKSYrEeF1mlDQPsLzSnZmK5rmQ04yaqUbJ4Wh2o7jxFcr2sjy
by4VHEUVXRUJnVxdHs66NDdADz8eKrySoZ4MP9O/AQyddBTSttEsj/0So76+7J5oUpnB2dardTxU
xlDFkY/cM1ManS/ZoAFLCxNlRiGbz+P5kWbYAsV/40OF6IuIqH/vd++l3pFGYwREowbVNIN3Zipa
nW9SeH+maaQGx4KRAiqczNHdN9nNn9d3tN0nY0zcGQ8gNEnxc/cJxZnOIeUKZRyGQYb7WdKkIaDo
RPCZ52hKhoyDNaCmp7E40cCnaYIkgkdjUmQo3W/cvXk1YxpfWqSYZSMS+8QKGsV3QTASB0Q021At
jQmOQ2WAoam7OD1oSZyZchIKUThPHDYJqiy6t9vDjqaf5oSrpRadm+3kP5HTvnkj0TNKdTxyaTJL
Vgq08yiGV6ftjHa3bZtfENMFIptEbx8n59fjraJxQCCmNTaDV3Be0cnVp4m57dDYkc4qJ4sTxbsU
Uf2B79lYTx0NRgsD1U1lUgPGRBlGn7+e3l8TUfteJqNYs+s23uMd+vIwfCHOsZUatGh6Nhz+B9aH
eByNjlMa6ZpZraUAGGq8QmHwcnMQs0KbANeq5OR9MM0tyqLp+fX29oJ27Ry41U65XCG2OI7ebXdv
9x2a6GcVzFlfeJMbzFjp0vmc985JMLepdNhUc4ZlyQF1IVtdvQ9fSK9LlpS1hdwLOFRwVHr5ZbYd
B9pwgqhWQaGloMozGeWAzP39B5FaxpsUnHIKYr7nqIolj72z/SONv6bgEALOTAKeBp0bOK3rZHlL
a9RyJ+EU8lwVFMcFzScXzC5owhJOMMFT5aayggrkG9NP9pO28KVozTRUvzU4lKpc3vsf5YM4xOO4
4gKipGAZ9S6eDpQ8pxF8law1smTcf4sJY31teb97vqIp8Eqmnc1Z51bEYPmkX8a7A83xNyQjlbBF
FCErDz/dZQNEaceYLJXh2in313e2q2n55nfDkUE1GHlFTd3MrQpPO5q0WbT596BHqkwFtBy8EeyM
RtgCHBtFw0tWVYHeqhzrO19c/v99yJ9//h3+vH1uy2a7+Xv7+z/++r4/0z+s/ccfYbMp6+37cvHH
3zbbdZqv/vjXv34g//f/+dni3/74l//8g/3tjxrgK5mgxpxlsSw5y7NBl+Hml3q05zQeQzP8dskX
ayGVYUGgf9rs7p9oTXlTAhNNf8M5fDRtufuOitGcG0ts7ijVCMj7Dg0Cvf3gldSOCZkbAPpOwMby
EjWL237xufskzr8J5SwULA6qMIZeOOa70TVp4YNNwhQNAcVDceTQZqD9Pv8gXQLzLF3lOkoRLexg
9BLY7o+OpvxbKpwTyP1Wpua5jQGYrWGKOs3Pmmh1SiUpnLb+ett5WVeaoHhsA3xBVkg1rGA0wjUb
rPSGJoDEkqjN4jI0HRwMim3FZHZF0/lsjjgpFKGZ5ThKcnGjO5GGLRgUkE0Wzdqo0c78hHXVFQmD
N4gfhTMAKz1PAW017z7lnKa7JgSc+VhN0E0uChU/WFyWB08bRjU1SSmEk0UzVCsiP9nZkdSdMrZW
FjPAPl6VKtg56Qxm7zT+qC1N9FlFlUWNHp2GmYRfk2dSTyeYoLRg3DoWRURVy52zD6+cRr4DFJ5y
+B3tDRqFP3uj5cuG1koOEoLkb5XsaMxPgz7ngmaRax6ED+itZff+sBgG2jyDZF6XAAUavFZUM7+O
e903UkkDwTnC/naAxa02qOvS9GIwCiQPlqoBesfgs8uGqxR+juw0/U6lmQzeeYt1Uj6zf6R5IsPW
dxBfg2t6pxm9U3f6fnZGCrCwHaxWNWjTpsLQW8n65C7uZzTFn+wh7uWkORQbaGd+/dL182+a3pSD
8M1NrlnJnDza3UqrI41epZ1vLETTJvIz2jQ/+86d7YHWeHKKCcG0rd4klFc37sTxYEmUFeK/TVat
h+LAoMOs5jbMaPaQJbJUPYeUoW1ATXzz4Pt9cEazfnIlApiSmnnLUHOe3XL6siIRxUSE2C20jIWn
EtDMuli5FSOtiahwEn0SUSoAiCjJdTxhk0QC7MJATIvKmwqQqqA3WJfyfnwkCbvIrBXzOVShuKio
OiafXC3SljYFkKPQUN16IaTGd9f76+mMJpsKKSDD3jKJ8eh/9oQcoK0Qs9Q5R0BD+LzD59ktKUqb
kBQAu9R0W2PS2JNeTL87z2Na4Stkk1RPUMR7gUp0Dlbn3QkJPKYmd5581Y7natBh1+svzzqkVnT2
KYTS+oXKtuOE6bJ9ds3JEB3nEmNKAD7VpaLnqH94S7Nr4tguRB4oFUtTUUCpoYPNc2exoekXAtIo
ITSLyaoSSkBZX252JCWTFHTji1sorZOQ6KD+iIX8QKoavI86+Vb4CiUcKmjBym1ZkhY++GpbVWKr
gSCN6oD666+8/SCSXKWSxiY4i00PAiPffQ33jyea/WN1KUNBwFzgBn1db6Ph2+M5bbw9clW8gLUx
KqMslnT+1LmmdaFMcRJCVzC1GfRha5KH+vGa05hHgcFJr07CFkvoTbDZ9Psn2hbWQlppsrIiB4Fa
Q81H+fuO9LrgLQkA/t5KrYtGX9fp43E5p11kGKmVFEn75AxDraGWm7dJ7NLGqJRnrPVqEyRg1D5l
8HHnBQlhqtJs8wRrTta2VCyfLC73+9cDrUGkMpxHF4NrlwJY/ZIv724UbRKwQIRv2tK1MldRrHw8
3myvD7S+sxK8KttEuBjuljl8jGcdksUzIP6kJA8JUFnBwZ8dbnc0xR8RatbVs1BKTRFX9ZsOtCIF
SCecrK34Tjbngso5fn5frK49TVaoOT9FBmBWGKvQ8fXjZZzsaexjqIub2Vwj7zL0uvl6tVukTHMx
Z0bJpibVWGsogqxqsJ080vSkuLONfwnxS2XUWf5tvBrxd6IKE1NZGcWZguyLReEXt97ekq5OYqjR
e5+8U1L6fzLa9jUaPNAIi1G4LGK7aDSOYYXrZv/ijjQHIM1UtEIw7mSxqKvsmo9fz59pCnIiwLvS
hQur4PRj4G45JXoWZzjrpSTZrD9h3VG5evt+rL9ohWsEVCRgOZJvheOPVKDhBEGicckEFtB57af9
sfvyi+bI0BzS21xbso2wg23x4SvLgfYhIZrCimwqmTliH7KQo6sTqTdjk8zFZFYNh7/RvvPo7Kub
7mmZ0ykInsaJEqRl2NXK8Ll//knqxrZBQyi9WwO7WSeiPm2XZ+lxR7S1sxrCszHVW4eKJI75Ybsm
kUwlZBrdXBkhgkaNqv75p+7g7JHYhs+pWb6rZpSOCih13z+ujo7oZxhS1kynoq1FR2rU471eaiLV
H0AZHJaUFYBMdOGv/eWWZgYXTSyyOlgRFiC6oPPa8/Fz+S/Orqwn1WWJ/qWeh0cUZBAQBUV46xEH
REFQ9Nff6p2c5J7sm7pJJb75QL4eqlZ1rVqLqL0anCm8lsycQynMg9H08KNoDW6eoUoKMisuZESZ
RYswOxFNRbgwTViwJG0lTp7Ll/Ut0qwG4Z6IBEtllK1oM3V7+knnHW1mMfpkkzes+S6hj9fLzufk
7pH2fMiCgZzmfBC5oBwNtlzEsaPRZQEnSweIP+gYGJoZp7/PN0uakklyIWTltbRKZexHUop7mlV6
YAkAhgsq8KIk2hP7OPx+xC6tzhewE7oNzMYEi4a16l1vHEihPtsCpSRUxzZUJvAueq97VyzNpEpz
wLBCZsaEkdiNX0r/fE9DmCFUEUuboLRMos3QqzDKD180ZV9pDa8AloPSFtVkuX59STRvvNQ0nmoN
JgiIx+jgYhlLPyQK8tmqpZPGuArICNv4u88nP6CZ8MK5koKVKksOnGMvFp95+S5oz4dwEwvPkBUh
fRWN7Yl7fr+f0N7yTTHNHEA4BvgfVcf8eY1qvqUR5GsQKdVGjxS4fX2n/9F1tNglRLSqNSpbCkYf
3fjTYrW+oW18kw70zcVPc4iWWPodHJ9/jrTRsZKLa9pbvEj8FenU9z+bJ9qTrlY8MVVVhjVDNSU7
YrNNJLJ1bm124Y1wFvBdwXDXesNmQ1qnSEaWBGDIomP0qPaquLz6LgPae5gEkCpNjdLAxcS+ZNo5
Ty7uafWJhGjSusI5O4daoF3kSe9E015NQgfuJU+uhvy3r2fhVnD4l+flT6MHi21v9y8nmockXFMr
YEGbdlbCo7Tqz2uHRjWOEkKCsVIXWVD99bzs7w80yWefUhMcCpYHZVADvvFyuxzSNIyZsVxwFpgx
ueDkm1DXb3taQwFgTIbIqa3jBtUu+nL3iUZkhzwARbhoJivMR/xdefO6PZJiG6T9P8OXPLTf0diP
7PbxgpHauiyq1nETmfMgEzrBsJnv/JI27gefYRMrEKhZkShx8PA2EVtavknBxWAzoAwnPEp/2JbN
8+8rTZDPNLVdoSCz5YKmgsNoYNaOxmdulrSJaR9dNhodi13Y/ElSM9OOe2s8S7BozKCa+AN7kCeS
oHjNzrMYNcDYFGtJ/2OMwkBk8zp6JW3ELuvT1eAoaKVHBvjBrfKsSelIdCBkdPE7pS2nyk5Jb6uM
0lf0YDxMzpNC7DTpnJPKKWbtLarNun59un4mtRibIiCD0oCpUg2cRGwuYPr58fxB+5JkbCihlR2J
o09ZB33zPL2nPZuULHUSAKd1MyzCINXs5bShKTVGLz0EBNvkuAW6XLtJ753WmGv20a31K3TzZceN
kevxafJIlINUEgo1ZW02DJ2X3h3zrkvzjzJea6mU8B5wADrashgtjopG9gyuSG1lZTaFktF+/3eS
nUDTyhO10QZNZE3iCu2/jN311xNt5J8xV6NrDLKgFBalux/X3RvSdJbTpnEWAPlJq7PFSvTw/S1v
NXFQ3kI+YwWgLPNovuHbYWdCs3ZyjQ0drGloVgU0cx6Xw3tDe4avsBNBNpsUZVAZBi/DKpIgk+cc
9kSxYLgIEi3RV35bp5o28AGXXUOOTnDh7d8ydCxazTn3RVXntEWJhb01DyTcZl2uoVnKAp4WARWc
0Gc9kKSqIIRYrA6J5xCtCzjLN69WJ9rjtonCKiYi01BIYc/0w48r8bqm2QyxmJtNulOaKVxU6vmU
OjRtVq9SUjIFVlPTUMCKKFMf9DWt7es9j81lVzOtUW0hdnj43NK07rQXcHo5nC9l/0Vp+ecdwXD4
T8nVGaY5/7sPaitvahJGOQuQH8MQn6PNbk3zoQagD1fdKSgpuMAwhB3cn19oE3mVOculZE4UEVCa
Und9/rig/Qg3VjvY2QK/g1d6L+ZhvyQ+lZksCmfRiRgZCoMXv5uBpr3tCJ8sS7Aj3IuE9tyeh5yL
Pc1wKeRgmAJE1KjCWObtLb4P70di21i1qYAmGqVxf6p817FXpCOcoY5sqq0mGUjxFQuwz69nzg3N
gDyIANW3UVDM2Yi2Xh46fdoMbsqqWl5sU6RyAWUJP+78A42DHuA3IK1LyEXCC4clvbvJfH23pqmR
SQmHGJBKMkVnrLqO/fXLQRHliXkbSIqGGacT9iVPn2P2EWhCyzzCTYHrXgCGoE2kyyVbHHu0G2+a
mrOAb5E8o6K7V3yy7pP4AioWlkWG8kToolC9qOl95+ZzRetN+yo887nZ6giNReFF7+1Nv9FcApuP
l/a5AEKUHrXl3v9uT6QGePJe5KwlK6F5WaNdkc739+KaduOFlAUCi27m3Kjr7Fm99+uYVi7CkXK6
ZoiQoaIih9w+dROnmY8CTA/ONkEqA0cZg7ni7oLTPMF0iYCJQvHZQ3GC3fir7/wiBe2FvQWU4Fi2
Cc4yFuqXF56NT8QJh9x0lFIoxRuHgrtT/0bQTElaZ6g2A0rGCkdf2OdHeRFJE9qlCRBaGVTkEFdQ
Pdv8lQ99RRtvBawihBKisYRQklvpbbil0VqdjayY1geF/IV+yfFp7gckUrVLsnjRdNVEk9tGrQhX
t+N5lzarAThIVWay8QJH9ce7x+meRHITTgUjbNHRQ/JFp04+B9YNerShT62VssJE12RgsQBpJ72H
RGNuCyYDY0nqpoGCek88p/f96ZGmyVCUMhluije6oARd9jx6GdHEQHWLjlXUADV0RQlV95efBxpB
VzadZC1M23yOzwXo6sT2gjYQkgFDuhKyK1CkY/fkNLrtalKor21Ap9nBmsQt/P19j3TTBBGKQ5nk
GCpMeX3q7h5pz/gicqiPorOu2Wpi3hPd83hcaer+riS4pUExLqNFNYg/PwstgLr2oJabtwRUMJ5h
QGOgp+PTiOYXoo1JWnjHXf2XGcI/EhjOaciojbVoOSqTdc3f9l1PY6wGr0oyPrAcItoVMX43npPu
WcxQ2goRFUsxcXQ5z29PjzvSi0bkLFTJdUxVt2SBNsj7iy5xYCTZKtvkczEVN40fp/77g6IJIWcA
IMlCGAeMiHJvfz+/7qe3NEvPGLwzIrkEaxYxjPAxXl3OSK1+LSXcVBbaO5MLaIm+W59+Btc09T1r
FXOBQYrlBmWsDq868m5BM8MOzNgUdCxGMYXarH6XOqQ1LIxqLgRQRqUImQkrPU5nPRoNaa5OAuqn
GAGHQAll0cyatpNMim0KEG5pEheNhak1FlZ6H0+rtaY9lMJP5GCDcFBzoso66899pVnWZNbG3KHw
gLRac8LeMG99GtNMsBQERVtNNRbKgpgrqr633pY9kR2pkncQwACHVtQaatntPG77tCaRT656JQ0c
M472pred+rV0NHakELpmnktWsP3Ycr0MNsuPGQ3NpMxM8dw0pVU0QLa3gjOJ8uIlt6LwBNuhFM5P
G6x23QHJrstXqDqtV7EGoRhaPfeP7v0kaKyuqJvjnfeleoeK39bHu+ljpIV6zQzTMhdlIN5jlzF9
jD9o468B6jMWuXRwTVJET9fTPb9939JsG4Rsol0u2+otKkf/GrrlkmjiW6WwDEB/8ztCyaLVT1Y0
R21hZbJQ4zDWXFZRSDSa1tl3pN0Tz6C0iMY7WTwqbX4a7MUL7ZVJcpZzk+WKJguGDyD2fx4FzbJT
BiGlqUJYrg12hFd19cpIN97EGJwXIhUfHEMHqw52WR5Jmto8NSsYk1TrXFiUVzO4Wp/HpGf4xnV1
iUX4EQsQDBXO/73T8Y72bOKT4TxxV1gqaJPnYxY+7kiWM7mmWpuRFVz6Uv6PZFKpC5JmQ/NjFILD
qonKDer/JI/T4YQEU0NtzwhG8OQ9c6gjnD11F2ZBJB3Acv15/ElZur9ECGytVhVjiuSleNQFfV/6
MVpa96+9ngen4R4JzdFRy/5G6hmNdC2kN21oQDkA56jG6e/vPQ2QAyjjjvsAqyWSRvnQ6+Xu5nBN
e+oyTisATFCK24JOrXxcRDOi9ftZjqUk2JMgvESVDl5reL2gaTey2trkslmf6Ix2/7pq9Lt/oTnC
1dJ4dixpOGRo2/fl121mW9p7WeE1NRo8B2QmUXqEHFzuab6eKQnjIPJYDYC2YBt/Hs87NNl4Y4PV
ru1KEAmnvR7Om+37kCYA2RiD7YWx6WYyDJBf6W4uNBMqyGkNYzoH6dOi+gBusXsdj2ixi4VUQmN5
ANhAm0C/jD890Rg+tggOn5FMDkZxtDE3Vr5DuifSJS2hcC2wM5IHbE/OvjsTG5p5DpehaXNDGNYA
B7D0fH98v36j3fgEcBlSFux6DeioZf/xpqc2tBnb9hnRhGJYqRoLkBP+tChn2p7U4A0TAdKJhPoX
g7Fjd6VJNz7wnK3xIjgXuLcoFXn9Hp9oXfJSKiyWdtZAKe6x0zUOM3YkbXyEnailqeTmpA0KJFZs
s+ksaXMBInpIKKy0FKmx+sXo2y1txtbDjluuUm00D3xaeGO+BjQdjWpCFTLIaCUc5v9mwv0T20Rs
mncSVhOOO5YKZg/l3CEFUNtGUby2TicDlTqqhGCOs/dIGxhJgMqsio1zz9Ejfhj0q13QTHSd/WMK
1uY6AdFibeF+b37fp8n3lKaeG0xK8HscW655uUkb2sBIUMknKVWyMirUzK3ur8NXpjG3mTOQzjxr
HrrocMLoZja+pg1WWTi4OknjId04j13Wy8+T6tI0TkXTo2lCR9nXkFAjiK/+zBxoGkFFAiCPJRiZ
cJbv+/h4c3qnPS+WWGOAQN1EziQq1S9+xY2mDYzExvirsU3yChQr33xe/rzuaBiAA7K0BopWJRgK
NOYL//1Aq8RiSlxGKTjPzVsNg7H3v3eRRGJrlAYnFIPMmVxGu3tf69Wce5ocXC1eqCThdBWGfsnj
bDO7Iz35Wu+9g5TCeSPmofoAM86vrwc0YyInq4RrwtIf6I+l5+lVHpDGWxmT0rR90cEKgeKyzUN/
8JJoI8mhaY824kAjDfi/SQWlRCGLUsmUjE5BLnTvePqm8c9qBFBYBKtGc44djPpSHxak0RdbS7U+
qAJxp3JUwq9f5f56ReNgNKMTboy3QnFU1DM/3Xx2SQej+UW2Qx4gRtdiMZg7iuHr1tMEIq0yPmao
oJUqGQugb+q7Txt2YxDTdBQilypcRjPn7Xj+EGjpORU45I4pADQqC/S1dqBeRjSbRSZT4bHN7Bme
cf7Zw2GyIxVRWTPrs/Es8+JNRDkY43UON7Sk5uALimTwawq+CXsv22uWBE0rGEBfKjF7CG4F5f3r
i95VFbROUypOM2E4LFhCvUyGej9SfWqUZgZQhgzKcjRKz+d1NyVtPBRpDOqWlgu0NwYDGv3fU+7T
XjSKZ6FmU5kpQaMN7N/rud/QKjGnK4+5qYNWH1ATm69tV09PNPWJCgmFASyPLHrUjlTszeUbDfxx
Fbz4o6osc0UNU8I5jmjOBs4knv70+0s1Fs2Mh619mD3SxokKBGBThWlIo2KZ8SavLno/NIQJlzDo
oJhvLl2o1tZkeyA6G3io9pKAb0gOcgvqcnzht5yUT1rfWlWfXDK6ke6wjd9/Xr4VGknNuWqZyNGL
UlGXY23KcC9oAx9JRmO00o2DgRZJtxfDLa1wrRAbVWgqASG0F5K/KS1eJa5stcpKZ1B7ha/D6IpG
OgiVhxydTVpC6YldVjc+9+47NG16J2ExU+Uqc4e+1s4nadY90ngzWcKuFV8qYxWdC/jpTH76tAns
yCwA2HbIOZS2qPngZPW9q0QiiEpJJmsB/OG6tLPVWq9oI2AQCLxok5+t5kSP+KWx+/BCm/atPEGk
1p6XbFAz3DCcXpw+aO9lvJoMu2Gq1QmltLgb+06ztnTGshoFl07DZUSJIHX7/FBfaDqBoirAZLaZ
nXiGRemnYXpTlWbSqSyU6TVo6bLKqHD3xTSejrSkZpmrkG9sDSEF7Edu93cTmsmNTa01Z3wBDMgF
ek+2MagViW2iVDWNwaghSupYsSP89t0f0hRBQg5Bw4Z7zZwPqOE9m30c30jpOStflanRphZeAvYl
31M3KsShz+YKXKL2MtaAHuGB7u4OQ5prS+AhMM4ki05WnA3//jC7p8HY4mKC6Mih3MM9Gua38x5N
7SgLFiuU4FCOQWGBGqqMvmLKY9rLn+RRFwuAwnp8Zsnth/tDj7bxXHoX/8PZlfU0miTBv1T38Ygx
NsbGXAYDb1WVVYDBXMYY+PWbhXakWSHlSjndrZaGB7e/IzMiKzICREkS33xyBWz4+q4OeBOLDFbG
qpG2VkueWgwm4XrIUi74rsHozrR4a5Qr1D25/bT7NTAhkYjGG2NrA7p2+evlEnju4Ei/bO0dXroi
yInFQD/N2g9v18IpE5xKrUoAcjXl4PXras3LAzASEBU542XyJpLLaqPdOQ93SWmhYQXu5qACSJfJ
n7u7x5B5x77YrmTSNgUPCCr+ZtVbhb8RLCH2i+XPz5VKtVsi4u9oJBmLNRyOt2nDi5FXRaos8MkJ
faJGrVHkxzplAnZba3AgPdZZXSjAXvcfX3kky4ITyUvsRtIn+mjl046On3l5aBVMsz0byzutSGnY
+8v4k3csHKKLPd4j/X4UuRT6dVI1z4wdsLz6EFItBV+0TJWlNrlZ6mOe7YgvCEC6zk1aOkhCTafz
rHljeumzgVylRcZGejse2/VRPObNOKvyPkgZNJQsqQJ7eDm7mhuePalGGlUBsa7RknQEyfZzN+VN
oYrJCXx2WMKVBtL1y+eJGPM8G3Q1yAv6BljNkfSb2W3kgvUy/tJaBd4GxIaSPHtWN4v1hmcMEbzA
+5Js0wLfGfJy2TTZ8HLNKyTkN92bVijaVjHtbTd5xduYSwXvS59CWZ9IZcPWbXdzFkXHSuJlULKl
7lFKApHVeLO9Z53PeC2aqBm7iZeCBof3e/olr3m7GoDIs5rcM28NaYB/jiDPHfIMVJrQyQibtSiR
1M6aw+/dD09mJGTo23KINIxz5NKn+T75WrGWo1uT3SKrpAhOm397av/j24TUV2DbxMuJaID6pi/j
7xVPhtTDr53s/nwayS9pKZvz9+KCx66bg57kjBWnRq0oDLCanm9W37wNh5gcWCGrUVHQp+grfSQe
eT6AILC0lVoU9k4yyLvsPhSv34DXHt9VlUONhTbHHW2u/II3fqzFlpy7KMA1DdQ9yRez78stL0k0
Zg1Gd4++Kmz6C9hFCgqU7XYeSlAV43Y+G32ztFBa4g1TEulxNt2ChZpSnczf99c8qXJF6Nm1qs7F
Rq6+HJ6dFN54MheDNTZ433cIPVkRkEBcDnnrSNZC6pvVWHRiI9n3FaTj13vecrWptUcLpx5qRr6s
p5PL+9tn3tNn8L4nXwG0MvGPitgnxNraI+RyQgNZlvRcn36xXgGpkI7iy9x3b2Kkw0H2XyeJVTGa
N1ZVmXqCcvuf7K7/1sasrA7NKC908aTr2ORwq4fvPButLJQMybeGKIN8cOafw6ujc14MfSwmylYQ
+iG8pC7n/iL5rz3eN9EueOzJKUdnSZi8f36w+jlmJiyC9Sp6lwU2FTJr5aJMvhrvJCta/NNSaBYC
uTpjD07jx5J3IowAvFtkmCaCJFcCHs/GRx9DXlmqMeRoAdGyLWTO7cvxNnteEIWsUbii8EFu2LYo
VjF+mDvecVntw6PU1WvJdG5Bse/56GDGglyiqdJUTfifAU1qQGBy1uqc58NhQ5SulpazQu5KCrKg
vvDQEOSoJTTp+/tOCk3Wn+qVtyWpsiyqQE2ySStIA5Z3f/py9MW7J8JAifhVSnaR1BOUxz1Yc71R
IFm8HdnjVSPPrrdr8TNjbUjIiKQ7dDOZWECQOVGrq/H4+JBn72Ors76ndhQVSWuyi+Xd7Ip1uZLT
+B5WRNwgcyQXSobTPfwn8QqkE8JWEftKkSStl8eb6Yc54u3feKUh5ob3votJqAn9we7omaVYRc4d
pAqtpSZbI4cV58Pt+I4XM69VKFYqaZw3JpNj/MV6o2dcSUzNWutWoy2k9fLL9vx+OWXa/BaIfa00
dH9nMpcDBq8znkNVg6qwBSuELSmS1COLldl43thFO9mlt61ZL8gJO1xOjg1vLxpfQrxKNusKqpLG
Eu2jhiFrPFlUst0Jy4EK3lSqn7hwsf/JctczNmT8An2bXMRKxmbV7UCdnzEtl0wUoYjuIkAL4e8W
s5+3Ac+lshOoFELrJn5/nUUT4gyJtBrw1oWSyAIqluaWJ2rI2M1yTwerPUeHPKUvP3lgeC6VrntK
gHQZLB3Y8gVHW+Clx0oTHfQgPVmqCxQgv4UZnLE4Jzb/WFzsFqZZWE8W0NnD2TXPBcY6EV0r0El2
IVNdJm/333crnmtyk9AfwCK9j+Q5qJvN12+8fU+rC7Zm2Xfz8WEm7Ukvz15OXnkW5i00b02NSvQV
cMrJevQZzw5428QuBsgmeRGLJHc9ZvOUNrxprg8xSqlLNaJ4snPWw/XA8fRr/chNh4TfR1VP7hW0
9bXmbRIlBBfNBmWr9to66o2Xk3w+Bx4Fz4j8HCARc30/igJ/l2o+YlXpXHXWviAEbLYhnCU1IKNs
eey4IJ+QHplxn0yTh62HTydywfN9Skjxq/TI8UN1/w4B/UftYroQRXbT7hjJyMDX/cHN1zszzc81
n0zqaLqS/eZmNpiOgGn/k13fLwNrOv+kjFifIL7x5mXZhdDZeUa0kGnf2u/D+7MFrz0LH0SKCWQK
TZHzss9V2fLU+Fa37l0Lvhv0kWqVwW6qRs88b3uJUD0n2XxrSD8oLP2zbp/HvGxirDXeNx0T8ttK
FVAjT+WEVaVdQmQYfBM2hxRIEnWa5bk/4q3+Z+3wKY6IAYRzVJW+vswPX5nHOfGfX1wx1pVWyQn6
wfS5iH1ev6mxaAnBeSkCubmalrf+kfVN8P9Z5aup+Ko4SepAy9nWLFiLWS0WW3TLrWJvayr9tTYD
kYXQJseK3JRseg/LJ8dbOpWuQhOp2KTxCaeoyeXt3v0zz1GxDx2zUFXjXWuk/Pxl4MzHBY+T9oGw
9MqZZAspdb5s7fFc8Bx6q/Pd/6XbABbyYO+4fAwsa2Heun6xPHIb6VQllROTu7dL3owTb3ZNJXbn
CSuKI0/hY1tc8eYEyG+iDFpbaaMnIzXudoMnzUuQTzk2j3el9wSVqIrwAsPVovE0IN0W1GYJqlvB
qL+DVsSN2iKx9oDwjlxBszktWMNvEWNCVFc7v06NnCNMFtvEMzxuBX8QW3NYmmzyf3CdicpGUULu
QVKJ1ImOrvLih9UUsRgZ7ZPvuxFNN6q9w8MiRRYJSz3JrRsIFbyohVz1dPpnYFmAXwQDSFi10KkJ
mun9rDbtlLdw3/NHhEfwqKyiw0EeHubPbzx5hhFV6GBaDkIZcpVzeXM6fLjiGVQa8Ah/vTIAiVzu
3l2Eg82AN1IOHqFpNxLOIpL96CYePIx3PBKWnQLjWnLJGHKOMLj9lG+VtwenTC6m2N+DULLplfso
PjLPn8CLLkZoBkFdVNTlOrl5VSNeyI6FvtUduxFNL+h/1ZfYr0xOeOewn5D+a+cXRyPLWhnA90el
LHPDT7GJnJGeR3974nmaxVCkiUaHCtmTE/rz4/39I14cqmhKNq1Sz4EWnh5fXj83nmWt7KaPssfG
yIqghbwnb/M4432TWpzxHaYioST50cf65eJb8vgRyOB7jfZBOtI+aLO/Ezc8+6Cqc7dfcT2KXtAD
pvA03fDkFyB9S8EgeITiSZf/z/HhaMoSkjidhU9VGPwhQi7qcl1epjHPiUEYKUoqWkhhA5A7vnfL
g9n0ireTlYWVTYgEBoylBVfh8Jkl6i4WMWqQ0gbZpYfk3vXpFzzOmN74Bm++9s5oF8jI8+fh2uo1
D9D39YcWa61ISknX5Z/13V655snTpQxORdCiGUNS/OnJ7umCdYgUhQoptNA1wtmRUQIwuvmY7PMS
fRPCAPDWZYQzpNLObl5taTx2nb1rOsjkdKDlF2Z/NdhjkawYo1cJC5jri/fkcvfucR5501yNxKKv
QpuAeAMKaYsS4mMYsd54l51MkDS42PO7qLGKho9zVmd0QumgrEHG2NVjVI9//nK3J7wtzCSCklr0
HBzb/u2z/s9ZQ/FFYjnoR025kQsrE/v5fsuL5nQGW6bN+BnRk3nS70fDh1se+7bVB1EbaJOg/Pvp
+8dJWzZfUytKRQfkYe3zdj7nGSpX4/pRnbClfwYp0Zzb4QGwFlqyj1oF4/s+QTRkaMLZodB3PHMr
bNwgJIC1PiSywLrbtdt74Z01aNl9hl0IoVjywQC1SV+8NY/of8UVCD6D0ORx2urj+mzAwggu4q8g
Mz5jvlZPbvydXQZe6JsqQlUhasbq50skg5POAQ54M9KYq8d3VVhs4KVRaGe6N702vHBEiX1CCKw+
WkVLnjXAvE3Od7zxpQy5NIlwyjRPZrH85PuN2TFVxq4K0Iik+4EG1fTePvdvMjPYVUarigymdT5F
Nb35x9V5eeLpQE31zZZaVe4bHdSM9O0tLFc8XY4v1guAhI1VkYexj6s8O+LFoaYgECUEIaz2eMWo
scrH9dV1490TAKOaAKkyOEfqpedH9ljzNIfmN4anhuZj/j8r0fbt8poXkyID1CxCxr9phVEerPOW
twtvXfe2iAWbNF4x6nLdmtPRnOfBGr1xARG1V9l5Sb0nT19Tf7DgpZmDCeXX+KnmmMmV6GHKjiWS
04g9Y8Uvkr0WjnxPpsdHj9dHPB+QYkyf2KZYtSPXBsHvzV6fedKy7KzwClwqLZHxDvcvL5e3N7wQ
nga+gXAa8PECsjN+7g4u73k2XLYiXkd6bpvPpFqlDW6/xj+8wBfEptGk4kAgvSW/ybPIz0ve3Dk4
I/B6IVVLCM2pZbnzkFYDnoWgBNsCSNGlN6RsdvnyqiNvlCUzqBhtREjcFOnB6tJqO2PhLqFLzAlR
HeIuV8hB6cfHO4gRb69AZ1Gx/lqNFJ10JJmdfI02hzyLjSg73UPkhe+9I/fUVLuKPJWxqFVknVMy
FUBS3+T19m3DixTEgqJqitpngQ+ypUr99bJtT+947BmZawGVoyneFf0X/Imko+sJOjkkRVqnKSfe
eAUUIUwSTgUF0FSmPmS8G75lw3OUT1XJntLogsNuQJrunC+fWWgGKxt+ixY6MAdNqvXrIV4tnquZ
qxHRjBKhZKsd1TmVPbMHrEFqETE64WLuJ1G6UAU0P97KBavfCCssOB+dTr422udjuz/5rDw0k0Vq
1nuvpQFy4eR9s1TbyotET1jcTHHOgGiBUn2J2ebw5Y4XUw9BVmPw6UKWQQqAr0ar2cuQl76Evaan
SAiPX0YKUgu1me5L3tOlJLYAr72qAchhwqkJr5tT3vJCUkrKnEJDmk8+wlfne9+PPMm/CxJRRio2
I4shD7jzye7p2vLmYVBlisoZpZUmp0htdnix4IlJTZYF2w120N9sD+oQKI0vdOIllPjsckIIkJAt
kRsS+wer66d7nlC+aNuRspQNkQYZKfh+fzJb8XJw8b6HXH1uwgSyn8B6lw5YRyfgsq3NIhvriCZS
b/znQ2qBV7uMkQj9OgfHNz+RW5JRed7T9SsLQ86Kr4mTypB5BerzgecbpbLvlqLKRx9yILfuj+82
7ZGHy+A3q7J0eVhphnyET8z4mCf9EiE1bxANQUNoTuo4n3/WZ6zjrCK7bx9gZQGjIlkgB8gG30c8
Ly/XhIyqBJuiIGO3Xvcni6cVb+3PQ66xW2zpTi7/gL+MYKwVoaXGykNKWvL06UHseKuaSqTuC5RD
1MGTc+U3+Lya8+QToSCx7cvsWlnyMHUw3C62DzxzXlMR+mFbQzJoyNr28X1w+82MSRHeRGejzdhw
yEOeid0dvbMqQgraJSkVfoZw1ZKSluXmasi68UbbAs6qbr7S5crUyHdSX4AlPFQgrES8HJCOKUHq
zybz/Ny+mPmeMVhtbLU1ZHK8aM8m189HPI/V3J3Ym6zW1WTIPOkc9Q/rEc7GdjyOiB9cK+RsZry+
KHe8FGYJEcu070izFUc1tTf9UYZ3PLWJcAKxZTS16UYqu6fjyeCJl/anNFhZC7TsVGzkIc9w6e4D
04tYNOGxFCck++SZ2Ox4rPZ4uhnbhbNQFNjgIVDtWV0Nl2OeRFJq7GsypJ6NXhv1IRv/fWe/eAny
SjtE/rkWfOFJDCB2F5eLV95WvuhiT2TiUgUgvbYuqr+95mVIYC+JUELL0vtGCqaeS60LphdxiwYs
KNWtPhKpAFL7B2bGW4+VogvMw2+aqKOq8HL68nAy+Q9vV7bTCpJkf+XOU89IM9W5Ly3NA+AFDMZg
jMG85WoMxhgv2PD1HXmnu6XSLUWp42Gk0n24Ul3LzsyIc2I5hyZbb6xvo3JtrZOhbn5Cm9FdoRm6
aGMNU8H52oRQsVBfOsJHmiQtk1FH3VaRIlA/tMDz/fhKAxKt/aJV9dE2MwnUYXHwlG2mNXlUtgKI
XgPKGZ2Wv9uvvzY0wWOA4RJAJLwUI11Ezar0c6K5x3LXdnfaFlqqFXIktqC4/H7a9WkO8s47nlWE
360ItNbf6S5eup5mg9Kcb9pmv4BMj879bzuvz7S5l2pY0ztWTrjanLb/oLcctAi5YX/OULlt/rQa
PNNmMKJOpS2yq6ByQN3K7yNbrkiVP28NIAzgam2/IaFlk5AGvfkTrWxigWzCHdSlWCDSWAA9v/WK
5vgbjUzOF1asDL+zev7HEyiWFemBd4QaNDptwvcHdkZTynYhAIEPRsnIKgoO72TiPU6zG5LKZJOb
7EjCx8MP5V2tSWa8GS6dDoXXyuDE0Md8PG6fLva0VFFd8UW1zrC1aLtr8rCY5B3tTFwCsgm5j+WS
0IX56fv0KtEwgjCtLqh9YKV5tmBFu2H56s6pyweqNWaUZRLnnBeHBQtLoiCYhecB7wiAiENXLRfs
65tWhdJJKJFrExyx0qP6AvfCyasNLR8ZxmRJzYEBLhgGqdL67PS4pq3HisJFUcCibPidY9Y/zgzS
VPYxRi6lSgm7fcdhr/v9TNNWgaDDGdNtNkGiu4OX5/mNtggcm8AaS3BinlkX0dbK0/z9jhFnOJQD
ppiAOwA7wZIeu//exCWtmlsBmFaAp6y0GUrs59rs78wLrTvoPPPO6BqAzqE7T4fj+feGVrQTykbI
dskDFnbooMjH5KwnDrQhN89tspwBh+cG9f34NOZxR8J1wHlscFGo0MwmUQ3V+XB2TzPrtdqy/ws6
0cGZYN+kZ+duN6FlTvgWpTJdgTRGtE7Q3bwfadVaJYIQ8ElKw4cp9Ezsup70SBNCQcSY4Afjhbvi
0Mc4fL76NDTfDwbc5KdqI7MmonXn6zD4kie0aXlpY4nVS7jFEp1uvHl6eClnRE4aiuM+hGzh09CF
9+lj7k5pbubCAmFUykkBDB77Jpu67ExJSU1UVVJ0PGUtuURH8svnZaZJaYZsbKt1ADArECWxD1nI
7vxqTptsiEWo7JWJ3il0Cvj78XHcu6blE+CDXBbtsvoTlUt1sozrPW3ZTVdeowhOwlNENe3ms8Vg
R1vba2tVJcFHhGSAJWHFCLF11tB6z1rKoKT1hjOBOjTW0f7mmVZ+VLV4mVIqjgGmwDJj/+ma0zbq
gDVnb5SoGXCRYtgV7r7p042n2TNUnVWNIVWWcDH2y+G0nExopS7HclvziQ38o3vNs4fRWSa9k6oA
9JeQgsuu6oAqvV10/ScnWmqowLLRKelofvVlt5J7rSF6cpetQ7VPklwNO7Stemsg5LAsXI5AOrHH
endz0Tsj1W6Us8xrGQtwEA88GsNl+xwmNCM+6aNikA+Uka6gTaKT/XIQB7TVFqBGwvuU4CMY6qOb
b/LogihtFmW1uiR4RUajA7ydy3p2PaCl5+CBcQZhnUoKnQl09e5m2if6DaSqcpGh6ijRhsSrf/sY
kUb2i7VtF10wq7TCRUEvL/f2NhDFcwEAiAKPhEmGCky6bc/OGK07qNuGISBmZRsox1bAOrv7/EVz
fZHO5ra7yrmpHJ2kM4Or2TOtf+OBsgolmMpMo+MT6fpmcqRtOLgsvRQiQXLTQqIIc9ldBtpeQAa2
x2RIUjjmUFODzf74TsMAhrEQE2+KWk2TGwN/8uzlfkJby8syCYBmNrbqi8Tyydt8cb5fEu1+4MRl
BsCUrETtUOfnr+6Tpr5nReMVWSQtcs4Yf+l9XXzcGppBmM8W7pcxUYeEKlk/DeNmM6VtzHGpjYQ/
pbAatYLuddgZbU4zNAXLAL+ZLJZXdM9sNZ/e06SZTXEQflNTylRFS+zFl35+n46JlukRYARcrGC9
Q7voD6pzunmlaZuwIC2QCsvgLaK7f7dTVjc0OTjzUzo0VKEzYwqV57k7H1zSrnCOheXalDr+TPjB
movhTaSVqiKEeeYArfpScKfSVf/jcEOTVTQ5quqF5x6CGMrzJ289SXNGMFk7B+/QwV2uHF1m2zLf
P9I4pUzAKRRgbQ+ECf2Q91t7Y2hdi1BTan107QNXWID0S6ZWi/+/D/ntt7/Cf/Plrmx327+2P//n
n//fb+lv1v7tR9huy2a3eF/9+Mt2t0lv6x//+c9/kP/3v/5t8V8//uN/f7C//KgB/ib/+yNl8LdS
RfgSMXt0BfPlYT7nE9oiSXO69jlEYyGQoLf22Dl3NFNEV61xBjhiMo6h3uDj9VP2r7QCazbGaV4B
opSEQq0rvr05G9HSuolNh6tJmnqJ7qh3Ji83w0CTWfBJVq6cssCzXEbHyh/FaEKjiZI5LU1omqJG
ovsEHyd3Z7TAC8mcByadAd5b0FF/0Rl+ixvasLVTxWjIh5YV3Ncznw4nnjTf6Zt9KVwwQFo14Nqo
+/724XFLMw2RUlqtTDSK4wrXh3g+OD2hyZbCc1cxqABhPqLU/Tn3nz0puksXsucxZiC8LKPyWOOz
vh2TqDvQhOxEka07qDNKEw/pbPZqaGMVVtjirU81lxqwIsTDjezvaF5EQgBhYN4xwQHNo03Ucecs
dGmeXinomAJArTbvh/Ke4+f2ixTqTW1ykTopnX8uDqBL18POM20ySOYcpXHN0AVAMPZznXSnqxNa
j8A3xzilirMxMbRvI2bv8fyDtkEEPDcEyxOkX4lOoYTv/fJa0kShWjNNakATDm4z2ojofj2tSAMi
JbMsgge6ywUDTop8yGCu5djTdjhE8+5JUgPCThJ7jF89E2nS5aXq0mxvvOFJ4y9+lIcX91Na+vW1
wOfA0VgbUaV3tus+DWhLCVXVlF2VPAOYQD1Ujq+bq9E7rXKu2qm0bdSQeEGTVj19fN7ThLqYSkVo
rYv3Dp38GVwORgdB629aa1O2gaUYLcMC5MdsNl7SrDJMha8AsStHAaEL3UEfd7qfr7R8wmwGNMSy
sYmjFcHxbsEczUfAQnJvPUHX+sEOLTum/uMlrd7svG0qcK2rwTkaIO8Pk68P6uCu50XrnJXlJaDL
O+dpFEm4S+eiLeSRmJtgk8YO/uW136O5JrkQcra2TeX4JqWBdc/ve8PRCc2+xJrqo6vVZalRzhj4
NRsw2ig/RBNtuUrOsaiw2/U8tWeeJg7ttHBBw0NRnEeGgrvJ9eCahOqlyEUZAfCLOaNQWdHH0Z5v
SWPhrj1DWeCK+RoKaj2bX1We3dF6AKE5AZtUWBEVdaHI7vF0TkMrUYpaVXAxF1vQMTw2eLtbkQKk
sCK5UgpjALkzw77JNXvt7gY0D/vso6++qugE8CAMSLj3U5oLRbNklMDj4eCz0xoD3M83/lEymnJu
yqItGYfc/LnrHygd2gJPVWQNMBPVoZl0+JWlbaQ6lpQI1UahIJZiAVQ+X3/3OW2B17OfdftsgsI9
7tezl9cpTbPRAJ7RMgXRVBbQ2/dZ12o2oeGyKLwQtYgSSpVoUrtSbn1BQ/1NxAvYHmu2wKjYzf7i
YN817YpL21raxTEIPmg9bLx+7Z0PiSqtiSkmuW6zO2hZ5PwufNAMiSoXDtJBVaxGH9ABkMvV9GPQ
pTknpqKyU8olFjya1L7qtViRNoR4LLWZ53EuRJDosMFieHE1PNIkLktwHjhSTjZwhlWRJufF6U8a
VuYJsLjyigsAf+iK5UGdXHzS1sN9aw2VnF1pDW7sds2+vyqJJDEIjXDoQMikyQXtpfG123VJ4C9F
kSNcsQDnzn/nN/jrHPOXHYgFzU+QJxF9LEl7yVHJ5MsX2xnRziSGmGwNRkZvtMLCys1wu+sX2vYj
V1YDhlVRqch+0QfUVXogmyUG4J7VoV6q9bimwdwig68xVXhHwWt02+SbXYozSxPysipEeKatzypQ
o8nHy+erJ1oqMEkrA/wjqqI46h5W3FVd07xUBXeqiCB88iFYLLa935invCAq60K48cEyI4xB52k+
j6tc3ohuLhboZlIRfjWrsA+ZDr++PkipADIZ1zJUBY8Vrhf2Ib3L9UO3Q7O7MjxqmZulVnG8oj9X
8RNSNRYAn+NcKlOUgtzpcEe3x7mmnUmbEgjGG5lE8dg3+V7NNguaUns0sfC2zV+bbg++O9s9nu9o
c2dAnxOcupUlBbQZuuzOB5pUw+TaySoF8yzD5SrowfPTzRftdhkvralVlqoUwFmsNXIzun8lgj94
7h4YTNMgEmgZvl/f3kyHBmNDFikC6SzWOlSOZDTs9TOp/xIDMM3kWBTwSkpBJfqf3XhN855zRuk2
4h4YE3DJsMmgwSfTY9pgLlAL4eCKMeUjOkjVrQ/vtEIpRBMAmUyUlBVLAquXpf588H5Ba1dVLpNk
WTptIqpt2rnrvp/RYlfb9oPYmLRWsaCPUb4dru5pEpfJNDG6th7pY0V9ZebT+j2k6ZpZB4/RwB0O
JWqLVpkeT9O3og1Lu6gTT0naKD0qDHl9lceW1ElqBSyfWtyCu5ULKqU06Z1aTitlKRNb6yIzYZXD
fq5u/+JlQmsh1uCFbhuSMXKL3i696Xf6JEhkIMVrAKixSBcq6mxos16eHGg/l05txygm7kqW2It/
fTt5fCeaPMkMpMHxArcsoHv/F+L4eaAtTEnuNKAuFnzMET34i5kZ306Iob7yLIwCeB8Uqte0OAw3
dyT9v2wh/fLmMFo4wAl0YWrPD570TaKGBJ9yDJmpJNHVr/3Le4ePaN7aAs4jNKdRxlNWv3LOtptR
vAvacuvtH0w2FJ4VoOlQTUZ7BXZ4d/VAWnkxwKAKC1xxXxMP2IfI2VP0iTYPoIrJkIhYqRHXoZmu
DutPkiAeb5YLiSXbprMqqn/eMYPTO5rmSWAA11TiLRtl3Av1tXv7fkeb6JYyM9kawwYiLBYx9nni
L0i30wM7Mz/tyo3mUWG4bfxyP17THHYAiQRAulmpIjU6PvH69RRnNGf36jOLLgECLcagUVxNt4pm
H6/hxFunVlsBzxEdmPKiv93QHA+AexSTmvs15zyhDjuv9+MO6Uy4sU6Un1Zq0tn4JwNTy+2aaE9S
m0ujSrGta6ISmCdzc0tCO46rnJTSlmkAVKi39nOfrRVJAgaOQUTBmOfACCvDzsRfdxaXVHAYa1Wl
udxpgTtS3wW+JW1t6Qo/ldDcwoflgFKP1e3x6Pu0ZdDa2vROJ+GjRHfQF8coure0Vj2XCl59haus
BKoEslxupCWO3LdlfeN+LgXiyzvmc3d9NqBhhMpC8zvSOmvBftncFt7LVlsvbcBcOhSonE6X4oWm
gOA8sEVAI9wBK0WFJaW93H7R9JpY0AXiW4VEgOtwri4X3TUJa2uXRbOJtD5UF1Hl3ZvZbjklsQaX
TYiiuiIVRAVUMILlxfrkhubsHlxLBMlaYyzDRTw6px1S2MlCBQjOOlflgdWhW13z/qE3p41QMnhC
pQBNA8iBzjOb8eXug2Yb51wQlutai2IVPZPhwyF/O9r2o+fVuZ9yspGh8wDR7tRqTZSS9cbANwF6
4qXEFXXk1/yEJlTMbNGQ1HwzRkAb3K8P05Ntn3aFZTI52wToMmmU+O6Ptvc9JwpCWM6M84lbp1Gl
kPtrvXiixS4vrXLM6gwM3guUiXXFw25Fm/sPNqmaNQdSKiSWnp+fnoXeEaWUeLTaSXj4IaJn8vWc
5PklbfAwJO5laKPsQTMsPdeyGkWi8q5qM+YanmSEtIVd4f1aLTakrkYuRvsIsN+I2HQusTI9KwdF
cwi1wjorhITUKzy6TiQGoyGtGKFsYV4ILnTbv9MYLjvMpvdz0ox5W1pRLAvNpHYV7c/cj6f7wZqm
a6aAt8okiwdQhIoPvI/TajaiVQaNzz5qVkrMWuJTwIf5XtLcKJX0Mormy16yxSBRZ3bc+jWtwPNz
SM5naZIoaLP0cHp/e0KyIbWeR8aV9kUHxtG5mbyensVPWpkeuAUvwVcrWEA3fVzv6na6odm/FwV0
T3IlGWRJ9MWf3JzzU1rS8s21K+gsIHWhk3IDKcwLo2macHiFf+/tynYaWZbgL9WWtTyy22AMZjPm
rVaDMYvBjJevv1lzdKQrzVUeKaVzR6MZXsB0d3Zl5BIRAauwPsq29IqknH2PeR4nMjUoPcQQq5Cq
E48/ywMenajaXJMWOpcssUqh0i+c32x5SwWtgXcJi7FgaoaS/hTxACsj5jMjZRVkJSYGR6spa5gK
pgJYW22B3sYkKcWHH7shEysHjAiVvfV4Z0lhlfz0cuVZsj25dHPtJIvT+EKR3L/JZHsWefK8rUsp
NQetYFiQNj533+uZfGHSvPEl7VQdPBU8qeWQX9rhIatwrVKl1LeZWqzN0HSj/SwNtjwfZ8zJDrNa
Dlpkcs1IDqyuPMkxo2SU4Gq32jV0dIXnvWGFcPdsLboAeCxc6WPnYb08Ob3nkdk688CJLq2S8H/S
Win/DB94GMBV2c8UX8H+w2Lh06XTrKkFnlsOUvMmxtqFG6nqeLl64RFCdFaIxavoHnQha+rB3+vj
ALx8k4s2+K53n3BDyyHkN/lywVsGdb6A8BmiFyb/t8Tl36kgFdnp2dJl/B2o27kzdTub8hR3LMJp
H3sJYlUjRaMurh5eeQu8rrsIGXBdUi+RmfX9evt6LXlL1c6KzpsOSWIZTU10t5tbc8yCuRoiJgHb
WkwtKbJEX6SPa54KiyoVZBMRbO3rO6Sj23ZzZlm3SyMSCbVgZDndJcjJOebKzVgc2i7GoA2WA9K0
VoAkT4e2uGTtcJgcE2Bd4GuJLZF9gPED3rBn3iwgtYB/q+pAg0wFn6OT7TPTZU9nkVNUWVYIpGkH
rB7hm9mGd1o267JvDsEA2Y09+xoK3gC7Bmdzk8KomCwZwvdXt4NN5BkTayeLgi6sHAR5rDyoX17d
8PKNNkJ5DCxhC81w8IvJNnle20Thyx5kyXiGOXKfeXmfR5p1rEAEXYQqUegYIznAnqaw+uRZlKm+
35hcX3cqKVMP/uX0/OT2nIeV8TwBU0oDET0pPX4s58+8YakqXhWsOrWNRSmSctxuN/OkeQrUyRph
8I9rJZOOBhd2dFw1VycDgg0Suns7qQq+/Ry9fjLnmNX97gFJzL+V5DUPMDZ+7nhtE9GpBaXgF5Zu
Nozr6/Gd5Q3enOpMRu+8aslSQGJwePX6OObxmlPflBeqz68dnX6P1gdjnre2tYjHjdQKb1nQpOXL
5nr5zVoj8lYChi4Gmcn4BdnDvHp659nDq1Rc81IGrMKtCVR07Y8+LiKLs6RCaX0uVppXwpCacYOB
HJ0bnoh6F1lDwK1jt/3xf+5o6KBdUy0A1oSatIS5fZ8fO57MdeluMKF4RBmNLC3uj0fHB6xGaitR
NqdkyAXwfJN/ZFbhA16khT72cOQi/PR0upkGXhsfzwuHhZToQsI0D+1ssH6+4SkhNIvB0zsFMiZy
ffx7Pjz6ZA2JGv74ZDIGhjGKrm9a25yueTJXUFvPFhCKwuOcupLd8nRzwNPZAPyMlFWRKUQgBVZ2
MGmTMU/s01ZV8LxAbIjVJ/Xg1+MrB+88ili3WEkgtFdJk0sHb6taLW9U7xCti6RsVsZIUrdp78Yz
GPF4aFXhleQquxYyuRo2P7h6vb7gbTeKpg1WBVgbKE++8Tb6wQVPDRmzXc29yaWCzYY0wPt590/3
PC56dinnPvewTdIu4n4+Xb3zVFx6Foi2+Oh1oBupD9uzdMIT5dQ641sYEPZIQYpDra8XwzbheaCI
gJEVRfIlGpKVUuvm+ZrXbNAIpLO1RirtBaka7r6ezpPlqYZ3h2dbrDJYG5BycLvPFzt1vD3N5KOx
4je7JkvqSk5/zas74m2cYmLUHYKIIMCQZgTXN16NeTRwhIVG5V4Sikg2gNTkZ7FkiXWYKL1rsmCU
FVHJ3sz47mD2xdNmDCUpL0DU7KUhnahm25v3r28eOMT6xoSIZ0qCKP9oCSM0DPi9PitdSyAVdONm
d7pn3U6vbMVzx9eiujwFKbdwLkZjnhdqcTFZVYR1pRqSDLdczI9OeewuHZ10GBpZYQVfSOJVzVvL
GuWrqFynVeNt813ziJoO5uOXAS/fpGTwbhlnkmiG3BK+vLttx2teZzCGIHuQe9XVb6hW133cAE9W
sUINXbxJSSUjqQ+wfXtOGXh95wpdRgFKFbXRE9vh/vle8pYSvFQtx1YhNk3OAoo6urrgrYZ1f1CL
uM/UGLQniVMnYeA1j8GtZVDBeet0pD0cHz4uxmnKu5JifctY7eHtsuRm9uN33hywngloj6lAGZmt
6kbLVMfjefY259HEkwfj/kJMVpDNiOV2+THkjSB1ltVDcuBSwNqSaqvcJVE9T34UT8jW8MAHj2CD
evBp8fj5c8DzcOyIDIGZkhYhAJU5V6uzFFmlhc1Yd1vEMXjLStVUdC3sJqUrnkmUCEnqgujPu0JK
wu7mq+GexWJ0MksnfHLOhM5lpE7hFZ6hrHIvSigtm47Gk8mkaOfRr6nl6f1brPOrASGSttqSi4fL
O/nzyTuFFSQVfJJJ5uIK9TJ+nehx3PMWQbwVmLZMS0bXTLaq3HC2ULwGj3IIxZvQMpUG1FG/9uVj
uOLtmJcsU0u1mKwT+Z6cw+Dt7Z0nc4WlXqtZyBalU/+r+a2bx7xpg4VA2saZo03ZOZ4dls6AGLPk
iqCJzDeD4atdjHgKu0bJrhBpDZhqyW7t98/PEHj8mb8cibNyXknSsOjuNY7fb3gaQSb/1ux0RQKQ
Mle3ZnKzXvE2hHQBFVswzSC0IyHT2dPokIWVfQNE/NFK/AchABVdR5eTB3PD+5CiaydnxSxlI9Up
9qfl8OqdZ4ILYESwWhVvGylwPzt4lLe/eETdJmPETOCNTZkc3N1Nzua3NzzydGwitNxAJhdJnlna
j+4fb3lAo4aamlNJ2u60THHN79f7Lc+izGCq8RVSsMEA6ej2Nnm4zqxnAkp0Ez8juq2BJ8UIYSbu
HGutNSYftHEagdPv/SxS9Th+6A2vOsaPia01V3RoZMdidzlVY16dXwKiPtulBq0XjvSfnZzNdrv/
34f8W+5h/wGe3BhJECQDAA==


--nextPart3787166.fW5hKsROvD--







Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 21 Aug 2022 16:33:02 +0000
Resent-Message-ID: <handler.57129.B57129.166109953922641 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Bruno Haible <bruno@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, eggert@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166109953922641
          (code B ref 57129); Sun, 21 Aug 2022 16:33:02 +0000
Received: (at 57129) by debbugs.gnu.org; 21 Aug 2022 16:32:19 +0000
Received: from localhost ([127.0.0.1]:36642 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oPns2-0005t6-PS
	for submit <at> debbugs.gnu.org; Sun, 21 Aug 2022 12:32:19 -0400
Received: from eggs.gnu.org ([209.51.188.92]:46590)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oPnry-0005sq-BM
 for 57129 <at> debbugs.gnu.org; Sun, 21 Aug 2022 12:32:17 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:42334)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oPnrs-0002cv-He; Sun, 21 Aug 2022 12:32:08 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=ndMwKWcLd7I0vDFcpDD8cVd1xrAJL5EhYlYPrUP8Mlo=; b=eISpJfCgcomc
 LCwxkQkV+5zXepVfmBii1Upgevi79kOnUywAsto4YlUBlscmHuJQF3xZdIVcvUeFUN0sWea00d9m3
 f0lXMelaWZQlYGYdGVehCDo9p6XOFnaTTHOtzPTMd/K3by9AZiBwDXqgrURNxyNzy+t5dip5uvkp0
 HxeTQ2QqcCO/oVU/BJHn8LUy2Kt3Y2MobeVanAKqfPktrVyPq4qkt3XmtO9GzPtR4JoVHcQfmBmch
 VeNWbiLzhGX16VIDEYWXNRhku8miwHTGFxowVJxfSKjyg7y4oUs9eIpI5jHtBF+MRe7Z2Kzv+dWyl
 073OyBTjTtIxglZMP5bmVQ==;
Received: from [87.69.77.57] (port=4657 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oPnrs-0002ya-1H; Sun, 21 Aug 2022 12:32:08 -0400
Date: Sun, 21 Aug 2022 19:32:09 +0300
Message-Id: <83mtbxblrq.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <1903912.fIoEIV5pvu@nimes> (message from Bruno Haible on Sun, 21
 Aug 2022 18:20:52 +0200)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <2135151.C4sosBPzcN@nimes> <2271941c-3ac3-1525-4d9f-62c757641d6c@HIDDEN>
 <1903912.fIoEIV5pvu@nimes>
X-Spam-Score: -0.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: -1.3 (-)

> From: Bruno Haible <bruno@HIDDEN>
> Cc: bug-gnulib@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
> Date: Sun, 21 Aug 2022 18:20:52 +0200
> 
> I changed test-tempname.c to skip the case 1 and execute only case 2, and
> added printf statements per the attached tempname.c.diff. Then ran
> $ for i in `seq 1000`; do ./test-tempname.exe; done 2>&1 | tee out1000
> 
> In 32-bit mingw, the result is fully deterministic: each run behaves the same.
> The first file name is always gl-temp-3FXzHa.xyz;
> the second file name is always gl-temp-HgtmVy.xyz.
> 
> Thus, for a single Emacs process, things will look fine, but as soon as someone
> starts to use temporary files in two different Emacs processes, in the way Eli
> described, there will be massive collisions.
> 
> In 64-bit mingw, the 'tempname 1' value is deterministic. This simply shows
> that Windows 10 does not use address space randomization (ASLR).

Some of these problems could be alleviated if the initial value of 'v'
depended on something non-deterministic, like the program's PID and/or
the current wallclock time (no need to use anything as fancy as
clock_gettime, a simple call to 'clock' should be enough).




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Bruno Haible <bruno@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 21 Aug 2022 17:18:01 +0000
Resent-Message-ID: <handler.57129.B57129.166110223726978 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Paul Eggert <eggert@HIDDEN>
Cc: jporterbugs@HIDDEN, Eli Zaretskii <eliz@HIDDEN>, bug-gnulib@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166110223726978
          (code B ref 57129); Sun, 21 Aug 2022 17:18:01 +0000
Received: (at 57129) by debbugs.gnu.org; 21 Aug 2022 17:17:17 +0000
Received: from localhost ([127.0.0.1]:36668 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oPoZY-000714-G4
	for submit <at> debbugs.gnu.org; Sun, 21 Aug 2022 13:17:17 -0400
Received: from mo4-p01-ob.smtp.rzone.de ([81.169.146.164]:42339)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bruno@HIDDEN>) id 1oPoZU-00070r-SO
 for 57129 <at> debbugs.gnu.org; Sun, 21 Aug 2022 13:17:15 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1661102229;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=7p2fJ2joyK+HzmmjqJSERB4SqXIT3T2Rfv04xhYyfoE=;
 b=mWpuOYLTuT9d5BvuP+zHcWpeR9v+O4Pe5Iy1cvobRIfrng3mMzr5X9FPPjWrpKY5Du
 Y0Uv9bMHBQVuWRZZivpKZ3xJOUuuyIz0bwXUZw6f13kX95Z6qKI9AW5CIZ2tGRpnRq+Q
 4yyiKvBhFjJneZ0ZNTHxRoirr4z827GJZIIOB+7gWkpyxE6Ssc7WLHtiiXslS3aWAnWg
 3Ce6z2XsWCmV5dluwMqOqUuVCnkZi9NSpqOQhjXmIGxgJt0TPkd+xo1cs+eda6kZsYtt
 uCDMFEXBPycK63+E57b6JR5D2kES/S15ZbpYG1BngP7vfm8oZpjjBUpmLqkPs74ovrJR
 O51g==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zG6tLj91pDF2uL3XvxqkO7mdhiJBa+hRD1V"
X-RZG-CLASS-ID: mo00
Received: from nimes.localnet by smtp.strato.de (RZmta 47.47.0 AUTH)
 with ESMTPSA id g97246y7LHH8P9Q
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Sun, 21 Aug 2022 19:17:08 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
Date: Sun, 21 Aug 2022 19:17:08 +0200
Message-ID: <2758072.AiC22s8V5E@nimes>
In-Reply-To: <1903912.fIoEIV5pvu@nimes>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <2271941c-3ac3-1525-4d9f-62c757641d6c@HIDDEN> <1903912.fIoEIV5pvu@nimes>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
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 (-)

Paul Eggert asked:
> > Could you investigate further why mingw 64-bit fails?

Some words on the "why". You seem to have expectations regarding the
distribution quality of the resulting file names, but these expectations
are not warranted.

Donald E. Knuth wrote in TAOCP vol 2 "Seminumerical algorithms" that
an arbitrary sequence of number manipulating operations usually has a
bad quality as a pseudo-random number generator, and that in order
to get good quality pseudo-random numbers, one needs to use *specific*
pseudo-random number generators and then *prove* mathematical properties
of it. (The same is true, btw, for crypto algorithms.)
Then he started discussing linear congruential generators [1] as the
simplest example for which something could be proved.

The current source code of tempname.c generates the pseudo-random numbers
=E2=80=94 assuming no HAS_CLOCK_ENTROPY and no ASLR =E2=80=94 using a mix o=
f three
operations:
  (A) A linear congruential generator [2] with m =3D 2^64,
      a =3D 2862933555777941757, c =3D 3037000493.
  (B) A floor operation: v =E2=86=90 floor(v / 62^6)
  (C) A xor operation: v ^=3D prev_v

There are three different questions:
(Q1) What is the expected quality inside a single gen_tempname call?
(Q2) What is the expected quality of multiple gen_tempname calls in a
     single process?
(Q3) What is the expected quality when considering different processes
     that call gen_tempname?

Answers:
(Q1) For just 6 'X'es, there is essentially a single (A) operation.
     Therefore the quality will be good.
     If someone uses more than 10 'X'es, for example, 50 'X'es, there
     will be 5 (A) and 5 (B), interleaved: (A), (B), (A), (B), ...
     This is *not* a linear congruential generator, therefore the
     expected quality is BAD.
     In order to fix this case, what I would do is to get back to
     a linear congruential generator: (A), (A), ..., (A), (B).
     In other words, feed into (A) exactly the output from the
     previous (A). This means, do the statements
          XXXXXX[i] =3D letters[v % 62];
          v /=3D 62;
     not on v itself, but on a copy of v.
     But wait, there is also the desire to have predictability!
     This means to not consume all the possible bits the
     random_bits() call, but only part of it.
     What I would do here, is to reduce BASE_62_DIGITS from 10 to 6.
     So that in each round of the loop, 6 base-62 digits are consumed
     and more than 4 base-62 digits are left in v, for predictability.
     In the usual calls with 6 'X'es the loop will still end after a
     single round.

(Q2) First of all, the multiple gen_tempname calls can occur in
     different threads. Since no locking is involved, it is undefined
     behaviour to access the 'prev_v' variable from different threads.
     On machines with an IA-64 CPU, the 'prev_v' variable's value may
     not be propagated from one thread to the other. [3][4][5]
     The fix is simple, though: Mark 'prev_v' as 'volatile'.

     Then, what the code does, is a mix of (A), (B), (C). Again, this
     is *not* a linear congruential generator, therefore the expected
     quality is BAD.

     To get good quality, I would suggest to use a linear congruential
     generator across *all* gen_tempname calls of the entire thread.
     This means:
       - Move out the (B) invocations out, like explained above in (Q1).
       - Remove the (C) code that you added last week.
       - Store the v value in a per-thread variable. Using '__thread'
         on glibc systems and a TLS variable (#include "glthread/tls.h")
         on the other platforms.

(Q3) Here, to force differences between different processes, I would
     suggest to use a fine-grained clock value. In terms of platforms,
       #if defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME
     is way too restrictive.
     How about
       - using CLOCK_REALTIME when CLOCK_MONOTONIC is not available,
       - using gettimeofday() as fallback, especially on native Windows.

If one does (Q3), then the suggestions for (Q2) (other than the 'volatile')
may not be needed.

Bruno

[1] https://en.wikipedia.org/wiki/Linear_congruential_generator
[2] https://en.wikipedia.org/wiki/Linear_congruential_generator#c_%E2%89%A0=
_0
[3] https://es.cs.uni-kl.de/publications/datarsg/Geor16.pdf
[4] https://db.in.tum.de/teaching/ws1718/dataprocessing/chapter3.pdf?lang=
=3Dde
    page 18
[5] https://os.inf.tu-dresden.de/Studium/DOS/SS2014/04-Memory-Consistency.p=
df









Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Paul Eggert <eggert@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 22 Aug 2022 20:48:01 +0000
Resent-Message-ID: <handler.57129.B57129.166120126615778 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Bruno Haible <bruno@HIDDEN>
Cc: jporterbugs@HIDDEN, Eli Zaretskii <eliz@HIDDEN>, bug-gnulib@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166120126615778
          (code B ref 57129); Mon, 22 Aug 2022 20:48:01 +0000
Received: (at 57129) by debbugs.gnu.org; 22 Aug 2022 20:47:46 +0000
Received: from localhost ([127.0.0.1]:41908 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oQEKn-00046M-GU
	for submit <at> debbugs.gnu.org; Mon, 22 Aug 2022 16:47:46 -0400
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:50866)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eggert@HIDDEN>) id 1oQEKl-00045c-9X
 for 57129 <at> debbugs.gnu.org; Mon, 22 Aug 2022 16:47:44 -0400
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 5B8EF1600BB;
 Mon, 22 Aug 2022 13:47:37 -0700 (PDT)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 0_wFOfn2DugD; Mon, 22 Aug 2022 13:47:35 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 23D411600BC;
 Mon, 22 Aug 2022 13:47:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 734Q_I9nhpKQ; Mon, 22 Aug 2022 13:47:35 -0700 (PDT)
Received: from [192.168.0.205] (ip72-206-2-24.fv.ks.cox.net [72.206.2.24])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 707061600BB;
 Mon, 22 Aug 2022 13:47:34 -0700 (PDT)
Content-Type: multipart/mixed; boundary="------------1ZG3DV5ZpCtFgcw5NgIJL5PY"
Message-ID: <2dc7ede0-eca7-baf5-f89a-f5d292b80808@HIDDEN>
Date: Mon, 22 Aug 2022 15:47:28 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
Content-Language: en-US
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <2271941c-3ac3-1525-4d9f-62c757641d6c@HIDDEN> <1903912.fIoEIV5pvu@nimes>
 <2758072.AiC22s8V5E@nimes>
From: Paul Eggert <eggert@HIDDEN>
In-Reply-To: <2758072.AiC22s8V5E@nimes>
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 (---)

This is a multi-part message in MIME format.
--------------1ZG3DV5ZpCtFgcw5NgIJL5PY
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Thanks for the detailed diagnosis, Bruno. To try to fix the problems I 
installed the attached patches into Gnulib. If I understand things 
correctly, these patches should fix the 0.1% failure rate you observed 
on 64-bit mingw. They also fix a minor security leak I discovered: in 
rare cases, ASLR entropy was used to generate publicly visible file 
names, which is a no-no as that might help an attacker infer the 
randomized layout of a victim process.

These fixes follow some but not all the suggestions you made. The basic 
problem I saw was that tempname.c was using too much belt-and-suspenders 
code, so much so that the combination of belts and suspenders 
misbehaved. I simplified it a bit and this removed the need for some of 
the suggestions.

These fixes should be merged into glibc upstream since they fix glibc 
bugs; I plan to follow up on that shortly.

--------------1ZG3DV5ZpCtFgcw5NgIJL5PY
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-tempname-merge-64-bit-time_t-fix-from-glibc.patch"
Content-Disposition: attachment;
 filename="0001-tempname-merge-64-bit-time_t-fix-from-glibc.patch"
Content-Transfer-Encoding: base64

RnJvbSA4MzA0NjE3Njg0YmE3ZjcxYzM2ZmNmNDk3ODZkM2IyNzlkZmJlZmMzIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1
PgpEYXRlOiBNb24sIDIyIEF1ZyAyMDIyIDEyOjIyOjUyIC0wNzAwClN1YmplY3Q6IFtQQVRD
SCAxLzNdIHRlbXBuYW1lOiBtZXJnZSA2NC1iaXQgdGltZV90IGZpeCBmcm9tIGdsaWJjCgpU
aGlzIG1lcmdlcyBnbGliYyBjb21taXQgNTJhNWZlNzBhMmM3NzkzNWFmZTgwN2ZiNmU5MDRl
NTEyZGRkODk0ZQoiVXNlIDY0IGJpdCB0aW1lX3Qgc3RhdCBpbnRlcm5hbGx5Ii4KKiBsaWIv
dGVtcG5hbWUuYyAoc3RydWN0X3N0YXQ2NCkgW19MSUJDXTogVXNlIHN0cnVjdCBfX3N0YXQ2
NF90NjQuCihfX2xzdGF0NjRfdGltZTY0KSBbIV9MSUJDXTogUmVuYW1lIGZyb20gX19sc3Rh
dDY0LgpBbGwgdXNlcyBjaGFuZ2VkLgooZGlyZXhpc3RzKTogVXNlIF9fc3RhdDY0X3RpbWU2
NCBpbnN0ZWFkIG9mIF9fc3RhdDY0LgotLS0KIENoYW5nZUxvZyAgICAgIHwgMTAgKysrKysr
KysrKwogbGliL3RlbXBuYW1lLmMgfCAgOCArKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAx
NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0NoYW5nZUxv
ZyBiL0NoYW5nZUxvZwppbmRleCBkZTExM2NlMDgxLi5hZGI0NDVkZGNmIDEwMDY0NAotLS0g
YS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDgt
MjIgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgorCisJdGVtcG5hbWU6IG1l
cmdlIDY0LWJpdCB0aW1lX3QgZml4IGZyb20gZ2xpYmMKKwlUaGlzIG1lcmdlcyBnbGliYyBj
b21taXQgNTJhNWZlNzBhMmM3NzkzNWFmZTgwN2ZiNmU5MDRlNTEyZGRkODk0ZQorCSJVc2Ug
NjQgYml0IHRpbWVfdCBzdGF0IGludGVybmFsbHkiLgorCSogbGliL3RlbXBuYW1lLmMgKHN0
cnVjdF9zdGF0NjQpIFtfTElCQ106IFVzZSBzdHJ1Y3QgX19zdGF0NjRfdDY0LgorCShfX2xz
dGF0NjRfdGltZTY0KSBbIV9MSUJDXTogUmVuYW1lIGZyb20gX19sc3RhdDY0LgorCUFsbCB1
c2VzIGNoYW5nZWQuCisJKGRpcmV4aXN0cyk6IFVzZSBfX3N0YXQ2NF90aW1lNjQgaW5zdGVh
ZCBvZiBfX3N0YXQ2NC4KKwogMjAyMi0wOC0xNiAgQnJ1bm8gSGFpYmxlICA8YnJ1bm9AY2xp
c3Aub3JnPgogCiAJdGVtcG5hbWU6IEFkZCBtb3JlIHRlc3RzLgpkaWZmIC0tZ2l0IGEvbGli
L3RlbXBuYW1lLmMgYi9saWIvdGVtcG5hbWUuYwppbmRleCA1YWRmZTYyOWE4Li40ZjYxNWI5
MGI5IDEwMDY0NAotLS0gYS9saWIvdGVtcG5hbWUuYworKysgYi9saWIvdGVtcG5hbWUuYwpA
QCAtNTUsMTQgKzU1LDE0IEBACiAjaW5jbHVkZSA8dGltZS5oPgogCiAjaWYgX0xJQkMKLSMg
ZGVmaW5lIHN0cnVjdF9zdGF0NjQgc3RydWN0IHN0YXQ2NAorIyBkZWZpbmUgc3RydWN0X3N0
YXQ2NCBzdHJ1Y3QgX19zdGF0NjRfdDY0CiAjIGRlZmluZSBfX3NlY3VyZV9nZXRlbnYgX19s
aWJjX3NlY3VyZV9nZXRlbnYKICNlbHNlCiAjIGRlZmluZSBzdHJ1Y3Rfc3RhdDY0IHN0cnVj
dCBzdGF0CiAjIGRlZmluZSBfX2dlbl90ZW1wbmFtZSBnZW5fdGVtcG5hbWUKICMgZGVmaW5l
IF9fbWtkaXIgbWtkaXIKICMgZGVmaW5lIF9fb3BlbiBvcGVuCi0jIGRlZmluZSBfX2xzdGF0
NjQoZmlsZSwgYnVmKSBsc3RhdCAoZmlsZSwgYnVmKQorIyBkZWZpbmUgX19sc3RhdDY0X3Rp
bWU2NChmaWxlLCBidWYpIGxzdGF0IChmaWxlLCBidWYpCiAjIGRlZmluZSBfX3N0YXQ2NChm
aWxlLCBidWYpIHN0YXQgKGZpbGUsIGJ1ZikKICMgZGVmaW5lIF9fZ2V0cmFuZG9tIGdldHJh
bmRvbQogIyBkZWZpbmUgX19jbG9ja19nZXR0aW1lNjQgY2xvY2tfZ2V0dGltZQpAQCAtMTA1
LDcgKzEwNSw3IEBAIHN0YXRpYyBpbnQKIGRpcmV4aXN0cyAoY29uc3QgY2hhciAqZGlyKQog
ewogICBzdHJ1Y3Rfc3RhdDY0IGJ1ZjsKLSAgcmV0dXJuIF9fc3RhdDY0IChkaXIsICZidWYp
ID09IDAgJiYgU19JU0RJUiAoYnVmLnN0X21vZGUpOworICByZXR1cm4gX19zdGF0NjRfdGlt
ZTY0IChkaXIsICZidWYpID09IDAgJiYgU19JU0RJUiAoYnVmLnN0X21vZGUpOwogfQogCiAv
KiBQYXRoIHNlYXJjaCBhbGdvcml0aG0sIGZvciB0bXBuYW0sIHRtcGZpbGUsIGV0Yy4gIElm
IERJUiBpcwpAQCAtMTk3LDcgKzE5Nyw3IEBAIHRyeV9ub2NyZWF0ZSAoY2hhciAqdG1wbCwg
X0dMX1VOVVNFRCB2b2lkICpmbGFncykKIHsKICAgc3RydWN0X3N0YXQ2NCBzdDsKIAotICBp
ZiAoX19sc3RhdDY0ICh0bXBsLCAmc3QpID09IDAgfHwgZXJybm8gPT0gRU9WRVJGTE9XKQor
ICBpZiAoX19sc3RhdDY0X3RpbWU2NCAodG1wbCwgJnN0KSA9PSAwIHx8IGVycm5vID09IEVP
VkVSRkxPVykKICAgICBfX3NldF9lcnJubyAoRUVYSVNUKTsKICAgcmV0dXJuIGVycm5vID09
IEVOT0VOVCA/IDAgOiAtMTsKIH0KLS0gCjIuMzcuMgoK
--------------1ZG3DV5ZpCtFgcw5NgIJL5PY
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-tempname-fix-multithreading-ASLR-leak-etc.patch"
Content-Disposition: attachment;
 filename="0002-tempname-fix-multithreading-ASLR-leak-etc.patch"
Content-Transfer-Encoding: base64

RnJvbSA5Y2U1NzNjZGUwMTcxODJhNjk4ODEyNDFlODU2NWVjMDRlNWJjNzI4IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1
PgpEYXRlOiBNb24sIDIyIEF1ZyAyMDIyIDEyOjA3OjI3IC0wNzAwClN1YmplY3Q6IFtQQVRD
SCAyLzNdIHRlbXBuYW1lOiBmaXggbXVsdGl0aHJlYWRpbmcsIEFTTFIgbGVhayBldGMuCgpG
aXggcHJvYmxlbXMgd2l0aCB0ZW1wbmFtZSBhbmQgbXVsdGl0aHJlYWRpbmcsIGVudHJvcHkg
bG9zcywKYW5kIG1pc3NpbmcgY2xvY2sgZGF0YSAodGhpcyBsYXN0IG9uIG5vbi1HTlUgcGxh
dGZvcm1zKS4KU2VlIGFuYWx5c2lzIGJ5IEJydW5vIEhhaWJsZSBpbjoKaHR0cHM6Ly9idWdz
LmdudS5vcmcvNTcxMjkjMTQ5CldoaWxlIGxvb2tpbmcgaW50byB0aGlzLCBJIG5vdGljZWQg
dGhhdCB0ZW1wbmFtZSBjYW4gbGVhawppbmZvIGRlcml2ZWQgZnJvbSBBU0xSIGludG8gcHVi
bGljbHktdmlzaWJsZSBmaWxlIG5hbWVzLAp3aGljaCBpcyBhIG5vLW5vLiAgRml4IHRoYXQg
dG9vLgoqIGxpYi90ZW1wbmFtZS5jOiBEb24ndCBpbmNsdWRlIHN0ZGFsaWduLmguCihIQVNf
Q0xPQ0tfRU5UUk9QWSk6IFJlbW92ZS4KKG1peF9yYW5kb21fdmFsdWVzKTogTmV3IGZ1bmN0
aW9uLgoocmFuZG9tX2JpdHMpOiBVc2UgaXQuICBBcmdzIGFyZSBub3cgbmV3IHZhbHVlIGFk
ZHJlc3MgYW5kCm9sZCB2YWx1ZSwgYW5kIHRoaXMgZnVuY3Rpb24gbm93IHJldHVybnMgYSBz
dWNjZXNzIGluZGljYXRvci4KT21pdCBvbGQgVVNFX0dFVFJBTkRPTSBhcmd1bWVudDogYWx3
YXlzIHRyeSBnZXRyYW5kb20gbm93LCBhcwp0aGVyZSBpcyBubyBnb29kIHJlYXNvbiBub3Qg
dG8gbm93IHRoYXQgR1JORF9OT05CTE9DSyBpcyB1c2VkLgpDYWxsZXIgY2hhbmdlZC4gIFVz
ZSBDTE9DS19SRUFMVElNRSBmb3IgZm9yIGVyc2F0eiBlbnRyb3B5LAphcyBDTE9DS19NT05P
VE9OSUMgZG9lc24ndCB3b3JrIG9uIHNvbWUgcGxhdGZvcm1zLgpBbHNvLCBtaXggaW4gZXJz
YXR6IGVudHJvcHkgZnJvbSB0dl9zZWMgYW5kIGZyb20gY2xvY2sgKCkuCih0cnlfdGVtcG5h
bWVfbGVuKTogRG8gbm90IG1peCBpbiBBU0xSLWJhc2VkIGVudHJvcHksIGFzCnRoZSByZXN1
bHQgaXMgcHVibGlzaGVkIHRvIHRoZSB3b3JsZCBhbmQgQVNMUiBzaG91bGQgYmUgcHJpdmF0
ZS4KRG8gbm90IHRyeSB0byB1c2UgYSBzdGF0aWMgdmFyIGFzIHRoYXQgaGFzIGlzc3VlcyBp
ZiBtdWx0aXRocmVhZGVkLgpJbnN0ZWFkLCBzaW1wbHkgZ2VuZXJhdGUgbmV3IHJhbmRvbSBi
aXRzLgpXb3JyeSBhYm91dCBiaWFzIG9ubHkgd2l0aCBoaWdoLXF1YWxpdHkgcmFuZG9tIGJp
dHMuCiogbW9kdWxlcy90ZW1wbmFtZSAoRGVwZW5kcy1vbik6IERvIG5vdCBkZXBlbmQgb24g
c3RkYWxpZ24uCi0tLQogQ2hhbmdlTG9nICAgICAgICB8IDI1ICsrKysrKysrKysrKysKIGxp
Yi90ZW1wbmFtZS5jICAgfCA5NyArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIG1vZHVsZXMvdGVtcG5hbWUgfCAgMSAtCiAzIGZpbGVzIGNoYW5n
ZWQsIDc2IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0No
YW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhZGI0NDVkZGNmLi5lZDk5Yzg0NWY3IDEwMDY0
NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIw
MjItMDgtMjIgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgogCisJdGVtcG5h
bWU6IGZpeCBtdWx0aXRocmVhZGluZywgQVNMUiBsZWFrIGV0Yy4KKwlGaXggcHJvYmxlbXMg
d2l0aCB0ZW1wbmFtZSBhbmQgbXVsdGl0aHJlYWRpbmcsIGVudHJvcHkgbG9zcywKKwlhbmQg
bWlzc2luZyBjbG9jayBkYXRhICh0aGlzIGxhc3Qgb24gbm9uLUdOVSBwbGF0Zm9ybXMpLgor
CVNlZSBhbmFseXNpcyBieSBCcnVubyBIYWlibGUgaW46CisJaHR0cHM6Ly9idWdzLmdudS5v
cmcvNTcxMjkjMTQ5CisJV2hpbGUgbG9va2luZyBpbnRvIHRoaXMsIEkgbm90aWNlZCB0aGF0
IHRlbXBuYW1lIGNhbiBsZWFrCisJaW5mbyBkZXJpdmVkIGZyb20gQVNMUiBpbnRvIHB1Ymxp
Y2x5LXZpc2libGUgZmlsZSBuYW1lcywKKwl3aGljaCBpcyBhIG5vLW5vLiAgRml4IHRoYXQg
dG9vLgorCSogbGliL3RlbXBuYW1lLmM6IERvbid0IGluY2x1ZGUgc3RkYWxpZ24uaC4KKwko
SEFTX0NMT0NLX0VOVFJPUFkpOiBSZW1vdmUuCisJKG1peF9yYW5kb21fdmFsdWVzKTogTmV3
IGZ1bmN0aW9uLgorCShyYW5kb21fYml0cyk6IFVzZSBpdC4gIEFyZ3MgYXJlIG5vdyBuZXcg
dmFsdWUgYWRkcmVzcyBhbmQKKwlvbGQgdmFsdWUsIGFuZCB0aGlzIGZ1bmN0aW9uIG5vdyBy
ZXR1cm5zIGEgc3VjY2VzcyBpbmRpY2F0b3IuCisJT21pdCBvbGQgVVNFX0dFVFJBTkRPTSBh
cmd1bWVudDogYWx3YXlzIHRyeSBnZXRyYW5kb20gbm93LCBhcworCXRoZXJlIGlzIG5vIGdv
b2QgcmVhc29uIG5vdCB0byBub3cgdGhhdCBHUk5EX05PTkJMT0NLIGlzIHVzZWQuCisJQ2Fs
bGVyIGNoYW5nZWQuICBVc2UgQ0xPQ0tfUkVBTFRJTUUgZm9yIGZvciBlcnNhdHogZW50cm9w
eSwKKwlhcyBDTE9DS19NT05PVE9OSUMgZG9lc24ndCB3b3JrIG9uIHNvbWUgcGxhdGZvcm1z
LgorCUFsc28sIG1peCBpbiBlcnNhdHogZW50cm9weSBmcm9tIHR2X3NlYyBhbmQgZnJvbSBj
bG9jayAoKS4KKwkodHJ5X3RlbXBuYW1lX2xlbik6IERvIG5vdCBtaXggaW4gQVNMUi1iYXNl
ZCBlbnRyb3B5LCBhcworCXRoZSByZXN1bHQgaXMgcHVibGlzaGVkIHRvIHRoZSB3b3JsZCBh
bmQgQVNMUiBzaG91bGQgYmUgcHJpdmF0ZS4KKwlEbyBub3QgdHJ5IHRvIHVzZSBhIHN0YXRp
YyB2YXIgYXMgdGhhdCBoYXMgaXNzdWVzIGlmIG11bHRpdGhyZWFkZWQuCisJSW5zdGVhZCwg
c2ltcGx5IGdlbmVyYXRlIG5ldyByYW5kb20gYml0cy4KKwlXb3JyeSBhYm91dCBiaWFzIG9u
bHkgd2l0aCBoaWdoLXF1YWxpdHkgcmFuZG9tIGJpdHMuCisJKiBtb2R1bGVzL3RlbXBuYW1l
IChEZXBlbmRzLW9uKTogRG8gbm90IGRlcGVuZCBvbiBzdGRhbGlnbi4KKwogCXRlbXBuYW1l
OiBtZXJnZSA2NC1iaXQgdGltZV90IGZpeCBmcm9tIGdsaWJjCiAJVGhpcyBtZXJnZXMgZ2xp
YmMgY29tbWl0IDUyYTVmZTcwYTJjNzc5MzVhZmU4MDdmYjZlOTA0ZTUxMmRkZDg5NGUKIAki
VXNlIDY0IGJpdCB0aW1lX3Qgc3RhdCBpbnRlcm5hbGx5Ii4KZGlmZiAtLWdpdCBhL2xpYi90
ZW1wbmFtZS5jIGIvbGliL3RlbXBuYW1lLmMKaW5kZXggNGY2MTViOTBiOS4uYmMxZjdjMTRk
ZCAxMDA2NDQKLS0tIGEvbGliL3RlbXBuYW1lLmMKKysrIGIvbGliL3RlbXBuYW1lLmMKQEAg
LTQ4LDcgKzQ4LDYgQEAKICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogI2luY2x1ZGUgPGZjbnRs
Lmg+Ci0jaW5jbHVkZSA8c3RkYWxpZ24uaD4KICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNs
dWRlIDxzeXMvcmFuZG9tLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KQEAgLTc3LDI2ICs3
Niw1NSBAQCB0eXBlZGVmIHVpbnRfZmFzdDY0X3QgcmFuZG9tX3ZhbHVlOwogI2RlZmluZSBC
QVNFXzYyX0RJR0lUUyAxMCAvKiA2MioqMTAgPCBVSU5UX0ZBU1Q2NF9NQVggKi8KICNkZWZp
bmUgQkFTRV82Ml9QT1dFUiAoNjJMTCAqIDYyICogNjIgKiA2MiAqIDYyICogNjIgKiA2MiAq
IDYyICogNjIgKiA2MikKIAotI2lmIF9MSUJDIHx8IChkZWZpbmVkIENMT0NLX01PTk9UT05J
QyAmJiBIQVZFX0NMT0NLX0dFVFRJTUUpCi0jIGRlZmluZSBIQVNfQ0xPQ0tfRU5UUk9QWSB0
cnVlCi0jZWxzZQotIyBkZWZpbmUgSEFTX0NMT0NLX0VOVFJPUFkgZmFsc2UKLSNlbmRpZgor
LyogUmV0dXJuIHRoZSByZXN1bHQgb2YgbWl4aW5nIHRoZSBlbnRyb3B5IGZyb20gUiBhbmQg
Uy4KKyAgIEFzc3VtZSB0aGF0IFIgYW5kIFMgYXJlIG5vdCBwYXJ0aWN1bGFybHkgcmFuZG9t
LAorICAgYW5kIHRoYXQgdGhlIHJlc3VsdCBzaG91bGQgbG9vayByYW5kb21pc2ggdG8gYW4g
dW50cmFpbmVkIGV5ZS4gICovCiAKIHN0YXRpYyByYW5kb21fdmFsdWUKLXJhbmRvbV9iaXRz
IChyYW5kb21fdmFsdWUgdmFyLCBib29sIHVzZV9nZXRyYW5kb20pCittaXhfcmFuZG9tX3Zh
bHVlcyAocmFuZG9tX3ZhbHVlIHIsIHJhbmRvbV92YWx1ZSBzKQoreworICAvKiBBcyB0aGlz
IGNvZGUgaXMgdXNlZCBvbmx5IHdoZW4gaGlnaC1xdWFsaXR5IHJhbmRvbW5lc3MgaXMgbmVp
dGhlcgorICAgICBhdmFpbGFibGUgbm9yIG5lY2Vzc2FyeSwgdGhlcmUgaXMgbm8gbmVlZCBm
b3IgZmFuY2llciBwb2x5bm9taWFscworICAgICBzdWNoIGFzIHRob3NlIGluIHRoZSBMaW51
eCBrZXJuZWwncyAncmFuZG9tJyBkcml2ZXIuICAqLworICByZXR1cm4gKDI4NjI5MzM1NTU3
Nzc5NDE3NTcgKiByICsgMzAzNzAwMDQ5MykgXiBzOworfQorCisvKiBTZXQgKlIgdG8gYSBy
YW5kb20gdmFsdWUuCisgICBSZXR1cm4gdHJ1ZSBpZiAqUiBpcyBzZXQgdG8gaGlnaC1xdWFs
aXR5IHZhbHVlIHRha2VuIGZyb20gZ2V0cmFuZG9tLgorICAgT3RoZXJ3aXNlIHJldHVybiBm
YWxzZSwgZmFsbGluZyBiYWNrIHRvIGEgbG93LXF1YWxpdHkgKlIgdGhhdCBtaWdodAorICAg
ZGVwZW5kIG9uIFMuCisKKyAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBmYWxzZSBvbmx5IHdo
ZW4gZ2V0cmFuZG9tIGZhaWxzLgorICAgT24gR05VIHN5c3RlbXMgdGhpcyBzaG91bGQgaGFw
cGVuIG9ubHkgZWFybHkgaW4gdGhlIGJvb3QgcHJvY2VzcywKKyAgIHdoZW4gdGhlIGZhbGxi
YWNrIHNob3VsZCBiZSBnb29kIGVub3VnaCBmb3IgcHJvZ3JhbXMgdXNpbmcgdGVtcG5hbWUK
KyAgIGJlY2F1c2UgYW55IGF0dGFja2VyIGxpa2VseSBoYXMgcm9vdCBwcml2aWxlZ2VzIGFs
cmVhZHkuICAqLworCitzdGF0aWMgYm9vbAorcmFuZG9tX2JpdHMgKHJhbmRvbV92YWx1ZSAq
ciwgcmFuZG9tX3ZhbHVlIHMpCiB7Ci0gIHJhbmRvbV92YWx1ZSByOwogICAvKiBXaXRob3V0
IEdSTkRfTk9OQkxPQ0sgaXQgY2FuIGJlIGJsb2NrZWQgZm9yIG1pbnV0ZXMgb24gc29tZSBz
eXN0ZW1zLiAgKi8KLSAgaWYgKHVzZV9nZXRyYW5kb20gJiYgX19nZXRyYW5kb20gKCZyLCBz
aXplb2YgciwgR1JORF9OT05CTE9DSykgPT0gc2l6ZW9mIHIpCi0gICAgcmV0dXJuIHI7Ci0j
aWYgSEFTX0NMT0NLX0VOVFJPUFkKLSAgLyogQWRkIGVudHJvcHkgaWYgZ2V0cmFuZG9tIGRp
ZCBub3Qgd29yay4gICovCisgIGlmIChfX2dldHJhbmRvbSAociwgc2l6ZW9mICpyLCBHUk5E
X05PTkJMT0NLKSA9PSBzaXplb2YgKnIpCisgICAgcmV0dXJuIHRydWU7CisKKyAgLyogSWYg
Z2V0cmFuZG9tIGRpZCBub3Qgd29yaywgdXNlIGVyc2F0eiBlbnRyb3B5IGJhc2VkIG9uIGxv
dy1vcmRlcgorICAgICBjbG9jayBiaXRzLiAgT24gR05VIHN5c3RlbXMgZ2V0cmFuZG9tIHNo
b3VsZCBmYWlsIG9ubHkKKyAgICAgZWFybHkgaW4gYm9vdGluZywgd2hlbiBlcnNhdHogc2hv
dWxkIGJlIGdvb2QgZW5vdWdoLgorICAgICBEbyBub3QgdXNlIEFTTFItYmFzZWQgZW50cm9w
eSwgYXMgdGhhdCB3b3VsZCBsZWFrIEFTTFIgaW5mbyBpbnRvCisgICAgIHRoZSByZXN1bHRp
bmcgZmlsZSBuYW1lIHdoaWNoIGlzIHR5cGljYWxseSBwdWJsaWMuCisKKyAgICAgT2YgY291
cnNlIHdlIGFyZSBpbiBhIHN0YXRlIG9mIHNpbiBoZXJlLiAgKi8KKworICByYW5kb21fdmFs
dWUgdiA9IDA7CisKKyNpZiBfTElCQyB8fCAoZGVmaW5lZCBDTE9DS19SRUFMVElNRSAmJiBI
QVZFX0NMT0NLX0dFVFRJTUUpCiAgIHN0cnVjdCBfX3RpbWVzcGVjNjQgdHY7Ci0gIF9fY2xv
Y2tfZ2V0dGltZTY0IChDTE9DS19NT05PVE9OSUMsICZ0dik7Ci0gIHZhciBePSB0di50dl9u
c2VjOworICBfX2Nsb2NrX2dldHRpbWU2NCAoQ0xPQ0tfUkVBTFRJTUUsICZ0dik7CisgIHYg
PSBtaXhfcmFuZG9tX3ZhbHVlcyAodiwgdHYudHZfc2VjKTsKKyAgdiA9IG1peF9yYW5kb21f
dmFsdWVzICh2LCB0di50dl9uc2VjKTsKICNlbmRpZgotICByZXR1cm4gMjg2MjkzMzU1NTc3
Nzk0MTc1NyAqIHZhciArIDMwMzcwMDA0OTM7CisKKyAgKnIgPSBtaXhfcmFuZG9tX3ZhbHVl
cyAodiwgY2xvY2sgKCkpOworICByZXR1cm4gZmFsc2U7CiB9CiAKICNpZiBfTElCQwpAQCAt
MjY3LDMyICsyOTUsMTUgQEAgdHJ5X3RlbXBuYW1lX2xlbiAoY2hhciAqdG1wbCwgaW50IHN1
ZmZpeGxlbiwgdm9pZCAqYXJncywKICAgdW5zaWduZWQgaW50IGF0dGVtcHRzID0gQVRURU1Q
VFNfTUlOOwogI2VuZGlmCiAKLSAgLyogQSByYW5kb20gdmFyaWFibGUuICBUaGUgaW5pdGlh
bCB2YWx1ZSBpcyB1c2VkIG9ubHkgdGhlIGZvciBmYWxsYmFjayBwYXRoCi0gICAgIG9uICdy
YW5kb21fYml0cycgb24gJ2dldHJhbmRvbScgZmFpbHVyZS4gIEl0cyBpbml0aWFsIHZhbHVl
IHRyaWVzIHRvIHVzZQotICAgICBzb21lIGVudHJvcHkgZnJvbSB0aGUgQVNMUiBhbmQgaWdu
b3JlIHBvc3NpYmxlIGJpdHMgZnJvbSB0aGUgc3RhY2sKLSAgICAgYWxpZ25tZW50LiAgKi8K
LSAgcmFuZG9tX3ZhbHVlIHYgPSAoKHVpbnRwdHJfdCkgJnYpIC8gYWxpZ25vZiAobWF4X2Fs
aWduX3QpOwotCi0jaWYgIUhBU19DTE9DS19FTlRST1BZCi0gIC8qIEFycmFuZ2UgZ2VuX3Rl
bXBuYW1lIHRvIHJldHVybiBsZXNzIHByZWRpY3RhYmxlIGZpbGUgbmFtZXMgb24KLSAgICAg
c3lzdGVtcyBsYWNraW5nIGNsb2NrIGVudHJvcHkgPGh0dHBzOi8vYnVncy5nbnUub3JnLzU3
MTI5Pi4gICovCi0gIHN0YXRpYyByYW5kb21fdmFsdWUgcHJldl92OwotICB2IF49IHByZXZf
djsKLSNlbmRpZgorICAvKiBBIHJhbmRvbSB2YXJpYWJsZS4gICovCisgIHJhbmRvbV92YWx1
ZSB2ID0gMDsKIAogICAvKiBIb3cgbWFueSByYW5kb20gYmFzZS02MiBkaWdpdHMgY2FuIGN1
cnJlbnRseSBiZSBleHRyYWN0ZWQgZnJvbSBWLiAgKi8KICAgaW50IHZkaWdpdHMgPSAwOwog
Ci0gIC8qIFdoZXRoZXIgdG8gY29uc3VtZSBlbnRyb3B5IHdoZW4gYWNxdWlyaW5nIHJhbmRv
bSBiaXRzLiAgT24gdGhlCi0gICAgIGZpcnN0IHRyeSBpdCdzIHdvcnRoIHRoZSBlbnRyb3B5
IGNvc3Qgd2l0aCBfX0dUX05PQ1JFQVRFLCB3aGljaAotICAgICBpcyBpbmhlcmVudGx5IGlu
c2VjdXJlIGFuZCBjYW4gdXNlIHRoZSBlbnRyb3B5IHRvIG1ha2UgaXQgYSBiaXQKLSAgICAg
bW9yZSBzZWN1cmUuICBPbiB0aGUgKHJhcmUpIHNlY29uZCBhbmQgbGF0ZXIgYXR0ZW1wdHMg
aXQgbWlnaHQKLSAgICAgaGVscCBhZ2FpbnN0IERvUyBhdHRhY2tzLiAgKi8KLSAgYm9vbCB1
c2VfZ2V0cmFuZG9tID0gdHJ5ZnVuYyA9PSB0cnlfbm9jcmVhdGU7Ci0KLSAgLyogTGVhc3Qg
dW5mYWlyIHZhbHVlIGZvciBWLiAgSWYgViBpcyBsZXNzIHRoYW4gdGhpcywgViBjYW4gZ2Vu
ZXJhdGUKLSAgICAgQkFTRV82Ml9ESUdJVFMgZGlnaXRzIGZhaXJseS4gIE90aGVyd2lzZSBp
dCBtaWdodCBiZSBiaWFzZWQuICAqLwotICByYW5kb21fdmFsdWUgY29uc3QgdW5mYWlyX21p
bgorICAvKiBMZWFzdCBiaWFzZWQgdmFsdWUgZm9yIFYuICBJZiBWIGlzIGxlc3MgdGhhbiB0
aGlzLCBWIGNhbiBnZW5lcmF0ZQorICAgICBCQVNFXzYyX0RJR0lUUyB1bmJpYXNlZCBkaWdp
dHMuICBPdGhlcndpc2UgdGhlIGRpZ2l0cyBhcmUgYmlhc2VkLiAgKi8KKyAgcmFuZG9tX3Zh
bHVlIGNvbnN0IGJpYXNlZF9taW4KICAgICA9IFJBTkRPTV9WQUxVRV9NQVggLSBSQU5ET01f
VkFMVUVfTUFYICUgQkFTRV82Ml9QT1dFUjsKIAogICBsZW4gPSBzdHJsZW4gKHRtcGwpOwpA
QCAtMzEyLDEyICszMjMsOSBAQCB0cnlfdGVtcG5hbWVfbGVuIChjaGFyICp0bXBsLCBpbnQg
c3VmZml4bGVuLCB2b2lkICphcmdzLAogICAgICAgICB7CiAgICAgICAgICAgaWYgKHZkaWdp
dHMgPT0gMCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgZG8KLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICB2ID0gcmFuZG9tX2JpdHMgKHYsIHVzZV9nZXRy
YW5kb20pOwotICAgICAgICAgICAgICAgICAgdXNlX2dldHJhbmRvbSA9IHRydWU7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICB3aGlsZSAodW5mYWlyX21pbiA8PSB2KTsK
KyAgICAgICAgICAgICAgLyogV29ycnkgYWJvdXQgYmlhcyBvbmx5IGlmIHRoZSBiaXRzIGFy
ZSBoaWdoIHF1YWxpdHkuICAqLworICAgICAgICAgICAgICB3aGlsZSAocmFuZG9tX2JpdHMg
KCZ2LCB2KSAmJiBiaWFzZWRfbWluIDw9IHYpCisgICAgICAgICAgICAgICAgY29udGludWU7
CiAKICAgICAgICAgICAgICAgdmRpZ2l0cyA9IEJBU0VfNjJfRElHSVRTOwogICAgICAgICAg
ICAgfQpAQCAtMzMxLDkgKzMzOSw2IEBAIHRyeV90ZW1wbmFtZV9sZW4gKGNoYXIgKnRtcGws
IGludCBzdWZmaXhsZW4sIHZvaWQgKmFyZ3MsCiAgICAgICBpZiAoZmQgPj0gMCkKICAgICAg
ICAgewogICAgICAgICAgIF9fc2V0X2Vycm5vIChzYXZlX2Vycm5vKTsKLSNpZiAhSEFTX0NM
T0NLX0VOVFJPUFkKLSAgICAgICAgICBwcmV2X3YgPSB2OwotI2VuZGlmCiAgICAgICAgICAg
cmV0dXJuIGZkOwogICAgICAgICB9CiAgICAgICBlbHNlIGlmIChlcnJubyAhPSBFRVhJU1Qp
CmRpZmYgLS1naXQgYS9tb2R1bGVzL3RlbXBuYW1lIGIvbW9kdWxlcy90ZW1wbmFtZQppbmRl
eCA0Nzc5NzM1ZDlkLi5mMWZiNzhlOGZmIDEwMDY0NAotLS0gYS9tb2R1bGVzL3RlbXBuYW1l
CisrKyBiL21vZHVsZXMvdGVtcG5hbWUKQEAgLTE2LDcgKzE2LDYgQEAgZ2V0cmFuZG9tCiBs
aWJjLWNvbmZpZwogbHN0YXQKIG1rZGlyCi1zdGRhbGlnbgogc3RkYm9vbAogc3RkaW50CiBz
eXNfc3RhdAotLSAKMi4zNy4yCgo=
--------------1ZG3DV5ZpCtFgcw5NgIJL5PY
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-tempname-don-t-lose-entropy-in-seed.patch"
Content-Disposition: attachment;
 filename="0003-tempname-don-t-lose-entropy-in-seed.patch"
Content-Transfer-Encoding: base64

RnJvbSBkMjdjODIwNTk1MTc1ZWQ1NjNiNGQ0ZWU1ZDBmNDIxMDExODkxNTcyIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1
PgpEYXRlOiBNb24sIDIyIEF1ZyAyMDIyIDE1OjQzOjE4IC0wNTAwClN1YmplY3Q6IFtQQVRD
SCAzLzNdIHRlbXBuYW1lOiBkb24ndCBsb3NlIGVudHJvcHkgaW4gc2VlZAoKKiBsaWIvdGVt
cG5hbWUuYyAocmFuZG9tX2JpdHMpOiBEb24ndCBsb3NlIGVudHJvcHkgaW4gUwppbiB0aGUg
cmFyZSBjYXNlIHdoZXJlIHdoZXJlIHRoZSB0ZW1wbGF0ZSBoYXMgbW9yZSB0aGFuIDEwIFhz
LgpGcm9tIGEgc3VnZ2VzdGlvbiBieSBCcnVubyBIYWlibGUgaW46Cmh0dHBzOi8vYnVncy5n
bnUub3JnLzU3MTI5IzE0OQotLS0KIENoYW5nZUxvZyAgICAgIHwgIDcgKysrKysrKwogbGli
L3RlbXBuYW1lLmMgfCAxMSArKysrKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNl
cnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0No
YW5nZUxvZwppbmRleCBlZDk5Yzg0NWY3Li40ZDFjOTJjZDgxIDEwMDY0NAotLS0gYS9DaGFu
Z2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTEgQEAKIDIwMjItMDgtMjIgIFBh
dWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgogCisJdGVtcG5hbWU6IGRvbid0IGxv
c2UgZW50cm9weSBpbiBzZWVkCisJKiBsaWIvdGVtcG5hbWUuYyAocmFuZG9tX2JpdHMpOiBE
b24ndCBsb3NlIGVudHJvcHkgaW4gUworCWluIHRoZSByYXJlIGNhc2Ugd2hlcmUgd2hlcmUg
dGhlIHRlbXBsYXRlIGhhcyBtb3JlIHRoYW4gMTAgWHMuCisJRnJvbSBhIHN1Z2dlc3Rpb24g
YnkgQnJ1bm8gSGFpYmxlIGluOgorCWh0dHBzOi8vYnVncy5nbnUub3JnLzU3MTI5IzE0OQor
CiAJdGVtcG5hbWU6IGZpeCBtdWx0aXRocmVhZGluZywgQVNMUiBsZWFrIGV0Yy4KIAlGaXgg
cHJvYmxlbXMgd2l0aCB0ZW1wbmFtZSBhbmQgbXVsdGl0aHJlYWRpbmcsIGVudHJvcHkgbG9z
cywKIAlhbmQgbWlzc2luZyBjbG9jayBkYXRhICh0aGlzIGxhc3Qgb24gbm9uLUdOVSBwbGF0
Zm9ybXMpLgpAQCAtMjMsNiArMjksNyBAQAogCURvIG5vdCB0cnkgdG8gdXNlIGEgc3RhdGlj
IHZhciBhcyB0aGF0IGhhcyBpc3N1ZXMgaWYgbXVsdGl0aHJlYWRlZC4KIAlJbnN0ZWFkLCBz
aW1wbHkgZ2VuZXJhdGUgbmV3IHJhbmRvbSBiaXRzLgogCVdvcnJ5IGFib3V0IGJpYXMgb25s
eSB3aXRoIGhpZ2gtcXVhbGl0eSByYW5kb20gYml0cy4KKwogCSogbW9kdWxlcy90ZW1wbmFt
ZSAoRGVwZW5kcy1vbik6IERvIG5vdCBkZXBlbmQgb24gc3RkYWxpZ24uCiAKIAl0ZW1wbmFt
ZTogbWVyZ2UgNjQtYml0IHRpbWVfdCBmaXggZnJvbSBnbGliYwpkaWZmIC0tZ2l0IGEvbGli
L3RlbXBuYW1lLmMgYi9saWIvdGVtcG5hbWUuYwppbmRleCBiYzFmN2MxNGRkLi4wZTJmMjlm
NWRlIDEwMDY0NAotLS0gYS9saWIvdGVtcG5hbWUuYworKysgYi9saWIvdGVtcG5hbWUuYwpA
QCAtMTE0LDcgKzExNCw3IEBAIHJhbmRvbV9iaXRzIChyYW5kb21fdmFsdWUgKnIsIHJhbmRv
bV92YWx1ZSBzKQogCiAgICAgIE9mIGNvdXJzZSB3ZSBhcmUgaW4gYSBzdGF0ZSBvZiBzaW4g
aGVyZS4gICovCiAKLSAgcmFuZG9tX3ZhbHVlIHYgPSAwOworICByYW5kb21fdmFsdWUgdiA9
IHM7CiAKICNpZiBfTElCQyB8fCAoZGVmaW5lZCBDTE9DS19SRUFMVElNRSAmJiBIQVZFX0NM
T0NLX0dFVFRJTUUpCiAgIHN0cnVjdCBfX3RpbWVzcGVjNjQgdHY7CkBAIC0yOTgsNyArMjk4
LDkgQEAgdHJ5X3RlbXBuYW1lX2xlbiAoY2hhciAqdG1wbCwgaW50IHN1ZmZpeGxlbiwgdm9p
ZCAqYXJncywKICAgLyogQSByYW5kb20gdmFyaWFibGUuICAqLwogICByYW5kb21fdmFsdWUg
diA9IDA7CiAKLSAgLyogSG93IG1hbnkgcmFuZG9tIGJhc2UtNjIgZGlnaXRzIGNhbiBjdXJy
ZW50bHkgYmUgZXh0cmFjdGVkIGZyb20gVi4gICovCisgIC8qIEEgdmFsdWUgZGVyaXZlZCBm
cm9tIHRoZSByYW5kb20gdmFyaWFibGUsIGFuZCBob3cgbWFueSByYW5kb20KKyAgICAgYmFz
ZS02MiBkaWdpdHMgY2FuIGN1cnJlbnRseSBiZSBleHRyYWN0ZWQgZnJvbSBWRElHQlVGLiAg
Ki8KKyAgcmFuZG9tX3ZhbHVlIHZkaWdidWY7CiAgIGludCB2ZGlnaXRzID0gMDsKIAogICAv
KiBMZWFzdCBiaWFzZWQgdmFsdWUgZm9yIFYuICBJZiBWIGlzIGxlc3MgdGhhbiB0aGlzLCBW
IGNhbiBnZW5lcmF0ZQpAQCAtMzI3LDExICszMjksMTIgQEAgdHJ5X3RlbXBuYW1lX2xlbiAo
Y2hhciAqdG1wbCwgaW50IHN1ZmZpeGxlbiwgdm9pZCAqYXJncywKICAgICAgICAgICAgICAg
d2hpbGUgKHJhbmRvbV9iaXRzICgmdiwgdikgJiYgYmlhc2VkX21pbiA8PSB2KQogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCisgICAgICAgICAgICAgIHZkaWdidWYgPSB2OwogICAg
ICAgICAgICAgICB2ZGlnaXRzID0gQkFTRV82Ml9ESUdJVFM7CiAgICAgICAgICAgICB9CiAK
LSAgICAgICAgICBYWFhYWFhbaV0gPSBsZXR0ZXJzW3YgJSA2Ml07Ci0gICAgICAgICAgdiAv
PSA2MjsKKyAgICAgICAgICBYWFhYWFhbaV0gPSBsZXR0ZXJzW3ZkaWdidWYgJSA2Ml07Cisg
ICAgICAgICAgdmRpZ2J1ZiAvPSA2MjsKICAgICAgICAgICB2ZGlnaXRzLS07CiAgICAgICAg
IH0KIAotLSAKMi4zNy4yCgo=

--------------1ZG3DV5ZpCtFgcw5NgIJL5PY--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Bruno Haible <bruno@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 23 Aug 2022 00:14:02 +0000
Resent-Message-ID: <handler.57129.B57129.166121359011441 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Paul Eggert <eggert@HIDDEN>
Cc: jporterbugs@HIDDEN, Eli Zaretskii <eliz@HIDDEN>, bug-gnulib@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166121359011441
          (code B ref 57129); Tue, 23 Aug 2022 00:14:02 +0000
Received: (at 57129) by debbugs.gnu.org; 23 Aug 2022 00:13:10 +0000
Received: from localhost ([127.0.0.1]:42050 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oQHXa-0002yT-Ba
	for submit <at> debbugs.gnu.org; Mon, 22 Aug 2022 20:13:10 -0400
Received: from mo4-p00-ob.smtp.rzone.de ([85.215.255.22]:43941)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bruno@HIDDEN>) id 1oQHXW-0002yE-NA
 for 57129 <at> debbugs.gnu.org; Mon, 22 Aug 2022 20:13:08 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1661213583;
 s=strato-dkim-0002; d=clisp.org;
 h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date:
 From:Subject:Sender;
 bh=dKs411Dwhve61VqE0MtHU+Go7Q/X6Cyt22hTGS9o+sU=;
 b=BqgN1fFwKyoXxnh9cxN4dejhbgiR7ogmDSWYrGLANZwa9BLa+dq1S4Ffv1I8hAxcwC
 IEhRcf9ReHdQSbRMwZCrEDZ2nlTZbH1ubA42D1TaCebaZE7dzj62Az94gkUsFjQuvNZA
 h2W8AOTCoPAyl2KnDMw4WwH5VtkbGnRWS6c0TR1MaajL4sOf3BtDND3ao3SPaDNJD248
 P/BA20Ll5W4IO+VtfiM8+Z9ym/g20YvH7f81Yvsl8SEtdpjnkz6Z45wghCdMUWp206YK
 LFM8ksMv6wQB5E1CvE09nrh01vRaOxlKX/PNktcEhSiBGjlsQ1DISYey1xFRnTdfd5/y
 r6/g==
Authentication-Results: strato.com;
    dkim=none
X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH0WWb0LN8XZoH94zG6tLj91pCQ374KkH1mlxyMKJn+OEiU11lkyA=="
X-RZG-CLASS-ID: mo00
Received: from nimes.localnet by smtp.strato.de (RZmta 47.47.0 AUTH)
 with ESMTPSA id g97246y7N0D2WAi
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Tue, 23 Aug 2022 02:13:02 +0200 (CEST)
From: Bruno Haible <bruno@HIDDEN>
Date: Tue, 23 Aug 2022 02:13:02 +0200
Message-ID: <3893771.2iPT33SAM4@nimes>
In-Reply-To: <2dc7ede0-eca7-baf5-f89a-f5d292b80808@HIDDEN>
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <2758072.AiC22s8V5E@nimes> <2dc7ede0-eca7-baf5-f89a-f5d292b80808@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
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 (-)

Paul Eggert wrote:
> Thanks for the detailed diagnosis, Bruno. To try to fix the problems I=20
> installed the attached patches into Gnulib.

These look all good. Here's again my evaluation of the three scenarios:

(Q1) What is the expected quality inside a single gen_tempname call?

It depends on quality of random_bits(). Usually on the quality of
getrandom(), which is good on most systems. And for the other systems,
the "ersatz" in random_bits() gives reasonable quality.

(Q2) What is the expected quality of multiple gen_tempname calls in a
     single process?
(Q3) What is the expected quality when considering different processes
     that call gen_tempname?

Both have the same answer: The file name essentially depends on the
first call to random_bits(). Two different calls to random_bits()
can be correlated only if
  - getrandom() is not well supported, and
  - CLOCK_REALTIME is not defined, and
  - we're in the same process, less than 0.01 sec apart.
IMO, that's good enough.

> If I understand things=20
> correctly, these patches should fix the 0.1% failure rate you observed=20
> on 64-bit mingw.

Yes. Running the "case 2" part 1000 times again, among the 2000 generated
file names, there are no duplicates =E2=80=94 neither on 32-bit mingw, nor =
on 64-bit
mingw.

> They also fix a minor security leak I discovered: in=20
> rare cases, ASLR entropy was used to generate publicly visible file=20
> names, which is a no-no as that might help an attacker infer the=20
> randomized layout of a victim process.

Excellent observation :-)

> These fixes follow some but not all the suggestions you made. The basic=20
> problem I saw was that tempname.c was using too much belt-and-suspenders=
=20
> code, so much so that the combination of belts and suspenders=20
> misbehaved. I simplified it a bit and this removed the need for some of=20
> the suggestions.

Thanks. The major quality boost comes from invoking getrandom() always.

Bruno







Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 23 Aug 2022 11:19:02 +0000
Resent-Message-ID: <handler.57129.B57129.166125349722003 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 57129
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Bruno Haible <bruno@HIDDEN>
Cc: jporterbugs@HIDDEN, larsi@HIDDEN, eggert@HIDDEN, bug-gnulib@HIDDEN, 57129 <at> debbugs.gnu.org
Received: via spool by 57129-submit <at> debbugs.gnu.org id=B57129.166125349722003
          (code B ref 57129); Tue, 23 Aug 2022 11:19:02 +0000
Received: (at 57129) by debbugs.gnu.org; 23 Aug 2022 11:18:17 +0000
Received: from localhost ([127.0.0.1]:42805 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1oQRvE-0005io-MV
	for submit <at> debbugs.gnu.org; Tue, 23 Aug 2022 07:18:16 -0400
Received: from eggs.gnu.org ([209.51.188.92]:59162)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1oQRv9-0005iX-OO
 for 57129 <at> debbugs.gnu.org; Tue, 23 Aug 2022 07:18:14 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:53660)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oQRv2-0007P8-JC; Tue, 23 Aug 2022 07:18:04 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=sdsUdVX/4QPwb/YNxIdHPBRg0m5iUfgZ1pKpHiy4IhU=; b=SA6l0lbifShLfvnNdYEi
 EOMURV+KNmVdEa/VWo+Kkri+OLb3AbrsXmmozFKMpgmGzcT7K+2rhw/hcmArRf6JF1sQ1ZxOyFul7
 HnvXQ4xcbuVFd5w4JpZwXRXz8COSaxDcDQP/0FMyoB17t0js7DNp68Tj5CCqhKETR0hz/utM4wizq
 ginBjpJm7eofYIP+pXFc03LuREtUFFcRp14z2lh+ZPlehn+IcKWcmbSRF4Plklvak3S0z4KO8eFtq
 4C70a/lWsejhbM1ShdqkUZceM8SOhIBFm1B1UyuGghAB85sHmv0rhqCEbPF8I7psCYD3mRGtVYiog
 bx7ZlonRFjDoLw==;
Received: from [87.69.77.57] (port=3185 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1oQRv1-0007NK-6q; Tue, 23 Aug 2022 07:18:03 -0400
Date: Tue, 23 Aug 2022 14:18:08 +0300
Message-Id: <831qt79pjj.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <3893771.2iPT33SAM4@nimes> (message from Bruno Haible on Tue, 23
 Aug 2022 02:13:02 +0200)
References: <efcfee57-fe3f-dc93-b0f7-87b0bfb1bd4b@HIDDEN>
 <2758072.AiC22s8V5E@nimes> <2dc7ede0-eca7-baf5-f89a-f5d292b80808@HIDDEN>
 <3893771.2iPT33SAM4@nimes>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
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 (---)

> From: Bruno Haible <bruno@HIDDEN>
> Cc: Eli Zaretskii <eliz@HIDDEN>, bug-gnulib@HIDDEN, larsi@HIDDEN, 57129 <at> debbugs.gnu.org, jporterbugs@HIDDEN
> Date: Tue, 23 Aug 2022 02:13:02 +0200
> 
> > If I understand things 
> > correctly, these patches should fix the 0.1% failure rate you observed 
> > on 64-bit mingw.
> 
> Yes. Running the "case 2" part 1000 times again, among the 2000 generated
> file names, there are no duplicates — neither on 32-bit mingw, nor on 64-bit
> mingw.

Was that with or without using clock_gettime?  If it was with
clock_gettime, what happens without it (i.e. when 'clock' is used
instead)?

Thanks.





Last modified: Tue, 23 Aug 2022 11:30:02 UTC

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