From owner-svn-src-head@freebsd.org Tue Apr 4 13:41:55 2017 Return-Path: Delivered-To: svn-src-head@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 6F2EAD2E660; Tue, 4 Apr 2017 13:41:55 +0000 (UTC) (envelope-from kevans91@ksu.edu) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0064.outbound.protection.outlook.com [104.47.38.64]) (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 DDB558DB; Tue, 4 Apr 2017 13:41:54 +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=ql0mFJwWvr1cbbJpVWmTXHsLyQ6B0yMrT5A4LlEBbNY=; b=Fat3E/6XApOcwKHNtWDwcvuNt39DXZhNm5UR3d+ZXiXpmJZY2RpRvs5kMZZ0ywZUXsCudFCuAQXvmTNf6FlB1rQbntjdgSbsbI0KL/Cf5DaWNq4LSJNk2xaSZe0a6XUH1BU4FO3Lq6YgwM4X/4f8FUiS26/gH9CuUoA9DaodWhc= Received: from DM2PR0501CA0010.namprd05.prod.outlook.com (10.162.29.148) by DM5PR05MB3580.namprd05.prod.outlook.com (10.174.242.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8; Tue, 4 Apr 2017 13:41:52 +0000 Received: from BL2NAM02FT045.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e46::209) by DM2PR0501CA0010.outlook.office365.com (2a01:111:e400:5148::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1019.8 via Frontend Transport; Tue, 4 Apr 2017 13:41:52 +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-smtp2.campus.ksu.edu; Received: from ome-vm-smtp2.campus.ksu.edu (129.130.18.151) by BL2NAM02FT045.mail.protection.outlook.com (10.152.77.16) with Microsoft SMTP Server id 15.1.1005.5 via Frontend Transport; Tue, 4 Apr 2017 13:41:51 +0000 Received: from calypso.engg.ksu.edu (calypso.engg.ksu.edu [129.130.43.181]) by ome-vm-smtp2.campus.ksu.edu (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id v34Dfp7Z013419; Tue, 4 Apr 2017 08:41:51 -0500 Received: by calypso.engg.ksu.edu (Postfix, from userid 110) id 29FC5248307; Tue, 4 Apr 2017 08:41:51 -0500 (CDT) Received: from mail-wr0-f180.google.com (mail-wr0-f180.google.com [209.85.128.180]) by calypso.engg.ksu.edu (Postfix) with ESMTPA id D0CF0248302; Tue, 4 Apr 2017 08:41:48 -0500 (CDT) Received: by mail-wr0-f180.google.com with SMTP id k6so211491154wre.2; Tue, 04 Apr 2017 06:41:48 -0700 (PDT) X-Gm-Message-State: AFeK/H3R8EB/OfX5Ft0LMrQyrH0P0w7w+gD+p/Nc4YUPDi8zdlFzquLf VBSLrCK0EHafZMXoOBcnkGmgxjEEYQ== X-Received: by 10.28.88.2 with SMTP id m2mr14985184wmb.12.1491313307381; Tue, 04 Apr 2017 06:41:47 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.39.134 with HTTP; Tue, 4 Apr 2017 06:41:26 -0700 (PDT) In-Reply-To: References: <201704032316.v33NGpbo037305@repo.freebsd.org> <4ceb1a18-3a72-c0e3-b2e2-f71d687cd153@freebsd.org> <9018c8db-2a89-c8b2-750b-fe11ac08333f@freebsd.org> From: Kyle Evans Date: Tue, 4 Apr 2017 08:41:26 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r316477 - head/usr.bin/grep To: Andrey Chernov CC: , , , Ed Maste X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:129.130.18.151; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39860400002)(39450400003)(39840400002)(39850400002)(39400400002)(39410400002)(2980300002)(438002)(377454003)(189002)(24454002)(199003)(90966002)(54356999)(5660300001)(50986999)(93516999)(55446002)(63696999)(4326008)(38730400002)(75432002)(54906002)(498394004)(9686003)(305945005)(86362001)(236005)(6246003)(98316002)(229853002)(356003)(93886004)(61726006)(2950100002)(6916009)(53546009)(84326002)(2906002)(8936002)(88552002)(45336002)(46386002)(189998001)(450100002)(9896002)(106466001)(59536001)(512874002)(61266001)(8676002)(8576002)(42186005); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR05MB3580; H:ome-vm-smtp2.campus.ksu.edu; FPR:; SPF:Pass; MLV:sfv; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2NAM02FT045; 1:4l70IcQ4llC1qhI/aRqmdqrRnEKMSpJRlnH6LjOopPv0VtvELSRVylSwzwKJK6tzdHgjctuu/V2JyENgem7eR/BGC7YlNuvVLS5RDIhIGhL8fbdg4pi8J/238Ay161ttOU8tdeQQErYIYgn3HOPC90sjhSnu3gdtUGiyyAzgdQL30duPWIT2UhSP/zTKiTAqQEejucAjVWgzymEUMDYxNXZCz/COOVsB2FqtYUAsUJAklh8TrMDGWWoOOWo+gAZTwqDjP4ZVZzoG+xDrxUl0mLWe5HsI4Z24fwN7dkF2Budh9+/KIo4kS/xBPDxXEKVEyhYjAYmUAc3y/Y/gaMy4298v9IiUH27O79h70ODTw+ATvUWGBNFUbAPev5gZ6VgT2vTer0sYyOoUM5+SsYj38jMJZZhuInw19e4dIWyabuXLlfKb7hkjf6dKFA0HxFECVdUtsEiPwTlEVdkvv7KRuej9Q8QXgF+YddfmnIzIZmeqfAA05D+YVdgvrSJ+O2G1RiUEtfJlBTCZvn3Hyo3kT6cnmWixOYTYdD3c5OkvKqI= X-MS-Office365-Filtering-Correlation-Id: 7422aa08-c2e0-4247-ba3c-08d47b6059e2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:DM5PR05MB3580; X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 3:dWABqOFRkPxaIbn3yYm5tFp6ax+CVDUOuSyzOweA3a4gBn72qx32/isi5yv9JRMY+dpZOF+/9EBnA1G2P6nI+9uHKUos1LAndDUZvYRRvyYYwWoInnVJB8YpEdFnEDEMzydgPaA1sKXj67d0vh0R2gshH2jw6pR/NwE1Vo1Re3pMiuXevCxQVo31XEIggh4PV5E4gfrBXuT1MDHsl/pCGHKcdOX3aX4eCD7KyGt3GpWTLZsZIE53a5SZzflSdVSFvv3e7d/jqd1HwY8nOmYrZq4Ah/u+Juh9vLU6jZh/fg94dtzubYKCA20zoG/fBrwKzAvDW5wmrbRbeCXsYPto+xOGGcCZz/w+ekFtRvEMlj1pxQF9atHG/sW+GNqktL9/+d90VoTVt6ZiDS9/vh6LJN/O6tDdqVSxRA5EdWfLom4atOsMIeEIWI3O84WFNNWfIkuU5YivHhrvfC1hKmJIpc0hl4IDr2MhrH7TSzzMsSRssnlqAsS/9yR2KbLv5lerguBdLXiDCEsYLCrLLmBMrA== X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 25:jWw2qoh5mrvKEyP959Y/GEeJbdbO/mBoiOmhNj8l7QWep3tZggAvF+nJNYEHkcjH6ezJULMa99w8cud1GmPIF+IERDXJCanXKAjj2b3DoaDeA9JrGnmowLjz2f/qvfLJkwhRR6jWTPL7wol5FC5gy0ddYxuMoOmY045j8dfx1pGm1lnwAO+ZJIApLkkjMXPcOBOTHF8v3vD5N8yrRbhZ9tL4gf/+iUh3zoKfwgIH2DCf/F0fYVtcrBLI72JlcTp1b/yDW3llBzw+v3BB/3IU8C6HAzj0fWVpBaT5uaIwamQLCZ2skAfgGL8xOylDO0x2hpva+3j+vZgHfL8Ba4sHVPCRuVlMQ6R3b3IkQwSw2Xv0v7s+fJNoyMV7nWcTeA23mSFVksOL/D5JLl9etn0DtQiyIg/D+jDWV9sCYcJNovLlrQQecgvQ5c61g5TEYOhSGCT7aAj1O6iknNtkkLhwgA==; 31:Zhiz7oIGHOs/jHj2ObP4Rd1ZbhcQXTtVP5mk2tIiY24Kafrl8vYnzzYk+2jwk27cavxB67dZMxro6GcTf9fEO23dnHFrAKAZVElTeOLJ9H0ok1BT6D0lWraA6Lqy75s2as9XCJLqghOrcuClmU0Mo0HAZYJCyJMreBK8R4tF9KK1gmILQJJt0SneAjWeDzM240tENWYstjEmfJrYJIv05xu9hu1rYO7cxQQwJYEaz0LfmIwXq0xWJ339+t358U2sWFzT6aBbZwxgkFi5elrzfg== X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 20:cqjnAlsvX4OJmriGQxiLWylnPpplcuHexasEYjo+VW0r+enNnjuPVK3J71KWY0sUT6saTUH+qlaimgdx/EAj6ReLB5LtQbbfkXm72O6gygoXOwosUDhwobOgDrV70pTyDzL9SnkfHJOKb7vl7naj6L7r+NjT6pjBfG5h2lkuLcsyJrcr/XnmzqwGtABm+Z/S0ch0I8tShmEW95i0FXpPxmAG7eOWhOWVfgvmC2DCxLJURrZsi0wJemdsozWkRy6BqjqC7HD2DRlMjCh/W2UETW3xPuJXmksnvU1BQpoS4tvbRIZQmPT4fimhXjsmrqEakOI6V1wd+9Ho/OBqfa5wuc+Fns27KeksDQCLvWRS1+wxFwtn+1rMCUr+GyajdGngyyF6HeTTQxDfA5cpXm9/0vtz72nbuPrXd+YcMknUKA3I2wGf22xLZA/pSxufFLeZn5Yx789XG1Cq1UzPeBk2Pi2Lk2m41qiL2N1//g1NWLGGNi8z5CQ4p2pCBOOEYonv X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13024025)(13018025)(13023025)(8121501046)(13015025)(13017025)(5005006)(10201501046)(3002001)(93006095)(93004095)(6041248)(20161123555025)(201703131423075)(201702281529075)(201702281528075)(201703061421075)(20161123560025)(20161123564025)(20161123562025)(6072148); SRVR:DM5PR05MB3580; BCL:0; PCL:0; RULEID:; SRVR:DM5PR05MB3580; X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 4:9gwcZ5bH4GO+GsedfuAuSp96MdrGOBZ3IFG409RWCffHZSD9Qqfz4J1sMcFTaX0pjZ+m4x7Q1fdmrb05aY9xG13yUIyBqju+/0+8g2rOGybbf38gzwrlwHdLum3pvEvqu4N3+4MRFHRjD4UKh+vjSdu4cpu4t1rGYqmA+8LagLze/rsxnHxv8xy1EJpEVYWQLsk8hhMHDCeNP5SrlxUdgGGRJ//JlUYc+nw5ZxmaN3lYwVfxa5shVcvGpHZyBpTWAkOpps+JRsjF3HSthYE6Tx7bIlVemPNDkjptmUZPwtAgXo3F57NEj/K3LuvwNbY566sqEahj7NQronAhAmMaTsmOjFrYV1OgpopNwRJ2rlojKx70RsqkNMyycLyUoyeaY8IJOsJumWmEvoNVYhi3xlRK7KkyZc3ZNS4wq42kW8QdG2k8orF61dOHe8u4oM8MKFxHM6Q/uAqRccK/Z0mqhkBB4z7cQY3CZ+EhXZX1Selys6PDhG2X5Q3PeMcdCJRA1oizL0kh8jBpB4Qs4fyDjMAL2Ns6AqZ/exvzCt5G0ejBiJHDJE8GSK1HnB9mLzD9yWLwTKJ7MzorgWBNp1Wo4vOmK0H0jO2FftkXh+FAnxDvxdBZ4HTJqp8ngqifSF8kXL35baiweHUY5gm2gL9XBwsoIiOoOOby3YAkvWwZmcBJFo6HGjUtMT/MlShLYkOCDMm/dwHXHhKGZx5Rnix7OEECXZG/sofDnmOwsiO30+7w6SgXlcBHCKbM7j9ltw3fw5oiUcTccD66nzOrXMbwMDknTUgFOXyUt69QJwy6ve69rz6xTMAT4+6B7xLZy37qCCRtfKXj+ca/Bnk5QRPQ/g== X-Forefront-PRVS: 0267E514F9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR05MB3580; 23:nDSdVJqqxJ0DFe8f8e965RC0ue9p77YasSfLaYM+Q?= =?us-ascii?Q?g3HQuhP4xE+YpF5Aq9cSsFG7BVyfxfR001d5wrbRvpthlG8tTJO5r+blElQi?= =?us-ascii?Q?L/Ec8yP1kaEk/zaPmKNTcLYxrYLdzTqi9h6eBK456sEFnyt3+bZuLocFb+a+?= =?us-ascii?Q?yvSTGD7KZwKbRP5ybze0Hfp60RlsyvhxkFnqfvhbhfYDpt0dQpSBzACOeJNk?= =?us-ascii?Q?PRB/Y/TG7jL4NkxZGC+iJujUek2oeuy/3BbqmHb7uahYk6u3F2zz1GE2JRkS?= =?us-ascii?Q?f8sj67BGdLtt8UnPY6pgjuPOVrtreE9mVwa1WE9rDfFGc8xNxAVfkdv+G37e?= =?us-ascii?Q?nDLYIMMcfiUzhy7ocmZupBfSOxLpoBWz0zpK+F+YCcgtphKJnS92BclLbMLS?= =?us-ascii?Q?ik64hsRbuTT0pMYUw6S/FrR1ky2j88zya28997EGD675XuGuyqc462DbxliW?= =?us-ascii?Q?QLnANlb70Rfr7khNbi/z6fm9rVH3nzqlMN3nVmSVG540hMGZUHLFUq2SGHYE?= =?us-ascii?Q?78hDULMyWipF2EhiNDcEsnfE1SD7CLzYYYXgVWHQC6K7Dxeei90bi5141nxw?= =?us-ascii?Q?F6Rinx3vW9UidsB9oi0F65TPvn8dXOAjmO76WNtpmNvr/TPD3EoBtmi2Q086?= =?us-ascii?Q?Vy7vzjM7Gs1yXruJdEFr2zEvm9yxTrqk6Tz1pXCFRwjgrSMSn4CMqDpAjpMc?= =?us-ascii?Q?AdvUwoLcwUoq6SqwikZEqamvKxKQyed+lUBFAEIa8Wh7cEe+D0KMPUga1xu2?= =?us-ascii?Q?GvYXCzGac/CGRQAsXYBOgDWNwfE8jWlh7ML1R/F2iAncg9+uT4q//i0ZsClc?= =?us-ascii?Q?RLCrCUZhZaHnKacb0bOL1wQJ1Q8Dmexqoh6YyF8yWKQOfn7akbBMwBCWdjdf?= =?us-ascii?Q?Ak0OI1YRfiRkkpDkiT6ZkQshbvxurfwfPTCfhfxWmC/DO3gdBB/T0o3vujLz?= =?us-ascii?Q?pxmgkIdshcRsCNhdLbAmrsS9NUADgLk5r+pA8kcJacW3h0ro4h74AYNo2xBt?= =?us-ascii?Q?3Z22eCAHxoUUJrRAlbeqcIRfdXPO3eozQWi4d6vboSmjIAUUNH5wTFE1IaNb?= =?us-ascii?Q?sANZEeOSfHEdzH5q+iEBUyq9nA3oX2CvsVJNP0xINpYQxs3yz1UX+wY809UE?= =?us-ascii?Q?tn0N/TFlkq8NrI+sF0dr0u91k1RBVb851OXYSZhsA64UB7CZk/fak74sBZWy?= =?us-ascii?Q?vR3Qp43vHFaw3DjQDac5WmD9tAm9MoByZmFaNm536Jw/DpIAzHvuiyw/TLGB?= =?us-ascii?Q?YoOs5B75dCezUd3X1xGGBPdpNpxea6My4CDz8KssQ43UJ/A4H5GnQi3AHu9N?= =?us-ascii?B?UT09?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 6:hwpdJ07MOPoN/MDiMDFpSV6EiTXI9mJLOFLsYR2g5xlcl4T1GnberhUDn+lmVIGw32JY39XfWZaaju9+0lj/XA7O5ovDw1ffXhKyaOfgkjyXu15Wiq06m1S/o/UqQ+UTRiPKOwOAZE5msDAwhJ2FNwWQDVyLmVMfskaQBpsxQCZyllkjUziUflkQ7eoXbuiLz38LHO+7EwoDkizLOT1MQmmvxX6biebBFbs6e4wr4pqG31bJI2TI6K65B9+msHE/kgoxEZHZTU84enJ/myp27yhI9GFjk0ON+fZj/R7iv67eQF3sVX6Qh5hBPKT+iojScZI4bsIaNawboW/kKID2rZodd4rA559XEzc/PgEOSIu64hhdcq7TVqARakdz481lgglIQlwM6T1AX3fEPiE1EA==; 5:dq4xQVI40HEcNovcbvFEFC3QaOfWX3wa9y7Z0MZFOk1Q5llmJwmRwnokQrFHsSs0rYLoUc4OA57aWN3r2QYuOBgtCAOMOf8PQ+FVm+CztBlDHBPu7oa0ZsBot3Isx7ZtLtTf8xfGBeEnbjOEJvF+QA==; 24:6xvr3q9G5G4Lo1MtwIJEoQhmD4uxsIU+3NO5mQtb5g33aRfNFRnrYh/fbLVMJKPeUOM7ANcpDrr0jqynqKWz6hTbmEMD8yGw0rLiyFV+VIE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR05MB3580; 7:w+hz1Vq9bRVoHPs7W0EUs1GXvoT72z8fyj7X+EjSULbXoVQ8uv4C+RbavNlyLqW+aRxb1HNifPe0EBNCIr1NcMXqEQznLqb9GsVJE8k/o9uq+cHtj9sMdbDJG9Gqhs6x+U/rv2ymmXmh2tWnv7xgK3XC8g5pS7FFSjg1NjPBeSJuE57lqQcCO6sbNV7tEWDE9XcbwqAX5zNgsE0M/ulOkcyVS+3ks2X0pT4+cHdlDKoW/8l9NKOrCk/wf07UubVYs8NX/p6zhDXqwJAOs9b39XERPUiOgd73+e71rOoImKahbOInfmzYXT8nWTcLwOcFh4oiXTfeGUPxxH7/Plf0Wg==; 20:Dwdrhfaxh3PWVwmMuLdwe7soPPOdOcLkre8aeQgNSwl414LXyTdqgsvH0PapHeTBJ5bnEhaxWIaztwjNqELTKiyyeXLBqJ5aLb+SNjNPCdsvTuYr6diMRsrsqcTx1jUkB6J7xtNhHgOCBr9/yloEila2DfKPZRVPMo+58d4ABrA= X-OriginatorOrg: ksu.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2017 13:41:51.9315 (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-smtp2.campus.ksu.edu] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR05MB3580 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Apr 2017 13:41:55 -0000 On Tue, Apr 4, 2017 at 8:19 AM, Andrey Chernov wrote: > On 04.04.2017 16:09, Kyle Evans wrote: > > > > First, apologies, I must rewind: what did you mean initially by "We > > don't need to handle internally [...]" > > -- the second half I understand, but it occurs to me that we should > > already be internally handling \33[m = \33[00m as defined by ANSI. > > Of course we must handle (and already handle) both according to ANSI, > but few CPU cycles here, then in another place, yet another, etc. making > big time in sum when CPU does nothing useful but resource eating. I'm omitting a response to this due to the previously mentioned "letting others weigh in," but I do see where you're coming from. =) I see another problem, but it sounds a bit artificially. What if someone > decides to parse grep-colored output and assumes gnu grep only (which is > usual in Linux). I can't determine probability of such situation. > Usually people use generic ANSI parser which understand both cases (f.e. > to convert it to HTML). I agree that this sounds like an artificially conceived situation. On the other hand, we've seen a lot of people make *a lot* of bad assumptions biased towards Linux over in ports. I would hope that the probability of one relying on this exact output to be really really really really close to 0%. Upon further review, newer versions of GNU grep(1) drop the explicit '00' and add the \33[K dropped in this commit a few lines above the mentioned one. In that case, we might as well revert those two lines and consider this an improvement. I guess it depends on the overall outlook of the tests, though -- should we introduce more tests that fail by default as they go in, or adapt similar (not strictly buggy, but not ideal) behavior to start with and then improve after we can grant bsdgrep(1) replacement status?