[ESS-bugs] ess-mode 5.0; M-x R ==> (error (wrong-type-argument stringp nil))
Gregory D. Weber
gdweber at indiana.edu
Wed Nov 24 01:56:35 CET 2004
Greetings! Thanks for providing ESS!
I've made this change in ess-inf.el, version 5.0, to avoid an error
caused by (ess-proc-name 1 "R"), called by (inferior-ess),
initiated by the command "M-x R" in GNU Emacs. The error
message is:
(wrong-type-argument stringp nil)
Here's my revision:
(defun ess-proc-name (n name)
"Return process name of process N, as a string, with NAME
prepended."
(if ess-plain-first-buffername
(if (> n 1)
(format "%s:%d" name n) ;; changed!
(concat name))
(format "%s:%d" name n))) ;; changed!
;; Original definition:
;; (defun ess-proc-name (n name)
;; "Return process name of process N, as a string, with NAME
;; prepended."
;; (if ess-plain-first-buffername
;; (if (> n 1)
;; (concat name ":" n)
;; (concat name))
;; (concat name ":" n)))
Emacs : GNU Emacs 21.3.1 (i386-redhat-linux-gnu, X toolkit, Xaw3d scroll bars)
of 2003-10-27 on daffy.perf.redhat.com
Package: ess-mode 5.0
current state:
==============
(setq
ess-language "S"
ess-dialect "R"
ess-ask-for-ess-directory t
ess-ask-about-transfile nil
ess-directory nil
ess-keep-dump-files "always"
ess-source-directory "/tmp/"
)
(ess-setq-vars-local): ess-language=S, buf=foo.R
(ess-mode-1): ess-language=S, ess-dialect=R buf=foo.R
(ess-mode-1.5): alist=((ess-local-customize-alist quote R-customize-alist) (ess-language . S) (ess-dialect . R) (ess-suffix . R) (ess-dump-filename-template concat (user-login-name) .%s. ess-suffix) (ess-mode-editing-alist . S-editing-alist) (ess-mode-syntax-table . S-syntax-table) (ess-help-sec-regex . ess-help-R-sec-regex) (ess-help-sec-keys-alist . R-help-sec-keys-alist) (ess-loop-timeout . 100000) (ess-object-name-db-file . ess-r-namedb.el) (ess-retr-lastvalue-command . .Last.value <- get(".ess.lvsave",inherits=T)
) (ess-save-lastvalue-command . assign(".ess.lvsave",.Last.value,inherits=T)
) (inferior-ess-program . inferior-R-program-name) (inferior-ess-help-command . help("%s")
) (inferior-ess-objects-command . objects(pos = %d)
) (inferior-ess-exit-command . q()
) (inferior-ess-primary-prompt . [][a-zA-Z0-9() ]*> ?) (inferior-ess-start-file) (inferior-ess-start-args . ))
(ess-mode-1.6): editing-alist=((paragraph-start concat ^$\| page-delimiter) (paragraph-separate concat ^$\| page-delimiter) (paragraph-ignore-fill-prefix . t) (require-final-newline . t) (comment-start . #) (comment-start-skip . #+ *) (comment-column . 40) (indent-line-function quote S-indent-line) (parse-sexp-ignore-comments . t) (ess-set-style . ess-default-style) (ess-local-process-name) (ess-mode-syntax-table . S-syntax-table) (font-lock-defaults quote (ess-mode-font-lock-keywords)))
(ess-setq-vars-local): ess-language=S, buf=foo.R
Finished setting up ESS-mode.
(R): ess-dialect=R , buf=foo.R, start-arg=nil
(R): current-prefix-arg=nil
(inferior-ess 0): ess-start-args=nil
(ess-setq-vars-default): ess-language=S, buf=*ESS*
(inferior-ess 1): ess-lang=S, ess-dialect=R, temp-dialect=R, buf=foo.R
(ess-setq-vars-local): ess-language=S, buf=foo.R
(ess-mode-1): ess-language=S, ess-dialect=R buf=foo.R
(ess-mode-1.5): alist=((ess-local-customize-alist quote R-customize-alist) (ess-language . S) (ess-dialect . R) (ess-suffix . R) (ess-dump-filename-template concat (user-login-name) .%s. ess-suffix) (ess-mode-editing-alist . S-editing-alist) (ess-mode-syntax-table . S-syntax-table) (ess-help-sec-regex . ess-help-R-sec-regex) (ess-help-sec-keys-alist . R-help-sec-keys-alist) (ess-loop-timeout . 100000) (ess-object-name-db-file . ess-r-namedb.el) (ess-retr-lastvalue-command . .Last.value <- get(".ess.lvsave",inherits=T)
) (ess-save-lastvalue-command . assign(".ess.lvsave",.Last.value,inherits=T)
) (inferior-ess-program . inferior-R-program-name) (inferior-ess-help-command . help("%s")
) (inferior-ess-objects-command . objects(pos = %d)
) (inferior-ess-exit-command . q()
) (inferior-ess-primary-prompt . [][a-zA-Z0-9() ]*> ?) (inferior-ess-start-file) (inferior-ess-start-args . ))
(ess-mode-1.6): editing-alist=((paragraph-start concat ^$\| page-delimiter) (paragraph-separate concat ^$\| page-delimiter) (paragraph-ignore-fill-prefix . t) (require-final-newline . t) (comment-start . #) (comment-start-skip . #+ *) (comment-column . 40) (indent-line-function quote S-indent-line) (parse-sexp-ignore-comments . t) (ess-set-style . ess-default-style) (ess-local-process-name) (ess-mode-syntax-table . S-syntax-table) (font-lock-defaults quote (ess-mode-font-lock-keywords)))
(ess-setq-vars-local): ess-language=S, buf=foo.R
Finished setting up ESS-mode.
(R): ess-dialect=R , buf=tmp, start-arg=nil
(R): current-prefix-arg=nil
(inferior-ess 0): ess-start-args=nil
(ess-setq-vars-default): ess-language=S, buf=*ESS*
(inferior-ess 1): ess-lang=S, ess-dialect=R, temp-dialect=R, buf=tmp
(R): ess-dialect=R , buf=tmp, start-arg=nil
(R): current-prefix-arg=nil
(inferior-ess 0): ess-start-args=nil
(ess-setq-vars-default): ess-language=S, buf=*ESS*
(inferior-ess 1): ess-lang=S, ess-dialect=R, temp-dialect=R, buf=tmp
(inferior-ess 0): ess-start-args=nil
(ess-setq-vars-default): ess-language=S, buf=*ESS*
(inferior-ess 1): ess-lang=S, ess-dialect=R, temp-dialect=R, buf=*scratch*
(inferior-ess 0): ess-start-args=nil
(ess-setq-vars-default): ess-language=S, buf=*ESS*
(inferior-ess 1): ess-lang=S, ess-dialect=R, temp-dialect=R, buf=*scratch*
(inferior-ess 0): ess-start-args=(1 R)
(ess-setq-vars-default): ess-language=S, buf=*ESS*
(inferior-ess 1): ess-lang=S, ess-dialect=R, temp-dialect=R, buf=*scratch*
(inferior-ess 0): ess-start-args=1 R
(ess-setq-vars-default): ess-language=S, buf=*ESS*
(inferior-ess 1): ess-lang=S, ess-dialect=R, temp-dialect=R, buf=*scratch*
(inferior-ess 0): ess-start-args=R:1
(ess-setq-vars-default): ess-language=S, buf=*ESS*
(inferior-ess 1): ess-lang=S, ess-dialect=R, temp-dialect=R, buf=*scratch*
(R): ess-dialect=R , buf=*scratch*, start-arg=nil
(R): current-prefix-arg=nil
(inferior-ess 0): ess-start-args=nil
(ess-setq-vars-default): ess-language=S, buf=*ESS*
(inferior-ess 1): ess-lang=S, ess-dialect=R, temp-dialect=R, buf=*scratch*
(inf-ess 1.1): procname=R:1 temp-dialect=R, buf-name=*R:1*
(inferior-ess) Method #3
(ess-setq-vars-local): ess-language=S, buf=*R:1*
(inf-ess 2.1): ess-language=S, ess-dialect=R buf=*R:1*
(inf-ess 2.2): start args = nil, inf-ess-start-args=
(ess-setq-vars-local): ess-language=S, buf=*R:1*
(ess-multi 1): inf-ess-start-args=
Making Process...Buf *R:1*, Proc R:1, Prog R
Start File=nil, Args= .
(R): ess-dialect=R , buf=*scratch*, start-arg=nil
(R): current-prefix-arg=nil
(inferior-ess 0): ess-start-args=nil
(ess-setq-vars-default): ess-language=S, buf=*ESS*
(inferior-ess 1): ess-lang=S, ess-dialect=R, temp-dialect=R, buf=*scratch*
(inf-ess 1.1): procname=R:2 temp-dialect=R, buf-name=*R:2*
(inferior-ess) Method #3
(ess-setq-vars-local): ess-language=S, buf=*R:2*
(inf-ess 2.1): ess-language=S, ess-dialect=R buf=*R:2*
(inf-ess 2.2): start args = nil, inf-ess-start-args=
(ess-setq-vars-local): ess-language=S, buf=*R:2*
(ess-multi 1): inf-ess-start-args=
Making Process...Buf *R:2*, Proc R:2, Prog R
Start File=nil, Args= .
--
Gregory D. Weber
Associate Professor of Computer Science, Indiana University East
2325 Chester Boulevard, Richmond, Indiana 47374-1289, U.S.A.
Telephone (765) 973-8420 World-Wide Web http://mypage.iu.edu/~gdweber/
----
ASCII plain text is the document format that maximizes readability and
minimizes hassle and hazard. It is the format of the official documents
defining Internet protocols (http://www.rfc-editor.org/).
More information about the ESS-bugs
mailing list