On 07.08.22 03:59, Ryan Schmidt wrote:
On Aug 6, 2022, at 06:22, joerg van den hoff wrote:

`port search ksh' currently yields the following 4 korn shell packages:

ksh @2020.0.0_1 (shells)
    the KornShell UNIX shell and programming language (stable version)

ksh-devel @20200125-g43d1853 (shells)
    the KornShell UNIX shell and programming language (development version)

ksh93 @93u+20120801_2 (shells)
    the AT&T KornShell

ksh93-devel @93u+m-1.0.0-beta.2 (shells)
    continued development of the AT&T KornShell


in view of the current naming scheme (_and_ info string denoting it as "stable version"), 
the unwary user very probably would wrongly conclude that the first one, `ksh @2020.0.0_1', is the 
canonical "true" korn shell to install. but it is not...

I wonder if the package names (and descriptions) should not be somewhat 
modified since the ksh93u+m project now has done it's first release with many 
bug fixes relative to ksh93u+, and given the project's aim to just fix existing 
bugs in 93u+, might be validly viewed as true fully compatible successor to 
93u+ (which ksh2020 most definitely is not). it also seems that linux distros 
are partly already moving in that way (adopting 93u+m as default ksh).

so I would find it preferable to either denote ksh93@93u+20120801_2 (the last official 
ksh release) or possibly already ksh93-devel@93u+m-1.0.1 as "ksh" and/or to 
rename the others to `ksh2020` (which identifies that (abandoned) project to those who 
care).

not a big deal but I think it would help to avoid possible confusion.

Yes...

ksh and ksh-devel were added when what you now call ksh2020 was under 
development and was supposed to be the future of ksh93. Since ksh93 hadn't been 
able to build since OS X Mavericks I was happy to have a replacement that did 
build, so I deleted ksh93. Later, the ksh2020 development effort was rejected 
by upstream, the upstream repository was reverted, and new more nuanced 
development of ksh93 began in a fork. At that point I reintroduced the ksh93 
port and added the ksh93-devel port.

yes, I know. and I am happy that the latter two are now available in macports.


I'm inclined to remove the ksh and ksh-devel ports (that is, to mark them as 
replaced_by ksh93 for one year and then delete them) unless someone thinks 
there is still a need to preserve that branch.

AFAIAC this would be fine. personally, I sure will not have any use for ksh2020 any more (the good bits (actual bug fixes to the shaky 93v- code base)) have been backported to 93u+m where applicable. otherwise ksh2020 remains severely broken in several regards (and is abandoned). OTOH, if the package title+description is clear enough what the package content actually is, no harm in keeping a ksh2020 package, I believe. but the cleaner solution sure is to enact your suggestion and to remove it in due time.



ps: and if I recall correctly `KornShell' was meant to denote the language while the 
shell's name is "Korn Shell" ;).

Good grief! I remember pausing to consider whether to use "KornShell" or "Korn 
Shell" in the description but that interpretation never occurred to me. Do you have a link 
where that interpretation is described?

The manpage says "ksh, rksh - KornShell, a standard/restricted command and programming 
language" which doesn't appear to make the distinction. The wikipedia page says 
"KornShell (ksh) is a Unix shell".

it was only a PS and under "IIRC" disclaimer :). I now have tried to clarify: the bolsky/korn book (prentice hall isbn -13-182700-6) is titled "The new KornShell command and programming language" and is always using KornShell only in this combination ("the KornShell language"). on p.9 under "notation" the book states "we refer to the programm that implements the KornShell language as ksh".

OTOH, I do not find them talking of "the Korn shell" anywhere (and thus have not recalled that correctly... ;)). but at least the "other" ksh book

https://www.oreilly.com/library/view/learning-the-korn/0596001959/

denotes it as the "Korn Shell" (but that's not as "official" as the bolsky/korn 
book...).

and there also is

http://kornshell.com/doc/faq.html

where the same distinction between language (KornShell) and implementation 
(ksh) is made.

so it seems Korn cared for that semantic distinction (and in that faq also 
talks of BourneShell
as being the language implemented in `sh', but that sure is somewhat 
idiosyncratic).

personally I would think if accepted terminology is that `sh' is the Bourne 
Shell (implementing
the "BourneShell" language if one adopts D.Korn's stance) than it makes sense 
to state that `ksh'
is (synonymous to) the Korn Shell (implementing the KornShell language etc.).

it's splitting fine hairs, though. :). one might also ask the 93u+m guys (who 
so far seem also to
use "KornShell" indiscriminately).



Reply via email to