Skip to content

yash-cli-0.2.0

Latest
Compare
Choose a tag to compare
@magicant magicant released this 14 Dec 03:59
· 38 commits to master since this release
yash-cli-0.2.0

[0.2.0] - 2024-12-14

Added

  • A case branch now can be terminated with ;& or ;| instead of ;; to fall
    through to the next branch or to resume pattern matching from the next branch,
    respectively. ;& is a POSIX.1-2024 feature, and ;| is an extension. For
    compatibility with other shells, ;;& is also accepted as an alias for ;|.
  • Dollar-single-quotes are now supported as a form of quoting where backslash
    escapes are recognized.
    • Currently, octal and hexadecimal escapes that expand to a value greater
      than 127 are translated to a UTF-8 sequence for the corresponding Unicode
      scalar value. This behavior does not conform to POSIX.1-2024 and is
      subject to change.
    • As an extension to POSIX.1-2024, the shell also recognizes the \u and
      \U escapes for Unicode scalar values, and the \E escape as a synonym
      for \e.

Changed

  • The shell's syntax now allows esac as the first pattern of a case branch
    as in case esac in (esac|case) echo ok; esac. Previously, it was a syntax
    error, but POSIX.1-2024 allows it.
  • The bg built-in now updates the ! special parameter to the process ID of
    the background job, as required by POSIX.1-2024.
  • The exec built-in no longer exits the shell when the specified command is
    not found in an interactive shell, as required by POSIX.1-2024.

Fixed

  • The interactive shell now discards the entire line when a syntax error occurs
    in the middle of a command line. Previously, it would continue parsing the
    rest of the line, which could lead to confusing behavior.