파일 경로가 주어지면 해당 파일의 내용을로드하고이를 목록에 추가하는 함수를 작성하려고합니다. 최종 목표는 각 조직 캡처 템플릿에 대해 하나의 파일을 갖고 파일 목록이나 조직 테이블에서로드하는 것입니다.Elisp - 파일에서 데이터로 표현식로드하기
내 문제는로드 및로드 파일 함수는로드가 성공적 일 때만 t를 반환한다는 것입니다.
파일의 내용을 표현식으로 반환하는 데 사용할 수있는 함수는 무엇입니까? @barmar이 코멘트에 제안
파일 경로가 주어지면 해당 파일의 내용을로드하고이를 목록에 추가하는 함수를 작성하려고합니다. 최종 목표는 각 조직 캡처 템플릿에 대해 하나의 파일을 갖고 파일 목록이나 조직 테이블에서로드하는 것입니다.Elisp - 파일에서 데이터로 표현식로드하기
내 문제는로드 및로드 파일 함수는로드가 성공적 일 때만 t를 반환한다는 것입니다.
파일의 내용을 표현식으로 반환하는 데 사용할 수있는 함수는 무엇입니까? @barmar이 코멘트에 제안
것처럼 사전에
(mysterious-function "~/test.el")
=> '("foo" "bar" "baz" "fnord")
감사 : 나는 다음과 같은 달성 할 수있는 방법
'("foo" "bar" "baz" "fnord")
: 파일 test.el 주어진 예를 들어
, :
(defun read-from-file (file)
(with-temp-buffer
(insert-file-contents file)
(read (current-buffer))))
읽는 중이고 평가하지 않기 때문에 따옴표를 파일에 넣지 않아도됩니다.
어떤 이유로, 당신은 이미 파일의 인용문이, 경우 그 보안 구멍 (양식 (launch-missiles)
포함 된 파일을 상상)을 소개하기 때문에, 당신은 하지 사용 eval
그것을 제거하는 것이다. 이 같은 것을 수행해야합니다
(defun my-unquote (form)
(if (and (eq (first form) 'quote)
(null (cddr form)))
(second form)
form))
로드에게 파일을 다음 버퍼에서 읽어 임시 버퍼로. 목록 앞에서 따옴표를 제거하십시오. – Barmar