-
-
Notifications
You must be signed in to change notification settings - Fork 346
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
syntax: ksh support #614
Comments
Sounds good to me. It sounds like it shouldn't be too much work, beyond carefully altering the logic for what should be allowed in ksh vs mksh. The interpreter, for now, doesn't have a "language mode" like the parser does. For the most part, a It is true that shells behave in different ways, and even have POSIX-compatible and POSIX-incompatible modes like Bash does, but I honestly haven't had the need to implement that just yet. If someone needs that level of detail, we can discuss it in an issue and possibly implement it. |
So, to further work on this, one would need to:
|
I'm actually about to push a very similar change for bats support in #600, so you could copy a lot of the mechanism. |
@mvdan I did not receive any other report about incompatibilities. |
Great, so it sounds like we could add initial ksh support as just a variant of mksh with minimal to no other changes. What ksh version is maintained these days, and used by the most people? Arch has 2020.0.0, so that's a start. |
Hi, In my opinion, the most widely used version today is ksh 93u+. ksh 2020 was released once, but is believed to have been abandoned because it failed to solve the problem. As far as I know, the currently maintained version is ksh 93u+m (not yet released). see below. |
Thank you @ko1nksm, that at least confirms my suspicion that 2020 is not a linear successor to 93. Sounds like, for now, we should use the last official release: ksh93u+ in 2012. |
This is a proposal to add support for ksh, alongside mksh.
Why I think that ksh support would be good:
function name {...}
is turned intofunction name() {...}
, which ksh is unable to parse.Differences:
name() {...}
andfunction name {...}
, and does not supportfunction name() {...}
declarations.I'm willing to contribute to ksh support.
Unclear to me:
The text was updated successfully, but these errors were encountered: