Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2008-10

matching bracket problems (Carbon)

8 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

John Stoneham

I've been using the latest svn (Carbon) for a while now, updating once a day or so, and matching brackets never seem to highlight properly. This issue appears on 10.4.11 and 10.5.3 (different builds for Tiger and Leopard). Usually, they don't they do highlight, one or both often get "stuck" with the highlighting on after the cursor moves away.

Is anyone else noticing this issue? If so, I'll submit a bug report.

_| ( ) |-| |\| -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.lazarus.freepascal.org/pipermail/lazarus/attachments/20081009/b6f41855/attachment.html

Reply by email

Unknown author
to John Stoneham

On Carbon I've never noticed this working, ever.
Just been playing around with it now and it looks like it works just after you change font and no caret is displayed.
But the moment you can see the caret, the matching brakets stop working.

Dominique.

"John Stoneham" wrote 11 lines
I've been using the latest svn (Carbon) for a while now, updating once a day or so, and matching brackets never seem to highlight properly. This issue appears on 10.4.11 and 10.5.3 (different builds for Tiger and Leopard). Usually, they don't they do highlight, one or both often get "stuck" with the highlighting on after the cursor moves away. Is anyone else noticing this issue? If so, I'll submit a bug report. -- _| ( ) |-| |\|

Reply by email

John Stoneham
to Mattias Gärtner
Mattias G?rtner wrote 12 lines
Zitat von John Stoneham : > I've been using the latest svn (Carbon) for a while now, updating once a day > or so, and matching brackets never seem to highlight properly. This issue > appears on 10.4.11 and 10.5.3 (different builds for Tiger and Leopard). > Usually, they don't they do highlight, one or both > often get "stuck" with the highlighting on after the cursor moves away. Some weeks ago I saw the same problem. It was the wrong font. Since then it works almost nice, only sometimes the highlighting is not updated.

Well, this would be a major improvement over what I see all the time. Thing is, I've tried all the fixed width fonts (Andale Mono, Courier, Courier New, Monaco), and changing font doesn't have any effect. It still doesn't work properly, ever. Which font are you using that's causing the bracket highlighting to almost work? Actually, it'd be better if you posted all your settings: the color scheme you use, font, font size, whether anti-aliasing is enabled, and your settings for matching brackets (e.g. bold, inverted, etc). Maybe they're some "magic combination" and you've stumbled onto it.

Perhaps you could attach your editoroptions.xml file?

Show quoted text 6 lines
> Is anyone else noticing this issue? If so, I'll submit a bug report. If you have some clues how to reproduce it reliable , yes please.

It reproduces reliably for me, in that bracket highlighting never works the way it's supposed to. However, it seems to be working somewhat for you. If I can reproduce your settings and see the same behaviour, then I'm sure you could reproduce mine and see what I'm seeing. Then I'd say it's reproducable and I'll file a bug report.

_| ( ) |-| |\| -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.lazarus.freepascal.org/pipermail/lazarus/attachments/20081010/b0f2cac1/attachment-0001.html

Reply by email

Martin Friebe
to John Stoneham

Well, I don't have a mac, so I can't test this, but I was involved into some refactor around the bracket-highlights (a few month back).

one of the major changes was
http://bugs.freepascal.org/view.php?id=11693 revision 15861 Did it work before that? Did/does it work in 0.9.24?

A few of the other work items were
http://bugs.freepascal.org/view.php?id=11732 revision 15845 http://bugs.freepascal.org/view.php?id=11754 revision 15883 (highlight bracket on either side of caret)

Anyway, a few things that may help to nail it down (even so I will not be able to do too much, since I have no mac...)

1) Do determine if it is an issue, with synedit thinking it needs to highlight a bracket, or is it an issue with Synedit not redrawing?

Do find out: When the highlight goes wrong:
a) Bracket is highlighted, but the cursor moved away b) Bracket is not highlighted, but the cursor is on the bracket

resize the window, or overlap it with another window => anything that should force a redraw => does synedit correct the highlighting?

2) Fontsize issues (there is a good chance to find it here)

- Try highlighter = "none" or "text" does that look any better?
- does it make a diff,if the caret is on the opening or closing bracket (the bracket occurring first on the line, or last?)
- does it make a diff if the 2 brackets are on the same line, or on 2 different lines (especially with highlighter none/text ?

Synedit with highlighter, paints the line as a selection of small "tokens". It calculates the width of each of them. If the actual textdrawer gets a different width => all sort of strange things can happen. That could explain an operating system dependent issue.

Martin

John Stoneham wrote 58 lines
On Fri, Oct 10, 2008 at 4:17 AM, Mattias G?rtner < <mailto:>> wrote: Zitat von John Stoneham < <mailto:>>: > I've been using the latest svn (Carbon) for a while now, updating once a day > or so, and matching brackets never seem to highlight properly. This issue > appears on 10.4.11 and 10.5.3 (different builds for Tiger and Leopard). > Usually, they don't they do highlight, one or both > often get "stuck" with the highlighting on after the cursor moves away. Some weeks ago I saw the same problem. It was the wrong font. Since then it works almost nice, only sometimes the highlighting is not updated. Well, this would be a major improvement over what I see all the time. Thing is, I've tried all the fixed width fonts (Andale Mono, Courier, Courier New, Monaco), and changing font doesn't have any effect. It still doesn't work properly, ever. Which font are you using that's causing the bracket highlighting to almost work? Actually, it'd be better if you posted all your settings: the color scheme you use, font, font size, whether anti-aliasing is enabled, and your settings for matching brackets (e.g. bold, inverted, etc). Maybe they're some "magic combination" and you've stumbled onto it. Perhaps you could attach your editoroptions.xml file? > Is anyone else noticing this issue? If so, I'll submit a bug report. If you have some clues how to reproduce it reliable , yes please. It reproduces reliably for me, in that bracket highlighting never works the way it's supposed to. However, it seems to be working somewhat for you. If I can reproduce your settings and see the same behaviour, then I'm sure you could reproduce mine and see what I'm seeing. Then I'd say it's reproducable and I'll file a bug report. -- _| ( ) |-| |\| ------------------------------------------------------------------------ _______________________________________________ Lazarus mailing list http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

John Stoneham
to Martin Friebe

Ok, a quick experiment leads me to believe it is indeed a redrawing issue. As you suggested, I tried moving another window over the editor window. When this happens, the highlighting appears as it should (when the cursor is touching a bracket, the other bracket is highlighted; when the cursor is away from the bracket, neither are highlighted). As soon as the editor window receives focus again, the redrawing doesn't work anymore to highlight or de-highlight the brackets.

BTW, the same thing happens if I pageup/pagedown with the cursor next to the bracket. When I pageup/pagedown to bring that section back onto the screen, the highlighting has repainted correctly. It also repaints correctly if I CTRL+UP or CTRL+DOWN to scroll the editor window by one line while the cursor remains on the line.

So, it definitely seems like a repaint or redrawing issue.

Martin Friebe wrote 108 lines
Well, I don't have a mac, so I can't test this, but I was involved into some refactor around the bracket-highlights (a few month back). one of the major changes was http://bugs.freepascal.org/view.php?id=11693 revision 15861 Did it work before that? Did/does it work in 0.9.24? A few of the other work items were http://bugs.freepascal.org/view.php?id=11732 revision 15845 http://bugs.freepascal.org/view.php?id=11754 revision 15883 (highlight bracket on either side of caret) Anyway, a few things that may help to nail it down (even so I will not be able to do too much, since I have no mac...) 1) Do determine if it is an issue, with synedit thinking it needs to highlight a bracket, or is it an issue with Synedit not redrawing? Do find out: When the highlight goes wrong: a) Bracket is highlighted, but the cursor moved away b) Bracket is not highlighted, but the cursor is on the bracket resize the window, or overlap it with another window => anything that should force a redraw => does synedit correct the highlighting? 2) Fontsize issues (there is a good chance to find it here) - Try highlighter = "none" or "text" does that look any better? - does it make a diff,if the caret is on the opening or closing bracket (the bracket occurring first on the line, or last?) - does it make a diff if the 2 brackets are on the same line, or on 2 different lines (especially with highlighter none/text ? Synedit with highlighter, paints the line as a selection of small "tokens". It calculates the width of each of them. If the actual textdrawer gets a different width => all sort of strange things can happen. That could explain an operating system dependent issue. Martin John Stoneham wrote: > > > On Fri, Oct 10, 2008 at 4:17 AM, Mattias G?rtner > < <mailto:>> wrote: > > Zitat von John Stoneham < > <mailto:>>: > > > I've been using the latest svn (Carbon) for a while now, > updating once a day > > or so, and matching brackets never seem to highlight properly. > This issue > > appears on 10.4.11 and 10.5.3 (different builds for Tiger and > Leopard). > > Usually, they don't they do highlight, > one or both > > often get "stuck" with the highlighting on after the cursor > moves away. > > Some weeks ago I saw the same problem. It was the wrong font. > Since then it works almost nice, only sometimes the highlighting > is not updated. > > > Well, this would be a major improvement over what I see all the time. > Thing is, I've tried all the fixed width fonts (Andale Mono, Courier, > Courier New, Monaco), and changing font doesn't have any effect. It > still doesn't work properly, ever. Which font are you using that's > causing the bracket highlighting to almost work? Actually, it'd be > better if you posted all your settings: the color scheme you use, > font, font size, whether anti-aliasing is enabled, and your settings > for matching brackets (e.g. bold, inverted, etc). Maybe they're some > "magic combination" and you've stumbled onto it. > > Perhaps you could attach your editoroptions.xml file? > > > > > Is anyone else noticing this issue? If so, I'll submit a bug report. > > If you have some clues how to reproduce it reliable , yes please. > > > It reproduces reliably for me, in that bracket highlighting never > works the way it's supposed to. However, it seems to be working > somewhat for you. If I can reproduce your settings and see the same > behaviour, then I'm sure you could reproduce mine and see what I'm > seeing. Then I'd say it's reproducable and I'll file a bug report. > > -- > _| ( ) |-| |\| > ------------------------------------------------------------------------ > > _______________________________________________ > Lazarus mailing list > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus > _______________________________________________ Lazarus mailing list http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
_| ( ) |-| |\| -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.lazarus.freepascal.org/pipermail/lazarus/attachments/20081010/600d10cb/attachment-0001.html

Reply by email

Martin Friebe
to John Stoneham

Hi John,

can you run SynEdit with console output, or output to a logfile? And put some debugging in (and rebuild it)?
If yes, try this

1) in components/synedit/SynEditMarkup.pp line 244 currently:

procedure TSynEditMarkup.InvalidateSynLines(FirstLine, LastLine : integer);
begin
  if assigned(fInvalidateLinesMethod)
  then fInvalidateLinesMethod(FirstLine, LastLine);
end;

make it:

procedure TSynEditMarkup.InvalidateSynLines(FirstLine, LastLine : integer);
begin
  debugln(['Markup InvalidateLin first=', FirstLine,' Last=', LastLine]);
  if assigned(fInvalidateLinesMethod)
  then fInvalidateLinesMethod(FirstLine, LastLine);
end;

and add "LCLProc" to the uses clause.

2) In components/synedit/SynEditMarkupBracket.pp  after line 69 in
procedure TSynEditMarkupBracket.FindMatchingBracketPair(PhysCaret : TPoint;

find the "begin" and add at the start of the procedure: (LCLProc should be in uses already)

  debugln('Brackets Invalidate');

3) in components/synedit/SynEdit.pp line 2851 (inside procedure Paint) uncomment the line:
DebugLn('TCustomSynEdit.Paint LinesInWindow=',dbgs(LinesInWindow),' nL1=',dbgs(nL1),' nL2=',dbgs(nL2));

Rebuild Lazarus.
Now if you approach or leave a bracket (it will be recognized to the right and to the left of the caret)

you should get some debug lines like

BracketsInvalidate
Markup InValidate start = xx last= yy
Markup InValidate start = xx last= yy
TCustomSynEdit.Paint LinesInWindow=25 nL1=xx nl2=yy

Possible some of them are repeated more/less often. Do they match the line number(s) where your brackets are? Can you get the result for 2 brackets on the same line, and 2 brackets on different lines?

Also ensure you do not use code folding => there are a few cases where code folding may affect the calculation of the correct line number.

Thanks
Martin

John Stoneham wrote 151 lines
Ok, a quick experiment leads me to believe it is indeed a redrawing issue. As you suggested, I tried moving another window over the editor window. When this happens, the highlighting appears as it should (when the cursor is touching a bracket, the other bracket is highlighted; when the cursor is away from the bracket, neither are highlighted). As soon as the editor window receives focus again, the redrawing doesn't work anymore to highlight or de-highlight the brackets. BTW, the same thing happens if I pageup/pagedown with the cursor next to the bracket. When I pageup/pagedown to bring that section back onto the screen, the highlighting has repainted correctly. It also repaints correctly if I CTRL+UP or CTRL+DOWN to scroll the editor window by one line while the cursor remains on the line. So, it definitely seems like a repaint or redrawing issue. On Fri, Oct 10, 2008 at 9:00 AM, Martin Friebe < <mailto:>> wrote: Well, I don't have a mac, so I can't test this, but I was involved into some refactor around the bracket-highlights (a few month back). one of the major changes was http://bugs.freepascal.org/view.php?id=11693 revision 15861 Did it work before that? Did/does it work in 0.9.24? A few of the other work items were http://bugs.freepascal.org/view.php?id=11732 revision 15845 http://bugs.freepascal.org/view.php?id=11754 revision 15883 (highlight bracket on either side of caret) Anyway, a few things that may help to nail it down (even so I will not be able to do too much, since I have no mac...) 1) Do determine if it is an issue, with synedit thinking it needs to highlight a bracket, or is it an issue with Synedit not redrawing? Do find out: When the highlight goes wrong: a) Bracket is highlighted, but the cursor moved away b) Bracket is not highlighted, but the cursor is on the bracket resize the window, or overlap it with another window => anything that should force a redraw => does synedit correct the highlighting? 2) Fontsize issues (there is a good chance to find it here) - Try highlighter = "none" or "text" does that look any better? - does it make a diff,if the caret is on the opening or closing bracket (the bracket occurring first on the line, or last?) - does it make a diff if the 2 brackets are on the same line, or on 2 different lines (especially with highlighter none/text ? Synedit with highlighter, paints the line as a selection of small "tokens". It calculates the width of each of them. If the actual textdrawer gets a different width => all sort of strange things can happen. That could explain an operating system dependent issue. Martin John Stoneham wrote: > > > On Fri, Oct 10, 2008 at 4:17 AM, Mattias G?rtner > < <mailto:> <mailto: <mailto:>>> wrote: > > Zitat von John Stoneham < <mailto:> > <mailto: <mailto:>>>: > > > I've been using the latest svn (Carbon) for a while now, > updating once a day > > or so, and matching brackets never seem to highlight properly. > This issue > > appears on 10.4.11 and 10.5.3 (different builds for Tiger and > Leopard). > > Usually, they don't they do highlight, > one or both > > often get "stuck" with the highlighting on after the cursor > moves away. > > Some weeks ago I saw the same problem. It was the wrong font. > Since then it works almost nice, only sometimes the highlighting > is not updated. > > > Well, this would be a major improvement over what I see all the time. > Thing is, I've tried all the fixed width fonts (Andale Mono, Courier, > Courier New, Monaco), and changing font doesn't have any effect. It > still doesn't work properly, ever. Which font are you using that's > causing the bracket highlighting to almost work? Actually, it'd be > better if you posted all your settings: the color scheme you use, > font, font size, whether anti-aliasing is enabled, and your settings > for matching brackets (e.g. bold, inverted, etc). Maybe they're some > "magic combination" and you've stumbled onto it. > > Perhaps you could attach your editoroptions.xml file? > > > > > Is anyone else noticing this issue? If so, I'll submit a bug report. > > If you have some clues how to reproduce it reliable , yes please. > > > It reproduces reliably for me, in that bracket highlighting never > works the way it's supposed to. However, it seems to be working > somewhat for you. If I can reproduce your settings and see the same > behaviour, then I'm sure you could reproduce mine and see what I'm > seeing. Then I'd say it's reproducable and I'll file a bug report. > > -- > _| ( ) |-| |\| > ------------------------------------------------------------------------ > > _______________________________________________ > Lazarus mailing list > <mailto:> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus > _______________________________________________ Lazarus mailing list <mailto:> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus -- _| ( ) |-| |\| ------------------------------------------------------------------------ _______________________________________________ Lazarus mailing list http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email