Function: js--skip-term-backward
js--skip-term-backward is a byte-compiled function defined in
js.el.gz.
Signature
(js--skip-term-backward)
Documentation
Skip a term before point; return t if a term was skipped.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/js.el.gz
(defun js--skip-term-backward ()
"Skip a term before point; return t if a term was skipped."
(let ((term-skipped nil))
;; Skip backward over balanced parens.
(let ((progress t))
(while progress
(setq progress nil)
;; First skip whitespace.
(skip-syntax-backward " ")
;; Now if we're looking at closing paren, skip to the opener.
;; This doesn't strictly follow JS syntax, in that we might
;; skip something nonsensical like "()[]{}", but it is enough
;; if it works ok for valid input.
(when (memq (char-before) '(?\] ?\) ?\}))
(setq progress t term-skipped t)
(backward-list))))
;; Maybe skip over a symbol.
(let ((save-point (point)))
(if (and (< (skip-syntax-backward "w_") 0)
(looking-at js--name-re))
;; Skipped.
(progn
(setq term-skipped t)
(skip-syntax-backward " "))
;; Did not skip, so restore point.
(goto-char save-point)))
(when (and term-skipped (> (point) (point-min)))
(backward-char)
(eq (char-after) ?.))))