Use SMIE by default and make sml-oldindent optional.
* sml-mode.el: Only load sml-oldindent if necessary.
(sml-use-smie): Default to t.
(sml-smie-datatype-|-p): Better handle incomplete datatype branch.
(sml-mode): Use prog-mode. Setup electric-layout and electric-indent.
(sml-mode-variables): Always setup SMIE if possible.
(sml-imenu-create-index, sml-funname-of-and, sml-electric-pipe)
(sml-beginning-of-defun, sml-defuse-symdata-at-point)
(sml-yacc-font-lock-keywords, sml-yacc-indentation):
Avoid sml-oldindent functions.
(sml-find-forward): Move from sml-oldindent and re-implement.
(sml-electric-semi): Use self-insert-command so electric-layout and
electric-indent can do their job.
(sml-smie-find-matching-starter, sml-find-matching-starter)
(sml-smie-skip-siblings, sml-skip-siblings): New functions.
* sml-oldindent.el (sml-starters-indent-after, sml-exptrail-syms):
Remove, unused.
(sml-find-forward): Move back to sml-mode.el.
(sml-old-find-matching-starter): Rename from sml-find-matching-starter.
(sml-old-skip-siblings): Move&rename from sml-mode:sml-skip-siblings.