that's quite interesting, for me at least. If you have any good link to articles or books about the history of shell programs and the motivations behind various choices and want to share I would really appreciate itidk if this is interesting to the list also or I should message privately about topics not directly related to zsh, or if I should start a new thread, I would appreciate some direction on thisPier Paolo GrassiIl giorno mer 3 mar 2021 alle ore 11:23 Stephane Chazelas <stephane@xxxxxxxxxxxx> ha scritto:2021-03-03 08:57:15 +0100, Pier Paolo Grassi:
> out of curiosity, how have you assembled this informations? from memory or
> digging in the source trees?
[...]
I do collect a number of old archives of various shell source
codes downloaded from here and there and look in there for this
kind of information. I enjoy this kind of archeological digging.
For recent versions, you can generally look in cvs/svn/git logs,
or use git blame/svn ann or git log --grep...
For older versions, most shells keep changelogs. zsh has some
Etc/ChangeLog*, bash has a NEWS and CWRU/changelog. zsh links
its changelog to the mailing list. So not only you can find the
change, but also the reasoning and discussions behind it. That's
quite unique and invaluable.
It's hard to obtain old ksh versions. All I have is ksh86 (from
some bsd source tree), svr4.2 ksh88d from archive.org, the
leaked solaris11's ksh88i, ksh93d from dtksh, ksh85's man page
and some of ksh93's since it's been made opensource. There's a
RELEASE file in there (and more for the libraries) but it's a
bit patchy.
BSD shells (based on ash originally published on usenet in 1989,
so easy to find, except for OpenBSD which switched to pdksh) are
easy as the sccs history is publicly available.
For tcsh, someone compiled all versions back to 6.06.1 in the
git repo. Some older versions can be found on usenet.
I started using zsh around the time bash 2.0 came out. But that
was 25 years ago. I can't say I remember much from then. Back
then, bash was already quite limited compared to zsh. It didn't
even have arrays.
--
Stephane