Function: c-at-statement-start-p

c-at-statement-start-p is a byte-compiled function defined in cc-engine.el.gz.

Signature

(c-at-statement-start-p)

Documentation

Return non-nil if point is at the first token in a statement or somewhere in the syntactic whitespace before it.

A "statement" here is not restricted to those inside code blocks. Any kind of declaration-like construct that occur outside function bodies is also considered a "statement".

Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/cc-engine.el.gz
(defun c-at-statement-start-p ()
  "Return non-nil if point is at the first token in a statement
or somewhere in the syntactic whitespace before it.

A \"statement\" here is not restricted to those inside code blocks.
Any kind of declaration-like construct that occur outside function
bodies is also considered a \"statement\".

Note that this function might do hidden buffer changes.  See the
comment at the start of cc-engine.el for more info."

  (save-excursion
    (let ((end (point))
	  c-maybe-labelp)
      (c-syntactic-skip-backward
       (substring
	(if c-commas-bound-stmts
	    c-stmt-delim-chars-with-comma
	  c-stmt-delim-chars)
	1)
       nil t)
      (or (bobp)
	  (eq (char-before) ?})
	  (and (eq (char-before) ?{)
	       (not (and c-special-brace-lists
			 (progn (backward-char)
				(c-looking-at-special-brace-list)))))
	  (c-crosses-statement-barrier-p (point) end)))))