Skip to content
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

Analyze changes made after last stable release (ksh93u+) #1116

Closed
siteshwar opened this issue Jan 14, 2019 · 5 comments
Closed

Analyze changes made after last stable release (ksh93u+) #1116

siteshwar opened this issue Jan 14, 2019 · 5 comments
Assignees

Comments

@siteshwar
Copy link
Contributor

ksh93u+ was last stable release that was embraced by various distributions. We should analyze all the changes made after this release. Any backward incompatible changes should be reverted. If there is a new feature that's worth mentioning, it should be mentioned in CHANGELOG.md file. Changes can be found here.

@siteshwar siteshwar self-assigned this Jan 14, 2019
@krader1961
Copy link
Contributor

FWIW, Any introduction of a new builtin is strictly speaking not backward compatible since the new builtin may have different behavior than the platform's external command of the same name. Which is why @siteshwar removed a few new builtins such as date. See issue #990 where I raised the question whether the tmxdate() function should be removed or the builtin date reinstated in order to justify the cost of maintaining the src/lib/libast/tm/tmxdate.c code. Of course, removing tmxdate() introduces it's own backward incompatible change. Specifically, sleep '7 day' won't be supported. But since that has never been documented it should be acceptable.

@siteshwar
Copy link
Contributor Author

We should revert this change:

306 13-05-22 +Added -c option to typeset which is similar to typeset -m except
307       that the variable is copied rather than moved.  This is experimental
308       and there are known bugs.  If it can't be made reliable it will
309       not be added.

@siteshwar
Copy link
Contributor Author

Could this change cause issues with compatibility ?

13-05-29  ksh93 now intercepts the `LC_TIME` variable.

@siteshwar
Copy link
Contributor Author

siteshwar commented Jan 16, 2019

Another experimental change is:

226 13-07-30 +An experimental change to each enumeration variable have sub-variables
227       for each enumeration constant.  ${enum.name} will expand to the
228       numerical value of the enumeration name associated with enum.

and

164  13-07-30 +An experimental change to allow `${foo.__}` to expand to the parent
165      node for foo, or foo if foo doesn't have a parent.  There are no 
166      regression tests for .__ yet.

@siteshwar
Copy link
Contributor Author

182 - 13-05-29  namespace commands are no longer allowed inside function definitions
183       and now generate a syntax error.

This is a backward incompatible change too. But it looks like a sane change that can be easily worked around in scripts by moving namespace definitions outside functions. I will keep it.

siteshwar added a commit that referenced this issue Jan 18, 2019
This flag was marked as experimental and should not be included in next
release.

Related: #1116
siteshwar added a commit that referenced this issue Jan 21, 2019
This was an experimental feature that was added after last stable
release. Disable it.

Related: #1116
siteshwar added a commit that referenced this issue Jan 22, 2019
siteshwar added a commit that referenced this issue Jan 22, 2019
siteshwar added a commit that referenced this issue Jan 22, 2019
siteshwar added a commit that referenced this issue Jan 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants