My apologies for any confusion. My code style is very terse, and I don't put in as many comments as other programmers (I started off in machine code on 64K machines, and have never properly got into the habit of  commenting properly.)

GTK_RESPONSE_ACCEPT is the default code as we hit the switch. This is the case if we haven't encountered any problems while opening the document (no one has edited the file since it was last saved by geany, and so the line numbers where the bookmarks are, and the number of folds should be the same).

GTK_RESPONSE_OK is only possible if the file has changed. It is used to indicate that the file has changed and that the user is ok with the advice to not try to apply the saved positions to the file in case it makes a mess of things. So there is no case in the switch for this (it's caught by the default statement) as we ignore the bookmark and fold data.

GTK_RESPONSE_REJECT is again only possible if the file has changed. It is used to indicate that the file has changed, but that the user wants to ignore the program's advice and try to apply bookmarks anyway accepting that they might be in the wrong place. Fold data could be a real mess if it's attempted to be applied in the wrong place, so it doesn't even try.

When testing I opened a file in another editor and then saved it again, so that I would only get GTK_RESPONSE_REJECT or GTK_RESPONSE_OK messages when the program reached the switch statement. I'm fairly sure that this isn't the cause of the problem...

 
Not sure if its part of the problem, but I notice that line 436
responds GTK_RESPONSE_OK which is not a case in the switch(l)
statement at line 445 so it should do default which makes it do
nothing.

Cheers
Lex