* lisp/emacs-lisp/smie.el: New smie-config system.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 24 Oct 2013 21:16:20 +0000 (17:16 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 24 Oct 2013 21:16:20 +0000 (17:16 -0400)
commit71e3276bc574257845c81c095d41ed58399089fe
tree92b026e9c5b467726634e5807339884ec3be03ca
parent60db713e4d6dba18acc0f644259b61967c561c39
* lisp/emacs-lisp/smie.el: New smie-config system.
(smie-config): New defcustom.
(smie-edebug, smie-config-show-indent, smie-config-set-indent)
(smie-config-guess, smie-config-save): New commands.
(smie-config--mode-local, smie-config--buffer-local)
(smie-config--trace, smie-config--modefuns): New vars.
(smie-config--advice, smie-config--mode-hook)
(smie-config--setter, smie-config-local, smie-config--get-trace)
(smie-config--guess-value, smie-config--guess): New functions.
(smie-indent-forward-token, smie-indent-backward-token): Don't copy
text properties.  Treat "string fence" syntax like string syntax.

* lisp/progmodes/sh-script.el (sh-use-smie): Change default.
(sh-smie-sh-rules, sh-smie-rc-rules): Obey legacy sh-indent-* vars.
(sh-var-value): Simplify by CSE.
(sh-show-indent, sh-set-indent, sh-learn-line-indent)
(sh-learn-buffer-indent): Redirect to their SMIE equivalent when SMIE
is used.
(sh-guess-basic-offset): Use cl-incf.
(sh-guess-basic-offset): Use push+nreverse to avoid O(n^2).
etc/NEWS
lisp/ChangeLog
lisp/emacs-lisp/smie.el
lisp/progmodes/sh-script.el