Comments (12)
It was the change I made to the CharToBytePosition function. I made that for 65 to handle emojis, but I think I need to move that out into a separate function. CharToBytePosition has about 63 references and I had concerns early on when looking at fixing 65 that something like this could happen. I think I'll move the fix for 65 into a new function and leave CharToBytePosition in its pre 5.3.3.6 state which should bring back all previous behavior.
from scintilla.net.
Thank you for the comment about taking over as maintainer. I'll do my best to keep it going.
As for this issue, so far, I'm not reproducing, I'm pretty sure I'm following it the way you describe...am I missing something?
from scintilla.net.
Hmm, yes, the code is correct.
Maybe it's something related to the solution settings?
Does it reproduce if you try this solution:
https://github.com/jonandr/scintillanet-111
I'm using VS 2022.
from scintilla.net.
I tried with your solution and even brought in the nuget for 5.3.3.6, but I don't see any text get underlined.
What are you expecting to apply the underline to the character in your sample?
from scintilla.net.
Sorry, I put the part which performs the underlining on a button click, that may have been confusing.
I have pushed a new version of the solution now, can you try it?
The new version runs the underlining immediately in Form1_Load instead.
So hopefully it will show the issue just by running it.
So to clarify:
When I run the latest version of the repo (which uses 5.3.3.16 by default), then I get the following:
If I change the nuget to 5.3.3.6, then I get this:
Do you get the same?
from scintilla.net.
I launch the latest version and I see this:
from scintilla.net.
Interesting - I was trying to minimize the test case, and since I got the underlines on my machine I just figured that that was the Scintilla default. But it must be machine dependent.
I've changed the solution again - can you try it one last time? This time the setup should be exactly like the wiki says:
https://github.com/desjarlais/Scintilla.NET/wiki/Find-and-Highlight-Words
On my machine, the problem is still there when I run the latest solution.
5.3.3.6:
5.3.3.16:
from scintilla.net.
I do see that with your latest example. So you want the same behavior as 5.3.3.6?
from scintilla.net.
Yes, certainly. Speaking purely as a library user I would not expect there to be a huge, breaking change happening between 5.3.3.6 and 5.3.3.16 :)
To be clear, I suspect something has gone very seriously wrong with the wide character handling between these versions. It's not just that the behavior of indicators has quietly changed. For instance, add this snippet at the end of Form1_Load:
scintilla1.TargetStart = 0;
scintilla1.TargetEnd = scintilla1.TextLength;
scintilla1.SearchFlags = SearchFlags.None;
while (scintilla1.SearchInTarget("ä") != -1)
{
scintilla1.TargetStart = scintilla1.TargetEnd;
scintilla1.TargetEnd = scintilla1.TextLength;
}
In 5.3.3.6, it just finds all three occurrences of "ä", as expected.
But in 5.3.3.16 it goes into an infinite loop.
So you literally can't use Scintilla's search functionality to search for wide character strings anymore. I mean, whatever change has been made is tantamount to dropping support for wide characters.
from scintilla.net.
here is a screenshot of your sample with a soon to be released version 5.3.3.17 including the changes I mentioned above:
This looks good?
from scintilla.net.
Looks good!
from scintilla.net.
This should be fixed in 5.3.3.17, thank you for reporting the issue and the repro.
from scintilla.net.
Related Issues (20)
- Spacing between lines and characters HOT 3
- Function segmentation and Accolade HOT 19
- SetLexerByName does not cache the lexer created, instead it creates a new one each time. HOT 7
- Implement SCI_[G|S]ETCHANGEHISTORY HOT 2
- Lexer is obsolete HOT 3
- Text does not style completely unless scrolled HOT 7
- Container Lexer not selectable in 5.3.3.15 HOT 4
- Applying styles dynamically and loading from a settings file issue HOT 19
- All fields been impacted by setting margin of line number. HOT 3
- How to account for satellite dll's when using ClickOnce HOT 2
- Setting e.Handled=true in the KeyDown event handler has no effect HOT 2
- version 3.3.3.n not found in NuGet Gallery HOT 2
- Error adding control in .NET Framework
- Lexer.Container is not found HOT 15
- is json lexer broken ? WPF HOT 2
- Regular TextBox control influenced by Scintilla contro HOT 7
- Scintilla control not visible on form designer HOT 4
- CaretLineBackColor is black by default HOT 2
- New versions of Scintilla.dll (5.4.1) and Lexilla.dll (5.3.0) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scintilla.net.