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

Re: [bep] Mew voice-lock



坂本です。

emacspeak-mew.elなのですが、いかのことをしようとしています。
*mew-message* bufferのfrom: to: subject:そして引用行の声を変えようといじっ
ているのですが、なんかうまくできません。
とりあえずマークの声を変えたコードを観察しながらやってます。

で、一応hookしたところでlazy-voice-lockには入っているように思えます。た
だ、声が変わりません。
きっと正規表現の書き方が間違っているのだと思うのですが...

はっきりいって、正規表現はわかってないのでううん、ちょっとだめだめです。

で、とりあえずパッチにして見ました。これでどこが悪くてだめなのかを教えて
ください。
--- emacspeak-mew.el	Wed May 23 00:58:22 2001
+++ emacspeak-mew.el.new	Sat May 26 04:28:42 2001
@@ -43,6 +43,7 @@
   (require 'dtk-voices)
   (require 'mew-vars2)
   (require 'mew-summary)
+  (require 'mew-message)
   (require 'mew-mark)
 )
 (require 'emacspeak-speak)
@@ -55,6 +56,11 @@
 (defvar emacspeak-mew-mark-review-voice 'paul-animated)
 (defvar emacspeak-mew-mark-refile-voice 'betty)
 (defvar emacspeak-mew-mark-multi-voice 'paul-animated)
+(defvar emacspeak-mew-from-voice  'betty)
+(defvar emacspeak-mew-to-voice  'paul-animated)
+(defvar emacspeak-mew-subject-voice  'paul-smooth )
+(defvar emacspeak-mew-cite-voice  'paul-monotone)
+
 ;;}}}
 
 ;;{{{ voice lock keywords
@@ -66,7 +72,18 @@
 		("\\(^ *[0-9]+o\\)" 1 emacspeak-mew-mark-refile-voice)
 		("\\(^ *[0-9]+\\*\\)" 1 emacspeak-mew-mark-review-voice)
 		("\\(^ *[0-9]+@\\)" 1 emacspeak-mew-mark-multi-voice)
+		)))
+(defvar mew-message-voice-lock-keywords nil
+  "keywords for mew-message-mode")
+(setq mew-message-voice-lock-keywords
+      (append mew-message-voice-lock-keywords
+              '(("^From: \\(.*\\)$" 1  emacspeak-mew-from-voice )
+                ("^To: \\(.*\\)$" 1 emacspeak-mew-to-voice)
+                ("^Subject: \\(.*\\)$" 1 emacspeak-mew-subject-voice)
+                ("^|?[a-zA-Z]*>+\\(.*\\)$" 1 emacspeak-mew-cite-voice )
 )))
+
+
 ;;}}}
 
 ;;{{{ hook
@@ -77,6 +94,7 @@
 		      (make-local-variable 'voice-lock-defaults)
 		      (setq voice-lock-defaults '(mew-summary-voice-lock-keywords t))
 		      (voice-lock-mode 1)
+
 		      (define-key mew-summary-mode-map "\C-p"
 			'emacspeak-mew-summary-previous-line)
 		      (define-key mew-summary-mode-map "\C-n"
@@ -85,6 +103,15 @@
 			'emacspeak-mew-summary-previous-line)
 		      (define-key mew-summary-mode-map '[down]
 			'emacspeak-mew-summary-next-line)
+		      )))
+
+(add-hook 'mew-message-mode-hook
+	  (function (lambda ()
+		      (make-local-variable 'voice-lock-message-support-mode)
+		      (setq voice-lock-message-support-mode 'lazy-voice-lock-mode)
+		      (make-local-variable 'voice-lock-messages)
+		      (setq voice-lock-messages '(mew-message-voice-lock-keywords t))
+		      (voice-lock-mode 1)
 		      )))
 ;;}}}