Skip to content
Ferralk

Ferralk / Architecture

ADR-0016: Shell grammar for star runs before extglobs

  • Status: Accepted
  • Date: 2026-09-02

Context

In a run immediately followed by (, zlob greedily collapses every star before checking whether the final one opens a *( extglob. Bash and ksh instead give the final star to the group opener and leave earlier stars as ordinary wildcard syntax.

Decision

Ferralk follows the Bash/ksh grammar. The last star in a run before ( opens a zero-or-more extglob; preceding stars remain ordinary wildcards.

Consequences

  • **(a), a**(b), and ***(a) retain their shell-compatible readings.
  • The recorded zlob divergences cite this ADR and are part of the 1.0 contract.