내가 환경 모듈 (http://modules.sourceforge.net/를) 처리하는 작은 elisp 코드를 만들어 elisp 코드에서 메이크업 과정 또는 시작 프로세스에서 메시지를 '처리 완료' 성공적으로 버퍼를 cmd를하지만, 다음과 같이 버퍼가 버퍼의 마지막 메시지 '완료 프로세스 모듈'이 있습니다제거하는 방법은 다음과 같이
(setenv "LOADEDMODULES" "gcc/6.2.1")
(setenv "CXX" "g++")
(setenv "COMPILER_TYPE" "gcc")
(setenv "COMPILER_OF_TYPE" "Gcc")
(setenv "FC" "gfortran")
(setenv "COMPILER" "gnu")
(setenv "LOADEDMODULES_modshare" "gcc/6.2.1:1")
(setenv "FORTRAN_TYPE" "gfortran")
Process Module finished
을 인해 '모듈이 완료 프로세스'에, (평가 버퍼)는 작동하지 않습니다.
나는 (세트 버퍼 cmd를 버퍼) (시작 - 중 - 버퍼) (삭제 일치 라인 "프로세스")는 (평가 버퍼) 이전문을 추가했지만 실패했습니다.
내 아이디어는 입니다. 1. 버퍼의 시작 부분에서부터 프로세스 완료 줄 앞에있는 (eval-region)을 사용합니다. 또는 2. 프로세스 완료 라인을 제거하고 (eval-buffer)
감사의 말 :
원하는대로 출력하거나 억제하려면'process-filter'를 사용하는 것이 좋습니다. https://www.gnu.org/software/emacs/manual/html_node/elisp/Filter-Functions.html – lawlist
@ lawlist는 elisp 코딩에 익숙하지 않기 때문에 process-filter를 사용하여 stdout에서 원하지 않는 메시지를 제거하는 방법을 샘플 코드로 보여줄 수 있습니까? – Seong
다음은 'start-process'가 프로세스 버퍼에 대해'nil'을 가지고 버퍼를 생성하지 못하게하는 예에 대한 링크입니다.'process-filter'를 사용하여 원하는 것을 전송합니다 '* Messages * '버퍼에 저장한다. 'process-filter'는 두 개의 인자 - PROCESS와 STRING을 가지고 있습니다. 내가 원했던 것과 원하지 않았던 것을 결정하기 위해, 나는 출력 된 모든 문자열, 예를 들어'(message my output : % s "string)'을 살펴본 다음'string- match '또는'string-equal'입니다. http://emacs.stackexchange.com/a/5844/2287 또한'start-process' 버퍼를 검색하고 바꿀 수 있습니다. – lawlist