emacs의 ESS/Stata 모드는 연산자에서 끝나는 행을 잘못 들여 쓰게됩니다. 이 줄을 여러 줄 명령으로 잘못 해석하는 것 같습니다. 예를 들어ESS/Stata에서 바람직하지 않은 EMACS 탭 동작을 수정했습니다.
:
gen foo = 1
/* generate another variable */
gen bar = 1
라인 "겐 바 = 1"은 들여 안된다. EMACS는 주석의 후행 슬래시를 연산자로 해석하고이 코드 줄이 두 줄에 걸쳐 있다고 생각합니다.
실제로 stata의 여러 줄 명령에는 3 개의 후행 슬래시가 있고 3 개의 후행 슬래시가없는 줄 바꿈은 명령문의 끝을 나타냅니다. 예 : 다음 들여 쓰기가 정확합니다.
gen bar = 1
gen ///
foo = 1
이 동작을 수정하기 위해 제 .emacs에 넣을 수있는 것이 있습니까? 자동 탭핑을 완전히 포기하고 싶지는 않습니다. */* */*처럼 보이는 주석을 제외하고는 모두 잘 작동합니다.
감사합니다,
PNJ
['defadvice'] (http://www.gnu.org/software/emacs/elisp/html_node/Advising-Functions.html) 청소기 대안을 여기에 있습니다. – jfs
타일러, 내 .emacs에 코드를 복사했지만 동작은 변경되지 않았습니다. 내 * Messages * 버퍼에 오류나 명백한 내용이 없습니다. 진단을 돕기 위해 내가 할 수있는 다른 제안이나 사안이 있습니까? – pnj
re-defined 함수에 doc-string을 추가하면,'C -h f-ess-continue-statement-p'가로드되었는지 확인할 수 있습니다. doc 문자열이 표시되지 않으면 수정 된 코드가 평가되지 않습니다. 그것은 잘못된 모드가 인용되는 것과 같이'eval-after-load' 명령으로 실행되는 무언가가 있음을 나타냅니다. 위의 문서 문자열을 추가하겠습니다. – Tyler