Function: c-determine-+ve-limit

c-determine-+ve-limit is a byte-compiled function defined in cc-engine.el.gz.

Signature

(c-determine-+ve-limit HOW-FAR &optional START-POS)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/cc-engine.el.gz
(defun c-determine-+ve-limit (how-far &optional start-pos)
  ;; Return a buffer position about HOW-FAR non-literal characters forward
  ;; from START-POS (default point), which must not be inside a literal.
  (save-excursion
    (let ((pos (or start-pos (point)))
	  (count how-far)
	  (s (parse-partial-sexp (point) (point)))) ; null state
      (goto-char pos)
      (while (and (not (eobp))
		  (> count 0))
	;; Scan over counted characters.
	(setq s (parse-partial-sexp
		 pos
		 (min (+ pos count) (point-max))
		 nil			; target-depth
		 nil			; stop-before
		 s			; state
		 'syntax-table))	; stop-comment
	(setq count (- count (- (point) pos) 1)
	      pos (point))
	;; Scan over literal characters.
	(if (nth 8 s)
	    (setq s (parse-partial-sexp
		     pos
		     (point-max)
		     nil		; target-depth
		     nil		; stop-before
		     s			; state
		     'syntax-table)	; stop-comment
		  pos (point))))
      (point))))