All,
I think Bill's solution works for my question: dbover'' (13!:20).
In contrast to Gilles, I think dbinto'' (13!:21) works as designed, because
changing the value of t to 99 does not change the code in line [0], which
it then executes with dbinto or dbover.

It is rather difficult to find the names and descriptions of each of the
dbxxx verbs. The information is scattered and incomplete. I found a rather
good brief page (in a link hidden on the NuVoc page under the name
Foreigns). But it does not have dbinto and dbout which are pronouns for
13!:n's, and I don't know where one finds dbstop and dbstops defined.

https://code.jsoftware.com/wiki/Vocabulary/Foreigns

https://www.jsoftware.com/help/dictionary/dx013.htm   is also helpful, but
outdated and does not tell the shortcut dbnames at all.

Returning to my original question, but changing it a little to ask how to
NOT run the current line but force the debugger to stop before the next
line even though it has not been stopped, requires assumptions and two
steps.
The assumption is that a set stop has lead to the current line.
Step 1 is setting a stop on the next line. An easy way to do this is use
dbstops'<this verbs name>' to set stops everywhere in this verb.
Step 2 is to dbnxt'' .
So for example, consider these steps:

   h=: 3 : ('t=. 2 3*y'; '1+t'; 't')
   dbss'h 0'
   dbr 1
      3 4,h 5 6 7
|stop: h
|   t=.2 3*y
|h[0]
      dbsq''       NB. queries what stops are active
h 0
      dbstops'h'   NB. or dbstop'h'
      dbsq''
h *:*;
      dbnxt''     NB. continue on the next line without doing this line
|stop
|   1+t
|h[1]
      NB. remember here, t has never been assigned a value, so 1+t is an
error



-- 
(B=)
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to