[Mew-dist 1157] mew-virtual-mode on XEmacs

Yuuichi Teranishi 寺西裕一 teranisi at example.com
1997年 7月 2日 (水) 11:31:12 JST


寺西@NTT情報研です.

XEmacs での mew-virtual-mode のサポートが手薄だったので,
多少手直ししてみました.

Changes: (すべて Virtual モード関連)

* マウスのまんなかボタンでメッセージを見られるようにした.
* パートアイコンのクリックでパートを見られるようにした.ついでに virtual 
  モードでパートを mew-summary-show (SPACE-key) できない不具合も直す.
* 横スクロールバーを消す :-).
* 西田@阪大さんのいうように mode-line-buffer-identification 
  を設定してみる.

次パート以降に mew-1.85 へのパッチをつけます.

うち,mew-summary.el に対するパッチは,
Mew-dist 1138番(from 酒井さん),1139 番(from 酒井さん),
1146 番(from 西田さん)のパッチを当て,
1139 番の string-match を "-" から "^-" に変更している
ことを前提としています.(ややこしくてすみません)

いちおうテストはしてみたつもりですが,エンバグしてたらごめんなさい.

では.
--
Yuuichi Teranishi (寺西裕一) Email: teranisi at example.com
Location: NTT Information and Communication Systems Laboratories
TEL: 0468-59-2839 FAX: 0468-59-2768 PHS: 050-106-7597
MyCar: RAV4J (22240km since Nov.1995) 

-------------- next part --------------
--- mew-summary.el.org	Wed Jul  2 10:52:02 1997
+++ mew-summary.el	Wed Jul  2 10:52:25 1997
@@ -391,41 +391,38 @@
 ;;;
     
 (defun mew-summary-message-number ()
-  (cond 
-   ((equal major-mode 'mew-summary-mode)
-    (let ((event last-command-event)
-	  ret str)
-      (if (and mew-icon-p	
-	       ;; exclude press button 2 in summary buffer.
-	       ;; exclude pulldown menu in Summary mode.
-	       ;; exclude popup menu of multipart icon because
-	       ;; the cursor has already moved.
-	       (or (button-press-event-p event)     ;; right button
-		   (button-release-event-p event))) ;; left button
-	  (if last-pressed-toolbar-button
-	      (progn
-		(setq str (toolbar-button-help-string 
-			   last-pressed-toolbar-button))
-		(if (string-match "^\\([0-9]+\\) " str)
-		    (setq ret (mew-match 1 str)))
-		)))
-      (if ret
-	  ret
-	(save-excursion
-	  (beginning-of-line)
+  (let ((event last-command-event)
+	ret str)
+    (if (and mew-icon-p	
+	     ;; exclude press button 2 in summary buffer.
+	     ;; exclude pulldown menu in Summary mode.
+	     ;; exclude popup menu of multipart icon because
+	     ;; the cursor has already moved.
+	     (or (button-press-event-p event)     ;; right button
+		 (button-release-event-p event))) ;; left button
+	(if last-pressed-toolbar-button
+	    (progn
+	      (setq str (toolbar-button-help-string 
+			 last-pressed-toolbar-button))
+	      (if (string-match "^\\([0-9]+\\) " str)
+		  (setq ret (mew-match 1 str)))
+	      )))
+    (if ret
+	ret
+      (save-excursion
+	(beginning-of-line)
+	(cond 
+	 ((equal major-mode 'mew-summary-mode)
 	  (if (looking-at mew-summary-message-regex)
 	      (mew-match 1)
 	    nil)
-	  ))
-      ))
-   ((equal major-mode 'mew-virtual-mode)
-    (save-excursion
-      (beginning-of-line)
-      (if (looking-at ".*\r \\(\\+.*\\) \\(.*\\)$")
-	  (mew-match 2)
-	nil)))
-   (t nil)
-   ))
+	  )
+	 ((equal major-mode 'mew-virtual-mode)
+	  (if (looking-at ".*\r \\(\\+.*\\) \\(.*\\)$")
+	      (mew-match 2)
+	    nil))
+	 (t nil)))
+      )))
 
 (defun mew-summary-part-number ()
   (let ((event last-command-event)
@@ -625,7 +622,9 @@
 	 (opart (mew-current-get 'part))
 	 (buf (buffer-name))
 	 (next nil))
-    (if (not (or (file-exists-p (mew-expand-folder fld msg))
+    (if (not (or (file-exists-p (mew-expand-folder 
+				 (if fld fld (car ofld-msg))
+				 (if msg msg (cdr ofld-msg))))
 		 (string-match "^-" fld)))
 	(message "File does not exist.")
       (mew-summary-toggle-disp-msg 'on)
-------------- next part --------------
--- mew-virtual.el.org	Wed Jul  2 11:14:58 1997
+++ mew-virtual.el	Wed Jul  2 11:15:39 1997
@@ -65,6 +65,9 @@
   (define-key mew-virtual-mode-map "\ea"  'mew-summary-toggle-analysis)
   (define-key mew-virtual-mode-map "\C-c\C-x" 'mew-summary-x-face)
   (define-key mew-virtual-mode-map "\C-c\C-q" 'mew-kill-buffer)
+  (if mew-xemacs-p
+      (define-key mew-virtual-mode-map 'button2 'mew-summary-mouse-show)
+    (define-key mew-virtual-mode-map [mouse-2] 'mew-summary-mouse-show))
   )
 
 ;;;
@@ -149,6 +152,7 @@
   (interactive)
   (setq major-mode 'mew-virtual-mode)
   (setq mode-name "Virtual")
+  (setq mode-line-buffer-identification '("Mew: %12b"))
   (use-local-map mew-virtual-mode-map)
   (setq buffer-read-only t)
   (setq truncate-lines t)
@@ -168,6 +172,7 @@
 	(if mew-icon-p
 	    (set-specifier default-toolbar
 			   (cons (current-buffer) mew-summary-toolbar)))
+        (set-specifier scrollbar-height (cons (current-buffer) 0))
         (set-buffer-menubar current-menubar)
         (add-submenu nil mew-summary-mode-menu-spec)
 	))
-------------- next part --------------
--- mew-xemacs.el.org	Wed Jul  2 11:16:24 1997
+++ mew-xemacs.el	Wed Jul  2 10:56:01 1997
@@ -257,8 +257,11 @@
 	(part (mew-summary-part-number))
 	(botton (event-button last-command-event)))
     (goto-char (point-min))
-    (if (re-search-forward (format "^[ ]*%s" msg) nil t)
-	(re-search-forward (format "^\t%s" part) nil t))
+    (if (equal major-mode 'mew-virtual-mode)
+	(if (re-search-forward (format "\r.*%s" msg) nil t)
+	    (re-search-forward (format "^\t%s" part) nil t))
+	(if (re-search-forward (format "^[ ]*%s" msg) nil t)
+	    (re-search-forward (format "^\t%s" part) nil t)))
     (beginning-of-line)
     (mew-summary-recenter)
     (mew-summary-underline-lines)
@@ -275,7 +278,7 @@
   (let ((fld (mew-summary-folder-name))
 	(ofld-msg (mew-current-get 'message))
 	(buf (buffer-name)))
-    (if (or (not (equal (cons fld msg) ofld-msg)) (null part))
+    (if (null part) 
 	(message "No message")
       (mew-summary-toggle-disp-msg 'on)
       (unwind-protect


Mew-dist メーリングリストの案内