[ESS] Problem with `ess-sas-global-unix-keys` and "File mode specification error: (void-variable ess-ac-sources)"

Rodney Sparapani rsparapa at mcw.edu
Thu Oct 3 20:27:37 CEST 2013


On 10/03/2013 10:55 AM, Luke Johnston wrote:
> Hello,
>
> I am having issues with ESS. Yesterday, I was using ESS[SAS] to edit and
> run batch .sas files. However (and I am not sure how or why it
> happened), I could no longer use the F3-F6 buttons to run batch SAS
> files, switch to .log, etc.
>
> I thought maybe I just needed to reopen Emacs, but when I did, I got
> this message in the minibuffer "File mode specification error:
> (void-variable ess-ac-sources)".
>
> I didn't know what that meant, so I called `M-x
> ess-sas-global-unix-keys` and F3-F6 work after that. But whenever I
> reopen a .sas file, they don't work. I have in my init.el file the code
> "(setq ess-sas-global-unix-keys t)", but emacs doesn't seem to be
> reading it or the specification error is interrupting it.
>
> I ran `debug-on-error`, which showed a backtrace of:
>
> |Debugger entered--Lisp error: (void-variable ess-ac-sources)
>     ess-load-extras()
>     ess-mode(((ess-local-customize-alist quote SAS-customize-alist) (ess-language . "SAS") (ess-dialect . "SAS") (ess-mode-editing-alist . SAS-editing-alist) (ess-mode-syntax-table . SAS-syntax-table) (inferior-ess-program . inferior-SAS-program-name) (ess-help-sec-regex . "^[A-Z. ---]+:$") (ess-help-sec-keys-alist . " ") (ess-object-name-db-file . "ess-sas-namedb.el") (inferior-ess-objects-command . "objects(%d)") (inferior-ess-help-command . "help(\"%s\",pager=\"cat\",window=F)\n") (inferior-ess-exit-command . "endsas;\n") (ess-loop-timeout . 500000) (inferior-ess-primary-prompt . "^") (inferior-ess-secondary-prompt . "^") (comint-use-prompt-regexp . t) (inferior-ess-start-file) (inferior-ess-start-args . inferior-SAS-args-temp) (inferior-ess-font-lock-defaults . SAS-mode-font-lock-defaul
>   ts)) nil)
>     SAS-mode()
>     set-auto-mode-0(SAS-mode nil)
>     set-auto-mode()
>     normal-mode(t)
>     after-find-file(nil t)
>     find-file-noselect-1(#<buffer cleaning-0yr.sas> "~/Documents/datasets/PROMISE/data/scripts/cleaning-0yr.sas" nil nil "~/Documents/datasets/PROMISE/data/scripts/cleaning-0yr.sas" (5673145 2049))
>     find-file-noselect("~/Documents/datasets/PROMISE/data/scripts/cleaning-0yr.sas" nil nil t)
>     find-file("~/Documents/datasets/PROMISE/data/scripts/cleaning-0yr.sas" t)
>     call-interactively(find-file nil nil)|
>
>
> Does anyone have any ideas of what is going on?
>
> I have Emacs 24.3.1, ESS 13.09, and auto-complete (as per the package.el
> listing) 20130724.1750.
>
> Thanks,
>
> Luke Johnston

Hi Luke:

I don't understand this since ESS[SAS] does not use either
ess-ac-sources or ess-load-extras.  But, you can always put
(ess-sas-global-unix-keys) in .emacs (provided it is already
defined somehow).

-- 
Rodney Sparapani, PhD
Manager of Statistical & Computational Operations
Center for Patient Care and Outcomes Research (PCOR)
Medical College of Wisconsin (MCW), Milwaukee, USA
http://www.linkedin.com/in/rodneysparapani



More information about the ESS-help mailing list