Function: smie-indent-backward-token

smie-indent-backward-token is a byte-compiled function defined in smie.el.gz.

Signature

(smie-indent-backward-token)

Documentation

Skip token backward and return it, along with its levels.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/smie.el.gz
(defun smie-indent-backward-token ()
  "Skip token backward and return it, along with its levels."
  (let ((tok (funcall smie-backward-token-function))
        class)
    (cond
     ((< 0 (length tok)) (assoc tok smie-grammar))
     ;; 4 == open paren syntax, 5 == close.
     ((memq (setq class (syntax-class (syntax-after (1- (point))))) '(4 5))
      (forward-char -1)
      (cons (buffer-substring-no-properties (point) (1+ (point)))
            (if (eq class 4) '(nil 0) '(0 nil))))
     ((memq class '(7 15))
      (backward-sexp 1)
      nil)
     ((bobp) nil)
     (t (error "Bumped into unknown token")))))