[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacsでのバッファ名の文字列による取得について
- To: bep@argv.org
- Subject: Re: emacsでのバッファ名の文字列による取得について
- From: Koichi INOUE <inoue@argv.org>
- Date: 14 Jan 2001 05:54:53 +0900
- Delivered-To: mailing list bep@argv.org
- Mailing-List: contact bep-help@argv.org; run by ezmlm
- Organization: Accessibility Research Group for the Visually Impaired(ARGV)
- User-Agent: T-gnus/6.14.5 (based on Gnus v5.8.7) (revision 08) SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 Emacs/21.0.93 (i386-windy-freebsd4.2) MULE/5.0 (SAKAKI)
井上です。
なんとなくわかりました。
Koichi INOUE <inoue@...> writes:
> killしているのはおそらくその前にTABが押されたときの状態が保存されている
> と都合が悪いのだと「思います」。
completionバッファが表示された状態でTABを押して候補を読み上げさせ、もう
一度聞こうとしてTABを押してもなにも読まないという問題を回避しているよう
です。
Emacspeakはcompletion操作が行われると
1. completionバッファを消す。
2. 実際のcompletion動作を実行する。
3. もしcompletionバッファが表示されていたら、「先頭から3行消去し、」残
りの部分を読み上げる。
4. 次にTABが押されたら同じことをする。
という動作をします。ここで1.がないと、なにも文字を追加しないでもう一度
TABを押したとき、completionバッファがそのままであるのに、またそこから3
行消去しようとします。その結果補完候補まで削除され、どんどん候補が減って
いくということになります。
きっと昔はこれで問題なかったのだと思いますが、completionバッファの表示タ
イミングがEmacsのバージョンで変わったためなのか、今はcompletionバッファ
が見えなくなるようになっています。(Emacs 20.7)
なんだかお粗末なのでなんとでも変更できそうなのですが、変更はBEP 1.0にタ
グを打ってから(ブランチタグしか打ったことがない(^^;))にしたいので、もう
ちょっとだけ待ってください。
# 要するにcvs tagコマンドを使ったことがない(^^;)
とりあえず簡単な回避方法ですが、emacspeak-speak.elに
emacspeak-kill-buffer-carefully というdefsubstがあるので、この中の
(kill-buffer)をしないようにしてください。後ろに閉じ括弧があるので注意で
す。
そして、make clean; make emacspeakしてください。defsubstなので、この部分
のコードをelcに反映するには全部コンパイルしなおす必要があります。
副作用としてTABによる補完をなにも文字を追加せずに2度以上行うと
completion候補が減ります。(^^;)
考えている改善策としては、先頭3行削除するのはやめて、補完候補の先頭から
最後までをbuffer-substringして読ませればいいじゃないかと思っています。きっ
とこれならTABを押しても画面上のcompletionリストがスクロールしないという
問題もなくなるのではないかと勝手に思っているのですが、ダメかな。
--
Koichi Inoue, ARGV
E-Mail: inoue@...
ICQ UIN: 74900690