[mew-dist 23215] Re: about mew-smtp-get-.*

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2003年 3月 11日 (火) 16:25:02 JST


# Mew 4 にはついていけないので、こういうところで息抜き...

From: psbfan at example.com <psbfan at example.com> さん曰く
Subject: [mew-dist 23212] about mew-smtp-get-.*
Message-ID: <20030311.155106.50099408.psbfan at example.com>
Date: Tue, 11 Mar 2003 15:51:06 +0900 (JST)

> 大変初歩的な質問で恐縮なのですが、

いや、これは結構難しいと思います。

> mew-smtp-get-server
> mew-smtp-get-port
> mew-smtp-get-cont
> 
> 等は、command-aproposに掛けても

Mew 3.2 で話しますが、Mew 2 も大体同じだと思いました。
上記の例だと mew-smtp.el に

(defvar mew-smtp-info-list
  '(;; parameters to be saved
    "raw-header" "recipients" "orig-recipients"
    "bcc" "dcc" "fcc" "msgid" "logtime"
    "case" ;; save for re-edit, not for sending
    ;; parameters used internally
    "server" "port" "ssh-server"
    "user" "auth-list"
    "helo-domain" 
    "status" "ssh-process" "ssl-process" "messages"
    ;; parameters used internally and should be initialized
    "string" "error" "auth-selected" "timer" "cont" "from" "sender"
    "done"))

などというのがあって、その下で

(mew-info-defun "mew-smtp-" mew-smtp-info-list)

と mew-func.el にある mew-info-defun を読んでいます。そうすると、
mew-smtp-info-list にある要素から

"server" => mew-smtp-set-server(), mew-smtp-get-server()

な感じで、set する関数と get する関数が自動的に作成されます。
そうして、(mew-smtp-info-name case) で作った pnm (process name?)
にしたがって、それぞれ set/get することが可能になります。

# 内容は自分で調べると勉強になるかも :-)

同様の仕組みで、mew-summary.el などにある、

(defvar mew-sinfo-list
  '("scan-id" "find-key" "cursor-line" "direction" "start-point"
    "cache-time" "scan-form" "refile" "refile-back"
    "disp-msg" "case" "folder" "proto"))

(mew-blinfo-defun 'mew-sinfo mew-sinfo-list)

とかいうのもあります。これは、buffer local な変数 (この場合は
mew-sinfo にそれぞれの要素の値をベクタとしていれています。

-- 
白井秀行 (mailto:shirai at example.com)



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