[Lazarus] [fpc-pascal] Persistent blocks in Lazarus

J├╝rgen Hestermann juergen.hestermann at gmx.de
Mon Jul 27 17:23:37 CEST 2009

>> And even much better than in Delphi (at least in Version 7, where 
>> persistent blocks are used as search default - when existing - which 
>> is realy annoying).
> Are you sore? I think Lazarus does too. But persistent or not, Lazarus 
> only uses "one line" blocks as default. So any multi-line block is 
> always ignored

Yes, I see it now. I only tested it with multiline blocks. But I find 
that behaviour a bit illogical. Why should the search dialog suddenly 
use the block as default (instead of the text at cursor) only because it 
consists of one line only? That makes no sense. I would want to use the 
text at cursor in *all* cases (independent from persistent blocks) 
because I may not even be aware that a block is still active. This way I 
have to think about this side effect whenever I use the search function.

>> Is it possible that Ctrl+Q,B and Ctrl+Q,K jump to the beginning and 
>> end of the persistent block (even if hidden)?
> I made it work for hidden blocks.

Yes, the code tools commands to jump to BEGIN and END had the same keys. 
After I changed that it works now.

> The other thing you may find about the 2 block points is that  some 
> IDE/Editor actions may change them (even is the block is shown => it 
> would hide it). The reason is that a lot of IDE stuff (like codetools) 
> used the selection to modify the text (this would work, that a new 
> selection would be set, replaced, and cleared). All this had to be 
> changed. I did so, for the stuff I found. If I missed anything, I only 
> need to know what.

There seems to be 2 other code tools functions that change the 
persistent block: Jump to BEGIN or END. Afterwards the persistent block 
no longer exists and cannot be recovered with Ctrl+K,H nor can I jump to 
its former location with Ctrl+Q,B or Ctrl+Q,K.

> BTW column mode: should work the same as in non-persistent:

Yes, it works very intuitive. Here it's configured to use 
Alt+Shift+Cursor to select a column block while Shift-Cursor does it in 
standard mode.

Thanks again for adding this!

More information about the Lazarus mailing list