Function: hanoi-insert-ring

hanoi-insert-ring is a byte-compiled function defined in hanoi.el.gz.

Signature

(hanoi-insert-ring RING POLE)

Source Code

;; Defined in /usr/src/emacs/lisp/play/hanoi.el.gz
;; put never-before-placed RING on POLE and update their cars.
(defun hanoi-insert-ring (ring pole)
  (cl-decf (car pole) baseward-step)
  (let ((str (car ring))
	(start (- (car pole) (* (/ (cdr ring) 2) fly-step))))
    (setcar ring (car pole))
    (cl-loop for pos upfrom start by fly-step
             for i below (cdr ring) do
             (subst-char-in-region pos (1+ pos) (char-after pos) (aref str i))
             (set-text-properties pos (1+ pos) (text-properties-at i str)))
    (hanoi-goto-char (car pole))))