<razzy>
hi , i still want to customize debugger with similiar function to (e) more: https://ptpb.pw/BHhE. i would like to use picolisp function that directly use currently debugged expression as (e) does. i was unable to do it from *Dbg ((3133 . "@src64/flow.l")) or *Dbg ((3133 . "@src64/flow.c")) is there the easy way?
<razzy>
morning :]
<Regenaxer>
Hi tankf33der, razzy
<Regenaxer>
tankf33der: No change yet?
<tankf33der>
soon :)
<Regenaxer>
:)
<Regenaxer>
razzy, I do not really understand what you want to do
<Regenaxer>
"directly use currently debugged expression"
<Regenaxer>
What difference to (e)?
<Regenaxer>
Is the important point "current"?
<razzy>
Regenaxer: imho, difference to (e) is that (se) do not make side effects on global variables. they all happen in sepparate thread.
orivej has quit [Ping timeout: 250 seconds]
<razzy>
usefull if you want to see results, but not want to change complex interaction of global variables.
<Regenaxer>
ah
<Regenaxer>
No way. Globals are global :)
<Regenaxer>
you can do this (use *Global (e))
<Regenaxer>
But there may be infinitely more side-effects
<Regenaxer>
Like deleting the whole internet
<razzy>
Regenaxer: imho, if i use later, i make working-copy of picolisp thread and i can be sure i have no persistent changes to normally used thread.
<Regenaxer>
There are no threads btw
<Regenaxer>
processes
<razzy>
i meant processes?
<Regenaxer>
yeah
<razzy>
sorry
<Regenaxer>
It is correct that a process has its private memory
<Regenaxer>
but 'later' writes a var in the current process
<razzy>
if (use *Global (e)) works the same, i will use it
<Regenaxer>
it makes *Global local
<Regenaxer>
I use expressions like (let *Global (someLocalValue) ..) quite often
<razzy>
Regenaxer: i do not see that *Global holds all variables unique to current picolisp process
<razzy>
you need to know what variables you want to save, before you invoke (use )
<Regenaxer>
No, '*Global' is just an example
<Regenaxer>
right
<razzy>
i have problem that i do not know what variables code interact with.
<Regenaxer>
yeah
<Regenaxer>
ok, what if you do
<Regenaxer>
(unless (fork) (msg (e)) (bye))
<Regenaxer>
But the general problem of side-effects remains
<Regenaxer>
eg file-I/O
<razzy>
yes, but i need to check only for file/internet I/O, instead of whole picolisp
<razzy>
when the properties could hide active code and access to variables, it is hard to find them all for me.
<Regenaxer>
Which properties hide code?
<razzy>
bad expression
<Regenaxer>
I think it is not useful to disable side-effects during debugging
<Regenaxer>
They are essential for a program
<Regenaxer>
I think you overuse (e) here
<Regenaxer>
Better make a breakpoint here, and another one at the *next* expression
<Regenaxer>
then single-step
<razzy>
Regenaxer: yes i agree with you, you ussually want side-effect on when debugging
<razzy>
Regenaxer: is there another way to single-step other than use (d) than enter?
<Regenaxer>
You can also manually set breakpoints at individual places
<Regenaxer>
(edit 'fun)
<Regenaxer>
then insert '!'
<razzy>
i do that often
<Regenaxer>
or insert '!' in the source code before 'load'ing
<Regenaxer>
ok
<razzy>
*very* often
<Regenaxer>
Good :)
<Regenaxer>
So in any case '!' is needed
<Regenaxer>
(debug) and (d) are just helpers to insert '!'s
<razzy>
i use "manual" ! insertions more than (d)
<Regenaxer>
yes, me too
<Regenaxer>
usually we know where we want to stop
<razzy>
and because i insert ! in function at the same time it take write (d)
<Regenaxer>
true
<razzy>
i get that you do not believe me no-side-effect eval is usefull, because you ussually do not chew on others code. I like, it is like looking at eval with no worries you break your current picolisp process
<razzy>
you could go nuts, without constant restarting and reloading variables :]
<Regenaxer>
OK, so you could try (unless (fork) (msg (e)) (bye))
<razzy>
nice, i will bond it to emacs short-cut somehow :]
<razzy>
thx
<Regenaxer>
:)
xkapastel has joined #picolisp
<razzy>
i guess there is no step-back in current picolisp debugging, yes? neither step to last debug-stop with all picolisp-side-effects rolled back, yes?
<razzy>
just making sure
<Regenaxer>
correct
orivej has joined #picolisp
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 255 seconds]
ubLIX has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
razzy has quit [Remote host closed the connection]
razzy has joined #picolisp
orivej_ has quit [Ping timeout: 255 seconds]
xkapastel has joined #picolisp
andyjpb has joined #picolisp
beneroth has joined #picolisp
orivej has joined #picolisp
orivej has quit [Ping timeout: 246 seconds]
mtsd has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]