Skip to content

Conversation

@cramforce
Copy link
Contributor

No description provided.

@vercel
Copy link

vercel bot commented Jan 24, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Review Updated (UTC)
just-bash Ignored Ignored Jan 25, 2026 0:20am

cramforce and others added 29 commits January 24, 2026 16:00
Features: globskipdots, array slice, $(<file), prefix/suffix ops, |& pipeline,
negative index, indirect expansion, compgen -X, >&word redirect, vectorized strip

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Features: BASH_LINENO/FUNCNAME tracking, /dev/full device, compgen -F callback,
Empty IFS with unquoted $* keeps params separate

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Features: BASH_SOURCE tracking, compopt builtin, assoc array arithmetic coercion

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Features: brace expansion in declare, export+array reassignment fix,
array expansion in default value (partial)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Session 54 progress: 519 to 467 SKIPs (52 removed)

Features: alias expansion, BASHPID, extglob quoted metacharacters,
backslash-newline in defaults, array literal variable expansion,
$_ isolation, brace expansion edge cases, associative array keys.

Bug fixes: printf hex escapes, argv.py unicode, word splitting,
function name validation, redirect timing, case multiline matching,
@q quoting format, array append syntax.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Full @p prompt expansion with various escape sequences
- Case conversion with glob patterns
- Fix command substitution environment isolation
- Associative array variable key expansion
- Various array handling improvements

Progress: 519 to 465 SKIPs (54 removed net)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix indexed array literal evaluation: RHS values expanded first, then indices
- Correct bad var ref test expectations (bash returns empty, status 0)

Progress: 519 to 462 SKIPs (57 removed)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Implement nested array index [a[0]] in literals
- Fix export -n to keep value while removing export attribute
- Fix array element value evaluation as arithmetic
- Remove 6 stale SKIP markers (tests now pass)

Progress: 462 to 456 SKIPs (6 removed)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Register commands in both /bin and /usr/bin for compatibility
- Update default PATH to /usr/bin:/bin (modern system order)
- Fix exec prefix binding export to child processes
- Fix exec-only-redirections to not persist temp assignments
- Remove 6 more stale SKIP markers

Progress: 462 to 450 SKIPs (12 removed)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Word splitting fixes:
- Detect ambiguous redirect when unquoted expansion produces multiple words
- Fix mixed quotes in default values: ${Unset:-"a b" c} now produces 2 words
- Fix complex default value word splitting with multiple quoted/unquoted parts

Typeset/declare append fixes:
- Support typeset s+=foo to append to undefined/existing scalars
- Support typeset s+=(d e f) to convert scalar to array
- Support typeset a+=s to append string to array[0]
- Support dynamic variable names with +=

Unset validation:
- Validate variable names (reject invalid chars like %)

Progress: 450 to 441 SKIPs (9 removed)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Tilde expansion fixes:
- Apply tilde expansion after brace expansion (e.g., ~{/src,root})
- Fix HOME='' tilde expansion in [[ ]] edge cases (empty vs undefined)

Syntax error fixes:
- Detect unmatched single quotes in ${var%pattern}

Progress: 441 to 438 SKIPs (3 removed)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Unset improvements:
- Support arithmetic expressions in unset indices: unset 'a[i - 1]'
- Integrate with existing arithmetic evaluation infrastructure

Word expansion improvements:
- Fix word joining with ${arr[@]} and $@ in mixed contexts
- Properly concatenate boundary words between word-producing expansions
- Fixes dynamic flag in array assignments and extglob with arrays

Progress: 438 to 434 SKIPs (4 removed)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Major fixes include: extglob negation, declare -a clearing, case conversion with patterns, SHELLOPTS/BASHOPTS, sparse array slicing, shopt -o, rmdir command, FD move closing, set output ordering, declare -p filtering, regex handling improvements, read builtin fixes, redirect improvements, unset scoping, parser fixes for braces and backticks, division by zero handling, and many more.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…oved)

Additional fixes:
- set -o verbose mode implementation
- Invalid token syntax error detection
- Subscript on nameref pointing to array element validation
- Single quotes in arithmetic expansion error handling
- Shell initialization with unset PWD using realpath
- read -a with empty IFS produces empty array
- Empty nameref with nounset error handling
- Empty nameref assignment edge case handling

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Additional fixes:
- Nameref assignment to associative array elements
- Indirect array expansion with suffix operators
- Associative array key-value sequence initialization
- Array as associative array key coercion
- Extglob patterns with IFS field splitting
- Variable expansion in extglob file glob patterns

Session 56 total: Reduced SKIP markers from 431 to 342 (89 removed)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fixes:
- Quotes in array index (single quotes now error, double quotes work)
- Redirect with $@ expansion (ambiguous redirect error)
- Readonly variable assignment stops same-line execution
- Side effects in brace expansion (each expansion evaluates separately)
- Regex special chars, multiple groups, = and parentheses
- Typeset output format uses $'..' for newlines
- Variable expansion inside nested extglob patterns
- Security restrictions for command substitution in arithmetic/unset
- Tilde expansion on RHS of =~ escapes regex chars
- User scripts in PATH now executable (command shadowing)
- Stderr warning format for assoc array bare values
- Removed stale SKIP markers for user script execution tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix brace expansion to evaluate side effects per alternative (e.g., {a,b,c}-$((i++)) now outputs a-0 b-1 c-2)
- Make readonly variable assignment a fatal error (matches dash/mksh/POSIX)
- Fix ambiguous redirect detection for "$@" expansion
- Fix double-expansion bug in redirect targets with side effects
- Remove 3 SKIP markers: brace-expansion side effects, readonly one-line, $@ redirect
- Add OK bash annotations for stricter readonly behavior in several tests

Session 57: 336 -> 333 SKIP markers (3 removed)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@cramforce cramforce force-pushed the ralph-the-spec-tests branch from b250e0f to 4aef689 Compare January 25, 2026 00:20
@cramforce cramforce merged commit de895d8 into main Jan 25, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants