2013-10-03 1 views
1

Я искал ответ/решение этой проблемы. Я не уверен, как это произошло или что я сделал (если что-нибудь), но когда я нажал 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) 
+0

Просьба отправить письмо в адресную книгу [список рассылки] (https://stat.ethz.ch/mailman/listinfo/ess-help) и дать описание рабочего процесса и версии ESS и emacs, которые вы с помощью. Там вы получите дополнительную помощь. – VitoshKa

+0

Я не знаком с ESS, но могу сказать, что означает ошибка: 'ess-ac-sources' - это переменная, которая содержит специальный список, созданный для' auto-complete' library; эта библиотека затем будет использовать его, чтобы решить, как заполнять слова в файле. Что может случиться? - имена источников обычно следуют другой схеме. Обычно это было бы «ac-sources-ess». Возможно ли, что это только опечатка в исходном коде? Попробуйте 'M-: (setq debug-on-error t)', запустите код нарушения и сообщите нам, какая функция вызывает проблему. –

+0

@wvxvw Оскорбительный код: 'ess-load-extras()' – Luke

ответ

0

Не уверен, что произошло, так как я пытался это раньше, но сегодня я снова заменил (setq ess-sas-global-unix-keys t) с просто (ess-sas-global-unix-keys) (по предложению из списка рассылки ESS-справки) и кнопки F3-F6 теперь работают в ESS [ SAS]. Сегодня утром я получил обновление emacs, так что это могло повлиять на исправление. Я все равно получаю «Ошибка спецификации режима файла ...».

EDIT

Согласно @wvxvw комментарий, в том числе (defvar ess-ac-sources nil) в init.el (или .emacs) файла предотвращено режим "File ..." ошибка возникновения.