From c2e19a73401eb37d5c13f6c8589dc1e5d706d239 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sat, 11 Feb 2017 08:43:33 -0700 Subject: [PATCH] Fix bug in css--mdn-find-symbol * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace before skipping word characters. test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add regression test. --- lisp/textmodes/css-mode.el | 6 ++++-- test/lisp/textmodes/css-mode-tests.el | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index 19746c68e6a..cd86db639ab 100644 --- a/lisp/textmodes/css-mode.el +++ b/lisp/textmodes/css-mode.el @@ -1190,8 +1190,10 @@ to look up will be substituted there." "A helper for `css-lookup-symbol' that finds the symbol at point. Returns the symbol, a string, or nil if none found." (save-excursion - ;; Skip backward over a word first. - (skip-chars-backward "-[:alnum:] \t") + ;; Skip any whitespace between the word and point. + (skip-chars-backward "- \t") + ;; Skip backward over a word. + (skip-chars-backward "-[:alnum:]") ;; Now skip ":" or "@" to see if it's a pseudo-element or at-id. (skip-chars-backward "@:") (if (looking-at css--mdn-symbol-regexp) diff --git a/test/lisp/textmodes/css-mode-tests.el b/test/lisp/textmodes/css-mode-tests.el index 5372c37a179..d601f43002a 100644 --- a/test/lisp/textmodes/css-mode-tests.el +++ b/test/lisp/textmodes/css-mode-tests.el @@ -226,7 +226,8 @@ ("a:v" "isited" ":visited") ("border-" "color: red" "border-color") ("border-color: red" ";" "border-color") - ("border-color: red; color: green" ";" "color"))) + ("border-color: red; color: green" ";" "color") + (" border-collapse " ": collapse;" "border-collapse"))) (with-temp-buffer (css-mode) (insert (nth 0 item)) -- 2.39.5