Hi,

I have been trying to get ess working in a Windows XP laptop but to no avail
so far. I have installed emacs 21.3 and followed the instruction in the
other threads on the same subject. When I load a file like test.R I get the
ess-mod but when I try to run S+6 I get an error. The bacjtrace is at the
end of this mssage. My .emacs file is


(load "C:/emacs/emacs-21.3/site-lisp/ess-5.2.11/lisp/ess-site.el")
(setq-default inferior-S+6-program-name
"C:/Progra~1/Insightful/splus62/cmd/Splus.exe")
(setq debug-on-error t)

Can anyone see what I am doing wrong here? Thanks.

Cheers, Marc


Debugger entered--Lisp error: (file-error "Searching for program" "no such
file or directory" "sh")
  start-process("S+6" #<buffer *S+6*> "sh" "-i")
  apply(start-process "S+6" #<buffer *S+6*> "sh" "-i")
  comint-exec-1("S+6" #<buffer *S+6*> "sh" ("-i"))
  comint-exec(#<buffer *S+6*> "S+6" "sh" nil ("-i"))
  (let ((process-environment ...)) (ess-write-to-dribble-buffer "Making
Process...") (ess-write-to-dribble-buffer (format "Buf %s, Proc %s, Prog
%s\n Start File=%s, Args= %s.\n" buffer procname inferior-ess-program
inferior-ess-start-file inferior-ess-start-args)) (comint-exec buffer
procname inferior-ess-program inferior-ess-start-file
(ess-line-to-list-of-words inferior-ess-start-args)))
  (cond ((or ... ...) (save-excursion ... ... ...) (let ... ... ... ...)))
  (let* ((buffer ...) (proc ...)) (cond (... ... ...)) buffer)
  inferior-ess-make-comint("*S+6*" "S+6" "-i")
  (if switches (inferior-ess-make-comint buf-name-str proc-name
inf-ess-start-args switches) (inferior-ess-make-comint buf-name-str
proc-name inf-ess-start-args))
  (set-buffer (if switches (inferior-ess-make-comint buf-name-str proc-name
inf-ess-start-args switches) (inferior-ess-make-comint buf-name-str
proc-name inf-ess-start-args)))
  (let* ((symbol-string ...) (switches-symbol ...) (switches ...)
(buf-name-str ...)) (ess-write-to-dribble-buffer (format "(ess-multi 0):
inf-ess-start-args=%s, comint-..echoes=%s\n" inf-ess-start-args
comint-process-echoes)) (set-buffer buffer) (inferior-ess-mode)
(ess-write-to-dribble-buffer (format "(ess-multi post inf-ess:
start-args=%s, comint-echoes=%s\n" inf-ess-start-args
comint-process-echoes)) (setq ess-local-process-name proc-name) (goto-char
(point-max)) (setq comint-input-ring-file-name (expand-file-name
ess-history-file ess-directory)) (comint-read-input-ring)
(ess-write-to-dribble-buffer (format "(ess-multi 1):  start-args=%s \n"
inf-ess-start-args)) (set-buffer (if switches ... ...))
(set-process-sentinel (get-process proc-name) (quote ess-process-sentinel))
(let (...) (if conselt nil ...)) (ess-make-buffer-current)
(inferior-ess-wait-for-prompt) (goto-char (point-max)) (setq
ess-sl-modtime-alist nil) (setq ess-sp-change t) (set-process-filter
(get-process proc-name) (quote inferior-ess-output-filter)) (run-hooks
(quote ess-post-run-hook)))
  (if (and proc (comint-check-proc ...)) (pop-to-buffer (process-buffer
proc)) (let* (... ... ... ...) (ess-write-to-dribble-buffer ...) (set-buffer
buffer) (inferior-ess-mode) (ess-write-to-dribble-buffer ...) (setq
ess-local-process-name proc-name) (goto-char ...) (setq
comint-input-ring-file-name ...) (comint-read-input-ring)
(ess-write-to-dribble-buffer ...) (set-buffer ...) (set-process-sentinel ...
...) (let ... ...) (ess-make-buffer-current) (inferior-ess-wait-for-prompt)
(goto-char ...) (setq ess-sl-modtime-alist nil) (setq ess-sp-change t)
(set-process-filter ... ...) (run-hooks ...)) (if (and
inferior-ess-same-window ...) (switch-to-buffer ...) (pop-to-buffer ...)))
  (let* ((proc-name name) (special-display-regexps nil)
(special-display-frame-alist inferior-ess-frame-alist) (proc ...)) (if
inferior-ess-own-frame (setq special-display-regexps ...)) (if (and proc
...) (pop-to-buffer ...) (let* ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ...) (if ... ... ...)))
  ess-multi("S+6" #<buffer *S+6*> "-i")
  (let ((ess-directory ...)) (ess-multi procname buf
inferior-ess-start-args))
  (let* ((process-environment process-environment) (defdir ...)
(temp-dialect temp-ess-dialect) (temp-lang temp-ess-lang) (procname ...)
(startdir nil) (buf nil) (buf-name-str ...)) (ess-write-to-dribble-buffer
(format "(inf-ess 1.1): procname=%s temp-dialect=%s, buf-name=%s \n"
procname temp-dialect buf-name-str)) (cond (... ... ... ...) (... ... ...)
(... ... ... ...)) (set-buffer buf) (ess-setq-vars-local
ess-customize-alist) (if ess-start-args (setq inferior-ess-start-args
ess-start-args)) (ess-write-to-dribble-buffer (format "(inf-ess 2.1):
ess-language=%s, ess-dialect=%s buf=%s \n" ess-language ess-dialect ...))
(ess-write-to-dribble-buffer (format "(inf-ess 2.2): start args = %s,
inf-ess-start-args=%s \n" ess-start-args inferior-ess-start-args))
(ess-write-to-dribble-buffer (format "(inf-ess finish [%s(%s), %s(%s,%s)]\n"
ess-language ess-dialect inferior-ess-program ess-current-process-name
ess-local-process-name)) (if startdir (setq default-directory startdir))
(setq-default ess-history-file (concat "." ess-dialect "history")) (let
(...) (ess-multi procname buf inferior-ess-start-args)))
  (let ((temp-ess-dialect ...) (temp-ess-lang ...)) (save-excursion
(set-buffer ess-dribble-buffer) (make-variable-buffer-local ...)
(ess-setq-vars-default ess-customize-alist) (setq-default
comint-use-prompt-regexp-instead-of-fields nil)) (run-hooks (quote
ess-pre-run-hook)) (ess-write-to-dribble-buffer (format "(inf-ess 1):
lang=%s, dialect=%s, tmp-dialect=%s, buf=%s\n" ess-language ess-dialect
temp-ess-dialect ...)) (let* (... ... ... ... ... ... ... ...)
(ess-write-to-dribble-buffer ...) (cond ... ... ...) (set-buffer buf)
(ess-setq-vars-local ess-customize-alist) (if ess-start-args ...)
(ess-write-to-dribble-buffer ...) (ess-write-to-dribble-buffer ...)
(ess-write-to-dribble-buffer ...) (if startdir ...) (setq-default
ess-history-file ...) (let ... ...)))
  inferior-ess()
  (let ((s-proj ...)) (cd (w32-short-file-name ...)) (setenv "S_PROJ"
default-directory) (inferior-ess) (sleep-for 2) (setenv "S_PROJ" s-proj))
  (save-excursion (setq ess-customize-alist S+6-customize-alist)
(ess-write-to-dribble-buffer (format "\n(S+6): ess-dialect=%s, buf=%s\n"
ess-dialect ...)) (setq ess-customize-alist (append ess-customize-alist
...)) (setq ess-customize-alist (append ess-customize-alist ...)) (setq
ess-customize-alist (append ess-customize-alist ...)) (let (...) (cd ...)
(setenv "S_PROJ" default-directory) (inferior-ess) (sleep-for 2) (setenv
"S_PROJ" s-proj)) (setq ess-customize-alist S+6-customize-alist)
(ess-setq-vars-local ess-customize-alist) (setq inferior-ess-ddeclient
"ddeclient") (setq inferior-ess-client-name "S-PLUS") (setq
inferior-ess-client-command "SCommand") (setq comint-process-echoes nil)
(setq comint-input-sender (quote comint-simple-send)) (goto-char
(point-max)) (insert (concat inferior-S+6-program-name " "
inferior-ess-start-args)) (inferior-ess-send-input) (sleep-for
ess-S+6-startup-delay) (setq ess-local-process-name
ess-current-process-name) (ess-eval-linewise (concat "#"
ess-current-process-name)) (beginning-of-buffer) (insert "This is a
placeholder buffer.  You can't type anything here.\nUse `C-x b RET' to
return to your file.\n\nAnything sent to this process from an S-mode buffer
goes\ndirectly to the associated Splus Commands window.\n\nThe S-Plus
Commands window must be visible.\nYou may need to open the S-Plus Commands
window manually (by clicking on\nSplus/Window/Commands Window).\n\nAny
results of the   !system.command   typed at the S prompt in the\nSplus
Commands window appear in this buffer.\n\n") (goto-char (point-max))
(set-buffer-process-coding-system (quote raw-text-dos) (quote
raw-text-unix)) (toggle-read-only t) (setq mode-name "ddeESS") (if
inferior-ess-language-start (ess-eval-linewise
inferior-ess-language-start)))
  S+6-initiate(nil)
  S+6()
  call-interactively(S+6)
  execute-extended-command(nil)
* call-interactively(execute-extended-command)

	[[alternative HTML version deleted]]


