emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/nasm-mode 2259c7d 34/67: Properly distinguish word and sym


From: ELPA Syncer
Subject: [nongnu] elpa/nasm-mode 2259c7d 34/67: Properly distinguish word and symbol constituents.
Date: Sun, 29 Aug 2021 11:23:48 -0400 (EDT)

branch: elpa/nasm-mode
commit 2259c7d698afaf49d4a8d490f980707e2d479a4d
Author: Christopher Wellons <wellons@nullprogram.com>
Commit: Christopher Wellons <wellons@nullprogram.com>

    Properly distinguish word and symbol constituents.
    
    Using backward-kill-word was behaving inconsistently with other modes.
    Characters like _ should be symbol constituents, not word constituents.
    Use superword-mode to override this, just as in other modes.
---
 nasm-mode.el | 36 +++++++++++++++++-------------------
 1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/nasm-mode.el b/nasm-mode.el
index 63e870c..43fece5 100644
--- a/nasm-mode.el
+++ b/nasm-mode.el
@@ -537,17 +537,17 @@
     "NASM preprocessor directives (pptok.c) for `nasm-mode'."))
 
 (defconst nasm-label-regexp
-  "\\(\\<[a-zA-Z_.?][a-zA-Z0-9_$#@~.?]*\\>\\)\\s-*:"
+  "\\(\\_<[a-zA-Z_.?][a-zA-Z0-9_$#@~.?]*\\_>\\)\\s-*:"
   "Regexp for `nasm-mode' for matching labels.")
 
 (defconst nasm-constant-regexp
-  "\\<$?[-+0-9][-+_0-9A-Fa-fHhXxDdTtQqOoBbYyeE.]*\\>"
+  "\\_<$?[-+0-9][-+_0-9A-Fa-fHhXxDdTtQqOoBbYyeE.]*\\_>"
   "Regexp for `nasm-mode' for matching numeric constants.")
 
 (defmacro nasm--opt (keywords)
   "Prepare KEYWORDS for `looking-at'."
   `(eval-when-compile
-     (regexp-opt ,keywords 'words)))
+     (regexp-opt ,keywords 'symbols)))
 
 (defconst nasm-imenu-generic-expression
   `((nil ,(concat "^\\s-*" nasm-label-regexp) 1)
@@ -556,7 +556,7 @@
   "Expressions for `imenu-generic-expression'.")
 
 (defconst nasm-font-lock-keywords
-  `(("\\<\\.[a-zA-Z0-9_$#@~.?]+\\>" . font-lock-type-face)
+  `(("\\_<\\.[a-zA-Z0-9_$#@~.?]+\\_>" . font-lock-type-face)
     (,(nasm--opt nasm-registers) . 'nasm-registers)
     (,(nasm--opt nasm-prefix) . 'nasm-prefix)
     (,(nasm--opt nasm-types) . 'nasm-types)
@@ -568,21 +568,19 @@
 "Keywords for `nasm-mode'.")
 
 (defconst nasm-mode-syntax-table
-  (let ((table (make-syntax-table)))
-    (prog1 table
-      (modify-syntax-entry ?_  "w" table)
-      (modify-syntax-entry ?#  "w" table)
-      (modify-syntax-entry ?@  "w" table)
-      (modify-syntax-entry ?\. "w" table)
-      (modify-syntax-entry ?\? "w" table)
-      (modify-syntax-entry ?#  "w" table)
-      (modify-syntax-entry ?@  "w" table)
-      (modify-syntax-entry ?~  "w" table)
-      (modify-syntax-entry ?\; "<" table)
-      (modify-syntax-entry ?\n ">" table)
-      (modify-syntax-entry ?\" "\"" table)
-      (modify-syntax-entry ?\' "\"" table)
-      (modify-syntax-entry ?\` "\"" table)))
+  (with-syntax-table (copy-syntax-table)
+    (modify-syntax-entry ?_  "_")
+    (modify-syntax-entry ?#  "_")
+    (modify-syntax-entry ?@  "_")
+    (modify-syntax-entry ?\? "_")
+    (modify-syntax-entry ?~  "_")
+    (modify-syntax-entry ?\. "w")
+    (modify-syntax-entry ?\; "<")
+    (modify-syntax-entry ?\n ">")
+    (modify-syntax-entry ?\" "\"")
+    (modify-syntax-entry ?\' "\"")
+    (modify-syntax-entry ?\` "\"")
+    (syntax-table))
   "Syntax table for `nasm-mode'.")
 
 (defvar nasm-mode-map



reply via email to

[Prev in Thread] Current Thread [Next in Thread]