From: Stefan Monnier Date: Mon, 7 Oct 2013 15:40:24 +0000 (-0400) Subject: * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~1350 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bdc6b4c8f6953c561317abf1bad7fc0c0cd069de;p=emacs.git * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation. (css-mode): Use electric-indent-chars. Fixes: debbugs:15467 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 17ba29fd0ae..972eb2fe2d7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2013-10-07 Stefan Monnier + * textmodes/css-mode.el (css-smie-rules): Fix indentation (bug#15467). + (css-mode): Use electric-indent-chars. + * nxml/nxml-mode.el: Use lexical-binding and syntax-propertize. (font-lock-beg, font-lock-end): Move before first use. (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 @@ (pcase (cons kind token) (`(:elem . basic) css-indent-offset) (`(:elem . arg) 0) - (`(:list-intro . "") t) ;"" stands for BOB (bug#15467). + (`(:list-intro . ,(or `";" `"")) t) ;"" stands for BOB (bug#15467). (`(:before . "{") (if (smie-rule-hanging-p) (smie-rule-parent 0))))) @@ -321,12 +321,8 @@ (smie-setup css-smie-grammar #'css-smie-rules :forward-token #'css-smie--forward-token :backward-token #'css-smie--backward-token) - (when css-electric-keys - (let ((fc (make-char-table 'auto-fill-chars))) - (set-char-table-parent fc auto-fill-chars) - (dolist (c css-electric-keys) - (aset fc c 'indent-according-to-mode)) - (setq-local auto-fill-chars fc)))) + (setq-local electric-indent-chars + (append css-electric-keys electric-indent-chars))) (defvar comment-continue) 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 @@ .xxx { } + +.x2 +{ +} + +div.x3 +{ +}