Re: [cedet-semantic] XEmacs adjustments
Brought to you by:
zappo
From: Michael R. <re...@gm...> - 2008-11-28 15:26:53
|
On Thursday 27 November 2008 17:11, Michael Reiher wrote: > On Wednesday 26 November 2008 22:38, you wrote: > > >>> Michael Reiher <re...@gm...> seems to think that: > > > > > >Then semantic-decoration-include-menu even seems to be called, however > > >something is wrong about the argument. > > > > > >Debugger entered--Lisp error: (wrong-type-argument listp > > > #<buttondown-event button3>) > > > semantic-decoration-include-menu(#<buttondown-event button3>) > > > call-interactively(semantic-decoration-include-menu) > > > > [ ... ] > > > > In Emacs, the event is a list. Presumably in XEmacs it is some custom > > lisp object? Is there an API for extracting the window from an event > > in XEmacs? > > I found (event-window EVENT). Using this makes it work. Then however there > is a problem with the menu definition. The keywords :visible and :help > don't exist in XEmacs. Removing them makes the menu show up and it mostly > seems to work even :) > > Just actions which require the point to be in the #include line ("What Is > This?", "Visit This Include" and "Parse This Include") have a little > problem. I have to move the cursor manually into the #include line, > otherwise I get errors. I guess that's what (mouse-set-point event) is > supposed to take care off? So maybe this is an XEmacs bug ... > Hmm, the cause for this problem is the save-excursion around mouse-set-point and popup-menu in e.g. semantic-decoration-include-menu. Or maybe actually that popup-menu in XEmacs returns right after showing the menu, in contrast to Emacs where it waits until the user selected an entry (just guessing)? Anyway, with XEmacs the point position is already restored to the original position when the user eventually selects an entry => error. So AFAICS a solution might be: instead of setting the point right away, just save the position and set the point to the saved position in the function the user selected e.g. semantic-decoration-include-describe. I tried this and it works fine for me. I attached a patch for illustration (it's probably far from perfect;). NOTE: In the menu definition of semantic-decoration-on-unknown-include-menu you had a :Help instead of :help. See patch. Greets Michael |