To begin with thanks both paweld and martin_fr for your quick replies.
For the record, my app was initially written years ago on Laz v_0.9.x, but I keep maintaining it by adding new stuff. Originally this part of the code was written under Laz v_2.x and AFAIK it used to work well. Was surprised to find it does not under Laz 4 when I attempted to have it recompiled.
@paweld indeed FETSynEdit.Marks.Count works in the sense that it gets increased by one after insert. Yet for some reason it looks that although the new bookmark gets into the Marks list (from what I can see on the debugger) still it cannot be intercepted resulting in all shorts of trouble at later stages of my application, rendering it completely useless. To put it simple, I depend upon IsBookmark.
@martin_fr am glad to realise SynEdit is been reworked as indeed this is needed, under Linux I have a number of issues with the component for years. IMO perhaps the best approach would have been for us to be provided with the IDE version of the SynEdit that seemed to work very well instead of the tSynEdit we are given which am afraid leaves something to be desired. I understand this is not going to be easy.
As for the SetBookMark method, I did not know of its existence and of course it’s syntax, that is before you had it mentioned, thank you for this. Unfortunately it is not unusual for open source to be provided with scarce documentation, sometimes I can live without it, others not. Following downgrade from Laz 4 to Laz 3, I cannot even find unit SynEdit using Ctrl-(left click) on the source window (Unable to find file "synedit.pp". If it belongs to your project, check search path in Project -> Compiler Options -> Search Paths -> Other Unit Files. etc). Perhaps something has gone wrong, I may have to try a clean installation of Laz 3 before I try again. All this despite that app can be compiled and run sans issues.
thanks again guys
s