{"thread":{"id":"27450","subject":"t7810.94 (git-grep -E -F -G) never passed","startedAt":"2011-05-25T03:27:59Z","lastAt":"2011-05-25T21:22:30Z","messageCount":4,"participants":["Brian Gernhardt","Michael J Gruber","Michał Kiedrowicz"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"168625","messageId":"BE19630B-8E48-4CA8-B956-A4DC767BFFDD@gernhardtsoftware.com","threadId":"27450","inReplyTo":null,"subject":"t7810.94 (git-grep -E -F -G) never passed","fromName":"Brian Gernhardt","fromEmail":"brian@gernhardtsoftware.com","sentAt":"2011-05-25T03:27:59Z","receivedAt":"2011-05-25T03:27:59Z","isPatch":false,"sender":{"key":"brian@gernhardtsoftware.com","avatar":"https://avatars.githubusercontent.com/u/133455?v=4"},"body":"I'm not sure why it's supposed to pass, actually.  -G makes the pattern be a basic regex and basic regexen don't recognize the + repetition operator.\n\nexpecting success: \n\techo ab:aab >expected &&\n\tgit grep -E -F -G a\\\\+b >actual &&\n\ttest_cmp expected actual\n\n--- expected\t2011-05-25 03:19:05.000000000 +0000\n+++ actual\t2011-05-25 03:19:05.000000000 +0000\n@@ -1 +1 @@\n-ab:aab\n+ab:a+b\nnot ok - 94 grep -E -F -G pattern\n\n~~ Brian G"},{"id":"168634","messageId":"4DDCD845.1030800@drmicha.warpmail.net","threadId":"27450","inReplyTo":"BE19630B-8E48-4CA8-B956-A4DC767BFFDD@gernhardtsoftware.com","subject":"Re: t7810.94 (git-grep -E -F -G) never passed","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-05-25T10:21:57Z","receivedAt":"2011-05-25T10:21:57Z","isPatch":false,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Brian Gernhardt venit, vidit, dixit 25.05.2011 05:27:\n> I'm not sure why it's supposed to pass, actually.  -G makes the pattern be a basic regex and basic regexen don't recognize the + repetition operator.\n> \n> expecting success: \n> \techo ab:aab >expected &&\n> \tgit grep -E -F -G a\\\\+b >actual &&\n> \ttest_cmp expected actual\n> \n> --- expected\t2011-05-25 03:19:05.000000000 +0000\n> +++ actual\t2011-05-25 03:19:05.000000000 +0000\n> @@ -1 +1 @@\n> -ab:aab\n> +ab:a+b\n> not ok - 94 grep -E -F -G pattern\n\n\"Never\" is a strong statement when this test always passed for everyone\nelse running tests, assuming they would have reported otherwise. What's\nyour system?\n\nreg-ex.info says:\n\n\"The other BRE metacharacters require a backslash to give them their\nspecial meaning.\"\n\n\"Some implementations support \\? and \\+... but \\? and \\+ are not part of\nthe POSIX standard.\"\n\nSo I guess we're going with \"some\".\n\nMichael\n"},{"id":"168644","messageId":"1AEF57D5-49E0-4F37-BE8D-DEBD25965D83@gernhardtsoftware.com","threadId":"27450","inReplyTo":"4DDCD845.1030800@drmicha.warpmail.net","subject":"Re: t7810.94 (git-grep -E -F -G) never passed","fromName":"Brian Gernhardt","fromEmail":"brian@gernhardtsoftware.com","sentAt":"2011-05-25T12:48:08Z","receivedAt":"2011-05-25T12:48:08Z","isPatch":false,"sender":{"key":"brian@gernhardtsoftware.com","avatar":"https://avatars.githubusercontent.com/u/133455?v=4"},"body":"\nOn May 25, 2011, at 6:21 AM, Michael J Gruber wrote:\n\n> \"Never\" is a strong statement when this test always passed for everyone\n> else running tests, assuming they would have reported otherwise. What's\n> your system?\n\nMy apologies.  It was late and I wasn't explicit enough.  What I meant was:\n\n\"This test has failed on my system ever since the commit that introduced it.\"\n\nMy system is running OS X 10.6.7.\n\n> reg-ex.info says:\n> \n> \"The other BRE metacharacters require a backslash to give them their\n> special meaning.\"\n> \n> \"Some implementations support \\? and \\+... but \\? and \\+ are not part of\n> the POSIX standard.\"\n> \n> So I guess we're going with \"some\".\n\nSome would be right.  I tend to find that the BSD (and BSD-like) libraries on OS X are more strict and have less features than the GNU equivalents.  (The fact that OS X's libreadline is actually the only mostly compatible libedit drives me batty sometimes.)\n\nThis does leave us with the question of what to do with the test.  Perhaps a pattern like \"a*+b\" to match \"aa+b\"?  Plain + should always match just + in a BRE, even if \\+ is special, and the * makes sure that it is a regex instead of plain string matching.\n\n~~ Brian\n"},{"id":"168719","messageId":"loom.20110525T231844-341@post.gmane.org","threadId":"27450","inReplyTo":"1AEF57D5-49E0-4F37-BE8D-DEBD25965D83@gernhardtsoftware.com","subject":"Re: t7810.94 (git-grep -E -F -G) never passed","fromName":"Michał Kiedrowicz","fromEmail":"michal.kiedrowicz@gmail.com","sentAt":"2011-05-25T21:22:30Z","receivedAt":"2011-05-25T21:22:30Z","isPatch":false,"sender":{"key":"michal.kiedrowicz@gmail.com","avatar":"https://avatars.githubusercontent.com/u/14072847?v=4"},"body":"Brian Gernhardt <brian <at> gernhardtsoftware.com> writes:\n\n> \n> Some would be right.  I tend to find that the BSD (and BSD-like) libraries on\nOS X are more strict and have less\n> features than the GNU equivalents.  (The fact that OS X's libreadline is\nactually the only mostly\n> compatible libedit drives me batty sometimes.)\n> \n> This does leave us with the question of what to do with the test.  Perhaps a\npattern like \"a*+b\" to match\n> \"aa+b\"?  Plain + should always match just + in a BRE, even if \\+ is special,\nand the * makes sure that it is a\n> regex instead of plain string matching.\n> \n> ~~ Brian\n> \n> \n\nYou're right about \\+ in BRE. I guess I missed that because glibc's\nimplementation isn't strict BRE. I'll post a patch that fixes this problem.\nThanks for catching this up!\n"}]}