Skip to content

Make the personality builtin available in csh/tcsh mode - #310

Merged
brianjfox merged 1 commit into
mainfrom
fix/personality-in-csh
Jul 25, 2026
Merged

Make the personality builtin available in csh/tcsh mode#310
brianjfox merged 1 commit into
mainfrom
fix/personality-in-csh

Conversation

@brianjfox

Copy link
Copy Markdown
Owner

Fixes #309.

The csh/tcsh interpreter (run_csh) maintains its own builtin table, which did not include the personality pseudo-builtin. A session in the csh or tcsh persona therefore got personality: Command not found and had no way to query its current mode or switch back out:

$ gnash -c 'personality csh -c "personality"'
personality: Command not found.      # before
csh                                  # after

personality is now recognized as a csh builtin and routed through the shared run_builtin dispatcher (which already handles the pseudo-builtin in every persona). personality tcsh -c "personality" prints tcsh, an unknown mode reports personality: unknown personality: X instead of "Command not found", and switching back to bash works.

ctest 22/22, run_diff all 234 scripts match bash. No regressions.

The csh/tcsh interpreter keeps its own builtin table, which omitted the
`personality' pseudo-builtin, so a session in the csh or tcsh persona
reported `personality: Command not found' and could neither query its
current mode nor switch back out.  Recognize `personality' as a csh
builtin and route it through the shared run_builtin dispatcher, which
handles the pseudo-builtin in every persona.

Closes #309
@brianjfox
brianjfox merged commit 2aa1186 into main Jul 25, 2026
1 check passed
@brianjfox
brianjfox deleted the fix/personality-in-csh branch July 25, 2026 19:32
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.

personality builtin not available in csh/tcsh personality

1 participant