[emacs] emacsのソース改造するも、当然のごとく失敗

DEFUNのsetqをsに変えてmakeしてみた。しかしながら,emacsは内蔵lispコードがあるのでc部分のコンパイルには成功してもlisp部分にはsetqをsに変えると不具合が当然が出るので当然エラーが出る。

我ながらまぬけな事をしたものです。しかしながら思ったよりエラーメッセージが短かった事がなかな面白かった。

以下は改造部分

eval.c内のsetqを変更しようと企んだソース

#ifdef nazo
DEFUN ("setq", Fsetq, Ssetq, 0, UNEVALLED, 0,
#else
DEFUN ("s", Fsetq, Ssetq, 0, UNEVALLED, 0,
#endif

以下はmakeエラーメッセージ

Loading loadup.el (source)...
Using load-path (/Users/go/src/emacs-22.1/lisp)
Symbol's function definition is void: setq
make[1]: *** [emacs] Error 255
make: *** [src] Error 2

setqをdefineしてないというエラーが出てるのがわかる。しかしながら、このエラーしかないという事はcのソース部分では不具合が発生していないという事がわかる。

つまり、setqをsにしたい場合lispコードのsetqを全てsにする必要があるが、これは流石に面倒なので違う部分を改造してみる事にする。