On Sat, Aug 01, 2020 at 06:59:43PM +0200, Klemens Nanni wrote: > On Sat, Aug 01, 2020 at 05:40:07PM +0100, Jason McIntyre wrote: > > i'm worried that you're blurring the distinction between asynchronous > > and co-process for the reader. i think that's relevant because, as you > > say, a page like sh(1) does not document co-processes, whereas ksh(1) > > does. > You raise a valid point. > > > as i understand it, ksh explains co-processes as a type of asynchronous > > process. and the setting of "!" is applicable to both. is that right? > Correct. Both background jobs (`&') and co-processes (`|&') are > asynchronous and co-processes are background jobs by definition. > > What makes co-processes different is a two-way pipe between them and > the shell, i.e. you can read and write in both directions. > > > so could your text be better written as: > > > > Process ID of the last background or asynchronous process started. > > If no processes have been started, the parameter is not set. > > > > this would catch the setting of "!" for both async and co-process, > > without making the text read like the two are identical. > > > > if your concern is that you need to be able to /co-process, then i'd > > rewrite the text to not blur the two: > > > > Process ID of the last background, co-process, or asynchronous > > process started. > > > > but i dislike that, because it means the text suffers because of an > > arbitrary request to make a specific search work. > Indeed, I'd like to have `/co-process<enter>' show it. > > > i guess we could add a note to the "Some notes concerning co-processes" > > section if it needs more clarity. > I don't think this is needed. > > Background jobs as well as co-processes are async and background jobs or > rather `&' is documented as "asynchronous command" in other places of > the manual, so how about this? >
hmm. so then the current text ("the last background process") already covers all these cases. why single out co-processes? for the reader, i think the idea of background is easier to understand as an umberella term, rather than asynchronous, even if it's maybe not so correct. either you or i have trimmed your original mail, explaining why this was important ;) jmc > > Index: ksh.1 > =================================================================== > RCS file: /cvs/src/bin/ksh/ksh.1,v > retrieving revision 1.209 > diff -u -p -r1.209 ksh.1 > --- ksh.1 7 Jul 2020 10:33:58 -0000 1.209 > +++ ksh.1 1 Aug 2020 16:59:10 -0000 > @@ -1247,8 +1247,8 @@ The following special parameters are imp > set directly using assignments: > .Bl -tag -width "1 ... 9" > .It Ev \&! > -Process ID of the last background process started. > -If no background processes have been started, the parameter is not set. > +Process ID of the last background process or co-process started. > +If no asynchronous processes have been started, the parameter is not set. > .It Ev \&# > The number of positional parameters ($1, $2, etc.). > .It Ev \&$ >