Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Janis Papanagnou Newsgroups: comp.unix.shell Subject: Re: [ksh93u+m] Interactive subshell expansion disfunctional Date: Sat, 22 Jun 2024 14:47:31 +0200 Organization: A noiseless patient Spider Lines: 46 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Date: Sat, 22 Jun 2024 14:47:32 +0200 (CEST) Injection-Info: dont-email.me; posting-host="985bbd5bbc3530ee2bfa36d994635d3c"; logging-data="3958213"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+cTt27vpKMoRLsIlYKUTqQ" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 Cancel-Lock: sha1:UEEAJM9A6rVN/FHjC88t1DPIYfM= In-Reply-To: X-Enigmail-Draft-Status: N1110 Bytes: 3006 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 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