以前「emacs-canna の ports。」と言うエントリーで、emacs-23.1+Canna な ports を作りました。と書きましたが、FreeBSD のports-CURRENT の editor/emacs が 23.2 になったみたいなので、 emacs+Canna の ports も23.2 に追随してみました。
以下の URL からダウンロードできます。
http://icmpv6.org/Prog/FreeBSD_ports/ports-emacs232-canna-20100521.tgz
/usr/ports/japanese 辺りで展開して make してください。
ちょっと説明すると、editoe/emacs は make config に対応したみたいなので、config の画面で CANNA を選択できるようにしました。
後、Canna for GNU Emacs23 では emacs-23.1 にしか対応していないので、このパッチを参考にさせて頂いて emacs-23.2 に適用できるように改修しました。emacs-23.2 対応の パッチは以下の URL にあります。Linux 方面の人はこっちのほうが嬉しいですかね;-)。
http://icmpv6.org/Prog/emacs232canna-20100521.patch.gz
と、言うことで自分で書いたモノを、短い時間ですが使ってみても特に問題無くネーテブに Canna で日本語入力ができています。もし良かったら使ってみてください;-)。
さてと。この ports を今後どうするか。と言うのが大きな課題です。一応 make config で CANNA が選択できるようになったので editor/emacs に吸収してもらっても良いかなぁ。とか思っているのですが、そーすると send-pr したり、 ports のメンテナに連絡とったりするかなぁ。
emacs-23.1 の ediotr/emacs は config の画面が出なかったのであれだったんだけど 23.2 の ports は良くできているような気がしないでも無いのでねぇ。今回は連絡取ってみようかなぁ。
と、言うことで Canna での入力を必要としている皆さん。利用した結果のコメントなどいただければ嬉しいです。
ちょっとだけ Makefile を更新しました。なので、こっちをご利用ください。
http://icmpv6.org/Prog/FreeBSD_ports/ports-emacs232-canna-20100525.tgz
あーうー。editpr/emacs の ports の作者さんにメールを送ったら、make config 時に CANNA support メニューを表示してもらえるようになりました。パチパチパチ;-)。
japanses/emacs-canna ports はなくなって emacs の ports 本家に吸収されことになりましたーーっ!!
わーい。
作られたcanna用パッチを利用させて頂いたところ,Mac OSX 10.6.4で何も問題なくemacs-23.2をコンパイルできました.(with openmotif-2.3.3)
Canna3.7p3でうまく日本語変換も行えました.
すばらしいパッチを公開して頂きありがとうございました.
Level3さん。こんばんは。
おぉ。僕もMacOSX は使っているのですが、さすがに自力では make していませんでした。MacOSX 上では Canna 使ってませんしf(^^;;。
そうですか。無事に動作ししまたか。それは良かったです。
オリジナル emacs-23.1 のパッチを書いてくださった作者さんとは連絡取り合ったのですが、23.2 用のバッチを書いたのは僕のほうが早かったみたいです。
そーですか。良かった良かった。
すみません.動いたと思ったのははやとちりだったようです. ; 😉
コンパイルは通り,日本語も入力できたのでokと思ってました.ところがよくみるとcanna直接ではなくxim(つまりkinput2経由)だったようです.
cannaを起動しようとするとsegmentation faultで落ちました.OSXではdynamic link libraryのextensionが”.so”ではなく”.dylib”ですのでcanna.elも書き換えてみましたが,ダメでした.gdbで調べた限りではどうもlispコードがうまく読み込めていない?ようでしたが現時点では詳細は不明です.
時間ができたらdebug optionを付けてgdbで調べてみたいと思います.
Level3さん。こんにちは。
あらら残念でしたねぇ。
考えてみると MacOSX 上でコンパイルして、CannaServer が動作しているマシンに環境変数を設定すると MacOSX 上で CannaServer を起動しなくともテストはできますねぇ。
僕もちくっとやってみようかなぁ。
そうですね.別のマシンでCannaServerが動いていればそれも可ですが,Emacsをコンパイルする時にヘッダーとライブラリは必要ですから結局はOSXでCanna3.7p3を動かすのとそれほど手間は掛からないと思います.
なお,Cannaの方はxemacsとかで問題なく使えていますのでCanna自体には問題がないと考えています.
はじめまして、こんばんは。
emacsが23に上がりyc.elが使えなくなりうろうろしてこちらに辿り着きました。
お陰様でemacs23でcannaが使えて助かってます(^^
ありがとうございます。
ところで、23.1の時は問題なかったのですが、23.2で問題が発生しました。
サーバ用途に使っている make.conf にWITHOUT_X11=yes のマシンで make したら canna が使えませんでした。
コンパイルは通りますが、emacsを起動すると、
Symbol’s function definition is void: canna
となります。
試しに別のXが入って正常に emacs23.2 + canna が使えてるマシンで WITHOUT_X11=yes オプションつけて make してみましたが、
やはりemacsを起動するとSymbol’s function definition is void: canna で cannaは使えませんでした。
使ったports は ports-emacs232-canna-20100525.tgz。 OSヴァージョンは 8.1-PRERELEASE と8.0-RELEASEです。
Xなしで動かすにはどこをいじればいいでしょうか?
よろしくお願いします。
>Xなしで動かすにはどこをいじればいいでしょうか?
よろしくお願いします。
コンパイル時には–with-x11にしておいて起動するときにemacs -nwとすればよいのではないでしょうか?
Level3 さん。こんにちは。
あ。そーでした。ライブラリがとヘッダファイルが無いと make できませんでしたf(^^;;。
たかはしさん。こんにちは。
yc.el は作者さんとメールのやり取りしたことがあるのですが、サーバが EUC-JP で emacs-23 側が UTF-8 を使っているのでどこかで文字コード変換すれば使えるようになるらしいです。
後、ports についてですが、emacs の作者さんに WITH_CANNA をマージしてもらったので、もうすぐ csup で利用できるようになると思うんですけどねぇ。しばしお待ちください。
それにしても Canna(canna-lib) が X のライブラリを利用するので WITHOUT_X11=yes で Canna を使うのは無理かもしれません。Level3 さん のおっしゃるとおりにするか、 IME(XIM) で日本語入力するしか手は無さそうですが、いかがでしょう。
Level3さん、こんばんは。
ありがとうございます。無事使えるようになりました。
そういやcairoもこの方法でコンパイルしてたのに気付きませんでした(^^;;
たかちゃん。さん、こんばんは。
yc.elのことはこのblogで読みましたので使えるようになる可能性があることを知りましたが手直しするスキルがないもので(汗)。
> それにしても Canna(canna-lib) が X のライブラリを利用するので WITHOUT_X11=yes で Canna を使うのは無理かもしれません。
23.1の時は WITHOUT_X11=yes でも使えてたんですけどねぇ。。
なんにしてもかな入力できるようになりました。ありがとうございました。
http://www.freebsd.org/cgi/getmsg.cgi?fetch=174515+0+current/cvs-ports
ようやっと commit されたみたいですねぇ。今、ports-current を csup すると emacs23 には WITH_CANNA オプションが表示されるようになりましたー。わーい。