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

Re: [PATCH 2/3] Revert "send-email: extract email-parsing code into a subroutine"

From
Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Date
Oct 23, 2023, 19:50 UTC
Message-ID
<ZTbOnsxBFERPLN3F@ugly>
In-Reply-To
<20231023184010.GA1537181@coredump.intra.peff.net>
On Mon, Oct 23, 2023 at 02:40:10PM -0400, Jeff King wrote:
Show 7 quoted lines
>On Fri, Oct 20, 2023 at 12:45:43PM +0200, Oswald Buddenhagen wrote:
>> that seems like a rather significant point, doesn't it?
>
>Maybe. It depends on whether anybody is interested in adding
>continuation support. Nobody has in the previous 18 years, and nobody
>has asked for it.
>

dunno, it seems like a bug to me. so if i cared at all about this functionality, i'd fix it just because. so at least it doesn't seem nice to make it harder for a potential volunteer.

Show 14 quoted lines
>> > So another option is to just fix the individual bugs separately.
>> > 
>> ... so that seems preferable to me, given that the necessary fixes 
>> seem
>> rather trivial.
>
>They're not too bad. Probably:
>
>  1. lc() the keys we put into the hash
>
>  2. match to/cc/bcc and dereference their arrays
>
>  3. maybe handle 'body' separately from headers to avoid confusion
>

with the header keys lowercased, one could simply use BODY as the key and be done with it.

>But there may be other similar bugs lurking.
>One I didn't mention: the
>hash-based version randomly reorders headers!
>

hmm, yeah, that would mean using Tie::IxHash if one wanted to do it elegantly, at the cost of depending on another non-core module.

also, it means that another hash with non-lowercased versions of the keys would have to be kept.

ok, that's stupid. it would be easier to just keep an additional array of the original keys for iteration, and check the hash before emitting them.

Show 9 quoted lines
>> > I guess "readable" is up for debate here, but I find the inline handling
>> > a lot easier to follow
>> > 
>> any particular reason for that?
>
>For the reasons I gave in the commit message: namely that the matching
>and logic is in one place and doesn't need to be duplicated (e.g., the
>special handling of to/cc/bcc, which caused a bug here).
>

from what i can see, there isn't really anything to "match", apart from agreeing on the data structure (which the code partially failed to do, but that's trivial enough). and layering/abstracting things is usually considered a good thing, unless the cost/benefit ratio is completely backwards.

>The "//" one would
>work, but we support perl versions old enough that they don't have it.
>

according to my grepping, that ship has sailed. also, why _would_ you support such ancient perl versions? that makes even less sense to me than supporting ancient c compilers.

regards
Previous: Jeff KingNext: Jeff King
Message 23 of 47 in “[REGRESSION] uninitialized value $address in git send-email when given multiple recipients separated by commas”
  1. Bagas SanjayaSep 22, 2023
  2. Jeff KingSep 24, 2023
  3. Bagas SanjayaSep 25, 2023
  4. Jeff KingSep 25, 2023
  5. Todd ZullingerSep 25, 2023
  6. Jeff KingSep 25, 2023
  7. Bagas SanjayaOct 11, 2023
  8. Michael StrawbridgeOct 11, 2023
  9. send-email: move process_address_list earlier to avoid, uninitialized address errorMichael Strawbridge, Oct 11, 2023
  10. Michael StrawbridgeOct 11, 2023
  11. Junio C HamanoOct 11, 2023
  12. Jeff KingOct 11, 2023
  13. Junio C HamanoOct 11, 2023
  14. Jeff KingOct 11, 2023
  15. Michael StrawbridgeOct 13, 2023
  16. Jeff KingOct 20, 2023
  17. Jeff KingOct 20, 2023
  18. 0/3 some send-email --compose fixesJeff King, Oct 20, 2023
  19. 1/3 doc/send-email: mention handling of "reply-to" with --composeJeff King, Oct 20, 2023
  20. 2/3 Revert "send-email: extract email-parsing code into a subroutine"Jeff King, Oct 20, 2023
  21. Oswald BuddenhagenOct 20, 2023
  22. Jeff KingOct 23, 2023
  23. Oswald BuddenhagenOct 23, 2023
  24. Jeff KingOct 25, 2023
  25. Oswald BuddenhagenOct 25, 2023
  26. Junio C HamanoOct 27, 2023
  27. Jeff KingOct 30, 2023
  28. Junio C HamanoOct 20, 2023
  29. Jeff KingOct 23, 2023
  30. 3/3 send-email: handle to/cc/bcc from --compose messageJeff King, Oct 20, 2023
  31. Eric SunshineOct 20, 2023
  32. Junio C HamanoOct 20, 2023
  33. Jeff KingOct 23, 2023
  34. Michael StrawbridgeOct 24, 2023
  35. send-email: move validation code below process_address_listMichael Strawbridge, Oct 24, 2023
  36. Junio C HamanoOct 24, 2023
  37. Junio C HamanoOct 24, 2023
  38. Michael StrawbridgeOct 25, 2023
  39. send-email: move validation code below process_address_listMichael Strawbridge, Oct 25, 2023
  40. Junio C HamanoOct 26, 2023
  41. Michael StrawbridgeOct 26, 2023
  42. Jeff KingOct 25, 2023
  43. Michael StrawbridgeOct 25, 2023
  44. Uwe Kleine-KönigOct 25, 2023
  45. Junio C HamanoOct 27, 2023
  46. Bagas SanjayaOct 20, 2023
  47. Bagas SanjayaSep 26, 2023

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.