Function: blink-paren-open-paren-line-string

blink-paren-open-paren-line-string is a byte-compiled function defined in simple.el.gz.

Signature

(blink-paren-open-paren-line-string POS)

Documentation

Return the line string that contains the openparen at POS.

Source Code

;; Defined in /usr/src/emacs/lisp/simple.el.gz
(defun blink-paren-open-paren-line-string (pos)
  "Return the line string that contains the openparen at POS."
  (save-excursion
    (goto-char pos)
    ;; Capture the regions in terms of (beg . end) conses whose
    ;; buffer-substrings we want to show as a context string.  Ensure
    ;; they are font-locked (bug#59527).
    (let (regions)
      ;; Show what precedes the open in its line, if anything.
      (cond
       ((save-excursion (skip-chars-backward " \t") (not (bolp)))
        (setq regions (list (cons (line-beginning-position)
                                  (1+ pos)))))
       ;; Show what follows the open in its line, if anything.
       ((save-excursion
          (forward-char 1)
          (skip-chars-forward " \t")
          (not (eolp)))
        (setq regions (list (cons pos (line-end-position)))))
       ;; Otherwise show the previous nonblank line,
       ;; if there is one.
       ((save-excursion (skip-chars-backward "\n \t") (not (bobp)))
        (setq regions (list (cons (progn
                                    (skip-chars-backward "\n \t")
                                    (line-beginning-position))
                                  (progn (end-of-line)
                                         (skip-chars-backward " \t")
                                         (point)))
                            (cons pos (1+ pos)))))
       ;; There is nothing to show except the char itself.
       (t (setq regions (list (cons pos (1+ pos))))))
      ;; Ensure we've font-locked the context region.
      (font-lock-ensure (caar regions) (cdar (last regions)))
      (mapconcat (lambda (region)
                   (buffer-substring (car region) (cdr region)))
                 regions
                 "..."))))