global-set-key는 뒤에 오브젝트를 받으므로 앞에 ' 를 붙여야 합니다. (붙이지않으면 곧장 eval됨)
즉, 람다표현식을 사용하여 함수를 생성하고 이 함수 오브젝트를 인자로 넘깁니다. (Lisp에서는 함수또한 데이터입니다)
global-set-key 는 받은 오브젝트를
elisp 언어로써 정의된 commandp 함수로 넘겨서 interactive 하게 실행 가능한 오브젝트인지 확인합니다.
interactive 하게 실행 가능한 오브젝트의 조건 중에는 람다에 (interactive) 를 포함함으로써 만족할 수 있습니다.
(interactive)가 포함됨으로써 이 함수가 emacs 와 interactive하게 작동함을 보장합니다. lambda 함수에 인자를 하나 받으면 (interactive "bInput String:") 과 같이 이를 mini-buffer 를 통해 입력받을 수도 있습니다.
이렇게합니다.
global-set-key는 뒤에 오브젝트를 받으므로 앞에 ' 를 붙여야 합니다. (붙이지않으면 곧장 eval됨)
즉, 람다표현식을 사용하여 함수를 생성하고 이 함수 오브젝트를 인자로 넘깁니다. (Lisp에서는 함수또한 데이터입니다)
global-set-key 는 받은 오브젝트를
elisp 언어로써 정의된 commandp 함수로 넘겨서 interactive 하게 실행 가능한 오브젝트인지 확인합니다.
interactive 하게 실행 가능한 오브젝트의 조건 중에는 람다에 (interactive) 를 포함함으로써 만족할 수 있습니다.
(interactive)가 포함됨으로써 이 함수가 emacs 와 interactive하게 작동함을 보장합니다. lambda 함수에 인자를 하나 받으면 (interactive "bInput String:") 과 같이 이를 mini-buffer 를 통해 입력받을 수도 있습니다.
참고:
http://www.gnu.org/software/emacs/elisp/html_node/Interactive-Call.html
http://www.gnu.org/software/emacs/elisp/html_node/Killing-Buffers.html
감사합니다.
^^ 더불어 자세한 설명에 링크까지~
감사합니다.
댓글 달기