Function: c-ml-string-opener-at-or-around-point

c-ml-string-opener-at-or-around-point is a byte-compiled function defined in cc-engine.el.gz.

Signature

(c-ml-string-opener-at-or-around-point &optional POSITION)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/cc-engine.el.gz
(defun c-ml-string-opener-at-or-around-point (&optional position)
  ;; If POSITION (default point) is at or inside an ml string opener, return a
  ;; dotted list of the start and end of that opener, and the position of the
  ;; double-quote in it.  That list will not include any "context characters"
  ;; before or after the opener.
  (let ((here (point))
	found)
    (or position (setq position (point)))
    (goto-char (max (- position (1- c-ml-string-max-opener-len)) (point-min)))
    (while
	(and
	 (setq found
	       (search-forward-regexp
		c-ml-string-opener-re
		(min (+ position c-ml-string-max-opener-len) (point-max))
		'bound))
	 (<= (match-end 1) position)))
    (prog1
	(and found
	     (<= (match-beginning 1) position)
	     (cons (match-beginning 1)
		   (cons (match-end 1) (match-beginning 2))))
      (goto-char here))))