Function: c-beginning-of-current-token
c-beginning-of-current-token is a byte-compiled function defined in
cc-engine.el.gz.
Signature
(c-beginning-of-current-token &optional BACK-LIMIT)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-engine.el.gz
(defun c-beginning-of-current-token (&optional back-limit)
;; Move to the beginning of the current token. Do not move if not
;; in the middle of one. BACK-LIMIT may be used to bound the
;; backward search; if given it's assumed to be at the boundary
;; between two tokens. Return non-nil if the point is moved, nil
;; otherwise.
;;
;; This function might do hidden buffer changes.
(let ((start (point)))
(if (looking-at "\\w\\|\\s_")
(skip-syntax-backward "w_" back-limit)
(when (< (skip-syntax-backward ".()" back-limit) 0)
(while (let ((pos (or (and (looking-at c-nonsymbol-token-regexp)
(match-end 0))
;; `c-nonsymbol-token-regexp' should always match
;; since we've skipped backward over punctuation
;; or paren syntax, but consume one char in case
;; it doesn't so that we don't leave point before
;; some earlier incorrect token.
(1+ (point)))))
(if (<= pos start)
(goto-char pos))))))
(< (point) start)))