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

Re: [PATCH v3] help: interpret boolean string values for help.autocorrect

From
Scott Chacon <schacon@gmail.com>
Date
Jan 13, 2025, 09:31 UTC
Message-ID
<CAP2yMa+Upc0i688H5+no3sYbz5X-Ma=KBuaVALpPBdNDHuG8QA@mail.gmail.com>
In-Reply-To
<20250113054355.GB767856@coredump.intra.peff.net>
On Mon, Jan 13, 2025 at 6:43 AM Jeff King <peff@peff.net> wrote:
Show 23 quoted lines
>
> On Sat, Jan 11, 2025 at 11:27:19AM +0000, Scott Chacon via GitGitGadget wrote:
>
> > Interpret the value of help.autocorrect as either one of the accepted list
> > of special values ("never", "immediate", ...), a boolean or an integer. If
> > the value is 1, it is no longer interpreted as a decisecond value of 0.1s
> > but as a true boolean, the equivalent of "immediate". If the value is 2 or
> > more, continue treating it as a decisecond wait time.
>
> This mostly looks good to me, though this part gave me a little pause:
>
> > False boolean string values ("off", "false", "no") are now equivalent to
> > "never", meaning that guessed values are still shown but nothing is
> > executed. True boolean string values are interpreted as "immediate".
>
> I think false boolean values end up as "never", which shows _nothing_.
> As opposed to "0", which continues to be "show but do not execute" (and
> which we can't change if we want to retain historical compatibility).
>
> That's probably OK, though it is a little unlike other bools in that "0"
> is usually a strict synonym for "false". So we could go the other way,
> with "0, false, off, no" meaning "show but don't run" and leaving
> "never" by itself to mean "do nothing".

Yeah, the first patch I sent that interpreted booleans actually did do 0 rather than "never", but Junio continued to suggest that this returns "never" so I did it this way in this latest patch.

I looked for a hot second into how to do this, but the problem is that `parse_autocorrect` can't return 0 because that's the failure mode, so then we would need another constant or some other way to return something that means "don't run, but also show the matches", which right now is only this special value 0.

Honestly, I think "never" is a fine option if someone is actually explicitly setting this to a false string, even if it's _slightly_ inconsistent with the 0 value.

Show 6 quoted lines
> OK, so parse_autocorrect() handles all of the non-numeric values. And
> then we fall back on the integer values. Makes sense.
>
> So assuming we are OK with the "0" vs "false" split, the whole patch
> looks good to me, modulo the nit about folding the "immediate" line in
> the documentation.
OK, sending v4 now with just the docs change.

Thanks, Scott

Previous: Jeff KingNext: Junio C Hamano
Message 15 of 24 in “help: interpret help.autocorrect=1 as "immediate" rather than 0.1s”
  1. help: interpret help.autocorrect=1 as "immediate" rather than 0.1sScott Chacon via GitGitGadget, Jan 8, 2025
  2. Kristoffer HaugsbakkJan 8, 2025
  3. Johannes SchindelinJan 9, 2025
  4. Taylor BlauJan 13, 2025
  5. Junio C HamanoJan 9, 2025
  6. YongminJan 9, 2025
  7. help: interpret boolean string values for help.autocorrectScott Chacon via GitGitGadget, Jan 9, 2025
  8. Junio C HamanoJan 9, 2025
  9. Scott ChaconJan 10, 2025
  10. Scott ChaconJan 10, 2025
  11. Jeff KingJan 10, 2025
  12. Junio C HamanoJan 10, 2025
  13. help: interpret boolean string values for help.autocorrectScott Chacon via GitGitGadget, Jan 11, 2025
  14. Jeff KingJan 13, 2025
  15. Scott ChaconJan 13, 2025
  16. Junio C HamanoJan 13, 2025
  17. Junio C HamanoJan 18, 2025
  18. help: interpret boolean string values for help.autocorrectScott Chacon via GitGitGadget, Jan 13, 2025
  19. 1/2 help: show the suggested command when help.autocorrect is falseDavid Aguilar, Feb 1, 2025
  20. 2/2 help: add "show" as a valid configuration valueDavid Aguilar, Feb 1, 2025
  21. Junio C HamanoFeb 3, 2025
  22. Junio C HamanoFeb 3, 2025
  23. Jeff KingFeb 4, 2025
  24. Junio C HamanoFeb 4, 2025

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.