[Mew-dist 13037] mew-offline.el (was: mew-{,real-}send-hook)

Shuichi KITAGUCHI ( 北口修一 ) kit at example.com
2000年 5月 21日 (日) 00:31:42 JST


北口です。

# なんとなく was: 化(^^;

> # 手紙を実際に送り、queue が空になったときにもフックが使えると
> # 良いのですが。

ちょうどそんな感じの作業をやっていました。queue が空になった時では
なくて、queue を空にする操作が終了した時(要は送信の操作が終了した時)
ですが。

添付のパッチでそうなります。

# mode-line の " Running" を変更したかったので、そのパッチも入っています。


で、こっちが本題ですが、Summary Mode で i した時に
接続->受信->送信->切断を実現するもの(β版)を、

  ftp://ftp.Mew.org/pub/Mew/Win32/beta/mew-offline.el
  ftp://ftp.Mew.org/pub/Mew/Win32/beta/rascon.el

に置いておきました。Win32 もしくは FreeBSD + ppp/pppctl で、興味が
あって、かつ勇気のある方はお試しください。なお改善要求等は大歓迎
ですが、対応は 1 週間単位で遅くなる可能性が高いと思われます。

# PPxP はうまく動いてくれなかったので、対応できていません。

ppp/pppctl で使う方法は、

1. ppp.conf に
    set socket <port_no> <password>     # 指定ポート番号での制御を受け付ける
    set filter dial 0 deny 0/0 0/0      # auto-dial を無効化
  を追加し、
    # ppp -auto <config_name>
  で起動して background で動かす。

2. ~/.emacs に、
  (setq rascon-current-entry   '("config_name" "0" ""))
  (setq rascon-offline-ppp-port   "<port_no>")
  (setq rascon-offline-ppp-passwd "<password>")
  を追加(config_name は ppp.conf 中の設定名を、port_no/password は
  ppp.conf に記述したものと同じものを指定)。

こんな感じになると思います。ppp 自体の設定がちゃんとできているかは、
  # pppctl -p <password> <port_no> dial
でチェックできると思います。

Win32 方面は、今まで ~/.emacs で mew-offline-*-p を setq していたものは、
mew-offline-use-* に変えてください、ぐらいで大丈夫だと信じています。

他の詳しい設定は、たいしたものではないので mew-offline.el を眺めてみて
ください。

# ドキュメントまでまだ手が回っていません。ごめんなさい。

最後に、まだβ版ということで仕様等は予告なく変更されることがあります、
ということにしておきますのでご注意ください。


--
Shuichi Kitaguchi <kit at example.com>
-------------- next part --------------
Index: mew-blvs.el
===================================================================
RCS file: /usr/local/cvsroot/mew/mew-blvs.el,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 mew-blvs.el
--- mew-blvs.el	2000/05/19 16:08:12	1.1.1.4
+++ mew-blvs.el	2000/05/20 14:20:50
@@ -22,6 +22,7 @@
 
 (defvar mew-summary-buffer-start-point nil)
 (defvar mew-summary-buffer-process nil)
+(defvar mew-summary-buffer-process-status " Running")
 (defvar mew-summary-buffer-string nil)
 (defvar mew-summary-buffer-config nil)
 (defvar mew-summary-buffer-begin nil)
Index: mew-env.el
===================================================================
RCS file: /usr/local/cvsroot/mew/mew-env.el,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 mew-env.el
--- mew-env.el	2000/05/19 16:08:13	1.1.1.4
+++ mew-env.el	2000/05/20 14:18:33
@@ -209,7 +209,8 @@
 
 ;; tricky way to tell users that subprocess is running
 (or (assq 'mew-summary-buffer-process minor-mode-alist)
-    (setq minor-mode-alist (cons '(mew-summary-buffer-process " Running")
+    (setq minor-mode-alist (cons '(mew-summary-buffer-process
+				   mew-summary-buffer-process-status)
                                  minor-mode-alist)))
 
 (defvar mew-connection-type1 nil
Index: mew-smtp.el
===================================================================
RCS file: /usr/local/cvsroot/mew/mew-smtp.el,v
retrieving revision 1.1.1.6
diff -u -r1.1.1.6 mew-smtp.el
--- mew-smtp.el	2000/05/19 16:08:14	1.1.1.6
+++ mew-smtp.el	2000/05/20 14:52:36
@@ -198,7 +198,8 @@
       (if flushp
 	  (progn
 	    (message "Flushing %s ... " qfld)
-	    (mew-smtp-send-message)))))))
+	    (mew-smtp-send-message))
+	(run-hooks 'mew-smtp-flush-hook))))))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;
@@ -259,7 +260,8 @@
     (mew-smtp-set-error pnm nil)
     (mew-smtp-set-lock pnm nil)
     (if (processp sshpro) (delete-process sshpro))
-    (mew-smtp-set-ssh-process pnm nil)))
+    (mew-smtp-set-ssh-process pnm nil)
+    (run-hooks 'mew-smtp-flush-hook)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;


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