-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Long Line screen update bug #782
Comments
This is due to partial line layout for long line limited the time (250ms) to wrap long line to avoid UI freeze. |
Thanks, I thought it would be something practical. What is the mechanism behind the line being instantly shown when I then move the cursor a tiny amount - has it by that time worked it out as a background task? |
Lines are wrapped when editor is idle (250ms a time), Ctrl + End force whole line be wrapped (UI may freeze), go to specific column force the target position + next 4KB bytes on the line be wrapped. |
I suppose this raises the question of whether it should go on to display it when the layout becomes available, or else show some kind of mask-out for the area concerned. |
In word-wrap mode it's showing code from much earlier in the document (whatever was at the location I had jumped from, as it simply doesn't update the screen). |
Hi @meteorquake, can you test latest builds from |
deleted |
I have a normal JS file, but there's an initiation function at the end containing a 99K string that's used to populate a global variable with keys and values, so that variable appears earlier in the code for usage (after being populated by a call to that end function).
If in word-wrap mode I go to the earlier variable reference and do a Ctrl-F3 to find the next usage, it accordingly jumps to the reference that's immediately after that long string.
The variable and its line accordingly appears and you would want the tail end of that long string to show above it.
What actually happens is that the screen part above it where the string tail end should show does not update and so continues to show the code which was showing there prior to the Ctrl-F3 jump. It can also obviously do it using Ctrl-End to get there.
However the slightest movement such as an arrow right to move the cursor, causes that part of the screen to update and the string tail end to show.
It is slightly layout specific - at a slightly different zoom it may show the tail end correctly, and depending on the starting line when Ctrl-End is pressed it may or may not do it.
I'm not sure how long the long line has to be for this artifact to happen, but it's definitely not acting as it should, and the update that happens when the cursor is moved shows that it's quite capable of showing it correctly.
The long line is of the form (where the dots are characters with few spaces in):
var a='.....................'.split(',');
Notepad2 (64-bit) 4.24.03 r5146 (7c12b83)
Compiled on Mar 17 2024 with Visual C++ 19.39.33522.0,
Scintilla 5.4.1.
Encoding: UTF-8, Windows-1252
Scheme: , JavaScript
System: 10.0.19045 x64
bug also present on r5052.
Cheers, David
The text was updated successfully, but these errors were encountered: