ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information
m_mans has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
rob_w has joined #picolisp
rick42_ has quit [Quit: ZNC - http://znc.in]
rick42 has joined #picolisp
michelp has joined #picolisp
rob_w has quit [Quit: Leaving]
pointfree has joined #picolisp
<tankf33der> Regenaxer: is it true pil21 will be released in january?
<Regenaxer> In which way released? As Debian package?
<tankf33der> as production ready
<tankf33der> because i need your mail to ml i will use as link in social media
<Regenaxer> I would say it is already now. I switched some of my projects
<Regenaxer> OK
<Regenaxer> So let's take the moment when it appears in Debian unstable?
<Regenaxer> I will announce it then
<tankf33der> i am waiting this official announce to ml then
<tankf33der> ok
<Regenaxer> or better in Debian testing (usually two weeks after unstable)
<tankf33der> you cant depend on external community of slackers
<Regenaxer> yeah
<Regenaxer> I'm still watching to see if any bugs show up
<Regenaxer> At the moment it looks very good :)
orivej has joined #picolisp
<Regenaxer> Hmm, but the 'call' behavior is not nice
<Regenaxer> Any idea welcome!
<beneroth> Hi Regenaxer
<Regenaxer> Hi beneroth!
<beneroth> what was the thing about the call behavior again?
<Regenaxer> : (call "vim" "a") for example fails
<Regenaxer> Some stdin issue
<Regenaxer> I suspect it has to do with readline
<Regenaxer> but strange is it fails also before readline is called the first time
<Regenaxer> ./pil -'call "vim" "a"' ...
<Regenaxer> same for other sub-processes, eg (in ...
<Regenaxer> (call "./pil" "+") too
<Regenaxer> every such call
<Regenaxer> in pil64 no problem
<Regenaxer> ^Z does similar things, but here all seems fine
<Regenaxer> I wonder if just *linking* readline already modifies the stdin behavior of a binary
<Regenaxer> I can't find any discussion about such problems in stackoverflow
<Regenaxer> ha!
<Regenaxer> found something
<Regenaxer> If I do *not* call (setpgid ...) it works
<Regenaxer> Perhaps this is already done by readline?
<tankf33der> perhaps.
<Regenaxer> But now ^Z in that process misbehaves
<beneroth> sounds like readline does something with the process I/O. security settings?
<Regenaxer> Not a security issue
<Regenaxer> Process groups
<Regenaxer> setpgid() and tcsetpgrp()
<Regenaxer> I experiment now
<beneroth> I meant: maybe readline sets by default some (security) restrictions on the current process regarding I/O, which screws up non-terminal-use of stdin/stdout
<beneroth> nvm. I'm useless in this topic :/
<Regenaxer> It seems readline wants to do more than requested
<beneroth> a common issue with software
<beneroth> :(
orivej has quit [Ping timeout: 260 seconds]
<Regenaxer> hmm
<Regenaxer> PicoLisp wants to drop into a repl upon ^Z in the called process
<Regenaxer> (repl 0 ($ "+ ") $Nil)
<Regenaxer> This does not work
<Regenaxer> readline messes up some things it seems
<Regenaxer> It is all about process groups and terminal control
<Regenaxer> nothing to do with security
<Regenaxer> but about which process in the group receives signals
<Regenaxer> Seems I have to give up that feature
<Regenaxer> Nobody knows about it anyway ;)
<Regenaxer> Then the code of 'call' can probably be a lot simpler
<Regenaxer> OK, I remove all setpgid() and tcsetpgrp() handling. And also SIGCONT handling after ^Z
<Regenaxer> Works sometimes but not always
<beneroth> KISS
<beneroth> :)
<Regenaxer> unsatisfactory here
<beneroth> aye
<Regenaxer> Not sure what the right way is
<Regenaxer> Can't find an example
<beneroth> nobody knows. when you find the right way, you find out nobody else knows and nobody takes care :(
<Regenaxer> ;)
<Regenaxer> the unit tests fail nox
<Regenaxer> now
<Regenaxer> in 'pipe' I think
<Regenaxer> grr
<Regenaxer> must be a follow-up error
<Regenaxer> this fails now: (test NIL (pipe (prog (kill *Pid) (pr 7)) (rd)))
<Regenaxer> Close error: No child processes
<Regenaxer> tricky
<Regenaxer> signal handling
m_mans has quit [Ping timeout: 240 seconds]
<Regenaxer> hmm, I better keep the setpgid calls in the pipes. Gives problems othewise with SIGCHLD handling
<Regenaxer> grr, all this is really a mess in Unix
<Regenaxer> So only 'call' is changed
<Regenaxer> Anybody wants to test?
<Regenaxer> Seems I ^Z now also behaves correctly in 'call'ed child
<Regenaxer> by omitting the WUNTRACED flag from waitpid()
<Regenaxer> So now indeed it is simpler
<Regenaxer> just whe REPL is gone in ^Z and it drops to the shell
<Regenaxer> hmm
<Regenaxer> grr
<Regenaxer> not yet
<Regenaxer> ^Z misbehaves
<Regenaxer> Nevertheless, it is better than before when call did not work at all for children using the terminal
<Regenaxer> Released
<Regenaxer> frustrated
<Regenaxer> tankf33der, please test when you have a chance
<Regenaxer> If anyone finds a working example please let me know
<tankf33der> Regenaxer: ok
<Regenaxer> Thanks!
<Regenaxer> Better not press ^Z in the child until someone finds a solution
<beneroth> :/
<beneroth> so plan for the next decase is to finish pilOS and remove this dependency :P
<beneroth> hahaha-only-serious ;-)
<beneroth> s/decase/decade
<Regenaxer> :)
<Regenaxer> No issue in PilOS, as it has no 'call' anyway
<beneroth> also no readline
<tankf33der> Regenaxer: all passed.
<Regenaxer> great, thanks!
<DKordic> A real pleasure of UNIX!! Terminal and Signals are more than their sum!! stdio alone... puts me on edge!! But Terminals are spiced with ioctl!!
<DKordic> Regenaxer: Google (Our Intelligence) informs Us that Jupiter and Saturn are in very special alignment!
<Regenaxer> yep. Conjunction
* DKordic consults ./configure...
orivej has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]