Line numbers now physical in setbpt ?

François Vogel fvogelnew1 at free.fr
Sun Jan 11 17:50:56 CET 2009


Hi,

I'm slowly realizing that apparently in Scilab 5 all line numbers are 
now physical line numbers while they were logical line numbers up to 
Scilab 4.1.2.

I think it's now clear from bug 3407 that line numbers reported in 
error messages and in lasterror() are now physical (were logical in 
Scilab 4.x).

What I'm now realizing is that also what is managed by setbpt/delbpt 
must now be physical and no more logical.

Could Serge please confirm this statement?


Example (run it in Scilab 4.1.2 and in Scilab recent master to compare):

function pllines
   disp("line 2  2");  // logical   physical
   disp("line 3  3")
   disp("line 4  4")
   disp("line 5  5")
   disp..
     ("line 6  7")
   disp("line 7  8")
   disp("line 8  9")
   disp("line 9  10")
endfunction

setbpt("pllines",6)
pllines


Scilab 4.1.2 ends with:

  line 6  7
Stop after row     6 in function pllines :


-1->

I.e. Scilab 4.1.2 executed the full continued logical line 6 before 
stopping.

Compare with the output in Scilab 5:

  line 5  5
Stop after row     6 in function pllines.


Type 'resume' or 'abort' to return to standard level prompt.

-1->

Here we can see that it does NOT executed logical line 6 completely, 
thus stopping in the middle of it. However, it nevertheless states 
that it stopped after execution of line 6.


Further observation: add setbpt("pllines",10) and you'll see it stops 
in Scilab 5, meaning line 10 is still in function pllines. In Scilab 
4.1.2 it doesn't stop because line 10 is after the end of the function 
pllines definition.


Thanks for clarifying this. If setbpt/delbpt are now really supposed 
to deal with physical line numbers, then I'll have to make changes in 
the Scipad debugger for Scilab 5.

Francois



More information about the dev mailing list