emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cedet-called-interactively-p hangs on emacs 24.3.50.1


From: joakim
Subject: Re: cedet-called-interactively-p hangs on emacs 24.3.50.1
Date: Thu, 20 Dec 2012 15:47:05 +0100
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>> Emacs 24.2.1 with the same CEDET version was working properly.
>
> Please make it a bug-report, and include a backtrace (obtained with
> "Options => Enter Debugger on Quit/C-g", assuming that works).
>
>
>         Stefan
>

I tried to make this a bug report, but it doesnt seem to have shown up
yet, or somehing.

I have the exact same issue and I think I now understand the problem.

For an ugly fix, try this:

  (defmacro internal--called-interactively-p--get-frame (n)
    ;; `sym' will hold a global variable, which will be used kind of like C's
    ;; "static" variables.
    (let ((sym (make-symbol "base-index")))
      `(progn
         (defvar ,sym
           (let ((i 1))
             (while (not (or  (eq (nth 1 (backtrace-frame i))
                                  'called-interactively-p)
                              (eq (nth 1 (backtrace-frame i))
                                  'cedet-called-interactively-p)))
               (setq i (1+ i)))
             i))
         ;; (unless (eq (nth 1 (backtrace-frame ,sym)) 'called-interactively-p)
         ;;   (error "called-interactively-p: %s is out-of-sync!" ,sym))
         (backtrace-frame (+ ,sym ,n)))))


so, the problem seems to be a change in emacs core for
called-interactively-p. It wont complete if one alias  the definition of
called-interactively-p as Cedet does. So the ugly test fix is to check
for this particular alias. Obviously a correct fix needs to be made.


-- 
Joakim Verona



reply via email to

[Prev in Thread] Current Thread [Next in Thread]