aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2013-10-07 11:40:24 -0400
committerStefan Monnier2013-10-07 11:40:24 -0400
commitbdc6b4c8f6953c561317abf1bad7fc0c0cd069de (patch)
treeb4b44773a24f11a5300e129c454807706497e43e
parent764636db721a3e8a56a33ade742a56d6956c0752 (diff)
downloademacs-bdc6b4c8f6953c561317abf1bad7fc0c0cd069de.tar.gz
emacs-bdc6b4c8f6953c561317abf1bad7fc0c0cd069de.zip
* lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation.
(css-mode): Use electric-indent-chars. Fixes: debbugs:15467
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/textmodes/css-mode.el10
-rw-r--r--test/indent/css-mode.css8
3 files changed, 14 insertions, 7 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 17ba29fd0ae..972eb2fe2d7 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,8 @@
12013-10-07 Stefan Monnier <monnier@iro.umontreal.ca> 12013-10-07 Stefan Monnier <monnier@iro.umontreal.ca>
2 2
3 * textmodes/css-mode.el (css-smie-rules): Fix indentation (bug#15467).
4 (css-mode): Use electric-indent-chars.
5
3 * nxml/nxml-mode.el: Use lexical-binding and syntax-propertize. 6 * nxml/nxml-mode.el: Use lexical-binding and syntax-propertize.
4 (font-lock-beg, font-lock-end): Move before first use. 7 (font-lock-beg, font-lock-end): Move before first use.
5 (nxml-mode): Use syntax-propertize-function. 8 (nxml-mode): Use syntax-propertize-function.
diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el
index 0f4daa9a35c..e8271725875 100644
--- a/lisp/textmodes/css-mode.el
+++ b/lisp/textmodes/css-mode.el
@@ -302,7 +302,7 @@
302 (pcase (cons kind token) 302 (pcase (cons kind token)
303 (`(:elem . basic) css-indent-offset) 303 (`(:elem . basic) css-indent-offset)
304 (`(:elem . arg) 0) 304 (`(:elem . arg) 0)
305 (`(:list-intro . "") t) ;"" stands for BOB (bug#15467). 305 (`(:list-intro . ,(or `";" `"")) t) ;"" stands for BOB (bug#15467).
306 (`(:before . "{") (if (smie-rule-hanging-p) 306 (`(:before . "{") (if (smie-rule-hanging-p)
307 (smie-rule-parent 0))))) 307 (smie-rule-parent 0)))))
308 308
@@ -321,12 +321,8 @@
321 (smie-setup css-smie-grammar #'css-smie-rules 321 (smie-setup css-smie-grammar #'css-smie-rules
322 :forward-token #'css-smie--forward-token 322 :forward-token #'css-smie--forward-token
323 :backward-token #'css-smie--backward-token) 323 :backward-token #'css-smie--backward-token)
324 (when css-electric-keys 324 (setq-local electric-indent-chars
325 (let ((fc (make-char-table 'auto-fill-chars))) 325 (append css-electric-keys electric-indent-chars)))
326 (set-char-table-parent fc auto-fill-chars)
327 (dolist (c css-electric-keys)
328 (aset fc c 'indent-according-to-mode))
329 (setq-local auto-fill-chars fc))))
330 326
331(defvar comment-continue) 327(defvar comment-continue)
332 328
diff --git a/test/indent/css-mode.css b/test/indent/css-mode.css
index f3787538460..9a2a15f6ba5 100644
--- a/test/indent/css-mode.css
+++ b/test/indent/css-mode.css
@@ -1,3 +1,11 @@
1.xxx 1.xxx
2{ 2{
3} 3}
4
5.x2
6{
7}
8
9div.x3
10{
11}