Merge branch 'rs/opt-parse-long-fixups'
commit7a01b444638a2704befcd4c24e1d441b818ae67b
authorJunio C Hamano <gitster@pobox.com>
Thu, 21 Mar 2024 21:55:12 +0000 (21 14:55 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 21 Mar 2024 21:55:12 +0000 (21 14:55 -0700)
treef2680306b487743f168c2aec60603690e31e289f
parent3bd955d26919e149552f34aacf8a4e6368c26cec
parent28a92478b825a4a2c7c2c0c6b725ce92cd0b83e0
Merge branch 'rs/opt-parse-long-fixups'

The parse-options code that deals with abbreviated long option
names have been cleaned up.

Reviewed-by: Josh Steadmon <steadmon@google.com>
cf. <ZfDM5Or3EKw7Q9SA@google.com>

* rs/opt-parse-long-fixups:
  parse-options: rearrange long_name matching code
  parse-options: normalize arg and long_name before comparison
  parse-options: detect ambiguous self-negation
  parse-options: factor out register_abbrev() and struct parsed_option
  parse-options: set arg of abbreviated option lazily
  parse-options: recognize abbreviated negated option with arg