[Top][All Lists]
[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