[Lazarus] Lazarus code editor: what happened with the caret?

Martin Frb lazarus at mfriebe.de
Fri Oct 6 22:43:56 CEST 2017

Latest SynEdit uses a custom drawn caret.

This was introduced to enable multiple carets. That is: having several 
carets at the same time, to type and edit several locations simultaneously.
(e.g shift-alt down, gives you 2 carets, one in each row)

Since Windows does not allow for more than one caret to be created, it 
was necessary to draw them directly.

See components\synedit\synpluginmulticaret.pp
line 1713
   if ScreenCaret.Painter.ClassType = TSynEditScreenCaretPainterSystem then

Comment this out. (multicaret will not work / only one caret will be 

Or change
line 3085
to always set  TSynEditScreenCaretPainterSystem

On 06/10/2017 20:57, Lubos Pintes via Lazarus wrote:
> Hello,
> After years, I just built a fresh Lazarus from SVN. I ran the IDE, and 
> noticed immediately that a code editor is completely unusable to 
> screen reader. I am running Windows and using NVDA. In the past, the 
> code editor was partially usable. But now, NVDA is unable to see the 
> caret.
> So I would like to ask: is caret drawn in some nonstandard way? Or 
> could I set any settings in options to try to fix this?

More information about the Lazarus mailing list