Function: picture-insert
picture-insert is a byte-compiled function defined in picture.el.gz.
Signature
(picture-insert CH ARG)
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/picture.el.gz
;; Picture insertion and deletion.
(defun picture-insert (ch arg)
(let* ((width (char-width ch))
;; We must be sure that the succeeding insertion won't delete
;; the just inserted character.
(picture-horizontal-step
(if (and (= picture-vertical-step 0)
(> width 1)
(< (abs picture-horizontal-step) 2))
(* picture-horizontal-step 2)
picture-horizontal-step)))
(while (> arg 0)
(setq arg (1- arg))
(if (/= picture-desired-column (current-column))
(move-to-column picture-desired-column t))
(let ((col (+ picture-desired-column width)))
(or (eolp)
(let ((pos (point)))
(move-to-column col t)
(let ((old-width (string-width (buffer-substring pos (point)))))
(delete-region pos (point))
(when (> old-width width)
(insert-char ? (- old-width width))
(goto-char pos))))))
(insert ch)
(forward-char -1)
(picture-move))))