Function: smie-forward-sexp-command
smie-forward-sexp-command is an interactive and byte-compiled function
defined in smie.el.gz.
Signature
(smie-forward-sexp-command N)
Documentation
Move forward through N logical elements.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/smie.el.gz
(defun smie-forward-sexp-command (n)
"Move forward through N logical elements."
(interactive "^p")
(let ((forw (> n 0))
(forward-sexp-function nil))
(while (/= n 0)
(setq n (- n (if forw 1 -1)))
(let ((pos (point))
(res (if forw
(smie-forward-sexp 'halfsexp)
(smie-backward-sexp 'halfsexp))))
(if (and (car res) (= pos (point)) (not (if forw (eobp) (bobp))))
(signal 'scan-error
(list "Containing expression ends prematurely"
(cadr res) (cadr res)))
nil)))))