Austin Group Issue Tracker via austin-group-l at The Open Group wrote in <hvf3afczq4inq5enfcfdjfozz67bzzxf3xokwt4...@www.austingroupbugs.net>: |A NOTE has been added to this issue. |====================================================================== |https://www.austingroupbugs.net/view.php?id=1915 ... |add:<blockquote>The Korn shell changed the way $* is expanded between \ |the 1988 |and 1993 versions, when subject to field splitting: <i>ksh88</i> first \ |joined |the positional parameters as if $* were quoted and then performed field |splitting on the result.[.]
Ah, this is the background story! Thanks for all your efforts!! May i ask whether this was found by painful source inspection, or did an "old hand" spread some enlightening? And reading |[.]This produced an extra empty field if <i>IFS</i> \ |begins |with a non-whitespace character and a positional parameter, other than \ |the last |one, ends with a non-whitespace <i>IFS</i> character.[.] i, well, *i* would likely then create an example where the first character of IFS is not identical to the non-WS IFS character that reveals the behavior, you know? For idiots like me, so to say. (set a= a; IFS=:=; printf '[%s]\n' $*) and (set a: a; IFS=:; printf '[%s]\n' $*) come over differently, for example when you glance over this to refresh memory after a year, or five. Thank you! --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)
