diff options
author | Pierre Courtieu <Pierre.Courtieu@cnam.fr> | 2017-03-08 15:49:39 +0100 |
---|---|---|
committer | Pierre Courtieu <Pierre.Courtieu@cnam.fr> | 2017-03-08 15:49:39 +0100 |
commit | 06fd76163b857a056ac44e7437efa17656f06e5b (patch) | |
tree | 41b32a03e3af6a46c5fa65420f6ef46230d58fc4 /lib | |
parent | 4bcac92df46da9e68b5e3d565bb118fb63b4feb4 (diff) |
Fixing unicode tokens in generic code and in coq.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/unicode-tokens.el | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/unicode-tokens.el b/lib/unicode-tokens.el index b52d035a..ba3d036a 100644 --- a/lib/unicode-tokens.el +++ b/lib/unicode-tokens.el @@ -427,16 +427,19 @@ This function also initialises the important tables for the mode." ;; hairy logic based on Coq-style vs Isabelle-style configs (if (string= "" (format unicode-tokens-token-format "")) ;; no special token format, parse separate words/symbols - (let* ((optoks - (remove* "^\\(?:\\sw\\|\\s_\\)+$" - toks :test 'string-match)) - (idtoks - (set-difference toks optoks)) + (let* ((tokextra (remove* "^\\(?:\\sw\\|\\s_\\)+$" toks :test 'string-match)) + (toksymbwrd (set-difference toks tokextra)) + ;; indentifier that are not pure words + (toksymb (remove* "^\\(?:\\sw\\)+$" toksymbwrd :test 'string-match)) + ;; pure words + (tokwrd (set-difference toksymbwrd toksymb)) (idorop (concat "\\(\\_<" - (regexp-opt idtoks) - "\\_>\\|\\(?:\\B" - (regexp-opt optoks) + (regexp-opt toksymb) + "\\_>\\|\\(?:\\<" + (regexp-opt tokwrd) + "\\>\\)\\|\\(?:\\B" + (regexp-opt tokextra) "\\B\\)\\)"))) (if unicode-tokens-token-variant-format-regexp (format unicode-tokens-token-variant-format-regexp |