idle parse error due to commit 496501b

"Martin Stein" <[email protected]> Wed, 4 Mar 2015 12:44:52 +0100
Newsgroups gmane.emacs.cedet
Message-ID <trinity-8da81001-3ba0-42ec-a9b4-f0f2a635caec-1425469492788@3capp-gmx-bs46>
After I rebased my f90 code to the current master branch and started working with it I stumbled upon the following error which I traced to commit 496501b, so I guess the problem is not the commit itself. When I edit a file, idle reparsing fails - sometimes. With the fortran parser it fails most of the time, but I also saw it in lisp mode. Line
  (semantic-throw-on-input 'lex)
in lex.el (line 815) causes this problem.
In the case of the fortran lexer, the idle parse error message is triggered because the lexer calls itself recursively. If throw-on-input throws at an inner recursion step, the lexer aborts, and the outer recursion thinks it is in an infinite loop (the inner lexer has not advanced semantic-lex-end), as it does not know about the throwing. I cannot remember where I took the idea of calling the lexer recursively, but I think I am not the only one doing this.

Martin

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/