Function: calc-overwrite-string
calc-overwrite-string is a byte-compiled function defined in
calc-yank.el.gz.
Signature
(calc-overwrite-string STR EAT-LNUMS)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-yank.el.gz
(defun calc-overwrite-string (str eat-lnums)
(when (string-match "\n\\'" str)
(setq str (substring str 0 -1)))
(when eat-lnums
(setq str (substring str 4)))
(if (and (string-match "\\`[-+]?[0-9.]+\\(e-?[0-9]+\\)?\\'" str)
(looking-at "[-+]?[0-9.]+\\(e-?[0-9]+\\)?"))
(progn
(delete-region (point) (match-end 0))
(insert str))
(let ((i 0))
(while (< i (length str))
(if (= (setq last-command-event (aref str i)) ?\n)
(or (= i (1- (length str)))
(let ((pt (point)))
(end-of-line)
(delete-region pt (point))
(if (eobp)
(insert "\n")
(forward-char 1))
(if eat-lnums (setq i (+ i 4)))))
(self-insert-command 1))
(setq i (1+ i))))))