Hideyuki SHIRAI ( 白井秀行 )
shira****@meado*****
2006年 5月 8日 (月) 19:53:14 JST
白井です。 # 田畑さん、詳しい解説ありがとうございます > 句読点 From: Masahiro YAMADA <mappy****@yahoo*****> さん曰く Subject: [Anthy-dev 2931] emacsからanthyでShift-Leftが効かない Message-ID: <20060****@yahoo*****> Date: Mon, 08 May 2006 03:50:38 +0900 (JST) > Webの「Emacsから」という説明書きのところに > > C-o または Shift-Right を押すと、カーソル位置の文節が 1 文字長くなります。 > C-i または Shift-Left を押すと、カーソル位置の文節が 1 文字短くなります。 > > とあったのですが、 > > 変換中に、Shift-RightおよびShift-Leftを押しても > ミニバッファーには wrong type argument: characterp, nil > と表示されてしまいます。 > C-oとC-iはちゃんと文節の長さを変えられます。 X-Mailer を見ると、 X-Mailer: Mew version 3.3 on XEmacs 21.4.17 (Jumbo Shrimp) とのことなので、丁度手元にあった XEmacs 21.4.17 でやってみました が、同じエラーになりました。ちらっとコードを見たのですが、以下の コードに shift left|right の条件を加えればよいのですが、XEmacs はすでに全然わからない。けど、とりあえず、山勘でやったところ、 (defun anthy-last-command-char () "最後の入力イベントを返す。XEmacs では int に変換する" (if anthy-xemacs (let ((event last-command-event)) (cond ((event-matches-key-specifier-p event 'left) 2) ((event-matches-key-specifier-p event 'right) 6) ((event-matches-key-specifier-p event '(shift left)) 9) ((event-matches-key-specifier-p event '(shift right)) 15) ((event-matches-key-specifier-p event 'backspace) 8) (t (char-to-int (event-to-character event))))) last-command-char)) で良いようです。 # こういうときは、Emacs のバージョンとか書かないとわからない、と # いうか相手に無駄な時間を使わせることになりますよ。 ## 文字端末で shift が伝わっていないのかと思ったんだけど、それじゃ ## エラーにはならんよな、と無駄な時間を使ってしまいました ^^;;; だけど、(各論あると思いますが)個人的には XEmacs ではなくて FSF Emacs (Emacs21 とか Emacs22 とか)を使う方をお薦めします。 -- 白井秀行 (mailto:shira****@meado*****)