Scrolling *R* (or *S*) buffer

Martin Maechler maechler at stat.math.ethz.ch
Fri Jan 16 09:46:12 CET 2004


>>>>> "MM" == Martin Maechler <maechler at stat.math.ethz.ch>
>>>>>     on Fri, 19 Dec 2003 18:36:46 +0100 writes:


<< On the topic of activating ``automatic scrolling of *R*
   buffer'' ....... >>

and mentioned the ESS info manual (something I'm told is missing from
Jan deLeeuw MacOS jumbo package with R/X11/Emacs/ESS/..)
which recommends setting
      (setq comint-scroll-to-bottom-on-output t)

Note: Emacs' "Comint" (Command Interpreter) is the base toolbox
      below *R* (or M-x shell's *shell*) handling

However, I found that we have been doing something a bit more
sophisticated for years now :

It's also important to set the comint-scroll-.. variables 
*after*  "comint"  has been loaded, hence the (eval-after-load ....)
wrapper :

  ;; comint 'fixes'
  (eval-after-load
   "comint"
   '(progn
      (setq comint-scroll-to-bottom-on-output 'others) ; not current
      ;;=default: (setq comint-scroll-to-bottom-on-input nil)
      (setq comint-scroll-show-maximum-output t) ;;; this is the key

      (define-key comint-mode-map [up]
        'comint-previous-matching-input-from-input)
      (define-key comint-mode-map [down]
        'comint-next-matching-input-from-input)
      (define-key comint-mode-map "" 'comint-bol)
      )
   )


Note that the last three statements are key settings that we
like (and the last is default in the current ESS beta), but are
not related to comint scrolling behavior.

Hopefully this helps even further

Martin Maechler <maechler at stat.math.ethz.ch>	http://stat.ethz.ch/~maechler/
Seminar fuer Statistik, ETH-Zentrum  LEO C16	Leonhardstr. 27
ETH (Federal Inst. Technology)	8092 Zurich	SWITZERLAND
phone: x-41-1-632-3408		fax: ...-1228			<><




More information about the ESS-help mailing list