SynEdit was abandoned for some time, but it's last update was March of last year ... and they've never had much alacrity. What I do know is that it worked well every time in Delphi, and that a port was planned.
In all honesty, it would be nice to have a warning when components aren't fully ported. It's easy to make a dialog that pops up when placed on the form, warning the user when something isn't fully ported. Or at least a slice of the docs mentioning this.
When Lazarus uses the components to get itself working and I try and follow suit only to find it doesn't work, this doesn't give me a "warm fuzzy feeling" about the IDE!
Quite frankly I am shocked that no one seems to have caught this yet.
---
Addendum:
I have now endeavored to fix the hideous code I've found. I have no clue why the following code was written the way it was, save for being cryptic, but I cannot figure out how to recompile the component. Nice of Lazarus to let me do a full recompile automatically like delphi does.
This is the wackiest code I've seen for a for loop:
Code:
while First <= Last do
begin
I := (First + Last) shr 1;
Compare := CompareStr(fKeywords[i], Token);
if Compare = 0 then
begin
Result := True;
break;
end else
if Compare < 0 then First := I + 1 else Last := I - 1;
end;
Okay, I rebuilt Lazarus and this section of code is the culprit. I hate cleaning up after people who code like this...
Bookmarks