[ESS-bugs] ess-mode 5.0; M-x R ==> (error (wrong-type-argument stringp nil))

A.J. Rossini blindglobe at gmail.com
Wed Nov 24 07:17:20 CET 2004


Can I suggest using a modern version of ESS to match the modern
version of Emacs?  (i.e. you are mixing a January 1998 ESS with a 21st
century Emacs!).

5.2.3 fixes many, many things, and I think the following bug that
you've provided.

best,
-tony



On Tue, 23 Nov 2004 19:56:35 -0500 (EST), Gregory D. Weber
<gdweber at indiana.edu> wrote:
> 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/).
> 
> _______________________________________________
> ESS-bugs ESS-bugs at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/ess-bugs
> 
> _______________________________________________
> ESS-core list: https://stat.ethz.ch/mailman/listinfo/ess-core
> 


-- 

best,
-tony

---
A.J. Rossini
blindglobe at gmail.com




More information about the ESS-bugs mailing list