* lisp/emacs-lisp/smie.el (smie-indent-keyword): Remove special case that

can be handled with a ((:before "fn") (:prev "=>" parent)) rule.
This commit is contained in:
Stefan Monnier 2010-06-08 22:58:26 -04:00
parent 0e4966fb65
commit e7d67e73b2
2 changed files with 10 additions and 9 deletions

View file

@ -45,7 +45,7 @@
;; the parser's state;
;; - because of that locality, indentation also works just fine when earlier
;; parts of the buffer are syntactically incorrect since the indentation
;; looks at "as little as possible" of the buffer make an indentation
;; looks at "as little as possible" of the buffer to make an indentation
;; decision.
;; - they typically have no error handling and can't even detect a parsing
;; error, so we don't have to worry about what to do in case of a syntax
@ -58,8 +58,10 @@
;; and Ceriel Jacobs (BookBody.pdf available at
;; http://www.cs.vu.nl/~dick/PTAPG.html).
;;
;; OTOH we had to kill many chickens, read many coffee grounds, and practiced
;; untold numbers of black magic spells.
;; OTOH we had to kill many chickens, read many coffee grounds, and practice
;; untold numbers of black magic spells, to come up with the indentation code.
;; Since then, some of that code has been beaten into submission, but the
;; smie-indent-keyword is still pretty obscure.
;;; Code:
@ -700,12 +702,6 @@ in order to figure out the indentation of some other (further down) point."
;; -> d
;; So as to align with the earliest appropriate place.
(smie-indent-virtual))
((equal token (save-excursion
(funcall smie-backward-token-function)))
;; in cases such as "fn x => fn y => fn z =>",
;; jump back to the very first fn.
;; FIXME: should we only do that for special tokens like "=>"?
(smie-indent-virtual))
((setq tmp (assoc (cons (caddr res) token)
smie-indent-rules))
(goto-char (cadr res))