[llvm] r226931 - [emacs] llvm-mode: fix parens, font-lock i*

Ramkumar Ramachandra artagnon at gmail.com
Fri Jan 23 11:45:35 PST 2015


Author: artagnon
Date: Fri Jan 23 13:45:35 2015
New Revision: 226931

URL: http://llvm.org/viewvc/llvm-project?rev=226931&view=rev
Log:
[emacs] llvm-mode: fix parens, font-lock i*

In llvm-mode, with electric-pair-mode turned on, typing a literal '['
would print out '[[', and '(' would print a '(('. This was a very
annoying bug caused by overzealous syntax-table entries: the parens are
already part of the '(' and ')' class by default. Fix this.

While at it, notice that i32, i64, i1 etc. are not font-locked despite a
clear intent to do so. The issue is that regexp-opt doesn't accept
regular expressions. So, spell out the common literal integers with
different widths.

Differential Revision: http://reviews.llvm.org/D7036

Modified:
    llvm/trunk/utils/emacs/llvm-mode.el

Modified: llvm/trunk/utils/emacs/llvm-mode.el
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/emacs/llvm-mode.el?rev=226931&r1=226930&r2=226931&view=diff
==============================================================================
--- llvm/trunk/utils/emacs/llvm-mode.el (original)
+++ llvm/trunk/utils/emacs/llvm-mode.el Fri Jan 23 13:45:35 2015
@@ -23,7 +23,7 @@
    ;; Unnamed variable slots
    '("%[-]?[0-9]+" . font-lock-variable-name-face)
    ;; Types
-   `(,(regexp-opt '("void" "i[0-9]+" "float" "double" "type" "label" "opaque") 'words) . font-lock-type-face)
+   `(,(regexp-opt '("void" "i1" "i8" "i16" "i32" "i64" "i128" "float" "double" "type" "label" "opaque") 'words) . font-lock-type-face)
    ;; Integer literals
    '("\\b[-]?[0-9]+\\b" . font-lock-preprocessor-face)
    ;; Floating point constants
@@ -83,7 +83,7 @@
               ;; word constituents (`w')
               ;;[?<  "w"]
               ;;[?>  "w"]
-              [?\%  "w"]
+              [?%  "w"]
               ;;[?_  "w  "]
               ;; comments
               [?\;  "< "]
@@ -93,16 +93,9 @@
               ;; symbol constituents (`_')
               ;; punctuation (`.')
               ;; open paren (`(')
-              [?\( "("]
-              [?\[ "("]
-              [?\{ "("]
               ;; close paren (`)')
-              [?\) ")"]
-              [?\] ")"]
-              [?\} ")"]
               ;; string quote ('"')
-              [?\" "\""]
-              ))))
+              [?\" "\""]))))
 
 ;; --------------------- Abbrev table -----------------------------
 





More information about the llvm-commits mailing list