From owner-freebsd-standards@freebsd.org Tue Apr 11 20:21:28 2017 Return-Path: Delivered-To: freebsd-standards@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 32A5FD3ACB9; Tue, 11 Apr 2017 20:21:28 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0078.outbound.protection.outlook.com [104.47.38.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "Microsoft IT SSL SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9A4DF1AF; Tue, 11 Apr 2017 20:21:27 +0000 (UTC) (envelope-from kevans91@ksu.edu) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ksu.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=LERGuygVnhSHc2ek/QihWWNIveDS2IXN6/Tq6XE3U9U=; b=SbrIfIBSbFGgDGuRwT/XQvAmCBsUU/VulI3p2SLOuPM9eYojQipNxzoCjlKvYOEzAjOzUMxpmgQFQd6yskWRlvNmW84lk1j8dPRCY1omCGPBkIvzCeXLbk+a86wB0EsjfpP3l3Ri4GCZxONd0SkX6UwSX4lhyiU/vrNvHo8Su4I= Received: from DM2PR0501CA0040.namprd05.prod.outlook.com (10.162.29.178) by BY1PR0501MB1109.namprd05.prod.outlook.com (10.160.103.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.5; Tue, 11 Apr 2017 20:21:25 +0000 Received: from SN1NAM02FT055.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::208) by DM2PR0501CA0040.outlook.office365.com (2a01:111:e400:5148::50) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.5 via Frontend Transport; Tue, 11 Apr 2017 20:21:25 +0000 Authentication-Results: spf=pass (sender IP is 129.130.18.151) smtp.mailfrom=ksu.edu; freebsd.org; dkim=none (message not signed) header.d=none;freebsd.org; dmarc=bestguesspass action=none header.from=ksu.edu; Received-SPF: Pass (protection.outlook.com: domain of ksu.edu designates 129.130.18.151 as permitted sender) receiver=protection.outlook.com; client-ip=129.130.18.151; helo=ome-vm-smtp1.campus.ksu.edu; Received: from ome-vm-smtp1.campus.ksu.edu (129.130.18.151) by SN1NAM02FT055.mail.protection.outlook.com (10.152.72.174) with Microsoft SMTP Server id 15.1.1019.14 via Frontend Transport; Tue, 11 Apr 2017 20:21:24 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp1.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v3BKLM0s004639; Tue, 11 Apr 2017 15:21:22 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 68001248005; Tue, 11 Apr 2017 15:21:22 -0500 (CDT) Received: from mail-wr0-f182.google.com (mail-wr0-f182.google.com [209.85.128.182]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id 15271248004; Tue, 11 Apr 2017 15:21:20 -0500 (CDT) Received: by mail-wr0-f182.google.com with SMTP id o21so5073596wrb.2; Tue, 11 Apr 2017 13:21:20 -0700 (PDT) X-Gm-Message-State: AFeK/H1vWhcGvsElaH3P+Nd2zlfXYxgh/F/HLMFKTydqZ0wcnkgYM6lXZISW0xZkKNLlaZZUdTNsNVpCXJBKQA== X-Received: by 10.223.154.54 with SMTP id z51mr32463232wrb.76.1491942079266; Tue, 11 Apr 2017 13:21:19 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Tue, 11 Apr 2017 13:20:58 -0700 (PDT) From: Kyle Evans Date: Tue, 11 Apr 2017 15:20:58 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Replacing libgnuregex To: , X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(39400400002)(39410400002)(39850400002)(39450400003)(39860400002)(39840400002)(2980300002)(438002)(189002)(199003)(450100002)(61266001)(189998001)(221733001)(38730400002)(93516999)(63696999)(54356999)(8936002)(8676002)(3480700004)(512874002)(46386002)(88552002)(90966002)(45336002)(8576002)(42186005)(305945005)(50986999)(59536001)(106466001)(61726006)(2906002)(7116003)(9896002)(9686003)(356003)(5660300001)(498394004)(55446002)(75432002)(86362001)(84326002)(55456009); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0501MB1109; H:ome-vm-smtp1.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM02FT055; 1:hq2osXGRM10eSK3Aok7WXISnSxjlzma8d0VxpkQsvBPSF+548kZXwwD9iQkl6ikgcWX7LS/lS1qd2+lEfzLrp00V6QExUDErzUoKZpGUMrQ+MwSGG9lbJ/Ybp0gWiJkqVQgXKT3w6MN2B0sxFDj7tsV3RzDF3/jxFCtXSI62E9vGhPMmD54wjd+VqiSfz8V83ThHYFMghmX/poJ1oVzmZfzmfngQcaTN44DzHl/KeCIh7+wdBT7fcip2YVGPYcp2teH5yDTMPZCn6qCMbWjYz333OWY2/3eakoDVrvWHUBvbVyQ5IBSe1xuvCbr3YKtMuvXP7i7mauba43lLTcZkWcSjNxwzVdMxfhAxosXymIGscVNR7pwc8Zape5WdbDH6fN/9j0//VP1P5wVUG5QAY7kCzjgkkumB+C8J5rv/JsSBKa0ojcWIU6gUm5qgT5GIbFWdGU0iwpsjRkPSaUbsPqynYyQ3vAhAitWWxPXj3w7E9m2/IDGrmUmi7y2zCZneABoTP3/1vpTuCRK8rECkDA2dV4oeOYDxKDn8vVNXvi4= X-MS-Office365-Filtering-Correlation-Id: 42b62dcd-2e20-470b-512f-08d48118535b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081); SRVR:BY1PR0501MB1109; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1109; 3:rrakiPXfYSx3fiLhj1bPAyROiL3JPKHviEx0tsdOZtxBfX747dl/VbXpBz4UVGb0DX02Hmt+zZsMXE0dKQKhk9VMz52/4y05P4lDnfRSQtJXnWSLKkYX5txLPZOqFShTnoz0LfiAMrX+qIiAnq9lBhY6KWtIm+Neeuu+b+tKO42YOjRKi75qZJgHfSF905j5IjsdHAW9kbt0vRydV+WFLWXTUB75JHFcvQefVSI8JFTPsp8ImahPGtVzYOvd/ti12hmuzYmQd5w+bkndSbXWOJcV3AIO1z/UT4mGxNJf9z+JTplm/q9eS6LStbTEqdQT1l3NJ6njomZaQARtPbJIkMS8iHj8AxgcL/qaPPf8hCtuiKEp0tswJlA1hOLQdFaW1V7rO4RkIoJQ2BZUKjlN9txn3fPcW+C6o0Q/uVl2qOiyK0MJEgZHoujFPIj9Oku7HzDrsEl2EQSJ9+DAfVzFlKxZsCiL3Y/9oIaiJCPAykJgi6CsKQvxrSIQzFWiZmy8 X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1109; 25:dVavJMkz6eGxyAKzcMMkpHeHQi10NpT7Xn8L9W0pxbSP+N+kArIQ+iCA9ZJKrGwNS3mEyhQyeuKlaRTs3lf8CFOWxxhBKeJ5f9hpZcqvnvOVLHkrWrBEjXBNbcFWItbjYkAo1o8NbiWSw6G2p/JZL0g8rJafudms+A+X/2IE2JuAboWJixsxz4E/m0Mjkluj/ffKeeDHFDICbxsKYidByY11v6docWpP4WuWUfbriRLHZ2bqJg6p5CXhB5lwX8o8DtBqFfVPk6r3n8RSZS0EKcKZYN2Bt/sKqlV9ae3BMNe2FCVenqFycObxE95d+qHu3aZfPg9afIN/w3RbQR26gMaQ+1KKtU56HwEjRQ87VZlnAW6dkEbQomG5svRnhbfepFv7lpVwKLIOCmQuRB+xHyysNNnVZGQOYTaCdktfPeZqyR+quy3rWcvHr0v7ZzeRPRgp/wRZp60EAQ/pkNAfyg==; 31:ZMi+ao6IpOtF5la7Ii6fyzQjgh3HqJp8ek7vQmy9ImD+M8f/vwwovVKd9cMXB10BmMCHbWjMgoCoFIttkyP2Sg6y+PtWeTe7YIIkxRrzuJtlmDYI9PijZ6e+rtqXpXuL/kTyPp8JqpCvpSxs8p+orj/4rXubr1Vkl4siXD9IqElHCIa+YCtlB+XFNgH0O/Tqn9kctNDC/7milQAqOPgRbFpdvX9Z0GvOfQcZe+VrQnA8/C/lj56Ji54SWA4Mp0u/vxIX1Td1wy89i00nQ8IcTg== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1109; 20:zpxIKwzosPh7TqJ7dZ7nKRCJHm4hLJ1TsQL7d1TTa0fr6WnSfZR1OI8WPH2QGHLSA426XXNm8qYShdotGgs41/c9LzcTMfCis3G5WSSORzvwzhQj3YFPpzHcWTXgawe+8bjv/RO6f4ZxNJpH6t/nja+ys6UrFCF8nTT8ahCTZHq2KctTbbBU1LOn1x8t+8w2k7e2MWYa0PI3aIgvjwfb0CZtVOh44mfNM6M5GEonB1UFVbqJsFhGeeXIKNYUVY6FvNjJdwFZ9sbLyiJDKTd4YXh1OSVQ9Unq1KgUpcFzZ63ZhrkACdqlHODmdeh8ziUoB3AvfIwD83iuL3kbX/L5F/xdxIp7MQMTZLWUrQp8TdyjxfU7prEXztxzqc+Q4ukrzElrJuI63sCyj4ZXAqFXd7DyXEy/opd/CZj1JY1ymshwdJLss0wtXGvXsq00JEJ9I/qBXPCxADuOwUeoagXp6BQ2P2O+hDcgOe2uwyqSTEXgbDsBhUZVpZREqhtTBodW X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(13015025)(5005006)(13017025)(13018025)(13024025)(13023025)(10201501046)(93006095)(93004095)(3002001)(6041248)(20161123564025)(20161123560025)(20161123562025)(20161123555025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(6072148); SRVR:BY1PR0501MB1109; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0501MB1109; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1109; 4:svs9ctkkC/s/fBvWc3j0M0p64XOo/ta2l7ONTF1+1o7i/k3hfkHKxeIl3n2lX2EODHiMVnWjwmrZX5+PlejTmtjLuJlo6/GReS37kfYLr/O0HBqXCmuWqvuE90nKtmZdDxwzwYVU9r6IBXkR0wrh0wJ3OLOaLfvj2VQnnQTBU3hNuv4Qj0SpHG+IGN+r+je9iTpSaqeOP4GbbX0RGGbcugmQS34sIC86Mg1kMzx5l5q9QF2WMFgJ5m4mh7pBDHe9jeKD8mebDNIqt5YK5DfSCd+YKemHa3z8AKPJuCGI5f24NFBCQxI4IzC/M027ewX9g5gFQaoS3HdzXOqdLq3htXdK6IKe5IXc6lTh0p3LpCzxr5DlENa0OVagqwUoa8lrEBAFzunVZiz5oKTMV3M6UDeawljm8ykriAU/fUGyJpk0gogZ8Xk/G4ZyoFEQBEvX81TWMTr7winJYLsZLspUj5QNg0cajAPl7tbzJe7neg/AVZIDVTK0I5MrtGPpIRHTAcKvxzcKB7qHpl0WUarrEtOIgUiPw+qanIZPSlbBByf8kJxdOCAi27Cok9qR1FAZx4egmA8i926S/NWsW0mdDx3Nw+SdxKUXlR6Jh4u52UXFoBcSi8VH7Pwt7N0lnWlgcPMp/OGQi2aQ9Zj92Ih9AeQEBlwVkl+URhLoihCjXz7/CHul84EcXdb8fYgGwinEj4hpmufEfwZtOtgGsOiT1hlpNISmtcR45Sh4OWRi90ihDCmBvzw5G4s669NJlcTKST/7YK6KObh7kRyEO4hNID3Hz6SClZX9WmrgkX4+yKXa9QaBksjVyYs4LS4vBuhasr+f7fPUsUolAbT9L9tS7A== X-Forefront-PRVS: 0274272F87 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0501MB1109; 23:WMolZbBmBP7KUXB9EDNNxeGt+P4v1HM0/iFSaqN?= =?us-ascii?Q?W5C+omtO7crhMju7dWSWyWYj0LdFtC/2CAZ08u5FvwtHwcorr9RNfkigazL7?= =?us-ascii?Q?5NyTQIiOcUeWaLUCEfXOZOv6haHqONmy5LuxgWPND9lIGZlipFvA+oyuBZ8F?= =?us-ascii?Q?/rAPBUrVonXe3F74pszY5F6B60XmrcZ0Rf67GX3jQaPacja7o9tFakEQb+MU?= =?us-ascii?Q?9JSF3SbZvom5EaQ8suEw+X/uVyPbDN52ELFlUkbjvbEcB7NcEaJJYUQceycR?= =?us-ascii?Q?oh5NSgwVC2kSJcDT0VjbnwcpXuR4Wea/Bo9rSGL4aihH7XjJbto8zhrgUIjq?= =?us-ascii?Q?XK+EGeRNfpAMMNgcnx2nlKdYdAEr3NNYdtP+wbn9gycbsXLvEojL8d5Vywrj?= =?us-ascii?Q?kJ/ZalwDe57C/FO7TsmVqeoLkkEJ6dTBVUcRePCjGC809ybp3f9h63RiNNeA?= =?us-ascii?Q?oEzSwmrTlFPQvyPWyJHL3PQ0FcYECoo7aLDTQ3iyuH6yCUq3bnAEMaMVVjIo?= =?us-ascii?Q?IBqJ5bg9BUDHQh4OpJPbtcyBSgtQfTFr6cMc9WfRLVolrXfACrSGc9PXb5Ef?= =?us-ascii?Q?u/JMQOXYKnx1hWSDOXvOD4w2BqSO8o0bW4qyUsA9V7im8t6oe9mvkEZuTJpb?= =?us-ascii?Q?pzdfXHl9NJdy6F7pqYig0pot/j+7afYNfcVJudVj3549mXIYTVDFZkqjlFNk?= =?us-ascii?Q?WDe2jY1onfXWTUrv6mg4T/0dLG0nG47I5DW+AdaI3Pmxh4onsa8ndlLRnD34?= =?us-ascii?Q?vP58kIYsaEeO9VBlSliSlNMH38c/zxY+X5f5twxDWKPxwUtFI7fxyY8MSpQt?= =?us-ascii?Q?Vn6PPnNbcIas2xGektoqYta0828BmDWI4mQWvJfky5LSPMRI0CUFMvecvfxB?= =?us-ascii?Q?vq6iiEbH3bL/j+Q628kJPZ3exvcKxPJGhZyrNXY4ZHmXGJvUgOaRywOpJrrk?= =?us-ascii?Q?yz+LiJqEl44suw/g+Sjs/nUzaidK1hvBfJzIs/6ZE6yUV1pChsRB/BjaAPXx?= =?us-ascii?Q?Hy0HQGU7wdegFavXKd/K178kBleiyLxYacZB4Pt6ETIwirsFtDnnQrcWb1mp?= =?us-ascii?Q?WAopS48XOQCNqWiqyY1nNEU7gRyPLj3etKkd6WDsPhBiTuTF9K2jqpK7p9I+?= =?us-ascii?Q?wdPsrwGOCXLsX9JeTVzxw24N5+TE6DOPZ?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1109; 6:qY8LDc7zBbmnDEk2VDTsGc/HgcDMezpLUFzlw+qwNGt568gAU9nMQQKAVQaa5riDimqbzW1rBFC4jYasDCYCrfI65kpP45/13QX4NQW20pOHyvejn68RTtnlS5goESKYJi34DFEiNcYzKhJjHd7ORyWoQf74x2lbeo6fYVYKih1Et/h4KRKXJxvdAFpkeDJV46D8aLkMzFG0DkO6LQoJAdbJNyLdriQ9Gpj/IuydAXtIU1pT2BUvTN6lQnlRoAyI1AuKBioB+v7H2tDwPfnNybBUZr2NHHeROcu6NdgRKQTW+OSkfRmHqljK9cuhotcznXFwKZp6qgzhmyHG8M97AkxIR8ol2dWEaVhAPcsFrSZCfpKckBrprIx8OVYmSp8582VyFmv5eYIIkrWoaAApDcEtxskak3RA26s4alv9LFo35ryvBGYmwSVLhMcKRcNGS0j8x19Id2pCb/Ga/X5Krw==; 5:OZPbTr4fMeRJ9wq1fw5pPZzfxCzZGJv6ZjYuxneJtSW3bw5R7EKdF3ylfVNNQMqp9kH7afGrIEGw0JWomuPqhFoecLPlBYldpXEv2UIG8C9bXIsA1QaqkaZidNJCodkeGEGaGrWgalHbzcr5dfPP/A==; 24:/3Se69i1nM8uR0B6UZUErGgaua8PkdXdl9//vjf8EvQZxM0YM1Qbux89Z7KyMWJkyEURZktJWPMJf31PZhI7pEhv6dIsyPi7q/rf3TGh/CI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0501MB1109; 7:JCAHkLhqbwha/8jc3tswCD+CVIpHwdG1aa2yYTUpFRPE0AKfAjU0LSDVb/ibU4nOJOzf18dfzQfzuS7/HOgyCeudb00Pay5NeF1Lx8HBx6tlSbS64YjvvhuEHeRn+8GQIBjRaJdKvZplRkBsXDbRBXB/8cvZtUGE8BorFvaT4jfPSOgzuz1YkdsxAF81F5iJMxGP2ByYw0/3HFrIUVbhZElWuBAXhbq9zSLs4W0tFrUKcMl32SHIeBrLlW/C+TxNHuy5z8FBJOkmD+G0h1YIt2e4jHdKUApBSH+XLmWJ94sJ3EHAoXKAcg0RvBTRwCarWraopU/PefryLwX7Lt1agQ==; 20:lb2IcOAyn3s60wYWFwC8D59ma4AjWmXnRJj0pXYTtd26Waqe8qjYb0D7u95Jf1WnzlF7MmxMgGyk06gVIgX51HmlrJpQ9y83CjKVeujQu1fDcvlRgQgMVXqYc6t00PPb8pHKAbxDoGgCqHJor2sFmiawUsj+7iMTe1wHdD6ZXrY= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2017 20:21:24.1899 (UTC) X-MS-Exchange-CrossTenant-Id: d9a2fa71-d67d-4cb6-b541-06ccaa8013fb X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d9a2fa71-d67d-4cb6-b541-06ccaa8013fb; Ip=[129.130.18.151]; Helo=[ome-vm-smtp1.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0501MB1109 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Apr 2017 20:21:28 -0000 Hello! To start, I'm cross-posting to freebsd-hackers@ and freebsd-standards@, since it seems to pertain to both as a question of how strictly we follow the standards, as well as potential approach. The following e-mail will somewhat outline my questions, then my personal opinion. == Almost objective, obviously biased stuff == The first question we must answer- is it strictly necessary necessary that we maintain a separate library for gnuregex, or would it be feasible/desirable to extend libc/regex to include GNU extensions? There's obvious benefits to both, but the former (a drop-in replacement for libgnuregex) seems like it's going to be more difficult to find. We only have two base-consumers of libgnuregex (at the moment), but one must consider the potential other consumers since this doesn't seem to be a private library. On the other hand, I think I could fairly easily implement most of these into libc/regex. Here's a summary of what this option entails adding to libc/regex, from what I've found: * Empty subexpressions(*) * Add missing quantifiers to BREs: \?, \+ * Add branching to BREs: \| * Add backreferences (\1 through \9) to EREs * Add \w, \W, \s, and \S corresponding to [[:alnum:]], [^[:alnum:]], [[:space:]], and [^[:space:]] respectively * Add word boundaries and anchors: ** \b: word boundary ** \B: not word boundary ** \<: Strt of word ** \>: End of word ** \`: Start of subject string ** \': End of subject string (*) I didn't actually find anything explicitly stating this as a GNU extension, but it's certainly not conformant to POSIX specifications to use, it gets used a tiny bit in some ports, and we implement a workaround in bsdgrep(1) for the simplest case of empty expressions ("") to match everything and produce zero length matches. The main benefit of this is not having to maintain a completely separate regex parser and the potential for inconsistencies that come along with it. The downside is that that would seem to promote expressions that are not strictly POSIX conformant. Is this a problem? Is this a problem worth worrying about? == Opinion == My personal opinion is that we should go the latter route and implement these features into libc/regex as a default behavior. Perhaps with a flag or something so that an application *could* opt out of GNU extensions ("strict POSIX" type of flag) if it so chooses or finds them undesirable, but that may not be deemed necessary. Ultimately, the GNU extensions are just that- extensions. There's no direct harm that I can think of in accepting them in our libc, and they do indeed provide some sensible features with little cost added to our current implementation. I'd personally like to have one parser that does it all so that when a regex-parsing bug does come in, there's no initial triage *at all* of whether it's a gnuregex bug or a libc/regex bug. Thoughts? What all have I missed? Thanks, Kyle Evans