[Mew-dist 05571] Re: marker
SAKAI Kiyotaka
ksakai at example.com
1998年 7月 17日 (金) 11:21:30 JST
>> In article <19980716222135C.shigeya at example.com>, Shigeya Suzuki <shigeya at example.com> writes:
> なんでじゃろう。。みてのとおり 19.28 だけれど。
> で、C-aC-o すると書きましたが、エラーが出るタイミングでは、カーソルは
> ----☆
> もじをかいた
simple.el のコードを見てみましたが、Emacs-19.28 の open-line のコード
のバグと言い切ってしまっていいと思います。
19.34 と 20.2 では "\n" を挿入した後に元の位置に戻るコードになっていま
したが、19.28 では行頭にカーソルがあると 1文字戻って "\n" を挿入するコー
ドになっていて、これがこの問題を引き起こす原因になっていました。
対応するには 19.34 以降のコードを利用して、「19.28 では .emacs に以下
のコードを入れろ」とするぐらいしかないと思います。
# あるいは、mew-draft-open-line という関数名で定義して、draft-mode で
# C-o に bind してもらうか。
(defun open-line (arg)
"Insert a newline and leave point before it.
If there is a fill prefix and/or a left-margin, insert them on the new line
if the line would have been blank.
With arg N, insert N newlines."
(interactive "*p")
(let* ((do-fill-prefix (and fill-prefix (bolp)))
(loc (point)))
(newline arg)
(goto-char loc)
(while (> arg 0)
(if (and do-fill-prefix (bolp))
(insert-and-inherit fill-prefix))
(forward-line 1)
(setq arg (1- arg)))
(goto-char loc)
(end-of-line)))
--
酒井 清隆 (E-mail: ksakai at example.com)
Mew-dist メーリングリストの案内