The only part that is really relevant to the bug is that I use an ASSERT when the bookmark is not valid in BOOKMARK_GOTO. Using "break;" there is not a good idea, since the problem should never happen.
Maybe I understood the problem wrong. It appears to me that bookmark will always be valid through menu items, but not so for shortcuts. I mean, you can not go to bookmark 3 from menu if there is no bookmark 3, but 'bookmark-goto 3' is a valid shortcut can crash lyx. C-< is a special case of this.
Jean-Marc> I started to look at bug 3062 (crash when pressing C-<) and Jean-Marc> found out seriously weird code in LyXFunc::getStatus. Bo, Jean-Marc> Peter, I think the code was yours. Do you see anything Jean-Marc> wrong with my rewrite? Basically, when a lfun can work Jean-Marc> without a buffer one just has to specify the NoBuffer flag Jean-Marc> in LyXAction.C.
Your solution may be wrong because C-< should not work without buffer, but 'bookmark-goto 1/2/3' etc should work without buffer. This is why I moved 'bookmark-goto' from BufferView to lfunc. Bo