繁体   English   中英

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

[英]ESS[SAS] F3 button and “File Mode Specification error: (void-variable ess-ac-sources)”

我一直在寻找这个问题的答案/解决方案。 我不确定它是怎么发生的或我做了什么(如果有的话),但是当我按F3键以ESS [SAS]模式为SAS运行批处理文件时,它不起作用。 我整天都在使用它,突然间它不再工作了。。。如果我在SAS-mode调用Mx ess-sas-global-unix-keys ,我可以使用F3-F6按钮,但必须使用(setq ess-sas-global-unix-keys t)在我init.d在打开一个文件.sas文件F3-F6不绑定到必要的命令。

另外,当我现在打开.sas文件时,收到消息“文件模式规范错误:(无效变量ess-ac-sources)”,并且F3-F6键绑定不再在SAS-mode

我检查以确保我拥有所有最新信息(一切似乎都是:即自动完成,ess),我使用Mx 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)

不知道发生了什么,因为我已经尝试过这一点,但今天,我再次更换(setq ess-sas-global-unix-keys t)与简单(ess-sas-global-unix-keys) (在从ESS-建议帮助邮件列表)和F3-F6按钮现在可以在ESS [SAS]模式下使用。 今天早上我确实获得了emacs的更新,因此可能对修复有所帮助。 我仍然收到“文件模式规范错误...”。

编辑

根据@wvxvw注释,将(defvar ess-ac-sources nil)到init.el(或.emacs)文件中可防止发生“文件模式...”错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM