summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-02-11 08:43:33 -0700
committerTom Tromey <tom@tromey.com>2017-02-11 08:43:47 -0700
commitc2e19a73401eb37d5c13f6c8589dc1e5d706d239 (patch)
treef76e186df66e972f802f6aa2aa75729cea6da028
parentac83b2dfe4504babfbafc5efb37dbde4bed34fed (diff)
downloademacs-c2e19a73401eb37d5c13f6c8589dc1e5d706d239.tar.gz
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.
-rw-r--r--lisp/textmodes/css-mode.el6
-rw-r--r--test/lisp/textmodes/css-mode-tests.el3
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))