[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:07808] Re: flex-fill のこと



こんにちは.
喜多です.

> > 今,調査・修正に取れる時間がないので,土日に流星群を見に行きがてら調べ
> > てみます.
> 
>  獅子座流星群ですね。ピークは19日の2時から4時とのこと。お風邪
> などひかれないようにして下さい。

案の定ちょっと風邪引いてしまいました.
くしゃみ,鼻水がだんだん止まらなくなってきました.

ちなみに,流星群ですが,田舎に住んでいるせいか結構綺麗に見えましたよ.

> > なーんて書いてたら,もう解決策が…
> > すみません.でも,やはり,今ちょっと時間がないので後で拝見させて頂だき
> > ます.
> 
>  まったくの当てずっぽうですので、よろしくお願い致します。

日曜に考えてみたのですが,mode-specific-indent-command をいじる以上に
お手軽な方法を思いつきませんでした.
ということで,うまく動いているのなら,金子さんのおっしゃる方法で良いの
ではないかと思います.


# 以下,ちょっと無責任パッチです.いい感じだとは思いますが…

*post-command-hook* で mode-specific-indent-command を消し,
self-insert-command で mode-specific-indent-command を復活
(self-insert-command が *auto-fill-hook を funcall し,*auto-fill-hook
経由で呼ばれる do-auto-fill が auto-fill-hook を run-hooks している)の
繰り返しはなんとかしたいです.
# って自分は *post-command-hook* 呼びまくりなくせにねぇ

ということで,ぼーっとした頭でちょっと考えてみたのですが,これなんかど
うでしょう? fill.l に手を入れてしまいました. > 識者の皆さま

要は mode-specific-indent-command の前に fill-prefix を入れてしまえ,
ということ.
パッチをあてて,fill.l を byte-compile して,xyzzy を再ダンプしてくだ
さい.なんとなくうまく動いている感じ.


--- fill.l.orig	Mon Nov 19 18:21:25 2001
+++ fill.l	Mon Nov 19 18:22:08 2001
@@ -53,18 +53,18 @@
 		 (insert #\LFD)))
 	     (point))
       (forward-char 1))
-    (when mode-specific-indent-command
-      (save-excursion
-	(goto-bol)
-	(funcall mode-specific-indent-command))
-      (when (bolp)
-	(skip-chars-forward " \t")))
     (when fill-prefix
       (if (bolp)
 	  (insert fill-prefix)
 	(save-excursion
 	  (goto-bol)
 	  (insert fill-prefix))))
+    (when mode-specific-indent-command
+      (save-excursion
+	(goto-bol)
+	(funcall mode-specific-indent-command))
+      (when (bolp)
+	(skip-chars-forward " \t")))
     (run-hooks 'auto-fill-hook)))
 
 (defun fill-region-as-paragraph (from to)

Index Home