delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/11/24/21:26:03

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C8295395440F
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1606271119;
bh=ZZsa/CbKUClw0D0+cSQ55aNjrdSjxXRhwIoPXxmcDRQ=;
h=To:References:Subject:Date:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=IuOjiAzR8+nRhnaVXpTwj3fkK3YsBihaEbcEAVrkWG4fZjmfSBKJjKdlHXb6ivkSH
/XEIwgQ9XPEL2+0TFzp1NhompSSm+Xyz2kvQYtkoGx6/fPNwt6M7iplq5CeJUgD70J
3qGoNuQ2ubbcGwiu/nOCsATjfRB30r5hD88O8qHQ=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B44F33857804
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:to:references:from:subject:message-id:date
:user-agent:mime-version:in-reply-to;
bh=Ub5rirP3JTguwSEWDuKMY81HVRgNRni/HDFTEkZpJ34=;
b=Yi8ee6Fpr6a2Er8fObSd8NZplZWCKT9mlrq5Ia5f9QqOK4xF4Uo6ZOfRvfHt51TtOf
NjFM4bAK3/hmTYWJc0OJSyBbYeLPa78LuUqWP8t32acno6DrVy+cSMIV8B9z3gLdFKYS
tp+eKC3h41hFE6m/IHPrVSWfhg054DGOVfS6hqGZ7hDoG4YtAmSMleq9zy735FA15ySw
gWqXPbpKJX0Ccydy7HDXw930DV7fuHDpSUTU95PkwrJYuInrp/MhtAEUMvVSiZiVcnAW
bS3ajKXJxEi5TeFdD+S/1gMJd3Vi31reDd4dqnoHNRf4L8jhust4fh7vB9otSyZQZa0l
3gfA==
X-Gm-Message-State: AOAM530KslgXa9Na1/plmmrESMlcKVAaEfgKDOaChXSjQ3BbpvDS/XPE
dt4mNBauNzLvO2vVenuDdj8O7vMNWn8=
X-Google-Smtp-Source: ABdhPJzkx+LQqB4AHT8FxKN4xo6puJ6zJLP0h6hxGMAkqYZt/akZgeFiRHYW4RruSnvwg0+V+1etfQ==
X-Received: by 2002:a62:3205:0:b029:197:f692:6a8b with SMTP id
y5-20020a6232050000b0290197f6926a8bmr1184445pfy.2.1606271114406;
Tue, 24 Nov 2020 18:25:14 -0800 (PST)
To: sten DOT kristian DOT ivarsson AT gmail DOT com,
"'The Cygwin Mailing List'" <cygwin AT cygwin DOT com>
References: <c2d6280c-26e3-f9e7-89bd-693385a768b2 AT gmail DOT com>
<D3704C33-A283-40F0-990D-CB9806F0B09D AT gmail DOT com>
<000a01d6be5b$3808cad0$a81a6070$@gmail.com>
<87a2c99c-045c-e815-4c03-bab7a89a025b AT cs DOT umass DOT edu>
<000201d6bf17$7cc4beb0$764e3c10$@gmail.com>
<9e881c01-e883-ecd5-883a-e1ac55c740c7 AT gmail DOT com>
<000601d6c173$aa55d540$ff017fc0$@gmail.com>
<d8a72610-a79b-0387-e52b-25f0b50c46ef AT gmail DOT com>
<000a01d6c244$b64bbd70$22e33850$@gmail.com>
<ec2a7fe8-35c8-21e5-bb6a-687e7968db53 AT gmail DOT com>
<001801d6c255$f0e115a0$d2a340e0$@gmail.com>
<2d906235-e206-f6c6-5302-9b11bbe484c7 AT gmail DOT com>
<002d01d6c26a$45931f80$d0b95e80$@gmail.com>
Subject: Re: Sv: Sv: Sv: Sv: Sv: Sv: g++ and c++17 filesystem
Message-ID: <e219b092-5ffc-0fab-02e5-af50c6dd4ab9@gmail.com>
Date: Wed, 25 Nov 2020 02:25:07 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.4.2
MIME-Version: 1.0
In-Reply-To: <002d01d6c26a$45931f80$d0b95e80$@gmail.com>
X-Spam-Status: No, score=-3032.0 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GB_TO_NAME_FREEMAIL,
NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS,
TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Jonathan Yong via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Jonathan Yong <10walls AT gmail DOT com>
Errors-To: cygwin-bounces AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--===============8632732508212286211==
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="4iN1tfotbE6s9GA2bAQ3dQ8JErfKdm479"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--4iN1tfotbE6s9GA2bAQ3dQ8JErfKdm479
Content-Type: multipart/mixed; boundary="Yxh2U5VeIsORao7K0SWlyc4AHNrdcFfv0";
 protected-headers="v1"
From: Jonathan Yong <10walls AT gmail DOT com>
To: sten DOT kristian DOT ivarsson AT gmail DOT com,
 'The Cygwin Mailing List' <cygwin AT cygwin DOT com>
Message-ID: <e219b092-5ffc-0fab-02e5-af50c6dd4ab9 AT gmail DOT com>
Subject: Re: Sv: Sv: Sv: Sv: Sv: Sv: g++ and c++17 filesystem
References: <c2d6280c-26e3-f9e7-89bd-693385a768b2 AT gmail DOT com>
 <D3704C33-A283-40F0-990D-CB9806F0B09D AT gmail DOT com>
 <000a01d6be5b$3808cad0$a81a6070$@gmail.com>
 <87a2c99c-045c-e815-4c03-bab7a89a025b AT cs DOT umass DOT edu>
 <000201d6bf17$7cc4beb0$764e3c10$@gmail.com>
 <9e881c01-e883-ecd5-883a-e1ac55c740c7 AT gmail DOT com>
 <000601d6c173$aa55d540$ff017fc0$@gmail.com>
 <d8a72610-a79b-0387-e52b-25f0b50c46ef AT gmail DOT com>
 <000a01d6c244$b64bbd70$22e33850$@gmail.com>
 <ec2a7fe8-35c8-21e5-bb6a-687e7968db53 AT gmail DOT com>
 <001801d6c255$f0e115a0$d2a340e0$@gmail.com>
 <2d906235-e206-f6c6-5302-9b11bbe484c7 AT gmail DOT com>
 <002d01d6c26a$45931f80$d0b95e80$@gmail.com>
In-Reply-To: <002d01d6c26a$45931f80$d0b95e80$@gmail.com>

--Yxh2U5VeIsORao7K0SWlyc4AHNrdcFfv0
Content-Type: multipart/mixed;
 boundary="------------D9DFB8D5561A8950DDC2C2FF"
Content-Language: en-US

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

On 11/24/20 2:01 PM, sten DOT kristian DOT ivarsson AT gmail DOT com wrote:
>>> [snip]
>>>
>>>> std::filesystem POSIX mode is common to all POSIX platforms where
>>>> backslashes are NOT directory separators. How do you make them accep=
t
>>>> your demands? How are you going to force POSIX platforms allow
>>>> Windows specific code?
>>>
>>> I've been trying to say over and over again that our code doesn't
>>> handle any Windows specific stuff and not anywhere have I claimed tha=
t
>>> anyone else need to handle Windows specific stuff either (except for
>>> the internals of Cygwin of which Windows specific logic is already
>>> present)
>>>
>>> I repeat; I don't expect any of the Cygwin-Posix-functions to accept
>>> any Windows-style-paths (though some of them, as I repeatedly have
>>> said, already does so) and I only expect that I can operate according=

>>> to the C++-standard on an instantiated std::filesystem::path
>>>
>>
>> How do you expect std::filesystem to do that when Windows paths are no=
t
>> even accepted in API calls?
>=20
> What API-calls ? Cygwin-Posix-API-calls ? If so, you assume that std::f=
ilesystem in Cygwin must be implemented using the underlaying Cygwin-Posi=
x-API and maybe it must be of some reason, but I guess it even would be p=
ossible to make it the other way around, i.e. quite a bunch of the Cygwin=
-Posix-file-API-functions could be implemented by using some native std::=
filesystem-implementation such as MinGW but I guess that not the whole Cy=
gwin-Posix-file-API could be implemented that way and it would probably b=
e some quite substantial rewrite of things that probably is not worth the=
 effort, but what I'm trying to say is that std::filesystem shipped with =
Cygwin not necessarily have to be implemented totally with the underlayin=
g Cygwin-Posix-API. It could be a mix to use whatever is appropriate and =
in some circumstances some logic is needed to understand both kind of pat=
hs
>=20
>=20
> See more below
>=20
>=20
>=20

No, std::filesystem runs on top of Cygwin, not under it, it would have=20
to use POSIX APIs to get anything done. GCC is not the platform system=20
library.

>>>> Make it try to enter subdirectories every time std::filesystem is
>>>> called?
>>>>
>>>> You refuse to understand that Cygwin is NOT Windows, it is a POSIX
>>>> platform. Using Cygwin means complying with POSIX expectations and
>>>> standards.
>>>>
>>>> I don't see how this conversation can continue if you still refuse t=
o
>>>> see Cygwin as something separate from Windows. Besides, you have
>>>> already answered your question by ruling out MinGW, so Microsoft
>>>> Visual Studio it is.
>>>
>>> I repeat (again); neither MinGW/MSVS is an option because we're tryin=
g
>>> to use Posix and C++
>>>
>>> Just to be clear:
>>>
>>> - Our code DOESN'T handle Windows-style-paths explicitly in any way
>>> - We DON'T expect Cygwin-Posix-file-related-functions to accept
>>> Windows-style-paths
>>> - We WOULD like std::filesystem to work according to the C++ ISO
>>> standard
>>
>> Why would std::filesystem be an exception? How would it know if a
>> backslash is part of a name and not a separator? How does it know when=
 to
>> apply exceptions? What about mixed paths?
>=20
> As I've said before, there are already exceptions. Some Cygwin-Posix-me=
chanisms already understands both kinds of path's today
>=20
> How are '\' handled as part of the name today ? I works perfectly well =
in many circumstances, so I guess that there are quite a few exceptions a=
lready
>=20

Its not able to read your mind to find out your intentions, especially=20
when it comes to ambiguous strings like UNC or SMB paths, none of these=20
are remotely POSIX compliant.

>> The C++ standard mentions separators, not specific characters, and the=

>> forward slash is used under Cygwin, not the Windows backslash.
>=20
> Exactly, I haven't stated anything else
>=20

So use the forward slash, not backslash.

>> The bigger question would be how would you expect a Cygwin application=
 to
>> even accept a Windows paths. It should use *nix paths, as all Cygwin
>> programs do
>=20
> Cygwin (and thus applications build within Cygwin) already do accept Wi=
ndows paths here and there as well as std::filesystem
>=20

It does not. There are giant warnings telling you not to rely on it.

> Applications don't have control of all the input that could come from U=
I, environment, configuration, etc
>=20

Garbage in, garbage out. The warnings tell you to use Unix paths.

> What I'm trying to make a point of is that wouldn't it be good if appli=
cations didn't have to care about that, because that is what libraries/fr=
ameworks are for, to give an abstraction ?
>=20
> Otherwise every application have to do something like where ever it han=
dles some path
>=20
> #ifdef _CYGWIN_
>     // fix the path-representation to something with /cygdrive or such
>     ...
> #endif
>=20

Why? Cygwin is a POSIX system. The prefix isn't even necessarily=20
/cygdrive and you're just introducing more complications that falls=20
apart the moment the defaults change.

> This is what we're hoping to avoid to do and that it could be done in t=
he library we're using
>=20
> The exact details of how to implement this and what challenges that wou=
ld be is uninteresting before it could be settled as "Yeah, it would be a=
 good feature to let std::filesystem to be path-style-agnostic"
>=20
> C++ applications do mostly use std::filesystem, std::ofstream, std::ifs=
tream and do not mix that with Posix-file-mechanisms, but for Cygwin, /cy=
gdrive/... in std::filesystem must of course be a valid path as well
>=20
>=20

The C++ standard library APIs are wrappers around the Cygwin APIs like=20
open(3) and write(3), so a Windows path there would still fail. Just=20
because it comes from the C++ standard library, doesn't mean its=20
magically separated from the underlying system.

> I can't stress this enough and point out that this community have alrea=
dy decided to here and there make Cygwin be Windows-style-paths-aware, so=
 I cannot see that it would be that of a bad idea if it became even more =
agnostic to what kind of path is used, but of course I understand it come=
s with some challenges
>=20

No, Windows paths are not supported, merely working as a side effect.=20
Are you going to demand POSIX compliant scripts to also handle Windows=20
paths next?

>=20
> p.s.
>=20
>     We do have an open source product targeting the *nix-world as well =
and at the same time we're trying to make it runnable on Windows, so this=
 is not just me be being stubborn
>=20

But Cygwin is NOT Windows, you still refuse to accept this fact. Cygwin=20
programs have no reason to act as Windows applications, Cygwin programs=20
act like Cygwin programs.

--------------D9DFB8D5561A8950DDC2C2FF
Content-Type: application/pgp-keys;
 name="OpenPGP_0x713B5FE29C145D45_and_old_rev.asc"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="OpenPGP_0x713B5FE29C145D45_and_old_rev.asc"

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFDEdwIBEACSrmywJMpgYlgJa0HJ1AFu9tQp8yVpVS21EfnrSK16TS6PoW/JS78D5CYxp=
shP
zr1iil8yeL8/val1yXkI8uNZjMnhLxMBU5C7WEMCeY/h760btG3bZZ5BMCNCkC0YfrtvJJQDE=
yv1
H+p1U7yMFRyxNtMjaf6QDzoRjTVOzO6mtNMZWYnlhzC54etiVt3HQ4jKOlKbI+dwjigIw8B1S=
Z+x
WcukAHRMBcIZYLjbnAI/XNu796pfwh6QEhJjr8EpvyNjdHLFSMMuyUPO/a3sr/jkFSTpqt5lr=
9jW
ejdQwe7e8WtbC+euv++fH1B9Yz42259kLxgH+aHk6lWX3epIIx3w17rGfaMrFrINjXEBGLLOQ=
kIy
2LtBLYRU2NhDg+VSDOEwAsiOVZs1EHpSNF5GV12L8SFiNtVToHxLRpObNpYIHBkDFzx9gvQfX=
5Ko
cx5XFhBiNfTjdxBOjopLzQHpfCSo3fzSqc7zpscqOw3uni7GIN86fI8h3wSV44dQ4yaervnL2=
kZy
kRyWL5y1C9WDfjzljTIeLB6gK/gBbrsuKuVC42r6xAK9yC9pL0Trf7+GLJ9UF4WGnJ5IvfVpZ=
7gt
BMjWOpiwewTprdBNwhLsVSep9Vqg/cbtmG6AnpzNtMsLEWAwDpgaFa5KqlehgUCuMlEdU6Lhv=
Sd0
cJ/pqKwwzxEiLwARAQABzRlqb25feSA8MTB3YWxsc0BnbWFpbC5jb20+wsGVBBMBAgA/AhsDB=
gsJ
CAcDAgYVCAIJCgsEFgIDAQIeAQIXgBYhBOUK3Z2wV/T6ZOG2z3E7X+KcFF1FBQJb/k5NBQkUn=
9jL
AAoJEHE7X+KcFF1FVlkP/jwLb9aab268Q3XQnocIDD7HArFnzKyvIvIndqGuGs51u+6p8I+zB=
KHI
yF4T9E1mkXfq2bRIbvKojrkAGi7KgCePKHRILVtfiAANSJtj9304WcUYIiD3vLHgB0Hiv5AUc=
3YW
ntnaznKh8VMLMx/ANf3/OjeldikLunkC7vu/YwhbdsPWDEn7v47FsllqhbLbjsm+trboiORJM=
UzA
dJ65yv2WvRKnsRLdrXSyXxcW651XiNstVpgCqGkZP1PUSxUX8SvA/UzVXC4rw0nHaVVlB5Jov=
ywL
/Y/3GG6q3/x6hXWgqDBB68GvlQLA39JRGq6ELwwE9mo5EzU4q6a1Y2Uy1ZKqJ56xs+peI5qJd=
FtI
fXcPX2e6wdaCW631HcgJpykIS/gwDIsxI8NhfmiDLXY1sWnKDU0hjIwDEP/fjLtHp2o1TFBzB=
MX9
4/CLi4kt2jhPZqhZed/unJ3IVtpwfi7Lum5LuNQhHqPF8U2YGJfIwaap6KUThy3CffPBhzSyQ=
bTl
izhP9hAGaMqh9NomJn+YIJlJEYoRkubcaQ95Vev4K0y3LNklxbePo2Jwd+ovxprS6NeJJaRTV=
pR8
ZO58RD5B/1oKTW6udVQIeNATjkwoDSR6fi9s7sLLfCVy4404hYuzvrlm4QF3gruz4qhL4w1SG=
0ld
dEGhMderspH9WtQs4H7ewsF+BBMBAgAoBQJQxHcCAhsDBQkJZgGABgsJCAcDAgYVCAIJCgsEF=
gID
AQIeAQIXgAAKCRBxO1/inBRdRSpmEACCSmpexUnrETc2+suu5d5Qj4mrIfNeYlMLGgBObD21q=
Ny/
pcQs++BVOEdy4O7rNevWvlgN770JoD1hixzsI3eOqOn5hnaKvRAzbtL0U69qwUcyefTuhNT/S=
Jpl
h7U73tqUoj9UskgRNTqYt2echszQ52BmdkLuGYY/1Pv3zhXncPGtTNHaTc8MhkuHqDZFyXX6d=
ovM
D6p+7C7OgZwjINVzsRvPJjb7TbFBkNgAsFdYfSZkSBfY26t7Af0St+Z6WwcUpvGC9CSd2ubvk=
TGF
8RNDXyXZ1PNKtoYoY3BlkD6jxYosufi/2/o/DySWU2eNF/0i9xyeJ7wuve9sh+EIJ5nUzfk1G=
6DL
a3qhck9umnbdOJF7LUqUNRz05Zo8Y6aSAsLt0bVJ4wgeGD6IhtHNOu7Gp0vwsdsv5Bx5Iqf3i=
i3Y
m3CNSe+DhVYrIsOESSEnuyIbSkJwvbtAArxGYffHmaDNjzrQ0nvFvjQvmiklvONMy69WsQHKB=
eFT
e5YZAfpwUPw7K8Zet3wK2jeMOOPvZyQBM0vkrC13hvarzyyDTuqQfSrQKUAukJBJ0HRf1Pnek=
tEL
UILvpTUXVb5zgPh5q7iwY2Wp7v8uv7ESLV76muA3WCmI+BEOfSkyg9KfSGSLB14+MNGsbGNYv=
YH8
NJiQRHMiSSybhilO0oOEYl9hnCN+Yc0hSm9uYXRoYW4gWW9uZyA8MTB3YWxsc0BnbWFpbC5jb=
20+
wsGWBBMBAgBAAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AWIQTlCt2dsFf0+mThts9xO=
1/i
nBRdRQUCW/5OWQUJFJ/YywAKCRBxO1/inBRdRZf0D/4kY6ZXlSH4TdGQFEvjTOQNiui2Mpy6H=
JmP
aTY4x/eu+M1pec4bNpTiP1yhQSWQ2aXCBQj8dJEAYr71WC+3+XEr2daViflu2DA+5zRgXNJZD=
JLY
DCVJS+EM1X43hyUVEcOG1LL0nB/vZ9QYRIgh+j90NHXQ5MXYcMzQS/+urR0gNsME4KwLbQGbd=
8eA
Ie0jNu0lEdqNjHxS0lPD4mE2Z153nQvnWxFAmbUYKaSyAkUNOuVquGRk4UsS94Jl4P8rnZ1+H=
Swi
JQXQSuMYESjmgkTw37BUcmUXfh3qiYZBMq9N027QFontVmICnNessVyqPQ9RCj96Yuu/0BjIa=
Z6b
9Vjc7O/LLt/GgxGIdeer8k7u3E3QyhwtvxJDlJ+kjhHjYmpHSzIDRCLqGwmk4FKnrkqh49j21=
gh2
YWmZ7kJ3rcEjx6wPJ8fxaoVBAIg3szbspGqR1YKW1cMfs75hFvMMrjOiGTgXUwdjR5QOu+a+2=
yeA
pkZ0zRfHzVcS9eWxyMGPk7fc0tkpQ07uBi3cW1sOV0H+NoIdtiDXkihb8N+zXiz/qZwdj5/hi=
YcB
54JjxACzk4V3DKu4NCIAkfuMTBIoTkUFdRpngaC3Jf0PM9Bv1bSmNMSQGEWjKHOUnC6+xi2Dh=
fF5
9PGZIrHad1da2pVF0SFnEPCMJG4iXicTw36trJYfrsLBfwQTAQIAKQUCU3X3YAIbAwUJCWYBg=
AcL
CQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEHE7X+KcFF1FITkP/R+JT8lQova36BfsrdfMP=
v3C
ApwE/nyyf1SddYojRteCo1cJbYmpyV8dw42am01D3j4po+pYGN7p3DSbF2zSSJkdGC4X0COVI=
4aV
3AO2MPOe/RvszRgcnmP5VLjnokN6pOOBkdEovqg+O3zRG4DScaWxnjIddoirNFpJ5sssH/oNL=
0bZ
RzkPmtHOezIS5D9PEDk24XGYTURPoHqNsQ40pdvtxLFU7kR5D8xTDzBQjnnBSBJJId7T2O0BM=
xDx
GVv7iSfrQHBM2rLNLizSJkzr5do43DlHI5IoNy4vNsEvaUkgEonR/BDIoxuGWpLZ/WZwTuYPq=
HYA
cDYYzJOm+Hs9N8B4HAxe3BdfpWBiVT+lpsoBrDk/q7xZ+I7Axg5u6nklNRvRBwqJhEKKz+kgR=
WGp
FpsXuslNDdTiD9h1c398F2yDe4XFCQfCBTzTDDQVHHh2y+ytf812WfYIbfkM7HtjoBshyqrkG=
XlR
ckMMAq7bkIQDYD+UKDUVoDCt8sDgoV7rraMtFRiLmD57/VUfDlQMddmZGCMgmGpSktzg7xHzc=
3Z3
ZBAuiF2aIcofp6ZhH+2fND5IBnyl0FGuK5hSky5ZgO4QAdGxKmOVj3+1MUV/oif6ls+QVshuS=
86T
9Xnwa7QuHBW/L0BnHDCO4JDPjJKgO5zbqexr5yESElkFIFwHyFrDzsFNBFDEdwIBEACsXcBns=
4YG
VTUGMVKVGEocPffmAhAY89XSk1c1qWPngieUtZ2GoiG+a8IKAqYIjfpuV/YXX8i9mXuGAGJvf=
6rR
hpPos8v76y3qoFFrPsFjNaiTTTvPn1oNRT+Br5KWjJaDomGkmQe5bGrok6ETK4VgRdYWPib7I=
bTL
UX1rzfaKvDP219HTsdWj/cdE3QGTZjekJUiJqgqSS8SmaBNtFm2T18r3gdx6+Xq0kJPW421Ia=
Xtu
xbyD3MTBVJYEfY+rEvVfMUi9rvsfCG0djJOh8954D8AhVY58x7aszhHddTeQlXxUdwNpyJFFo=
FFh
pj0LvmhCH84eaf+9eW8VqegPDzE2MJ/Oe+bftYS9qtIx4MMHRU5Wl7g2x3QUhsmyev3BmhBvq=
Fzo
6TmBZ1bjp2MXZqQw2d5YXJNb0Vtr9qgV1EqnoG7Lf5q5wcENYAJDVeOzOMxUnM3u2VYbt8GMu=
3QI
TxpHw4lOukzarmEmAq3EwwzBxFKKmD9gvAbkAGmimONRiQSY9OBEW4XLmOqy9b7pnoS+6x0Oq=
v8l
ELvz9TJ2Kh5urXJ/7LOvof9z3R0g7Hn7AWn1Y+0hUKN1vRqziJdIFqZ7kcViiKYAKfYiDPlHS=
AVg
uc3qvok0P8A3uS5qvkz2yC3C5Jt913FoNVu3ny0/UCDjpSAqC3qTXMx3otwLDLv/dwARAQABw=
sF8
BBgBAgAmAhsMFiEE5QrdnbBX9Ppk4bbPcTtf4pwUXUUFAlv+TloFCRSf2NgACgkQcTtf4pwUX=
UWz
cw//ckxWc2Zyd58jjZxpMG1hpGHJVMyi+1aC12mCozlKuGDUBhbEbs6z8INlAQh9ic5dh9jXW=
8Wc
lJglzo1Bm1naQOUmCFLh2WgV/0Om9vqDeJ0r5J2xcoBesiAflt/2dBHn3sZHivwq46c2/pMl9=
5LA
oA9z+4lZLBCjL64wo9QZujrDoSlUTKMnmfTKYzvUqF4Y7394b3cwi4WNlR3CeqAzU5f+RjGlI=
pCT
P2h+ui7L8JvPCBLzy6lcEm6NJayUIMDyFKYtlJdiPOVtSveZyrFjx6qWrIHogOXTorTZrtysB=
i8g
AoU+7h7dOBswi0vnjftyH7S6M8N0K+LKnRj8zBjajyAcBRuvXP+tfvIPHUMnkWifgMLhrMUgT=
ZHX
4V4DVjNHzVuAxr+yIHGLUgn6sSrYnYX8aCK37cByLO78563LaT/p7WD56R5grBe0HEaoarixV=
mov
v4GzI3GGNLBx+GraRAtvbPsol0sZ0OZWKWVL1/meHi7Fe5EFYeoI5/xANT1Xm+GMnLGrt6CH4=
4Fa
J0rUQ900ZGf69laS+pniyasFgdtiUeCLCcUww9k6jUq5Sa1npJYFVJqnuush2cUXWG5Z9DFZ2=
Jg7
LWvZqUc2rt0B8+AIWWfEGNoh3KgziYAnpr+5iH7wMIsgvMwRrJmB2S4ixQUNVeE06B+VUDKv1=
Bkf
mRHGwE0ETSg45AEIANeD/h9XEUDi0xZYKQGk/cw5Kih5spOB3UE4m6JKhv+3vrH9M7Zxt88Cs=
naM
7jnbUm6iBsTCn40FrYl/20G+iJtAQiblvKdNS5Ivk0wWor7hTZMRAKzqmPX+xUDPgfu+8N++0=
aGu
gdAfKsGELJxRim1tRT7ntS+8fWoP2qkn+Mv8DCgUQSZGtwbWQeCRsBHuKfA7uPJHLUzwdgPa5=
XAz
fWw6ggFvpA8XBlKuT/duSgSvyKMUZ5Z6TiRClol20YwVfsFXxZmzr453obGy28ckS8JnLRxg/=
6cY
dWH6Ex+bhI4gcZORUDeY6lRisIB1s3PIPZYv0gKRO5moJawZcAvw4LUAEQEAAcLAXwQgAQIAC=
QUC
U3X1IAIdAAAKCRBuRRqDPvSezXPkB/0ddadFpDaInaoNvlCg9iN4c/rMzfkw4G6nMAbwSqNQ6=
ixF
WLIirXi/YV4/O5gTpEdpT5j62AfqCM3rB+FeyHFLd69y9kFyTde16NsgGLmSAnpZa6Y9wCg70=
Pyb
tcCE/hIyENYKfLYj1IW5Olc5plLzsfOTTaMTXiG9WZ9j+YxQ2ge4UucqSc4sSttf8WZJVqQsv=
+a0
GtC1pABjoMmv6Xn8PrTF43VUiOFy1XdYYNLLGPYP4fSclJk7K2q+IHDdUU3FzzbM2+i3HF8fV=
aCv
q03oVLtDMuhxtLDHT845iDoGnNxKMqeZdDlpGLKhw72YV/cP+N+WBdVzHywv6LUmhdSewsBfB=
CAB
AgAJBQJQxHiSAh0AAAoJEG5FGoM+9J7NiowH/iyQWOPjm8nf0vkh2YCtqCNA6AH4AH8mOZVhN=
qfo
++B6cfX5w2WyFXs97MMyPuVJjg51wFPLIjmVREVkWHsdGYCK8ipyMRp+aAGZkq7lFreCqD78j=
y1I
AuAaGq4ewKBtt9VqX1n09KfQBm+uPhiDSYYpDeVFvuD4NWlfq50IviWe9+DdpMFhDaKf3jaTi=
ZFa
fRzX2i8myWvX3hF6rwxACedcTuJR74YC/pW6ZMVe1+13A7tZEXwGd6H2zkY0HH+ltNv/Im+H2=
WQo
DbXYmKzpe+0leBY3bL6+2+eZuKKzhhHbnwnBTubo6QIXXYW575Pb+6ascVebFooRD4EJuDnhY=
OzN
GWpvbl95IDwxMHdhbGxzQGdtYWlsLmNvbT7CwH4EEwECACgCGwMGCwkIBwMCBhUIAgkKCwQWA=
gMB
Ah4BAheABQJQxHW4BQkDnSVcAAoJEG5FGoM+9J7N9EkH/3heEJaIwbrjq3RMywLTmOGX1NxBK=
6lz
CxjRZcOK83hg3CdQu7b0Cvd5jubWKNdER1JoIyE4MVmDbUIdZQHGY4boG7torVGI+k6EUGQTu=
p1P
Af9YNXqAZLxQQUc30pxowKILBOwpT6Dvy0RVd2ddglrKYnG7hH9uoGwowUOVMUeQ1hxYpDoTt=
zN7
L3TfiBOD0aQ82QJYAE5/mzwAJAYV+qfCNKOthTPHcrRsdzKT1Sjfupmi9XF+U+Kp8rxqa+EVG=
vLY
HtgLbLa+BgUc20MjMJ3Y9cBHNHHr4ZtXRTVN0LC4Ui1T93JttwSPHld5ZDXxlaMFDD5MDJ4oX=
dmL
qjUll9zOwE0ETSg45AEIALRd3uUSAqv+sSOEpKPKONCcJx9Yv4GKpaBMg1Q1K2Dw73Im/B9p7=
xUF
0ZN9OBR5l/Ho42W1vCTZMwYXuJkLYRFpXXVALTMHI9k2ADhqMvoxe044zS3q7Wd0dIQOBe7Gb=
Ue3
rU+amvp+SF7qvB0AL3MK3MWEsXiHZUomj9dbEsWeo+5rZnGe51U0csPIUv40NRXBdtMIPVyH8=
Osb
n6EMjA1xvoDOqLFSrtAWuvRDlfsF7mQC/A5X6zPTG2dS2ooqkkIm9M7o3Yx2OwBRUfhexVsU0=
r8S
eNdaAW0fYGYhw36PUGYrwOXuNxeUnlYt/wsxLjKsjGkhJPx7bN5Ex4aXpdsAEQEAAcLAXwQYA=
QIA
CQUCTSg45AIbDAAKCRBuRRqDPvSezTT2B/9Q2tyuSxHlsF1DK+bT/JU300ANWGWDyo8v/UOVF=
uhJ
W5s0at+TfrbwWtdDEEFzLpSxrjUxcxECzbi63DLqlxS/Ytge7Fccc8BjVpZAIexIXiYKtdUV0=
hcc
I3soGpKFPr/eDKxnjBVG/+OBaYU/yjUPKA+bhpKdkXC3khzATxIbstfbgu8F9PaGQpDKM9thy=
BDJ
VeVfMoE0RvLtGyvbUWGFiGrjQw1sOe+xLVLV+ZhZnsGU4zFmrRoLNipJzIopPIOjrIlzIBm9X=
BY3
GkCWTg0rx86v4dDW9d1SNGhZ0lgQ0pA7q0ODWl803L5cOLmdvcOvvsH0pGkS+odZw0klsvVh
=3DtNbV
-----END PGP PUBLIC KEY BLOCK-----

--------------D9DFB8D5561A8950DDC2C2FF--

--Yxh2U5VeIsORao7K0SWlyc4AHNrdcFfv0--

--4iN1tfotbE6s9GA2bAQ3dQ8JErfKdm479
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEE5QrdnbBX9Ppk4bbPcTtf4pwUXUUFAl+9wIMFAwAAAAAACgkQcTtf4pwUXUUE
kw//fb1bRzv6xWdtWX3dT4WDC/aSWLK1PFadO1yXW731yIkwG/Ay55BUSkHN8WyVwLmUsF8eShTq
y6V1vgN8dnsptV+vZzTCu4tshRjyK290U0VylZ9hJzjcedi2hNmlzkoh8PM99Nu7DtNG8Qco/2aC
4VBijmlbLXl9zMVQCtZ83d37cfjUogyY8TFgxOnQdksAby+4QP8ui30XoI/Q9jDbOCqmu43U69pJ
iLs0321KK0zqH8caIUlqHCZFsHcviqQZKUehtnmpRUw9eQLimChiLK5Geza5U23r9NqeI58x25Qt
YSvq7bMlvcSLu2iidK9HOUq9DZ+g7qOLPRxBuEn8/Y1L32mi+cZtcl9nnwGANNZh1JPprSiYIEUX
TliQx735RDMvbej3Iof+ze0TFNfDgx3yPIUZvpK9sftmQ7k50Kk42rkCY/PeeAo7dAxeJjTv51FN
DahJkcuQLKaCWW253KOQhuzV15Nz9QHWR8Lm/sryzO3hMbzYgEEnV9rLzH1WCpCcquYerb++IXci
cHDgPVzbBh1T7bac+SVtRtxPXd416t/DJaDVdH3r1Oca/17Sh9gUBbF/YZKEW2I+gNOt1Y2pasUO
QPPsLIFUVp5dzlhPS1UaLMk7BSC18ZE5LIYJ7foYbrOia1tT6y9GExmDPr1bvKuC19uxkVMXhN/z
III=
=9DxM
-----END PGP SIGNATURE-----

--4iN1tfotbE6s9GA2bAQ3dQ8JErfKdm479--

--===============8632732508212286211==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

--===============8632732508212286211==--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019