(ansi-color-get-face): Use

ansi-color-parameter-regexp to match parameters.
(ansi-color-regexp): Include final `m' in first group.
This commit is contained in:
Andreas Schwab 2009-03-30 15:35:52 +00:00
parent b90f9e54eb
commit c21d4d1a0b
2 changed files with 10 additions and 5 deletions

View 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

View 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)))