

; fast versions of mutant-scrolling

;(progn (split-window) (shrink-window 13))
;(progn (use-local-map (make-sparse-keymap)) (local-set-key "\C-v" 'my-scroll-up)(local-set-key "\ev" 'my-scroll-down))
;(progn (let ((n 1)) (while t (sit-for 0) (insert (format "%s\n" n)) (setq n (1+ n)))))

(defun scroll-up-in-place ()
  (interactive)
  (let ((lines (- (window-height) 1)))
    (save-excursion
      (goto-char (window-start))
      (vertical-motion lines)
      (setq lines (vertical-motion lines))
      (goto-char (window-start))
      (vertical-motion lines)
      (set-window-start nil (point)))
    (next-line lines)))

(defun scroll-down-in-place ()
  (interactive)
  (let ((lines (- 1 (window-height))))
    (save-excursion
      (goto-char (window-start))
      (vertical-motion lines)
      (set-window-start nil (point)))
    (next-line lines)))


