Function: nxml-paragraph-end-pos
nxml-paragraph-end-pos is a byte-compiled function defined in
nxml-mode.el.gz.
Signature
(nxml-paragraph-end-pos HAD-DATA OFFSET)
Documentation
Return the position of the paragraph end if contained in the current token.
Return nil if the current token does not contain the paragraph end. Only characters after OFFSET from the start of the token are eligible. HAD-DATA says whether there have been non-whitespace data characters yet.
Source Code
;; Defined in /usr/src/emacs/lisp/nxml/nxml-mode.el.gz
(defun nxml-paragraph-end-pos (had-data offset)
"Return the position of the paragraph end if contained in the current token.
Return nil if the current token does not contain the paragraph end.
Only characters after OFFSET from the start of the token are eligible.
HAD-DATA says whether there have been non-whitespace data characters yet."
(cond ((not had-data)
(cond ((memq xmltok-type '(data cdata-section))
(save-excursion
(let ((end (point)))
(goto-char (+ xmltok-start
(max (if (eq xmltok-type 'cdata-section)
9
0)
offset)))
(and (re-search-forward "[^ \t\r\n]" end t)
(re-search-forward "^[ \t]*$" end t)
(match-beginning 0)))))
((and (eq xmltok-type 'comment)
(nxml-token-begins-line-p)
(nxml-token-ends-line-p))
(save-excursion
(let ((end (point)))
(goto-char (+ xmltok-start (max 4 offset)))
(when (re-search-forward "[^ \t\r\n]" (- end 3) t)
(if (re-search-forward "^[ \t]*$" end t)
(match-beginning 0)
(goto-char (- end 3))
(skip-chars-backward " \t")
(unless (bolp)
(beginning-of-line 2))
(point))))))))
((memq xmltok-type '(data space cdata-section))
(save-excursion
(let ((end (point)))
(goto-char (+ xmltok-start offset))
(and (re-search-forward "^[ \t]*$" end t)
(match-beginning 0)))))
((and (memq xmltok-type '(start-tag
end-tag
empty-element
comment
processing-instruction
entity-ref))
(nxml-token-begins-line-p)
(nxml-token-ends-line-p))
(save-excursion
(goto-char xmltok-start)
(skip-chars-backward " \t")
(point)))
((and (eq xmltok-type 'end-tag)
(looking-at "[ \t]*$")
(not (nxml-in-mixed-content-p t)))
(save-excursion
(or (search-forward "\n" nil t)
(point-max))))))