I've encountered a problem after upgrading Emacs Speaks Statistics (ESS) from MELPA today to ess-20180926.54.

When I try to start an R session under Emacs with M-x R I'm informed...

autoload-do-load: Wrong type argument: consp, nil

...and the session doesn't start.

The settings I have for ESS are...

;;; ESS
(require 'ess)
;;; Some generally useful key-bindings (mostly ESS specific) 
(define-key global-map [f1] 'Control-X-prefix)
(define-key global-map [f2] 'save-buffer)
(define-key global-map [f3] 'find-file)
(define-key global-map [f5] 'switch-to-buffer)
(define-key global-map [f6] 'other-window)
(define-key global-map [f8] 'kill-buffer)
(define-key global-map [f9] 'ess-load-file)
;;; Other specific ESS settings you can use are the following:
(setq comint-input-ring-size 1000)
(setq ess-indent-level 4)
(setq ess-arg-function-offset 4)
(setq ess-else-offset 4)
(setq ess-eval-visibly-p nil)
;;; Set the width of the buffer automatically
(defun my-ess-post-run-hook ()
  (local-set-key "\C-cw" 'ess-execute-screen-options))
(add-hook 'ess-post-run-hook 'my-ess-post-run-hook)
;;; Auto-complete and ESS 
(require 'auto-complete)
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/site-lisp/auto-complete/dict")
(setq ess-use-auto-complete t)
;;; Smart underscore  https://www.emacswiki.org/emacs/ess-smart-underscore.el
(require 'ess-smart-underscore)

Emacs is 25.3.1

A bunch of other MELPA packages were updated and old versions removed but I didn't note down which.

Any ideas or pointers welcome, if more information is required please let me know.


I've obtained the following debug traceback...

Debugger entered--Lisp error: (wrong-type-argument consp nil)
  byte-code("\301\30\"\303\241\210\301\30\"\305\241\210\306\307\300\"\207" [ess-r-customize-alist assoc ess-font-lock-keywords (quote ess-R-font-lock-keywords) inferior-ess-font-lock-keywords (quote inferior-ess-r-font-lock-keywords) defalias R-customize-alist] 3)
  autoload-do-load((autoload "ess-r-mode" "Call 'R', the 'GNU S' system from the R Foundation.\nOptional prefix (\\[universal-argument]) allows to set command line arguments, such as\n--vsize.  This should be OS agnostic.\nIf you have certain command line arguments that should always be passed\nto R, put them in the variable `inferior-R-args'.\n\nSTART-ARGS can be a string representing an argument, a list of\nsuch strings, or any other non-nil value.  In the latter case, you\nwill be prompted to enter arguments interactively.\n\n(fn &optional START-ARGS)" t nil) R)
  command-execute(R record)
  execute-extended-command(nil "R" "R")
  funcall-interactively(execute-extended-command nil "R" "R")
  call-interactively(execute-extended-command nil nil)
  • Bisect your init file to narrow it and find the cause. Some autoloaded code is trying to treat nil as if it were a cons - something beyond car and cdr (which tolerate a nil argument). Maybe it's a destructive list operation...
    – Drew
    Commented Sep 27, 2018 at 20:23
  • Thanks for the pointer, I've several other settings loaded first (master ~/.emacs.d/init.el that calls them from ~/.emacs.d/settings/ in turn) so will try that out, cheers.
    – slackline
    Commented Sep 27, 2018 at 21:04

1 Answer 1


This appears to now have been resolved with ess-20181007.1527.

Sought some assistance on the ESS-help mailing list and discovered it still worked with ess-17.11 with assistance. If anyone else is having trouble with ess would recommend checking there too.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.