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. If an opener is found, the match-data will
;; indicate it, with (match-string 1) being the entire delimiter, and
;; (match-string 2) the "main" double-quote. Otherwise, the match-data is
;; undefined.
(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))))