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