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

[xyzzy:07091] Re: テキストの折り返しで「メモリ不足」



亀井さん、お世話になります。名古屋の金子です。

   KAMEI Tetsuya<kamei@xxxxxxxxxxxx> wrote.
   [xyzzy:07089] Re: テキストの折り返しで「メモリ不足」
 -----------------------------------------------

> 私の環境では再現しません。それはどのテキストでも常に再
> 現するのでしょうか? html+-mode でない場合や折り返さな
> い場合はどうでしょうか?

 折り返しをしない場合には問題ありません。と言うか、発生するパター
ンが特定できました。また、私のポカかも知れません。

 まず、(enable-post-buffer-modified-hook t) のときです。(この
フックは私が無理を言って実装してもらったので、あまり使っている方
はいないかも知れませんね。)

 このときにコールされるフック(post-buffer-modified-hook)で以
下の様なことをしています。(変更した行にマークを付けています。)

(defun set-modified-line-mark (pos)
  (set-text-attribute pos pos 'modified-line
					  :foreground 0 :background 5
					  :prefix #\* :extend t))

(defun buffer-modified-hook (buffer operation from to undo-p)
; (message "ope:~A  undo:~A from:~d to:~d" operation undo-p from to)
  (let ((pos from))
	(save-excursion
	  (goto-char pos)
	  (while (<= pos to)
		(progn
		  (goto-bol)
		  (set-modified-line-mark (point))
		  (if (not (next-virtual-line))
			  (return))
		  (setq pos (point)))))))

(add-hook 'post-buffer-modified-hook 'buffer-modified-hook)

 見よう見まねで作っているので、どうしたらよいのか分かりません。
どこか、おかしいでしょうか?よろしくお願い致します。

== 金子 真昭 <kaneko@xxxxxxxxxxxx>

Index Home