[mew-dist 20595] Re: after-change-functions
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2002年 3月 13日 (水) 20:55:31 JST
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [mew-dist 20594] after-change-functions
Message-ID: <20020313.162916.125123162.kazu at example.com>
Date: Wed, 13 Mar 2002 16:29:16 +0900 (JST)
kazu> after-change-functions を nil に束縛させたのは僕ではないので、この変更
kazu> が何を引き起こすかよく分りませんが、論理的に mew-elet へ入るべきだと考
kazu> えました。
kazu> 何か挙動が変になったら教えて下さい。
mew-fancy-summary が after-chage-functions に登録される
font-lock の設定で動いている場面があったため、
・FSF Emacs => mark したとき、unmark したときの highlight がダメ
・XEmacs => ほぼ全滅
となってしまいました。しかし、寄生虫は寄生虫らしく宿主に合わせる
ことにしました。
# mark, unmark がきりっと動くからこの方が良いかも。
また、XEmacs で、もしかしたら不具合があるかもしれません。いかん
せん、XEmacs で Mew を立ち上げたのが久しぶりなので。
--
白井秀行 (mailto:shirai at example.com)
-------------- next part --------------
--- mew-fancy-summary.el.orig Wed Mar 13 20:49:30 2002
+++ mew-fancy-summary.el Wed Mar 13 20:49:36 2002
@@ -3,7 +3,7 @@
;; Author: Shun-ichi TAHARA <jado at example.com>
;; Hideyuki SHIRAI <shirai at example.com>
;;
-;; Time-stamp: <09/05/2001 11:35 shirai>
+;; Time-stamp: <03/13/2002 20:45 shirai>
;;; Commentary:
;;
@@ -33,7 +33,8 @@
;; ;;; lazy-lock-mode (for All Emacsen)
;; (require 'font-lock)
;; (setq font-lock-support-mode 'lazy-lock-mode)
-;; (when (featurep 'xemacs) (setq lazy-lock-minimum-size 0))
+;; (when (featurep 'xemacs)
+;; (setq lazy-lock-minimum-size 0))
;;
;; 4. If you use 'jit-lock-mode' and feel 'scan is too slow'
;; , please put bellow code to your init file.
@@ -200,6 +201,7 @@
(defalias 'mew-summary-cook-region 'mew-fancy-summary-make-invisible-region)
(defalias 'mew-highlight-mark-line 'mew-fancy-summary-mark-line)
+(defalias 'mew-highlight-unmark-line 'mew-fancy-summary-mark-line)
;;; Setup
@@ -249,14 +251,10 @@
(set-buffer-modified-p nil)
ret)))
-(defun mew-fancy-summary-mark-line (mark)
- "Remove property so that font-lock works properly, because highlighting
-mark line is done by mew-fancy-summary."
+(defun mew-fancy-summary-mark-line (&rest args)
+ "Highlighting mark and unmark line is done by mew-fancy-summary."
(save-excursion
- (remove-text-properties
- (progn (beginning-of-line) (point))
- (progn (end-of-line) (point))
- '(lazy-lock nil lazy-lock-fontified nil fontified nil))))
+ (mew-fancy-summary-region (point) (point) nil 'strip)))
;;; Activating fancy summary
@@ -273,6 +271,10 @@
(setq mew-fancy-summary-thread-column -1)
(font-lock-mode 1)))
+(when mew-xemacs-p
+ (defadvice mew-summary-folder-cache-load (after fancy-summary activate)
+ (font-lock-mode 1)))
+
(defun mew-fancy-summary-thread-enable ()
"Activate mew-fancy-summary in thread buffer."
(when (mew-thread-p)
@@ -331,7 +333,7 @@
(interactive)
(mew-fancy-summary-region (point-min) (point-max)))
-(defun mew-fancy-summary-region (beg end &optional loudly)
+(defun mew-fancy-summary-region (beg end &optional loudly strip)
"Highlight the region of summary buffer with font-lock-mode."
(interactive "r")
(let ((pos (point)) linebeg lineend col numend)
@@ -344,6 +346,8 @@
(setq beg (progn (goto-char beg)
(beginning-of-line)
(point)))
+ (when strip
+ (put-text-property beg end 'face nil))
(mew-fancy-summary-make-invisible-region beg end)
;; Highlight each line
(while (< (point) end)
Mew-dist メーリングリストの案内