Yes, no problem with ASCII boxing characters.

And the problem is not the boxing characters per se; if you just type out a 3-byte UTF-8 character it causes the mismatch.

The problem is that in the result of wd 'sm get term', the text is UTF-8 but select has the index into the original character string.

Henry Rich

On 7/24/2015 8:44 AM, bill lam wrote:
Perhaps you can set ascii box to test this theory.
On Jul 24, 2015 8:09 PM, "Henry Rich" <[email protected]> wrote:

The problem appears to be caused by display of UTF-8, such as boxes. Here
is a display from a fresh session; on each line the cursor was at the end
of the line when ENTER was pressed, so that select should be the same as
the length of the term window:

The 3 numbers are (start of selection),(end of selection),(length of term
window text)

    (0 ". fs), #ft [ 'ft fs' =.  {:"1 wd 'sm get term;'
54 54 54
    (0 ". fs), #ft [ 'ft fs' =.  {:"1 wd 'sm get term;'
118 118 118
    (0 ". fs), #ft [ 'ft fs' =.  {:"1 wd 'sm get term;'
185 185 185
    <1
┌─┐
│1│
└─┘
    (0 ". fs), #ft [ 'ft fs' =.  {:"1 wd 'sm get term;'
270 270 286

select has fallen 16 characters behind.  16 is exactly the number of extra
bytes added in converting the 8 boxing characters to UTF-8.

Henry Rich

On 7/24/2015 12:29 AM, 'Pascal Jasmin' via Beta wrote:

from
finddissectline_dissect_

there appears to be some magic with

WinSelect_jqtide_
WinText_jqtide_

but accessing these seem to get stale quickly.  ie. doesn't grow despite
more getting added to console

this line does update a new "winselect" but it seems out of sync

(400 (i.@[ + -~) 0 {.@". fs) {ft [ 'ft fs' =.  {:"1 wd 'sm get term;'
should print the last 400 characters, but

    (0 ". fs), #ft [ 'ft fs' =.  {:"1 wd 'sm get term;'
94123 94123 160296

    (0 ". fs), #ft [ 'ft fs' =.  {:"1 wd 'sm get term;'
94238 94238 160370

    (0 ". fs), #ft [ 'ft fs' =.  {:"1 wd 'sm get term;'
94312 94312 160444
    (0 ". fs), #ft [ 'ft fs' =.  {:"1 wd 'sm get term;'
94386 94386 160518


the last select value is well below the character count.  These are 4
successive calls.  Select does not go up by a consistent amount and neither
does Textcount, though in the last 2 calls there is a consistent 76
increase in select and 72 increase in Text

If I were to guess what is happening, for the large discrepancies, is any
output from 1!:2 does not update fs.

I can point out that finddissectline_dissect_ as a user key breaks fairly
quickly after starting jqt.  Though it does work on startup.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

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

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

Reply via email to