[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 メーリングリストの案内