diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2021-03-07 01:58:16 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2021-03-07 01:58:16 -0500 |
commit | 468bb5ab7f949441f68c4133fcd5292dfbbfd83d (patch) | |
tree | 865d0697dc016cda1cfaf7b267fe6ddd7780e55d /lisp/cedet/semantic/wisent/grammar.el | |
parent | 856a0a913a1932e1bad8e44d34944ce7504b23ff (diff) | |
download | emacs-468bb5ab7f949441f68c4133fcd5292dfbbfd83d.tar.gz |
* lisp/cedet/semantic/wisent: Use lexical-binding
* lisp/cedet/semantic/wisent/comp.el: lexical-binding.
(wisent-defcontext): Make sure the vars are also dynbound in the files
that `require` us.
(wisent-state-actions, wisent-automaton-lisp-form): Use `obarray-make`.
(wisent--compile-grammar): Rename from `wisent-compile-grammar`.
(wisent-compile-grammar): Redefine as an obsolete function.
(wisent-automaton-lisp-form): Avoid variable `state`.
* lisp/cedet/semantic/grammar.el: Use lexical-binding.
(semantic-grammar-require-form): New var.
(semantic-grammar-header): Use it to provide new element `require-form`.
(semantic-grammar-header-template): Use it.
* lisp/cedet/semantic/wisent.el (wisent-compiled-grammar): New macro.
* lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-parsetable-builder):
Use it in the generated code instead of the `wisent-compile-grammar` function.
(wisent-grammar-mode): Set `semantic-grammar-require-form` so
the generated ELisp files require `semantic/wisent` rather than
`semantic/bovine`.
* lisp/cedet/semantic/wisent/wisent.el: Use lexical-binding.
* lisp/cedet/semantic/wisent/java-tags.el: Use lexical-binding.
* lisp/cedet/semantic/wisent/python.el: Use lexical-binding.
* lisp/cedet/semantic/wisent/javascript.el: Use lexical-binding.
(semantic-ctxt-current-symbol): Remove unused var `symlist`.
* admin/grammars/python.wy (wisent-python-EXPANDING-block):
Declare dynbound var.
* lisp/cedet/semantic/grammar-wy.el: Regenerate.
Diffstat (limited to 'lisp/cedet/semantic/wisent/grammar.el')
-rw-r--r-- | lisp/cedet/semantic/wisent/grammar.el | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/lisp/cedet/semantic/wisent/grammar.el b/lisp/cedet/semantic/wisent/grammar.el index edc5c5c7029..819ebd5dad5 100644 --- a/lisp/cedet/semantic/wisent/grammar.el +++ b/lisp/cedet/semantic/wisent/grammar.el @@ -286,12 +286,9 @@ Return the expanded expression." (defun wisent-grammar-parsetable-builder () "Return the value of the parser table." - `(progn - ;; Ensure that the grammar [byte-]compiler is available. - (eval-when-compile (require 'semantic/wisent/comp)) - (wisent-compile-grammar - ',(wisent-grammar-grammar) - ',(semantic-grammar-start)))) + `(wisent-compiled-grammar + ,(wisent-grammar-grammar) + ,(semantic-grammar-start))) (defun wisent-grammar-setupcode-builder () "Return the parser setup code." @@ -305,7 +302,7 @@ Return the expanded expression." semantic-lex-types-obarray %s)\n\ ;; Collect unmatched syntax lexical tokens\n\ (add-hook 'wisent-discarding-token-functions\n\ - 'wisent-collect-unmatched-syntax nil t)" + #'wisent-collect-unmatched-syntax nil t)" (semantic-grammar-parsetable) (buffer-name) (semantic-grammar-keywordtable) @@ -325,6 +322,7 @@ Menu items are appended to the common grammar menu.") (define-derived-mode wisent-grammar-mode semantic-grammar-mode "WY" "Major mode for editing Wisent grammars." (semantic-grammar-setup-menu wisent-grammar-menu) + (setq-local semantic-grammar-require-form '(require 'semantic/wisent)) (semantic-install-function-overrides '((semantic-grammar-parsetable-builder . wisent-grammar-parsetable-builder) (semantic-grammar-setupcode-builder . wisent-grammar-setupcode-builder)))) |