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

Re: [PATCH RFC 3/6] send-email: Handle "GIT:" rather than "GIT: " during --compose

From
Michael Witten <mfwitten@gmail.com>
Date
Apr 11, 2009, 20:45 UTC
Message-ID
<b4087cc50904111345v4787f38al9d7d234de8a6d24e@mail.gmail.com>
In-Reply-To
<7vprfjf11h.fsf@gitster.siamese.dyndns.org>
On Sat, Apr 11, 2009 at 14:22, Junio C Hamano <gitster@pobox.com> wrote:
Show 12 quoted lines
> Michael Witten <mfwitten@gmail.com> writes:
>
>> This should make things a little more robust in terms of user input;
>> before, even the program got it wrong by outputting a line with only
>> "GIT:", which was left in place as a header, because there would be
>> no following space character.
>
> An alternative could be to add an extra space after the "GIT:" on the
> lines the compose template generated by this program, but people can set
> their editors to strip trailing whitespaces, so I think yours is a better
> approach.  I suspect this patch comes from your own experience of getting
> bitten by this once, perhaps?

My first thought was indeed just to add an extra space, but it occurred to me that it's not easily remembered. Consider the original documentation:

> If the body of the message (what you type after the headers and a blank line) only contains blank (or GIT: prefixed) lines the summary won't be sent
>> Also, I cleaned up get_patch_subject().
>
> Which is a bit iffy.  It does not belong to the primary topic of the patch
> to begin with, so it shouldn't be in here even if it weren't iffy.
I can split it into another patch.
> Because "while (<>)" does not localize $_, you are clobbering it in the
> caller's context.  I do not know if any of the the existing callers cares,
> but it is a change in behaviour.
How about:
    while (local $_ = <$fh>)
Or, in our case, this:
    while (my $_ = <$fh>)

In testing these, I came across behavior that I think is incorrect, and I have a mind to complain about it to the perl guys:

# Well! the print `function' doesn't seem to play by the rules.

# Example 0 # I expect the output to be: # 1 # 1 # 3 # and I am right!

$_ = 3;
{
  local $_ = 1;
  print; print "\n";
  print $_; print "\n";
}
print; print "\n";
##############################################

# Example 1 # I expect the output to be: # 3 # 1 # 3 # But it is: # 1 # 1 # 3

$_ = 3;
{
  my $_ = 1;
  print; print "\n";
  print $_; print "\n";
}
print; print "\n";
###############################################

# Example 2 # I expect the output to be: # 1 # 1 # 3 # and I am right!

sub my_print {
  print(shift or $_);
}
$_ = 3;
{
  local $_ = 1;
  my_print; print "\n";
  my_print $_; print "\n";
}
my_print; print "\n";
###############################################

# Example 3 # I expect the output to be: # 3 # 1 # 3 # and I am right this time!

sub my_print {
  print(shift or $_);
}
$_ = 3;
{
  my $_ = 1;
  my_print; print "\n";
  my_print $_; print "\n";
}
my_print; print "\n";
Previous: Junio C HamanoNext: Junio C Hamano
Message 18 of 30 in “send-email: Add --delay for separating emails”
  1. 1/6 send-email: Add --delay for separating emailsMichael Witten, Apr 7, 2009
  2. 2/6 send-email: --smtp-server-port should take an integerMichael Witten, Apr 7, 2009
  3. 3/6 send-email: Handle "GIT:" rather than "GIT: " during --composeMichael Witten, Apr 7, 2009
  4. 4/6 send-email: --compose takes optional argument to existing fileMichael Witten, Apr 7, 2009
  5. 5/6 send-email: Cleanup the usage text a bitMichael Witten, Apr 7, 2009
  6. 6/6 send-email: Remove horrible mix of tabs and spacesMichael Witten, Apr 7, 2009
  7. demerphqApr 7, 2009
  8. Michael WittenApr 7, 2009
  9. demerphqApr 7, 2009
  10. demerphqApr 7, 2009
  11. Jeff KingApr 7, 2009
  12. Andreas EricssonApr 7, 2009
  13. Tomas CarneckyApr 7, 2009
  14. Jeff KingApr 8, 2009
  15. Junio C HamanoApr 11, 2009
  16. Junio C HamanoApr 11, 2009
  17. Junio C HamanoApr 11, 2009
  18. Michael WittenApr 11, 2009
  19. Junio C HamanoApr 12, 2009
  20. Michael WittenApr 12, 2009
  21. Junio C HamanoApr 7, 2009
  22. Junio C HamanoApr 11, 2009
  23. Wesley J. LandakerApr 11, 2009
  24. Michael WittenApr 11, 2009
  25. Jeff KingApr 7, 2009
  26. 1/6 Re: send-email: Add --delay for separating emailsNicolas Sebrecht, Apr 7, 2009
  27. Andreas EricssonApr 7, 2009
  28. Jeff KingApr 8, 2009
  29. Jeff KingApr 8, 2009
  30. Junio C HamanoApr 7, 2009

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.