Re[2]: [cedet-semantic] Completion with Xemacs not working
Brought to you by:
zappo
From: Eric M. L. <er...@si...> - 2005-10-25 03:00:26
|
>>> Nicolas Pernetty <nic...@ya...> seems to think that: >> >> >2) if I type 'semantic-ia-complete-symbol-menu', a popup menu >> >> >appears and when I click on the symbols, result is correct >> >> >('var.tata' or 'var.titi') BUT if the completion is unique (for >> >> >instance if I type 'var.ti') , I got an error : >> >> >> >> I fixed this with CVS version 1.9 of semantic-ia.el. >> > >> >Ok I've just tried and it doesn't seems to work (malformed list...), >> >here is the stacktrace : >> > >> ># bind (standard-output stack-trace-on-signal debug-on-signal >> >stack-trace-on-error debug-on-error) >> > delq(nil [("titi" variable (:type "int") (reparse-symbol >> > classsubparts) [36 45])]) # bind (list title) >> > ad-Orig-imenu--create-menu-1("Completions" [("titi" variable >> > (:type "int") (reparse-symbol classsubparts) [36 45])]) (setq >> > ad-return-value (ad-Orig-imenu--create-menu-1 title list)) (if (and >> > (null list) (not ...)) (setq ad-return-value "-") (setq >> > ad-return-value (ad-Orig-imenu--create-menu-1 title list))) >> [ ... ] >> >> Is this XEmacs? I couldn't get a failure in Emacs 22.0.whatever > >Well I've just tried again with Xemacs, and this time activate 'debug >on error', same error but with this you may have more information : > >Debugger entered--Lisp error: (malformed-list [("titi" variable (:type "int") (reparse-symbol classsubparts) [36 45])]) > delq(nil [("titi" variable (:type "int") (reparse-symbol classsubparts) [36 45])]) > ad-Orig-imenu--create-menu-1("Completions" [("titi" variable (:type "int") (reparse-symbol classsubparts) [36 45])]) > (setq ad-return-value (ad-Orig-imenu--create-menu-1 title list)) > (if (and (null list) (not ...)) (setq ad-return-value "-") (setq ad-return-value (ad-Orig-imenu--create-menu-1 title list))) > (let (ad-return-value) (if (and ... ...) (setq ad-return-value "-") (setq ad-return-value ...)) ad-return-value) > imenu--create-menu-1("Completions" [("titi" variable (:type "int") (reparse-symbol classsubparts) [36 45])]) > imenu--mouse-menu((("titi : int" . [...])) #<buttondown-event button3> "Completions") > (let ((ans ...)) (when ans (if ... ...) (delete-region ... ...) (semantic-ia-insert-tag ans))) > (let* ((a ...) (syms ...) (pre ...)) (if (not syms) (error "No completions available")) (let (...) (when ans ... ... ...))) > semantic-ia-complete-symbol-menu(148) > call-interactively(semantic-ia-complete-symbol-menu) > command-execute(semantic-ia-complete-symbol-menu t) > execute-extended-command(nil) > call-interactively(execute-extended-command) > >Maybe I can do something to help you ? >Add a print in the middle of the code for instance ? (I'm a real >beginner in Elisp, so I couldn't figure it by myself...) I looks like things are getting tied up in semantic-imenu.el around line 55. Perhaps David (who wrote that bit) has a suggestion? [ ... ] >> >> >a) I've read that there is some kind of auto checking while >> >> >typing, resulting in underlining (color ?) what the parser doesn't >> >> >understand. I've tried semantic-complete-analyze-inline ('inline >> >> >completion not needed') and semantic-show-unmatched-syntax-mode >> >> >(everything I type is in inverse video for 2 seconds, then go back >> >> >to normal, even incorrect lines, for instance with mismatch >> >> >parenthesis). Have I missed something ? >> >> >> >> The mode is `semantic-show-unmatched-syntax-mode', but you >> >> described `semantic-highlight-edits-mode'. >> >> >> >> Unmatched syntax mode for C will not detect errors inside the body >> >> of a function because function bodies are not (yet) parsed. >> > >> >Can you described an example where we should have something >> >underlined ? Whatever I type, it doesn't change at all... >> >> If semantic-show-unmatched-syntax-mode is on, then something like >> this: >> >> int int int main() >> { >> } >> >> would underline some 'int's, but: >> >> int main() >> { >> int int int i; >> >> } >> >> would not. > >It doesn't work... Nothing happened at all, even if it's written >'show-unmatched-syntax minor mode is enabled' Use M-x list-faces-display (or the XEmacs equivalent) and make sure that the face `semantic-unmatched-syntax-face' is visibly different from the default. [ ... ] Good Luck Eric -- Eric Ludlam: za...@gn..., er...@si... Home: http://www.ludlam.net Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net GNU: www.gnu.org |