orivej has joined #picolisp
orivej has quit [Ping timeout: 244 seconds]
orivej has joined #picolisp
orivej has quit [Ping timeout: 258 seconds]
<
Regenaxer>
Good morning wasamasa, beneroth!
<
Regenaxer>
Uh, I'm surprised too that error catching does not work in this case ☹
<
Regenaxer>
I will check
<
Regenaxer>
Took a look. This is indeed a bug
<
Regenaxer>
The problem is that the parse mode is not cleaned up in an error
<
Regenaxer>
So the next 'read' still wants to read from a syring instead of the console or a file
<
Regenaxer>
So only a kill with ^\ helps
<
Regenaxer>
Fixing the bug is almost trivial. Error handler must clean this up too
alexshendi has quit [Read error: Connection reset by peer]
<
beneroth>
Good morning
<
beneroth>
Good morning Regenaxer
<
beneroth>
a real bug so. good you fix it :-)
<
Regenaxer>
Yes, I will take a closer look a little later
<
beneroth>
so we welcome wasamasa in the pil bugfinder club. an exclusive club ;-)
<
Regenaxer>
wasamasa, thanks for finding it!
orivej has joined #picolisp
<
wasamasa>
thanks for the analysis
<
wasamasa>
I rewrote the string parsing meanwhile because I was doing it anyway in that code, just not to completion
<
Regenaxer>
Hi wasamasa! OK, cool :)
<
wasamasa>
I also found a related bug in chibi earlier this morning
<
wasamasa>
yes, the r7rs scheme implementation
<
Regenaxer>
I have some duties this morning. I will study the problem a little later
miskatonic has joined #picolisp
miskatonic has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
orivej has quit [Ping timeout: 245 seconds]
<
Regenaxer>
Uh, the issue is more troublesome than I thought
<
beneroth>
is the reader invoked, so error handling without quitting the whole VM is problematic? or what?
<
Regenaxer>
No, but the parsing routines are kind of special
<
Regenaxer>
They don't preserve the env
<
Regenaxer>
They can't
<
Regenaxer>
So when the error is thrown, the look-ahead char is not preserved
<
Regenaxer>
The catch environments don't contain this char
<
Regenaxer>
because it is part of the file env
<
Regenaxer>
But parsing
*has* no file env
<
Regenaxer>
So the char is on EOF when control returns to the repl
<
Regenaxer>
I have ugly fix
<
Regenaxer>
Checking for EOF in 'load'
<
Regenaxer>
I do later. Must go
rgrau has left #picolisp ["ERC (IRC client for Emacs 27.0.50)"]
<
tankf33der>
hi all
<
tankf33der>
Regenaxer: i will check fix when it will be public
<
Regenaxer>
Thanks!
<
Regenaxer>
But I have no fix :(
<
Regenaxer>
Not an easy one
<
Regenaxer>
It is a fundamental problem as I understand now
<
Regenaxer>
Needs a redesign of parsing
<
Regenaxer>
'any', 'str'
<
Regenaxer>
'load' implies 'str'
<
Regenaxer>
I have an idea though
<
Regenaxer>
Parsing must maintain a kind of pseudo-file
orivej has joined #picolisp
<
beneroth>
that sounds like the right direction
beneroth has quit [Quit: Verlassend]
<
tankf33der>
: (rc "z.rc" 'z .)
<
tankf33der>
Segmentation fault
<
tankf33der>
^^^ this is on pil64.
<
tankf33der>
on pil32 just hangs on 100% CPU.
razzy has quit [Ping timeout: 255 seconds]
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
<
Regenaxer>
I think this happens with most functions, not specific to 'rc'
<
Regenaxer>
You effectively give an infinit number of arguments
<
Regenaxer>
So rc builds an infintely long list probably
orivej has quit [Ping timeout: 268 seconds]
<
Regenaxer>
I did it! :)
<
Regenaxer>
Test passed
orivej has joined #picolisp
<
Regenaxer>
OK, I release it now. Anybody interested please test; I hope I did not destroy something
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
alexshendi has joined #picolisp
<
tankf33der>
i will run huge.l when be available over github
<
wasamasa>
Regenaxer: you mean a fix for any?
<
Regenaxer>
Yes, 'any' but also 'str' / 'load'
<
Regenaxer>
similar internal mechanisms
<
Regenaxer>
I fixed pil64 and pil32
<
Regenaxer>
tankf33der, thanks so far
alexshendi has quit [Remote host closed the connection]
alexshendi has joined #picolisp
alexshendi has quit [Read error: Connection reset by peer]
<
wasamasa>
Regenaxer: thanks for the quick fix, catching works now
<
Regenaxer>
Great ☺
<
tankf33der>
huge.l passed
<
tankf33der>
also found code which works on pil64 and failed on pil32
<
tankf33der>
didnt run pil32 for year
<
Regenaxer>
Anyway, no general problem?
<
Regenaxer>
Thanks!
<
tankf33der>
i used destructured bind
<
tankf33der>
its not inplemented on pil32 and i forgot to wrap
<
Regenaxer>
Several things are not in pil32 meanwhile
<
tankf33der>
its ok
ubLIX has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
orivej has joined #picolisp
ubLIX has quit [Quit: ubLIX]
xkapastel has joined #picolisp
miskatonic has joined #picolisp