diff options
Diffstat (limited to 'lisp/cedet/semantic/wisent/wisent.el')
| -rw-r--r-- | lisp/cedet/semantic/wisent/wisent.el | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/cedet/semantic/wisent/wisent.el b/lisp/cedet/semantic/wisent/wisent.el index 36dff019792..19582943618 100644 --- a/lisp/cedet/semantic/wisent/wisent.el +++ b/lisp/cedet/semantic/wisent/wisent.el | |||
| @@ -377,7 +377,7 @@ automaton has only one entry point." | |||
| 377 | (wisent-parse-lexer-function lexer) | 377 | (wisent-parse-lexer-function lexer) |
| 378 | (wisent-recovering nil) | 378 | (wisent-recovering nil) |
| 379 | (wisent-input (wisent-parse-start start starts)) | 379 | (wisent-input (wisent-parse-start start starts)) |
| 380 | state tokid choices choice) | 380 | state tokid choices choice wisent-lookahead-save) |
| 381 | (setq wisent-nerrs 0 ;; Reset parse error counter | 381 | (setq wisent-nerrs 0 ;; Reset parse error counter |
| 382 | wisent-lookahead nil) ;; and lookahead token | 382 | wisent-lookahead nil) ;; and lookahead token |
| 383 | (aset stack 0 0) ;; Initial state | 383 | (aset stack 0 0) ;; Initial state |
| @@ -469,7 +469,12 @@ automaton has only one entry point." | |||
| 469 | ;; Reduce by rule (call semantic action) | 469 | ;; Reduce by rule (call semantic action) |
| 470 | ;; ------------------------------------- | 470 | ;; ------------------------------------- |
| 471 | (t | 471 | (t |
| 472 | ;; save the global variable wisent-lookahead, | ||
| 473 | ;; as the semantic action might be an expand or expandfull | ||
| 474 | ;; which calls this function recursively | ||
| 475 | (setq wisent-lookahead-save wisent-lookahead) | ||
| 472 | (setq sp (funcall wisent-loop stack sp gotos)) | 476 | (setq sp (funcall wisent-loop stack sp gotos)) |
| 477 | (setq wisent-lookahead wisent-lookahead-save) | ||
| 473 | (or wisent-input (setq wisent-input (wisent-lexer)))))) | 478 | (or wisent-input (setq wisent-input (wisent-lexer)))))) |
| 474 | (run-hooks 'wisent-post-parse-hook) | 479 | (run-hooks 'wisent-post-parse-hook) |
| 475 | (car (aref stack 1)))) | 480 | (car (aref stack 1)))) |