Sujet : Re: [ksh93u+m] Interactive subshell expansion disfunctional
De : janis_papanagnou+ng (at) *nospam* hotmail.com (Janis Papanagnou)
Groupes : comp.unix.shellDate : 22. Jun 2024, 13:47:31
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v56h54$3ope5$1@dont-email.me>
References : 1 2 3 4
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
On 22.06.2024 14:15, Janis Papanagnou wrote:
On 22.06.2024 04:10, Janis Papanagnou wrote:
On 22.06.2024 01:14, Martijn Dekker wrote:
Op 21-05-2024 om 17:57 schreef Janis Papanagnou:
I recently replaced all original ksh93u+ by ksh93u+m, and meanwhile
noticed quite some deficiencies, things that worked in original ksh
but not any more in ksh93u+m.
>
I would of course be very interested in learning what deficiencies
(other than the below) you've been observing.
>
[...] another thing was in context of discipline functions used on
shell variables. [...]
[...]
and the "kosta" code contains
function LINES.set { .kosta.rows=${.sh.value} ; .kosta.update ;}
function COLUMNS.set { .kosta.cols=${.sh.value} ;}
function PS1.get { .kosta.compose ;}
namespace kosta
{
...
}
and it's activated by sourcing it from ~/.kshrc
I can't tell whether I have missed something with discipline functs
on built-in variables, how I used the namespaces, or something like
that. (My tries to fix that in my program logic all failed.) Though
the above "no parent" error messages did not show up with ksh93u+.
And it can now be observed in various _script interaction_ contexts.
There's another effect in this context.
Previously with ksh93u+ the "kosta" code called '.kosta.compose' if
'PS1.get' gets called; the compose function reconstructs the status
line. If an error occurred or a signal arrived that was indicated
in the status line as, say, "ERR 2!" or "SIG INT(2)!". After I hit
the <Enter> key (an empty line) that part of the status message got
cleared. - Not any more with ksh93u+m. It seem that the 'compose'
function won't be called any more on an empty shell input line.
Janis