Function: compat--string-lines
compat--string-lines is a byte-compiled function defined in
compat-29.el.
Signature
(compat--string-lines STRING &optional OMIT-NULLS KEEP-NEWLINES)
Documentation
[Compatibility function for string-lines, defined in Emacs 29.1. See (compat)
Emacs 29.1' for more details.]
Handle additional KEEP-NEWLINES argument.
Source Code
;; Defined in ~/.emacs.d/elpa/compat-30.1.0.1/compat-29.el
(compat-defun string-lines (string &optional omit-nulls keep-newlines) ;; <compat-tests:string-lines>
"Handle additional KEEP-NEWLINES argument."
:extended "28.1"
(if (equal string "")
(if omit-nulls
nil
(list ""))
(let ((lines nil)
(start 0))
(while (< start (length string))
(let ((newline (string-search "\n" string start)))
(if newline
(progn
(when (or (not omit-nulls)
(not (= start newline)))
(let ((line (substring string start
(if keep-newlines
(1+ newline)
newline))))
(when (not (and keep-newlines omit-nulls
(equal line "\n")))
(push line lines))))
(setq start (1+ newline)))
(if (zerop start)
(push string lines)
(push (substring string start) lines))
(setq start (length string)))))
(nreverse lines))))