(ansi-color-get-face): Use
authorAndreas Schwab <schwab@linux-m68k.org>
Mon, 30 Mar 2009 15:35:52 +0000 (15:35 +0000)
committerAndreas Schwab <schwab@linux-m68k.org>
Mon, 30 Mar 2009 15:35:52 +0000 (15:35 +0000)
ansi-color-parameter-regexp to match parameters.
(ansi-color-regexp): Include final `m' in first group.

lisp/ChangeLog
lisp/ansi-color.el

index 3605ae6..851a1fb 100644 (file)
@@ -1,3 +1,9 @@
+2009-03-30  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * ansi-color.el (ansi-color-get-face): Use
+       ansi-color-parameter-regexp to match parameters.
+       (ansi-color-regexp): Include final `m' in first group.
+
 2009-03-30  Jason Rumney  <jasonr@gnu.org>
 
        * files.el (locate-dominating-stop-dir-regexp): Stop searching
index 3a5fc4d..99e1430 100644 (file)
@@ -147,7 +147,7 @@ map.  This color map is stored in the variable `ansi-color-map'."
   :initialize 'custom-initialize-default
   :group 'ansi-colors)
 
-(defconst ansi-color-regexp "\033\\[\\([0-9;]*\\)m"
+(defconst ansi-color-regexp "\033\\[\\([0-9;]*m\\)"
   "Regexp that matches SGR control sequences.")
 
 (defconst ansi-color-parameter-regexp "\\([0-9]*\\)[m;]"
@@ -614,13 +614,12 @@ the parameter 0), then the effect of all previous parameters is cancelled.
 
 ESCAPE-SEQ is a SGR control sequences such as \\033[34m.  The parameter
 34 is used by `ansi-color-get-face-1' to return a face definition."
-  (let ((ansi-color-r "[0-9][0-9]?")
-        (i 0)
+  (let ((i 0)
         f val)
-    (while (string-match ansi-color-r escape-seq i)
+    (while (string-match ansi-color-parameter-regexp escape-seq i)
       (setq i (match-end 0)
            val (ansi-color-get-face-1
-                (string-to-number (match-string 0 escape-seq) 10)))
+                (string-to-number (match-string 1 escape-seq) 10)))
       (cond ((not val))
            ((eq val 'default)
             (setq f (list val)))