我一直在寻找这个问题的答案/解决方案。我不确定它是如何发生的或我做了什么(如果有的话),但是当我按 F3 以在 ESS[SAS] 模式下为 SAS 运行批处理文件时,它不起作用。我一整天都在使用它,它突然就不再工作了......如果我在里面打电话M-x ess-sas-global-unix-keys
,SAS-mode
我可以使用 F3-F6 按钮,但是在打开文件时(setq ess-sas-global-unix-keys t)
在我的文件中不会将 F3-F6 绑定到必要的命令。init.d
.sas
此外,当我现在打开.sas
文件时,我收到消息“文件模式规范错误:(void-variable ess-ac-sources)”并且 F3-F6 键绑定不再适用于SAS-mode
.
我检查以确保我的所有内容都是最新的(所有内容似乎都是:即自动完成,ess),我使用 进行了调试M-x toggle-debug-on-error
,但我找不到问题所在(不是我一定知道我是什么寻找,我还是 Emacs 的新手)。
在我的 init.el 文件中,我对 ESS 的唯一引用是ess-sas-global-unix-keys
. 我觉得规范错误对 ESS[SAS] 键绑定有影响,但我不知道如何修复它。即使我整天都在使用它,我也不知道为什么它才开始发生。我能做些什么?
编辑:
根据评论,我将向 ESS 帮助邮件列表发送一封电子邮件,并列出来自debug-on-error
.
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-defaults)) 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)