ぐるっとぐりっど

日曜プログラマがいろいろ試してみたことを、後の自分のためにまとめておく場所

emacs25で追加されたdynamic moduleのサンプルを写経して動かしてみた

github.com

XWidgets芸人になるつもりはないので、dynamic moduleもどんなことできるか軽く動かしてみた

公式のサンプルに必要なことは一式書いてあるので、読むとだいたいわかる。いきなり他の英語の解説記事読むより、これに目をとおしてからの方が理解しやすかった。

https://github.com/emacs-mirror/emacs/blob/emacs-25/modules/mod-test/mod-test.c

できること

いくつかの規定どおりのソースをもとにしたsoファイルを作っておけば、emacsから、elispで書いたパッケージと同じようにrequireして、関数を呼ぶことができる

というか、Cのソースのほうで、provideを書いてるので、関数の実体だけCで書いて、あとはemacsパッケージを作っているような気分

とりあえず引数をうけとって、結果を返す関数は書けたので、なんか応用はききそう


なんかgolangで書くこともできるらしく、まあsoファイル作ってよみこむってのがわかれば、そうだよね、という気持ち

Writing Emacs modules with Go

あまりelisp力も高くないので、その辺を高めつつ面白そうなのを作れたらよい