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

Re: [PATCH v2 1/5] t3430: drop unnecessary one-shot "VAR=val shell-func" invocation

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Jul 26, 2024, 19:32 UTC
Message-ID
<CAPig+cSOggARypGJzjKBe82DtdFGz9OGKm55sB5_pj2d79fD=Q@mail.gmail.com>
In-Reply-To
<xmqqplr0t2bo.fsf@gitster.g>
On Fri, Jul 26, 2024 at 2:50 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 20 quoted lines
> Eric Sunshine <ericsunshine@charter.net> writes:
> > The behavior of a one-shot environment variable assignment of the form
> > "VAR=val cmd" is undefined according to POSIX when "cmd" is a shell
>
> Please use the right word to describe what the standard says.
>
> Throughout the topic's discussion, you seem to be repeating
> "undefined", but the word POSIX uses for this particular unportable
> behaviour is "unspecified".  The differences are subtle, and for
> programs that want to be conformant, there is no practical
> difference (in other words, we should not rely on the existence or
> validity of the value or behaviour if we wanted to be portable).
>
> The former is what results from use of an invalid construct or
> feeding an invalid data input.  The implementation can do whatever
> it wants to do once you trigger an undefined behaviour.  The latter
> is what results from use of a valid construct or valid data input,
> but outcome may differ across implementations.  An "unspecified"
> behaviour often are still consistent and sensible within a single
> conformant implementation.
Makes sense. Will adjust the commit messages.
Previous: Junio C HamanoNext: Eric Sunshine
Message 26 of 37 in “improve one-shot variable detection with shell function”
  1. 0/4 improve one-shot variable detection with shell functionEric Sunshine, Jul 22, 2024
  2. 2/4 t4034: fix use of one-shot variable assignment with shell functionEric Sunshine, Jul 22, 2024
  3. 1/4 t3430: modernize one-shot "VAR=val shell-func" invocationEric Sunshine, Jul 22, 2024
  4. Phillip WoodJul 22, 2024
  5. Phillip WoodJul 23, 2024
  6. Eric SunshineJul 26, 2024
  7. Eric SunshineJul 26, 2024
  8. Junio C HamanoJul 22, 2024
  9. Eric SunshineJul 26, 2024
  10. 3/4 check-non-portable-shell: improve `VAR=val shell-func` detectionEric Sunshine, Jul 22, 2024
  11. Rubén JustoJul 22, 2024
  12. Eric SunshineJul 26, 2024
  13. Rubén JustoJul 26, 2024
  14. Kyle LippincottJul 22, 2024
  15. Junio C HamanoJul 22, 2024
  16. Kyle LippincottJul 22, 2024
  17. Junio C HamanoJul 22, 2024
  18. 4/4 check-non-portable-shell: suggest alternative for `VAR=val shell-func`Eric Sunshine, Jul 22, 2024
  19. Rubén JustoJul 22, 2024
  20. Rubén JustoJul 22, 2024
  21. 0/5 improve one-shot variable detection with shell functionEric Sunshine, Jul 26, 2024
  22. 2/5 t4034: fix use of one-shot variable assignment with shell functionEric Sunshine, Jul 26, 2024
  23. 3/5 check-non-portable-shell: loosen one-shot assignment error messageEric Sunshine, Jul 26, 2024
  24. 1/5 t3430: drop unnecessary one-shot "VAR=val shell-func" invocationEric Sunshine, Jul 26, 2024
  25. Junio C HamanoJul 26, 2024
  26. Eric SunshineJul 26, 2024
  27. 4/5 check-non-portable-shell: suggest alternative for `VAR=val shell-func`Eric Sunshine, Jul 26, 2024
  28. Rubén JustoJul 26, 2024
  29. Eric SunshineJul 26, 2024
  30. 5/5 check-non-portable-shell: improve `VAR=val shell-func` detectionEric Sunshine, Jul 26, 2024
  31. Junio C HamanoJul 26, 2024
  32. 0/5 improve one-shot variable detection with shell functionEric Sunshine, Jul 27, 2024
  33. 1/5 t3430: drop unnecessary one-shot "VAR=val shell-func" invocationEric Sunshine, Jul 27, 2024
  34. 2/5 t4034: fix use of one-shot variable assignment with shell functionEric Sunshine, Jul 27, 2024
  35. 4/5 check-non-portable-shell: suggest alternative for `VAR=val shell-func`Eric Sunshine, Jul 27, 2024
  36. 3/5 check-non-portable-shell: loosen one-shot assignment error messageEric Sunshine, Jul 27, 2024
  37. 5/5 check-non-portable-shell: improve `VAR=val shell-func` detectionEric Sunshine, Jul 27, 2024

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.