Я искал ответ/решение этой проблемы. Я не уверен, как это произошло или что я сделал (если что-нибудь), но когда я нажал F3, чтобы запустить пакетный файл для SAS в режиме ESS [SAS], он не работает. Я использую его весь день, и он внезапно просто больше не работает ... Если я позвоню M-x ess-sas-global-unix-keys
, а в SAS-mode
, я могу использовать кнопки F3-F6, но с (setq ess-sas-global-unix-keys t)
в моем init.d
файле при открытии файла .sas
нет привяжите F3-F6 к необходимым командам.ESS [SAS] Кнопка F3 и «Ошибка спецификации режима файла: (void-variable ess-ac-sources)»
Кроме того, когда я открываю файл .sas
, я получаю сообщение «Ошибка спецификации режима файла: (void-variable ess-ac-sources)», а привязки клавиш F3-F6 больше не работают в SAS-mode
.
Я проверил, чтобы убедиться, что у меня все обновленное (все выглядит как: ie auto-complete, ess), я отлаживал с помощью M-x toggle-debug-on-error
, но я не могу найти, что не так (не то, чтобы я обязательно знаю, что я ищу, я все еще новичок в Emacs).
В моем файле init.el единственной ссылкой, которую я имею в ESS, является ess-sas-global-unix-keys
. Я чувствую, что ошибка спецификации оказывает влияние на клавиши ESS [SAS], но я не знаю, как это исправить. Я также не понимаю, почему это только начало происходить, хотя я использовал его весь день. Что я могу сделать?
EDIT:
Согласно комментариям, я буду посылать по электронной почте в список рассылки 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)
Просьба отправить письмо в адресную книгу [список рассылки] (https://stat.ethz.ch/mailman/listinfo/ess-help) и дать описание рабочего процесса и версии ESS и emacs, которые вы с помощью. Там вы получите дополнительную помощь. – VitoshKa
Я не знаком с ESS, но могу сказать, что означает ошибка: 'ess-ac-sources' - это переменная, которая содержит специальный список, созданный для' auto-complete' library; эта библиотека затем будет использовать его, чтобы решить, как заполнять слова в файле. Что может случиться? - имена источников обычно следуют другой схеме. Обычно это было бы «ac-sources-ess». Возможно ли, что это только опечатка в исходном коде? Попробуйте 'M-: (setq debug-on-error t)', запустите код нарушения и сообщите нам, какая функция вызывает проблему. –
@wvxvw Оскорбительный код: 'ess-load-extras()' – Luke