{"version":"2.1.223","anchor":"bash-conditionals-two-new-bail-outs-for-shell-lexer-divergen","canonical_anchor":"bash-conditionals-two-new-bail-outs-for-shell-lexer-divergen","heading":"Bash [[ ]] conditionals: two new bail-outs for shell-lexer divergence","tier":"notice","area":"Bash Permissions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.223\/e\/bash-conditionals-two-new-bail-outs-for-shell-lexer-divergen","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.223","markdown":"### Bash `[[ ]]` conditionals: two new bail-outs for shell-lexer divergence\n\nTricky bash double-bracket conditions are now treated as too complex instead of being misread.\n\n**What**\n\nThe command parser now refuses to parse two `[[ ]]` shapes where zsh's cond-lexer disagrees with the parser, classifying them as too-complex differential cases instead.\n\n**Details**\n\n- a `[[ ]]` pattern leaf containing `&&` now bails out, because zsh splits the word there\n- a pattern leaf containing a potential standalone `]]` closer also bails out, because zsh closes the conditional differently\n- the `nodeType` field was dropped from the unbalanced-parentheses result\n\n**Evidence**\n\n`shell cond-lexer divergence (zsh splits the word there)`\n\n- Area: Bash Permissions\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 0\/5"}