1
1
;;; essa-r.el -- Possible local customizations for R with ESS.
3
;; Copyright (C) 1997--2000 A.J. Rossini, Martin Maechler,
4
;; Kurt Hornik, and Richard M. Heiberger.
3
;; Copyright (C) 1997--2004 A.J. Rossini, Rich M. Heiberger, Martin
4
;; Maechler, Kurt Hornik, Rodney Sparapani, and Stephen Eglen.
6
;; Author: A.J. Rossini <rossini@biostat.washington.edu>
7
;; Maintainer: A.J. Rossini <rossini@biostat.washington.edu>
6
;; Original Author: A.J. Rossini <rossini@u.washington.edu>
8
7
;; Created: 17 November 1999
9
;; Modified: $Date: 2001/12/27 23:31:19 $
10
;; Version: $Revision: 1.5 $
11
;; RCS: $Id: essa-r.el,v 1.5 2001/12/27 23:31:19 ess Exp $
8
;; Maintainers: ESS-core <ESS-core@stat.math.ethz.ch>
13
10
;; Keywords: editing and process modes.
34
;;; The purpose of this file is to demonstrate some of the extras that
35
;;; have been constructed for the ESS R mode; if they prove
36
;;; interesting, then they might be migrated to essd-r, the primary
37
42
;; you can invoke ESS/R from emacs by typing
39
44
;; with vsize set to (for example) 40M, and nsize set to 600000.
79
84
(message "Finished evaluation"))
86
(defun ess-r-var (beg end)
87
"Load the current region of numbers into an R variable. Prompts for
88
a variable name. If none is given, it uses a default variable name,
89
e. BEG and END denote the region in the current buffer to be sent."
91
(save-window-excursion
92
(let ( (tmp-file (make-temp-file "ess-r-var"))
95
(write-region beg end tmp-file)
97
;; Decide on the variable name to use in R; could use completion.
98
(setq var (read-string "R Variable name (default e): "))
102
;; Command to send to the R process. Get R to delete the file
103
;; rather than Emacs in case it takes R a long time to run the
105
(setq cmd (concat var " <- scan(\"" tmp-file "\"); "
106
"unlink(\"" tmp-file "\")" ))
108
;; Put the output from the scan command into the process buffer so
109
;; the user has a record of it.
110
(ess-execute cmd 'buffer))))
113
;;; Peter Dalgaard's code.
114
;;; This needs to be cleaned and validated!
116
(defun pd::set-up-demo ()
118
;; (if (not xemacs) (set-default-font "*courier-bold-r*--14**"))
120
(split-window-vertically 6)
121
(find-file "demos.R")
123
;; Don't need to run this as a function -- ought to be fine if set
126
(defun ajr::scroll-to-end::peterD (emacs)
127
"Goal: map prompt to bottom of the screen after every command.
128
Alternatively, use the scroll-in-place package, not sure where that
132
(if (= emacs "emacs")
133
(setq scroll-up-aggressively t)
134
(setq scroll-conservatively -4)) ;; <- change this
137
(defun show-max-other-window ()
140
(comint-show-maximum-output)
144
;; (ajr::scroll-to-end::peterD "xemacs")
145
;; (ajr::scroll-to-end::peterD "emacs")
147
(global-set-key [f11] 'show-max-other-window)
148
(global-set-key [f12] 'ess-eval-line-and-step))