Function: c-backward-syntactic-ws

c-backward-syntactic-ws is a macro defined in cc-defs.el.gz.

Signature

(c-backward-syntactic-ws &optional LIMIT)

Documentation

Backward skip over syntactic whitespace.

Syntactic whitespace is defined as whitespace characters with whitespace (or comment-end) syntax, comments, and preprocessor directives. However if point starts inside a comment or preprocessor directive, the content of it is not treated as whitespace.

LIMIT sets a lower limit of the backward movement, if specified. If LIMIT is reached inside a line comment or preprocessor directive then the point is moved into it past the whitespace at the end. If point starts on the wrong side of LIMIT, it stays unchanged.

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-defs.el.gz
(defmacro c-backward-syntactic-ws (&optional limit)
  "Backward skip over syntactic whitespace.
Syntactic whitespace is defined as whitespace characters with
whitespace (or comment-end) syntax, comments, and preprocessor
directives.  However if point starts inside a comment or
preprocessor directive, the content of it is not treated as
whitespace.

LIMIT sets a lower limit of the backward movement, if specified.  If
LIMIT is reached inside a line comment or preprocessor directive then
the point is moved into it past the whitespace at the end.  If point
starts on the wrong side of LIMIT, it stays unchanged.

Note that this function might do hidden buffer changes.  See the
comment at the start of cc-engine.el for more info."
  (declare (debug t))
  (if limit
      `(when (> (point) (or ,limit (point-min)))
	 (save-restriction
	   (narrow-to-region (or ,limit (point-min)) (point-max))
	   (c-backward-sws)))
    '(c-backward-sws)))