首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ESS[SAS] F3按钮和“文件模式规范错误:(无效变量ess-ac源)”

ESS[SAS] F3按钮和“文件模式规范错误:(无效变量ess-ac源)”
EN

Stack Overflow用户
提问于 2013-10-03 00:31:23
回答 1查看 850关注 0票数 1

我一直在寻找这个问题的答案/解决办法。我不知道它是如何发生的,或者我做了什么(如果有的话),但是当我按F3在ESSSAS模式下运行一个用于SAS的批处理文件时,它不能工作。我已经用了一整天了,突然间它就失效了.如果我在M-x ess-sas-global-unix-keys中调用SAS-mode,我可以使用F3-F6按钮,但是在打开.sas文件时在init.d文件中使用(setq ess-sas-global-unix-keys t)并不会将F3-F6绑定到所需的命令。

另外,当我现在打开一个.sas文件时,我得到消息“文件模式规范错误:(variable ac-source)”和F3-F6键绑定不再在SAS-mode中工作。

我检查了一下,以确保我有最新的一切(似乎所有的东西都是:自动完成的,sure ),我使用M-x toggle-debug-on-error进行了调试,但是我找不到出了什么问题(并不是说我一定知道我在寻找什么,我对Emacs仍然是新手)。

在我的init.el文件中,我对ESS的唯一引用是ess-sas-global-unix-keys。我觉得规范错误对ESSSAS键绑定有影响,但我不知道如何修复它。我也不知道为什么它才刚刚开始发生,尽管我已经使用了一整天。我能做什么?

编辑:

根据评论,我将发送一封电子邮件到ESS-帮助邮件列表,以及从debug-on-error列出回溯列表。

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-03 19:45:33

不知道之前尝试过之后发生了什么,但是今天我再次用简单的(setq ess-sas-global-unix-keys t)代替了(ess-sas-global-unix-keys) (根据ESSSAS邮件列表的建议),F3-F6按钮现在在ESSSAS模式下工作。我今天早上确实得到了emacs的更新,所以这可能是修复的原因之一。我仍然得到“文件模式规范错误.”不过。

编辑

如per @wvxvw注释所示,包括(defvar ess-ac-sources nil)到init.el (或.emacs)文件,阻止了“文件模式.”错误发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19148985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档