Function: ex-print-display-lines
ex-print-display-lines is a byte-compiled function defined in
viper-ex.el.gz.
Signature
(ex-print-display-lines LINES &optional LINE-NUMBER UNAMBIGUOUSLY)
Source Code
;; Defined in /usr/src/emacs/lisp/emulation/viper-ex.el.gz
(defun ex-print-display-lines (lines &optional line-number unambiguously)
(when unambiguously
(dolist (char ex-ambiguous-char-map)
(setq lines (string-replace (car char) (cdr char) lines))))
(cond
;; String doesn't contain a newline.
((not (string-search "\n" lines))
(if line-number
(message "%s %s" line-number lines)
(message "%s" lines)))
;; String contains only one newline at the end. Strip it off.
((= (string-search "\n" lines) (1- (length lines)))
(if line-number
(message "%s %s" line-number (substring lines 0 -1))
(message "%s" (substring lines 0 -1))))
;; String spans more than one line. Use a temporary buffer.
(t
(save-current-buffer
(with-output-to-temp-buffer " *viper-info*"
(princ lines))
(when line-number
(with-current-buffer " *viper-info*"
(setq-local display-line-numbers-offset (1- line-number))
(display-line-numbers-mode 1)))))))