Hi Eric and Alex,

I think asking you to download my .emacs.d and linux repo is probably too much.

The easiest way to reproduce this error is from plain Emacs: emacs -q

After Emacs starts, activate semantic mode: M-x semantic-mode

Then open jiffies.h

Then M-x semantic-lex-test

Error happens at line 256:

hif-shiftleft: Arithmetic error
Parsing jiffies.h (LL)...
Idle Parse Error: "#<buffer jiffies.h> - Arithmetic error"

This error keeps repeating:

Error running timer `semantic-idle-scheduler-function': (arith-error)

Emacs version: Compiled from emacs-trunk. I hope you use this version as well. I think semantic should be the latest version with emacs-trunk.

If you try to reproduce, please do not let Semantic read from your semanticdb.

Hope that helps,



On Tue, Jun 3, 2014 at 5:43 PM, Tu Do <tuhdo1710@gmail.com> wrote:
Another important thing I forgot to tell is that I use god-mode in my Emacs: https://github.com/chrisdone/god-mode

If you feel it annoying, please disable it in init.el



On Sat, May 31, 2014 at 12:48 AM, Tu Do <tuhdo1710@gmail.com> wrote:
One file is in /usr/include/x86_64-linux-gnu/c++/4.8/ext/opt_random.h from the previous email I sent Alex.

One file is in linux/include/linux/jiffies.h . I got the following error parsing this file:

> Parsing jiffies.h (LL)...
> Idle Work Parse Error: "#<buffer jiffies.h> - Arithmetic error"

When I tried to execute bovinate, I got this error:

> hif-shiftleft: Arithmetic error

linux is the linux kernel source tree.

I attached both files here. It seems CEDET having problem parsing macros with arithmetic operations in it.



While I was making CEDET parse /usr/include, it cannot parse this particular file: /usr/include/x86_64-linux-gnu/c++/4.8/ext/opt_random.h

I got this error:

Error running timer `semantic-idle-scheduler-function': (wrong-type-argument number-or-marker-p "__ORDER_LITTLE_ENDIAN__")

When I tried `bovinate`, I got this error:

eval: Wrong type argument: number-or-marker-p, "__ORDER_LITTLE_ENDIAN__"

Since Semantic got stuck on this particular file, it cannot continue. I think CEDET devs should implement a recovery mechanism.