git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v5 1/1] send-email: Add sendmail email aliases format

From
Eric Sunshine <sunshine@sunshineco.com>
Date
May 26, 2015, 20:53 UTC
Message-ID
<CAPig+cQoUrAhpvyrBTFyDDjaZt8brkhhw3aehC-hNeS7gND6jw@mail.gmail.com>
In-Reply-To
<CAJ80sasp6kNgbJJw-2TzZnPPDVgYdAwwsdh=hNH4xxu1TBtiyA@mail.gmail.com>
On Tue, May 26, 2015 at 3:41 PM, Allen Hubbe <allenbh@gmail.com> wrote:
Show 30 quoted lines
> On Tue, May 26, 2015 at 3:10 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:
>> On Saturday, May 23, 2015, Allen Hubbe <allenbh@gmail.com> wrote:
>>> diff --git a/git-send-email.perl b/git-send-email.perl
>>> index e1e9b1460ced..ffea50094a48 100755
>>> --- a/git-send-email.perl
>>> +++ b/git-send-email.perl
>>> @@ -516,6 +518,33 @@ my %parse_alias = (
>>>                           }
>>>                       } },
>>>
>>> +       sendmail => sub { my $fh = shift; while (<$fh>) {
>>> +               # ignore comment lines
>>> +               if (/^\s*(?:#.*)?$/) { }
>>
>> This confused me at first because the comment talks only about
>> "comment lines", for which a simpler /^\s*#/ would suffice. The regex,
>> however, actually matches blank lines and comment lines (both of which
>> get skipped). Either the comment should be fixed or the regex could be
>> split into two much simpler ones. The splitting into simpler regex's
>> has the benefit of being easier to comprehend at a glance. For
>> instance:
>>
>>     next if /^\s*$/;
>>     next if /^\s*#/;
>
> I noticed this too after sending the patch, and I have already changed
> the comment to mention blank lines or comment lines.
>
> Splitting the regex would be more simple, but the regex is already
> quite simple as it is.

To be clear, the reason that I brought up the idea of splitting the regex was that /^\s*$/ and /^\s*#/ are very common idioms which people can and do recognize and understand at-a-glance without having to spend time deciphering them. On the other hand, /^\s*(?:#.*)?$/ doesn't lend itself to that sort of instant comprehension; it requires a certain amount of mental effort to understand.

Anyhow, it's just an idea put forth in case you or someone favors it; not an outright request for a change.

Show 10 quoted lines
>>> +               # recognize lines that look like an alias
>>> +               elsif (/^(\S+)\s*:\s*(.+?)$/) {
>>
>> Observation: Given "foo:bar:baz", this regex will take "foo:bar" as
>> the key, and "baz" as the value, which is probably not what was
>> intended, however, it likely doesn't matter much in this case since
>> colon isn't legal in an email address[1].
>
> That's a keen observation.  I think it would work simply to use a
> non-greedy +? in the first capture group.
Yes, that would work. Alternately: /^([^\s:]+)\s*:\s*(.+?)$/
Previous: Allen HubbeNext: Allen Hubbe
Message 19 of 20 in “send-email: Add sendmail email aliases format”
  1. 1/1 send-email: Add sendmail email aliases formatAllen Hubbe, May 23, 2015
  2. Junio C HamanoMay 23, 2015
  3. Junio C HamanoMay 23, 2015
  4. Allen HubbeMay 23, 2015
  5. Junio C HamanoMay 23, 2015
  6. Allen HubbeMay 23, 2015
  7. Allen HubbeMay 25, 2015
  8. Junio C HamanoMay 25, 2015
  9. Junio C HamanoMay 25, 2015
  10. Junio C HamanoMay 25, 2015
  11. Allen HubbeMay 26, 2015
  12. Junio C HamanoMay 26, 2015
  13. Allen HubbeMay 26, 2015
  14. Junio C HamanoMay 26, 2015
  15. Junio C HamanoMay 26, 2015
  16. Eric SunshineMay 26, 2015
  17. Eric SunshineMay 26, 2015
  18. Allen HubbeMay 26, 2015
  19. Eric SunshineMay 26, 2015
  20. Allen HubbeMay 26, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.