2013-10-03 6 views
1

나는이 문제에 대한 해답을 찾고있다. 어떻게되었는지, 어떤 일을했는지는 잘 모르겠지만 F3을 눌러 ESS [SAS] 모드에서 SAS 용 배치 파일을 실행하면 작동하지 않습니다. 나는 그것을 하루 종일 사용하고 갑자기 그냥 더 이상 작동하지 않습니다 ... SAS-mode에있는 동안 M-x ess-sas-global-unix-keys을 호출하면 .sas 파일을 열 때 init.d 파일에 (setq ess-sas-global-unix-keys t)을 가지고 있지만 F3-F6을 필요한 명령에 바인드하십시오.ESS [SAS] F3 버튼과 "파일 모드 사양 오류 : (void-variable ess-ac-sources)"

또한 .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] 키 바인딩에 영향을 미치고있는 것처럼 느껴지지만 해결 방법을 모르겠습니다. 나는 그것이 하루 종일 계속 사용하고 있었음에도 불구하고 막 시작한 이유에 대해서도 손해를보고 있습니다. 내가 무엇을 할 수 있을지?

편집 :

은 코멘트를, 나는이 debug-on-error에서 역 추적의 목록을 나열뿐만 아니라 ESS-도움말 메일 링리스트에 이메일을 보내는 것입니다.

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

ess 도움말 [메일 링리스트] (https://stat.ethz.ch/mailman/listinfo/ess-help)에 메일을 보내어 워크 플로우 및 ESS 및 이맥스의 버전에 대한 설명을 제공하십시오. 사용. 더 많은 도움을 받으실 수 있습니다. – VitoshKa

+0

저는 ESS에 익숙하지 않지만 오류의 의미를 알 수 있습니다 :'ess-ac-sources'는'auto-complete' 라이브러리를 위해 만들어진 특별한 목록을 포함하는 변수입니다; 이 라이브러리는이 파일을 사용하여 파일에서 단어를 완성하는 방법을 결정합니다. 일어날 수있는 일은 무엇일까요? - 소스의 이름은 일반적으로 다른 패턴을 따릅니다. 그것은 보통'ac-sources-ess' 였을 것입니다. 이것은 아마도 소스 코드의 오타 일뿐일까요? 'M- : (setq debug-on-error t)'를 시도해 문제가되는 코드를 재실행하고 문제를 일으키는 기능을 알려주십시오. –

+0

@wvxvw 문제의 코드는'ess-load-extras()'입니다. – Luke

답변

0

내가 전에이 시도했기 때문에 일어난, 그러나 오늘 내가 다시 (ESS에 도움이 메일 링리스트의 제안에) 단순히 (ess-sas-global-unix-keys)(setq ess-sas-global-unix-keys t) 대체 무엇인지와 F3-F6 버튼은 이제 ESS [작동하지 않음 SAS] 모드입니다. 나는 이맥스에 대한 업데이트를 오늘 아침에 얻었습니다. 그래서 수정 사항에 기여했을 것입니다. 나는 여전히 "File mode specification error ..."를 얻는다. init.el에 (defvar ess-ac-sources nil) (또는 이맥스) 파일을 포함하여 @wvxvw 주석 사항에 따라

편집은 발생 "... 파일 모드"오류를하지 못했습니다.