Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:103269 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 82215 invoked from network); 27 Sep 2018 17:59:38 -0000 Received: from unknown (HELO NAM02-SN1-obe.outbound.protection.outlook.com) (40.92.5.60) by pb1.pair.com with SMTP; 27 Sep 2018 17:59:38 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=M9p7fFsg9tDVGmNZsFTTJKAnnzfOcCt6vfiD70spDTo=; b=fRj25nJKo/E3kc1V4CftfF6OqSFShCxGbO9Xg7Trv/bDhvwuq9x3acMFSA6qeSK5Fuj9mTsiNYkVMuBvS3TpbngzgePgJ3qufFHboA7cJ9UJtqaNAQW01qC2LdJnFV1XxA0BU5R6OYvaWnWbvBvachpfae27rPE7r09GD04W9AswMa9iZ8Tu466MLZji7dd5uLytyI1btdS4rzKcr/lM9qldR872uNBgwfLWO3Dov/2OLPoesUOQerhmP5MGJxfE+wetv0kClcnDoyqx9MT4gz+0LCqwgiVmEZYJr3SxP654av6Syjz6tdrWDp6NO+vB6W5/JE8Qp3vO7m5OFVQ0kg== Received: from SN1NAM02FT027.eop-nam02.prod.protection.outlook.com (10.152.72.51) by SN1NAM02HT206.eop-nam02.prod.protection.outlook.com (10.152.73.242) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1185.13; Thu, 27 Sep 2018 14:07:59 +0000 Received: from CY4PR18MB1048.namprd18.prod.outlook.com (10.152.72.55) by SN1NAM02FT027.mail.protection.outlook.com (10.152.72.99) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1185.13 via Frontend Transport; Thu, 27 Sep 2018 14:07:59 +0000 Received: from CY4PR18MB1048.namprd18.prod.outlook.com ([fe80::5840:aaff:8d9:dda]) by CY4PR18MB1048.namprd18.prod.outlook.com ([fe80::5840:aaff:8d9:dda%8]) with mapi id 15.20.1143.022; Thu, 27 Sep 2018 14:07:59 +0000 To: "Christoph M. Becker" , PHP internals Thread-Topic: [PHP-DEV] [RFC] Kill proprietary CSV escaping mechanism Thread-Index: AQHUVkz4W8iviclEA0mEZpPEmHZ5xaUEIulE Date: Thu, 27 Sep 2018 14:07:59 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:28CD4D5156767F1E7C8C37168EBF3A15F20DA1A4AEF925AC913BC5A6ADD87631;UpperCasedChecksum:D2C6F7BE500F036A50C2D4ED809353879F311AA9C52597B3F1EEB84129A77521;SizeAsReceived:7046;Count:46 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [b+Fgekf2Y3ikpqitVjHyAPuO44APQ61p] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;SN1NAM02HT206;6:RzX2g8WuVc+Lc/5uo5M30zhRDFUpiT667KLl5eWA63mjMi3Z2JaY9MDTomTvfnLRUxAP9c4x5Bsa3nj+EwvMowpxBIBaq14SCkEVtED0WdLbGrAqkqSYnMZv2BjFec377i0FDmIH0qNHzTps+v/+IFGZ0pREY17bYk0M9H5U2Eyhb/ZT1MoEz3jZ4kqRDLQxi4/fmAHHSvFDpvncE/a91/gqhS+/gxqu3vXmxTh3PR92IVO121ZmHo2PxVV/TOkHDY4XIasoSQlXsB3yJPmZ7XS048BQr2d8DjfoHM09ac4YjzQaEGb2BIYVIu6eDaZSWnbhDoSXtiQOhNAicpsJruR0wpp06osgST/J5mwaca24xGRNg4c1PI4rQaOW14z+chDRF9zRMAJjDyK1AW6YnUEoL2ug1/fFmokedMx03iBgFxpNaMQZluKA5YigJOyTtVjYIKFXjCNacn3jn3Zb5Q==;5:iryp5glpIpfspAFZ6MrTZjxTfU2D0+ey+hRIEkyqTO1SMjzpcEVM/r/qgwlHxjPjMJ/igdQt1qe4viwt6KqhHkdmC8o+vdCZLujssxvBqzjYFB1XuSUEaNU2+4Es9kf7vAf4wIcdXhnGOinEge8ptyPQlwkvSK/Jky0G2HbOiA0=;7:O8N2tkxxYOi0xykjCNt49WTBKNjXR96dst1VssBQdI1uPnY+6FsD8z4x1llGbMZuNdVSmnKzRN2bOC+OX3ZHApmIF/MvV06PhTFYN/0JX0EQvZCNZhcAk/yuSQ65A92uyEsqNVQ0zRliHUJojE7cuUNq75qkUgbaCdeoOaPqD5AYILqZsJUW+cBGAsYtzFNFAz5txa5M1FOatniHZ6BdQyiIAVwUOsTGGcF8BMHwGQPReOyHY22+wH5i8MeEWSsK x-incomingheadercount: 46 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1601125500)(1603101475)(1701031045);SRVR:SN1NAM02HT206; x-ms-traffictypediagnostic: SN1NAM02HT206: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(4566010)(82015058);SRVR:SN1NAM02HT206;BCL:0;PCL:0;RULEID:;SRVR:SN1NAM02HT206; x-forefront-prvs: 0808323E97 x-forefront-antispam-report: SFV:NSPM;SFS:(7070007)(189003)(199004)(426003)(97736004)(476003)(6436002)(11346002)(74316002)(33656002)(486006)(76176011)(229853002)(561944003)(8676002)(7696005)(305945005)(87572001)(110136005)(102836004)(20460500001)(446003)(5660300001)(2900100001)(53546011)(105586002)(106356001)(99286004)(5250100002)(104016004)(81156014)(6346003)(8936002)(26005)(6246003)(82202002)(25786009)(14454004)(71190400001)(71200400001)(256004)(68736007)(34290500001)(56003)(55016002)(6306002)(86362001);DIR:OUT;SFP:1901;SCL:1;SRVR:SN1NAM02HT206;H:CY4PR18MB1048.namprd18.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: outlook.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=theodorejb@outlook.com; x-microsoft-antispam-message-info: vxZ+iG1wtBkoKfQjymv/n28RzzgyXk8dVwdm4KXgh3CJpCQLhyXIzQ2Meqa2H6OlAK6lFM3n1iTC40cgZQZY28lbzZZOs/PThn0UWSRpVVEtmjNW8a8C3VYN07U55O/mh0TT8DgvNTNCadLlss2yGJtcZNtcrgBwJGBMKP1f9K4GeVN7VcUh58tkNczr57r6smbIzHrrNhdEs2oux/srLnULiFrRQIuun2Fid2eWZA8= Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: dd759f05-a917-4aa0-a2f5-4cc35c50e0c8 X-MS-Exchange-CrossTenant-Network-Message-Id: ccc97288-2172-444f-c5bd-08d62482a1da X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: dd759f05-a917-4aa0-a2f5-4cc35c50e0c8 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Sep 2018 14:07:59.8941 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1NAM02HT206 Subject: Re: [PHP-DEV] [RFC] Kill proprietary CSV escaping mechanism From: theodorejb@outlook.com (Theodore Brown) On Thursday, September 27, 2018 5:29 AM Christoph M. Becker wrote:=0A= =0A= > I hereby put the =93Kill proprietary CSV escaping mechanism=94 under disc= ussion:=0A= >=0A= > =0A= >=0A= > Any comments are welcome!=0A= =0A= Huge +1 from me! This would remove the need for a lot of nasty hacks and=0A= workarounds when reading/writing CSVs.=0A= =0A= From my perspective, the first part of the proposal (allow passing an empty= =0A= string as the $escape argument) hardly needs an RFC, since it's essentially= =0A= a bugfix and shouldn't break userland.=0A= =0A= So it seems like the main question the RFC will decide is a deprecation=0A= timeline for the $escape argument. I'm not sure it makes sense to have=0A= separate deprecation phases for passing a non-empty $escape string, and=0A= passing an explicit escape argument at all. This would require developers= =0A= to change their code twice: once to pass an empty string, and again to=0A= remove the empty string.=0A= =0A= Would it be acceptable to change the default value of $escape to an empty= =0A= string and deprecate passing an explicit $escape parameter in PHP 7.4?=0A= This would be a minor BC break, but would allow developers to fix their=0A= code once, so it will continue working when the escape parameter is removed= =0A= (possibly in PHP 8).=0A= =0A= But in the end I don't care so much about the exact timeline, as long as=0A= this issue can finally be fixed!=0A= =0A= Thanks again for your work on this,=0A= =0A= Theodore Brown=