So far the only problem is that sometimes the last line of the term window (where the next command will be entered) is misplaced.

It is easy to create the error using dissect. I haven't been able to create it with a simpler testcase, so maybe it has something to do with the fact that a form is drawn. dissect itself does no typeout and just draws a form and produces a result.

1.  Run

   dissect '3 + 5'

This works correctly. Dissect returns with i. 0 0, so there is no typeout and the term window is ready for the next command. The form is created.

2.  Run

   2 dissect '3 + 5'

The left argument to dissect instructs dissect to return the locale of the form. The result of dissect is now an atom, with empty shape. Observe that there is a blank line between the line you typed in and the result of dissect, and that the last line, where the next command will be entered, has boxing characters. It appears that the next-command line was output before the result of dissect.

3.  Run

  3 : 'i. 0 [ destroy__y $0' 2 dissect '3 + 5'

This creates the form and immediately destroys it. The result should be a blank line. As in case 2 above the new prompt seems to come out before the blank line, so that the cursor is lacking the customary 3 spaces.

4.  Run

  3 : 'i. 0 0 [ destroy__y $0' 2 dissect '3 + 5'

Now there is no blank line emitted by the command line, and the display is correct.

Finally, configure a function key to run dissect.  I use

F2;0;Dissect Line;dissect&.finddissectline_dissect_ 0

Type

   3 + 5

then place the cursor on the 3+5 line and press F2. Note that a blank line is added to the term window, even though the PFkey is configured not to display.

Henry Rich




----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to