+2002-12-27 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * FLIM: Version 1.14.5 (Demachiyanagi) released.
+
+2002-11-15 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * smtp.el (smtp-send-buffer): Error if `smtp-server' is nil.
+
+2002-11-15 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
+
+ * FLIM-ELS (flim-version-specific-modules): Don't install mailcap.el.
+ * FLIM-MK (install-flim): Avoid creating empty directory.
+
+2002-11-06 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
+
+ * mime-parse.el (mime-parse-buffer): Require mmbuffer.
+
+2002-09-26 TSUCHIYA Masatoshi <tsuchiya@namazu.org>
+
+ * luna.el (luna-define-method): Clear method cache of child
+ classes.
+
+2002-09-24 TSUCHIYA Masatoshi <tsuchiya@namazu.org>
+
+ * mime-ja.texi (CVS): Escape @.
+
+ * luna.el (luna-define-method): Fix the bug that method cache is
+ not cleard.
+
+2002-09-14 KOSEKI Yoshinori <kose@meadowy.org>
+
+ * mime-en.texi (CVS): Fix Typo. (@ to @@).
+ mime-ja.texi (CVS): Ditto.
+
+2002-08-26 MORIOKA Tomohiko <tomo@mousai.as.wakwak.ne.jp>
+
+ * std11.el: Update Copyright header.
+
+2002-07-30 MORIOKA Tomohiko <tomo@mousai.as.wakwak.ne.jp>
+
+ * std11.el (std11-non-atom-regexp): New constant.
+ (std11-analyze-atom): New implementation to avoid error in current
+ XEmacs UTF-2000 [may be caused by a bug about regexp].
+
+2002-07-26 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * smtp.el (smtp-open-connection-function): Add doc.
+ (smtp-end-of-line): Doc fix.
+
+2002-07-24 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * smtp.el (smtp-end-of-line): New variable.
+ (smtp-read-response): Use it.
+ (smtp-send-command): Use it.
+ (smtp-send-data): Use it.
+
+\f
2002-06-03 KAWABATA, Taichi <batta@beige.ocn.ne.jp>
* FLIM-rfc2231-encoder: merged with FLIM Version 1.14.4.
+2002-06-03 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * FLIM: Version 1.14.4 (Kashiharajing\e.D\8eþ-mae) released.
+
2002-06-02 Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
* eword-encode.el (mime-header-encode-method-alist):
Added encoder for Content-Type.
-
+
* mime-def.el (mime-attribute-char-regexp): Arranged.
* mime-parse.el (mime-decode-parameter-value): Comment fix.
2002-05-20 KAWABATA, Taichi <batta@beige.ocn.ne.jp>
MIME Parameter Value encoder support.
-
+
* eword-encode.el: Require 'mime-parse.
(eword-encode-Content-Disposition-field-body): New function.
(mime-header-encode-method-alist): Use it.
-
+
* mime-def.el (mime-non-attribute-char-regexp): New variable.
* mime-parse.el (mime-divide-extended-parameter): New function.
(mime-encode-parameters): Likewise.
\f
-2002-06-03 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
-
- * FLIM: Version 1.14.4 (Kashiharajing\e-Dþ-mae) released.\e-A
-
2002-01-16 Hiroya Murata <lapis-lazuli@pop06.odn.ne.jp>
* luna.el (luna-class-find-member): Don't search parents'
(mime-encode-field-body): Use `mime-header-encode-method-alist'.
(mime-encode-header-in-buffer): Error if cannot encode.
+2001-11-19 Kenichi OKADA <okada@opaopa.org>
+
+ * smtp.el (smtp-find-server): Fix.
+
+2001-11-18 Kenichi OKADA <okada@opaopa.org>
+
+ * smtp.el (smtp-send-by-myself): Fix.
+
+2001-11-18 Kenichi OKADA <okada@opaopa.org>
+
+ * smtp.el (smtp-send-by-myself): New variable.
+ (smtp-use-starttls-ignore-error): New variable.
+ (smtp-find-mx): New function.
+ (smtp-dig): New function.
+ (smtp-find-server): New function.
+ (smtp-send-buffer-by-myself): New funcion.
+ (smtp-send-buffer): Change for `smtp-send-buffer-by-myself'.
+
2001-11-03 Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
* hmac-md5.el: Removed kludge for Emacs 21 prerelease versions.
+2001-09-21 Kenichi OKADA <okada@opaopa.org>
+
+ * smtp.el(smtp-submit-package): Check extensions for starttls.
+
2001-07-16 Katsumi Yamaoka <yamaoka@jpl.org>
* smtpmail.el (smtpmail-send-it): Work even if the first line of
\f
2001-06-01 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
- * FLIM: Version 1.14.3 (Unebigory\e-Dòmae) released.\e-A
+ * FLIM: Version 1.14.3 (Unebigory\8eòmae) released.
2001-06-01 Katsumi Yamaoka <yamaoka@jpl.org>
2001-02-27 Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
MIME Parameter Value decoder support.
-
+
* mime-def.el (std11-quoted-pair-regexp, std11-non-qtext-char-list,
std11-qtext-regexp, std11-quoted-string-regexp): Removed.
(mime-media-type/subtype-regexp): Ditto.
mime-parse-Content-Transfer-Encoding): New implementation.
(mime-read-Content-Type, mime-read-Content-Disposition,
mime-read-Content-Transfer-Encoding): Ditto.
-
+
2001-02-26 Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
* hmac-md5.el, hmac-sha1.el: Modify comments.
* qmtp.el (qmtp-open-connection-function): Revert initial value to
`open-network-stream'.
(qmtp-send-buffer): Use `binary-funcall'.
-
+
2000-12-23 OKAZAKI Tetsurou <okazaki@be.to>
* FLIM-ELS (flim-modules): Delete `mmdbuffer'.
* mmbuffer.el (mime-write-entity-body): Use `binary-write-region'
instead of `write-region-as-binary'.
(mime-write-entity): Don't use `write-region-as-raw-text-CRLF'.
-
+
* mime-def.el: Don't require `poem'.
(binary-insert-file-contents): New function.
(binary-write-region): New function.
2000-12-04 Daiki Ueno <ueno@unixuser.org>
- * smtpmail.el (smtpmail-send-it): Use `smtp-send-buffer' instead of
- `smtp-via-smtp'.
- (smtpmail-send-queued-mail): Ditto.
+ * smtpmail.el (smtpmail-send-it): Use `smtp-send-buffer' instead of
+ `smtp-via-smtp'.
+ (smtpmail-send-queued-mail): Ditto.
2000-11-24 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
\f
2000-07-12 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
- * FLIM-Chao: Version 1.14.1 (Rokujiz\e-Dò) released.\e-A
+ * FLIM-Chao: Version 1.14.1 (Rokujiz\8eò) released.
2000-07-10 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
2000-05-25 Tanaka Akira <akr@m17n.org>
- * mime-en.sgml, mime-ja.sgml: Update for CVS via SSH.
-
+ * mime-en.sgml, mime-ja.sgml: Update for CVS via SSH.
+
2000-05-09 Katsumi Yamaoka <yamaoka@jpl.org>
* smtp.el (smtp-deduce-address-list): Set `case-fold-search' to `t'
\f
1999-05-31 MORIOKA Tomohiko <tomo@m17n.org>
- * FLIM: Version 1.12.7 (Y\e-Dþzaki) released.\e-A
+ * FLIM: Version 1.12.7 (Y\8eþzaki) released.
1999-05-31 MORIOKA Tomohiko <tomo@m17n.org>
\f
1999-05-11 MORIOKA Tomohiko <tomo@m17n.org>
- * FLIM: Version 1.12.6 (Family-K\e-Dòenmae) released.\e-A
+ * FLIM: Version 1.12.6 (Family-K\8eòenmae) released.
1999-04-27 Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
\f
1999-01-23 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.12.3 (Kintetsu-K\e-Dòriyama) released.\e-A
+ * FLIM: Version 1.12.3 (Kintetsu-K\8eòriyama) released.
1999-01-23 MORIOKA Tomohiko <morioka@jaist.ac.jp>
\f
1999-01-21 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.12.2 (Kuj\e-Dò) released.\e-A
+ * FLIM: Version 1.12.2 (Kuj\8eò) released.
1999-01-16 MORIOKA Tomohiko <morioka@jaist.ac.jp>
\f
1998-12-02 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.12.1 (Nishinoky\e-Dò) released.\e-A
+ * FLIM: Version 1.12.1 (Nishinoky\8eò) released.
1998-11-30 MORIOKA Tomohiko <morioka@jaist.ac.jp>
\f
1998-10-26 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.11.2 (Heij\e-Dò) was released.\e-A
+ * FLIM: Version 1.11.2 (Heij\8eò) was released.
* NEWS (Abolish variable `mime-temp-directory'): New subsection.
\f
1998-10-12 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.10.4 (Shin-H\e-Dòsono) was released.\e-A
+ * FLIM: Version 1.10.4 (Shin-H\8eòsono) was released.
1998-10-12 Katsumi Yamaoka <yamaoka@jpl.org>
\f
1998-09-29 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.10.0 (K\e-Dòdo) was released.\e-A
+ * FLIM: Version 1.10.0 (K\8eòdo) was released.
* README.en (What's FLIM): Add mel-ccl.el.
\f
1998-08-31 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.9.1 (Tonosh\e-Dò) was released.\e-A
+ * FLIM: Version 1.9.1 (Tonosh\8eò) was released.
* mime-en.sgml (mm-backend): Translate a little.
\f
1998-07-07 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM-Chao: Version 1.8.0 (Shij\e-Dò) was released.\e-A
+ * FLIM-Chao: Version 1.8.0 (Shij\8eò) was released.
1998-07-07 MORIOKA Tomohiko <morioka@jaist.ac.jp>
\f
1998-07-01 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.8.0 (\e-DÒkubo) was released.\e-A
+ * FLIM: Version 1.8.0 (\8eÒkubo) was released.
* README.en: Delete `How to use'.
\f
1998-06-28 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM-Chao: Version 1.7.0 (Goj\e-Dò) was released.\e-A
+ * FLIM-Chao: Version 1.7.0 (Goj\8eò) was released.
1998-06-26 MORIOKA Tomohiko <morioka@jaist.ac.jp>
\f
1998-06-19 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.4.1 (Momoyama-Gory\e-Dòmae) was released.\e-A
+ * FLIM: Version 1.4.1 (Momoyama-Gory\8eòmae) was released.
1998-06-18 MORIOKA Tomohiko <morioka@jaist.ac.jp>
\f
1998-05-06 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.2.0 (J\e-Dþjò) was released.\e-A
+ * FLIM: Version 1.2.0 (J\8eþj\8eò) was released.
* README.en (What's FLIM): Delete description about
std11-parse.el; add description about mailcap.el.
\f
1998-05-05 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.1.0 (T\e-Dòji) was released.\e-A
+ * FLIM: Version 1.1.0 (T\8eòji) was released.
1998-05-04 MORIOKA Tomohiko <morioka@jaist.ac.jp>
\f
1998-04-17 MORIOKA Tomohiko <morioka@jaist.ac.jp>
- * FLIM: Version 1.0.1 (Ky\e-Dòto) was released.\e-A
+ * FLIM: Version 1.0.1 (Ky\8eòto) was released.
* mime-def.el (mime-spadework-module-version-string): New
constant.
md4 ntlm sasl-ntlm sasl-scram
smtp qmtp smtpmail))
-(setq flim-version-specific-modules '(mailcap))
+(setq flim-version-specific-modules nil)
(setq hmac-modules '(hex-util
hmac-def md5 sha1
(defun install-flim ()
(config-flim)
- (install-elisp-modules flim-version-specific-modules "./"
- FLIM_VERSION_SPECIFIC_DIR)
+ (if flim-version-specific-modules
+ (install-elisp-modules flim-version-specific-modules "./"
+ FLIM_VERSION_SPECIFIC_DIR))
(install-elisp-modules flim-modules "./" FLIM_DIR))
(defun check-flim ()
PACKAGE = flim
API = 1.14
-RELEASE = 4
+RELEASE = 5
TAR = tar
RM = /bin/rm -f
FILES = README.?? Makefile FLIM-MK FLIM-CFG FLIM-ELS *.el ChangeLog
VERSION = $(API).$(RELEASE)
-ARC_DIR_PREFIX = /home/kanji/tomo/public_html/comp/emacsen/lisp
+ARC_DIR_PREFIX = /home/kanji/tomo/public_html/lemi/dist
ARC_DIR = $(ARC_DIR_PREFIX)/flim/flim-$(API)
SEMI_ARC_DIR = $(ARC_DIR_PREFIX)/semi/semi-1.14-for-flim-$(API)
+CVS_HOST = cvs.m17n.org
+
+
elc:
$(EMACS) $(FLAGS) -f compile-flim $(PREFIX) $(LISPDIR) \
$(VERSION_SPECIFIC_LISPDIR)
cvs commit
sh -c 'cvs tag -R $(PACKAGE)-`echo $(VERSION) | tr . _`; \
cd /tmp; \
- cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root \
+ cvs -d :pserver:anonymous@$(CVS_HOST):/cvs/root \
export -d $(PACKAGE)-$(VERSION) \
-r $(PACKAGE)-`echo $(VERSION) | tr . _` \
flim'
;;-------------------------------------------------------------------------
;; Kinki Nippon Railway \e$(B6a5&F|K\E4F;\e(B http://www.kintetsu.co.jp/
-;; Ky\e-Dòto Line\e-A \e$(B5~ET@~\e(B
+;; Ky\e.D\8eòto Line \e$(B5~ET@~\e(B
;;-------------------------------------------------------------------------
-1.0.1 Ky\e-Dòto\e-A \e$(B5~ET\e(B ; <=> JR, \e$(B5~ET;T8rDL6I\e(B
-1.1.0 T\e-Dòji\e-A \e$(BEl;{\e(B
-1.2.0 J\e-Dþjò\e-A \e$(B==>r\e(B
+1.0.1 Ky\8eòto \e$(B5~ET\e(B ; <=> JR, \e$(B5~ET;T8rDL6I\e(B
+1.1.0 T\8eòji \e$(BEl;{\e(B
+1.2.0 J\8eþj\8eò \e$(B==>r\e(B
1.2.1 Kamitobaguchi \e$(B>eD;1)8}\e(B
1.2.2 Takeda \e$(BC]ED\e(B ; = \e$(B5~ET;T8rDL6I\e(B \e$(B1(4]@~\e(B
1.3.0 Fushimi \e$(BIz8+\e(B
1.4.0 Kintetsu-Tambabashi \e$(B6aE4C0GH66\e(B ; <=> \e$(B5~:e\e(B \e$(BC0GH66\e(B
-1.4.1 Momoyama-Gory\e-Dòmae\e-A \e$(BEm;38fNMA0\e(B
+1.4.1 Momoyama-Gory\8eòmae \e$(BEm;38fNMA0\e(B
1.5.0 Mukaijima \e$(B8~Eg\e(B
1.6.0 Ogura \e$(B>.AR\e(B
1.7.0 Iseda \e$(B0K@*ED\e(B
-1.8.0 \e-DÒkubo\e-A \e$(BBg5WJ]\e(B
+1.8.0 \8eÒkubo \e$(BBg5WJ]\e(B
1.8.1 Kutsukawa \e$(B5WDE@n\e(B
1.9.0 Terada \e$(B;{ED\e(B
-1.9.1 Tonosh\e-Dò\e-A \e$(BIYLnAq\e(B
+1.9.1 Tonosh\8eò \e$(BIYLnAq\e(B
1.9.2 Shin-Tanabe \e$(B?7EDJU\e(B
-1.10.0 K\e-Dòdo\e-A \e$(B6=8M\e(B
+1.10.0 K\8eòdo \e$(B6=8M\e(B
1.10.1 Miyamaki \e$(B;0;3LZ\e(B
1.10.2 Kintetsu-Miyazu \e$(B6aE45\DE\e(B
1.10.3 Komada \e$(B9}ED\e(B
-1.10.4 Shin-H\e-Dòsono\e-A \e$(B?7=K1`\e(B ; <=> JR \e$(BJRD.@~\e(B \e$(B=K1`\e(B
+1.10.4 Shin-H\8eòsono \e$(B?7=K1`\e(B ; <=> JR \e$(BJRD.@~\e(B \e$(B=K1`\e(B
1.10.5 Kizugawadai \e$(BLZDE@nBf\e(B
1.11.0 Yamadagawa \e$(B;3ED@n\e(B
1.11.1 Takanohara \e$(B9b$N86\e(B
-1.11.2 Heij\e-Dò\e-A \e$(BJ?>k\e(B
+1.11.2 Heij\8eò \e$(BJ?>k\e(B
1.11.3 Saidaiji \e$(B@>Bg;{\e(B ; = \e$(B6aE4\e(B \e$(BF`NI@~\e(B
;;-------------------------------------------------------------------------
;; Kinki Nippon Railway \e$(B6a5&F|K\E4F;\e(B http://www.kintetsu.co.jp/
-;; Ky\e-Dòto Line\e-A \e$(B3`86@~\e(B
+;; Ky\8eòto Line \e$(B3`86@~\e(B
;;-------------------------------------------------------------------------
(Saidaiji) (\e$(B@>Bg;{\e(B)
1.12.0 Amagatsuji \e$(BFt%vDT\e(B
-1.12.1 Nishinoky\e-Dò\e-A \e$(B@>$N5~\e(B
-1.12.2 Kuj\e-Dò\e-A \e$(B6e>r\e(B
-1.12.3 Kintetsu-K\e-Dòriyama\e-A \e$(B6aE474;3\e(B
+1.12.1 Nishinoky\8eò \e$(B@>$N5~\e(B
+1.12.2 Kuj\8eò \e$(B6e>r\e(B
+1.12.3 Kintetsu-K\8eòriyama \e$(B6aE474;3\e(B
1.12.4 Tsutsui \e$(BE{0f\e(B
1.12.5 Hirahata \e$(BJ?C<\e(B ; = \e$(B6aE4\e(B \e$(BE7M}@~\e(B
-1.12.6 Family-K\e-Dòenmae\e-A \e$(B%U%!%_%j!<8x1`A0\e(B
-1.12.7 Y\e-Dþzaki\e-A \e$(B7k:j\e(B
+1.12.6 Family-K\8eòenmae \e$(B%U%!%_%j!<8x1`A0\e(B
+1.12.7 Y\8eþzaki \e$(B7k:j\e(B
1.13.0 Iwami \e$(B@P8+\e(B
1.13.1 Tawaramoto \e$(BED86K\\e(B ; <=> \e$(B6aE4\e(B \e$(B@>ED86K\\e(B
1.13.2 Kasanui \e$(B3^K%\e(B
1.14.0 Ninokuchi \e$(B?7%N8}\e(B
1.14.1 Yagi \e$(BH,LZ\e(B ; = \e$(B6aE4\e(B \e$(BBg:e@~\e(B
1.14.2 Yagi-Nishiguchi \e$(BH,LZ@>8}\e(B
-1.14.3 Unebigory\e-Dòmae\e-A \e$(B@&K58fNMA0\e(B
-1.14.4 Kashiharajing\e-Dþ-mae\e-A \e$(B3`86?@5\A0\e(B ; = \e$(B6aE4\e(B \e$(BFnBg:e@~!"5HLn@~\e(B
+1.14.3 Unebigory\8eòmae \e$(B@&K58fNMA0\e(B
+1.14.4 Kashiharajing\8eþ-mae \e$(B3`86?@5\A0\e(B ; = \e$(B6aE4\e(B \e$(BFnBg:e@~!"5HLn@~\e(B
+
+
+;;-------------------------------------------------------------------------
+;; Keihan Electric Railway \e$(B5~:eEE5$E4F;\e(B http://www.keihan.co.jp/
+;; \e$(B3{El@~\e(B
+;;-------------------------------------------------------------------------
+1.14.5 Demachiyanagi \e$(B=PD.Lx\e(B ; <=> \e$(B1CEE\e(B
[Chao Version names]
;;-------------------------------------------------------------------------
1.2.0 Takeda \e$(BC]ED\e(B ; = \e$(B6aE4\e(B \e$(B5~ET@~\e(B
1.3.0 Kuinabashi \e$(B$/$$$J66\e(B
-1.4.0 J\e-Dþjò\e-A \e$(B==>r\e(B
-1.6.0 Kuj\e-Dò\e-A \e$(B6e>r\e(B
-1.6.1 Ky\e-Dòto\e-A \e$(B5~ET\e(B ; <=> JR, \e$(B6aE4\e(B
-1.7.0 Goj\e-Dò\e-A \e$(B8^>r\e(B
-1.8.0 Shij\e-Dò\e-A \e$(B;M>r\e(B ; <=> \e$(B:e5^\e(B \e$(B5~ET@~\e(B
+1.4.0 J\8eþj\8eò \e$(B==>r\e(B
+1.6.0 Kuj\8eò \e$(B6e>r\e(B
+1.6.1 Ky\8eòto \e$(B5~ET\e(B ; <=> JR, \e$(B6aE4\e(B
+1.7.0 Goj\8eò \e$(B8^>r\e(B
+1.8.0 Shij\8eò \e$(B;M>r\e(B ; <=> \e$(B:e5^\e(B \e$(B5~ET@~\e(B
1.9.0 Karasuma Oike \e$(B1(4]8fCS\e(B ; = \e$(B5~ET;T8rDL6I\e(B \e$(BEl@>@~\e(B
1.10.0 Marutamach \e$(B4]B@D.\e(B
1.11.0 Imadegawa \e$(B:#=P@n\e(B
1.11.1 Kuramaguchi \e$(B0HGO8}\e(B
-1.11.2 Kita\e-Dòji\e-A \e$(BKLBgO)\e(B
+1.11.2 Kita\8eòji \e$(BKLBgO)\e(B
1.11.3 Kitayama \e$(BKL;3\e(B
1.11.4 Matugasaki \e$(B>>%v:j\e(B
1.11.5 Kokusaikaikan \e$(B9q:]2q4[\e(B
;; West Japan Railway \e$(B@>F|K\N95RE4F;\e(B http://www.westjr.co.jp/
;; Nara Line \e$(BF`NI@~\e(B
;;-------------------------------------------------------------------------
-1.12.0 [JR] Ky\e-Dòto\e-A \e$(B5~ET\e(B ; <=> \e$(B6aE4\e(B, \e$(B5~ET;T8rDL6I\e(B
-1.12.1 T\e-Dòfukuji\e-A \e$(BElJ!;{\e(B ; <=> \e$(B5~:e\e(B
+1.12.0 [JR] Ky\8eòto \e$(B5~ET\e(B ; <=> \e$(B6aE4\e(B, \e$(B5~ET;T8rDL6I\e(B
+1.12.1 T\8eòfukuji \e$(BElJ!;{\e(B ; <=> \e$(B5~:e\e(B
1.12.2 Inari \e$(B0p2Y\e(B
1.13.0 JR Fujinomori JR \e$(BF#?9\e(B
1.14.0 Momoyama \e$(BEm;3\e(B
-1.14.1 Rokujiz\e-Dò\e-A \e$(BO;COB"\e(B
+1.14.1 Rokujiz\8eò \e$(BO;COB"\e(B
------ Kohata \e$(BLZH(\e(B
;;; eword-encode.el --- RFC 2047 based encoded-word encoder for GNU Emacs
-;; Copyright (C) 1995,1996,1997,1998,1999,2000,2002 Free Software Foundation, Inc.
+;; Copyright (C) 1995,1996,1997,1998,1999,2000,2002,2003 Free Software Foundation, Inc.
;; Author: MORIOKA Tomohiko <tomo@m17n.org>
;; Keywords: encoded-word, MIME, multilingual, header, mail, news
(require 'mime-def)
(require 'mel)
(require 'std11)
-(require 'mime-parse)
(require 'eword-decode)
It is available from
- http://www.kanji.zinbun.kyoto-u.ac.jp/~tomo/comp/emacsen/lisp/flim/flim-API/
+ http://www.kanji.zinbun.kyoto-u.ac.jp/~tomo/lemi/dist/flim/flim-API/
--[[message/external-body; access-type=URL;
URL*0="http://";
URL*1="www.kanji.zinbun.kyoto-u.ac.jp/~tomo/";
- URL*2="comp/emacsen/lisp/";
+ URL*2="lemi/dist/";
URL*3="flim/flim-API/";
URL*4="PACKAGE-VERSION.tar.gz"]]
Content-Type: application/octet-stream
(sym (luna-class-find-or-make-member
(luna-find-class ',class) ',name))
(cache (get ',name 'luna-method-cache)))
- (if cache
- (unintern ',class cache))
+ (and cache
+ (fboundp sym)
+ (mapatoms
+ (lambda (s)
+ (if (memq (symbol-function sym) (symbol-value s))
+ (unintern s cache)))
+ cache))
(fset sym func)
(put sym 'luna-method-qualifier ,method-qualifier))))
(eval-when-compile (require 'luna)) ; luna-arglist-to-arguments
(eval-and-compile
- (defconst mime-library-product ["FLIM" (1 14 4) "Kashiharajingþ-mae"]
+ (defconst mime-library-product ["FLIM" (1 14 5) "Demachiyanagi"]
"Product name, version number and code name of MIME-library package."))
(defmacro mime-product-name (product)
<!doctype sinfo system>
<head>
-<title>FLIM 1.12 Reference Manual about MIME Features
+<title>FLIM 1.14 Reference Manual about MIME Features
<author>MORIOKA Tomohiko <mail>morioka@jaist.ac.jp</mail>
<date>1999-01-27
encoded-word.
<p>
Each field is encoded as corresponding method specified by variable
-<code>eword-field-encoding-method-alist</code>.
+<code>mime-field-encoding-method-alist</code>.
</defun>
-<defvar name="eword-field-encoding-method-alist">
+<defvar name="mime-field-encoding-method-alist">
<p>
Association list to specify field encoding method. Each element looks
like (FIELD . METHOD).
<p>
<define type="group" name="mime">
<p>
-MIME \e$B4XO"5!G=$K4X$9$k\e(B group.
+The group associated with functions related to MIME.
<p>
-<code>mail</code> \e$B$H\e(B <code>news</code> \e$B$KB0$9$k!#\e(B
+It belongs to <code>mail</code> and <code>news</code>.
</define>
-<defvar name="mime-temp-directory">
-<p>
-MIME \e$B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k\e(B file \e$B$r:n@.$9$k\e(B directory.
-<p>
-\e$B4D6-JQ?t\e(B <code>MIME_TMP_DIR</code>, <code>TM_TMP_DIR</code>,
-<code>TMPDIR</code>, <code>TMP</code> \e$B$b$7$/$O\e(B <code>TEMP</code> \e$B$,@_Dj\e(B
-\e$B$5$l$F$$$?>l9g!"$=$l$r=i4|CM$H$7$FMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"\e(B
-<code>"/tmp/"</code> \e$B$rMQ$$$k!#\e(B
-</defvar>
-
<h1> Appendix
<node> Appendix
<h2> CVS based development
<node> CVS
<p>
-FLIM \e$B$N\e(B file \e$B$O\e(B CVS \e$B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K!$G:G\e(B
-\e$B?7$N\e(B FLIM \e$B$rF~<j$9$k$3$H$,$G$-$^$9!'\e(B
+Files in FLIM are managed under CVS. Therefore you can obtain the
+newest FLIM by the following method:
<verb>
(0) cvs login
</verb>
<p>
-CVS \e$B$rMQ$$$?3+H/$K;22C$7$?$$J}$O\e(B
+If you would like to join CVS based development, please send mail to
<ul>
<li> <mail>cvs@cvs.m17n.org</mail>
</ul>
<noindent>
-\e$B$^$G!"%"%+%&%s%HL>$H\e(B ssh \e$B$N8x3+80$rAw$C$F$/$@$5$$!#\e(Bssh \e$B7PM3$G$O!"\e(B
-cvsroot \e$B$O\e(B :ext:cvs@cvs.m17n.org:/cvs/root \e$B$H$J$j$^$9!#\e(B
+with your account name and your public key for ssh.
+cvsroot is :ext:cvs@@cvs.m17n.org:/cvs/root.
<p>
-\e$B$I$&$7$F$b\e(B ssh \e$B$,;H$($J$$>l9g!"\e(Bpserver \e$B7PM3$G$b3+H/$K;22C$G$-$^$9!#\e(B
-\e$B$3$N>l9g!"\e(BUNIX \e$B$N\e(B /etc/passwd \e$BMM<0$G0E9f2=$5$l$?%Q%9%o!<%I$rAw$C$F2<$5$$!#\e(B
-\e$B$3$N>l9g\e(B cvsroot \e$B$O\e(B :pserver:<\e$B%"%+%&%s%HL>\e(B>@cvs.m17n.org:/cvs/root \e$B$H$J$j$^$9!#\e(B
+If you cannot use ssh, you can join development via pserver.
+In this case, please send UNIX /etc/passwd style crypted password.
+Then cvsroot is :pserver:<accountname>@cvs.m17n.org:/cvs/root.
<h2> History of FLIM
<node> History
\input texinfo.tex
@c Generated automatically from mime-en.sgml by sinfo 3.7.
@setfilename mime-en.info
-@settitle{FLIM 1.12 Reference Manual about MIME Features}
+@settitle{FLIM 1.14 Reference Manual about MIME Features}
@titlepage
-@title FLIM 1.12 Reference Manual about MIME Features
+@title FLIM 1.14 Reference Manual about MIME Features
@author MORIOKA Tomohiko <morioka@@jaist.ac.jp>
@subtitle 1999-01-27
@end titlepage
@node Top, Introduction, (dir), (dir)
-@top FLIM 1.12 Reference Manual about MIME Features
+@top FLIM 1.14 Reference Manual about MIME Features
@ifinfo
encoded-word.@refill
Each field is encoded as corresponding method specified by variable
-@code{eword-field-encoding-method-alist}.
+@code{mime-field-encoding-method-alist}.
@end defun
-@defvar eword-field-encoding-method-alist
+@defvar mime-field-encoding-method-alist
Association list to specify field encoding method. Each element looks
like (FIELD . METHOD).@refill
@deffn{group} mime
-MIME \e$B4XO"5!G=$K4X$9$k\e(B group.@refill
+The group associated with functions related to MIME.@refill
-@code{mail} \e$B$H\e(B @code{news} \e$B$KB0$9$k!#\e(B
+It belongs to @code{mail} and @code{news}.
@end deffn
-@defvar mime-temp-directory
-
-MIME \e$B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k\e(B file \e$B$r:n@.$9$k\e(B
-directory.@refill
-
-\e$B4D6-JQ?t\e(B @code{MIME_TMP_DIR}, @code{TM_TMP_DIR}, @code{TMPDIR},
-@code{TMP} \e$B$b$7$/$O\e(B @code{TEMP} \e$B$,@_Dj$5$l$F$$$?>l9g!"$=$l$r=i4|CM$H$7$F\e(B
-\e$BMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"\e(B@code{"/tmp/"} \e$B$rMQ$$$k!#\e(B
-@end defvar
-
-
-
@node Appendix, Concept Index, custom, Top
@chapter Appendix
@node CVS, History, Bug report, Appendix
@section CVS based development
-FLIM \e$B$N\e(B file \e$B$O\e(B CVS \e$B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K!$G:G\e(B
-\e$B?7$N\e(B FLIM \e$B$rF~<j$9$k$3$H$,$G$-$^$9!'\e(B
+Files in FLIM are managed under CVS. Therefore you can obtain the
+newest FLIM by the following method.
@example
(0) cvs login
- % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root login
+ % cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root login
CVS password: [CR] # NULL string
(1) checkout
- % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout
+ % cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root checkout
checkout [-r TAG] flim
@end example
-CVS \e$B$rMQ$$$?3+H/$K;22C$7$?$$J}$O\e(B
+If you would like to join CVS based development, please send mail to
@itemize @bullet
@item
- <cvs@cvs.m17n.org>
+ <cvs@@cvs.m17n.org>
@end itemize
@noindent
-\e$B$^$G!"\e(Baccount \e$BL>$H\e(B UNIX \e$B$N\e(B passwd \e$B$HF1$87A<0$N\e(B crypt \e$B2=$5$l$?\e(B password
-\e$B$r1h$($F8fO"Mm$/$@$5$$!#\e(B
+with your account name and your public key for ssh.
+cvsroot is :ext:cvs@@cvs.m17n.org:/cvs/root.
@node History, , CVS, Appendix
<!doctype sinfo system>
<head>
-<title>FLIM 1.12 MIME \e$B5!G=@bL@=q\e(B
+<title>FLIM 1.14 MIME \e$B5!G=@bL@=q\e(B
<author>\e$B<i2,\e(B \e$BCNI'\e(B <mail>morioka@jaist.ac.jp</mail>
<date>1999-01-27
<p>
Header \e$B$r\e(B network \e$BI=8=$KId9f2=$9$k!#\e(B
<p>
-\e$B3F\e(B field \e$B$O\e(B <code>eword-field-encoding-method-alist</code> \e$B$G;XDj$5$l\e(B
+\e$B3F\e(B field \e$B$O\e(B <code>mime-field-encoding-method-alist</code> \e$B$G;XDj$5$l\e(B
\e$B$?J}<0$GId9f2=$5$l$k!#\e(B
</defun>
-<defvar name="eword-field-encoding-method-alist">
+<defvar name="mime-field-encoding-method-alist">
<p>
Field \e$B$rId9f2=$9$kJ}K!$r;XDj$9$kO"A[\e(B list\e$B!#3F\e(B element \e$B$O\e(B (FIELD
. METHOD) \e$B$NMM$K$J$C$F$$$k!#\e(B
<code>mail</code> \e$B$H\e(B <code>news</code> \e$B$KB0$9$k!#\e(B
</define>
-<defvar name="mime-temp-directory">
-<p>
-MIME \e$B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k\e(B file \e$B$r:n@.$9$k\e(B directory.
-<p>
-\e$B4D6-JQ?t\e(B <code>MIME_TMP_DIR</code>, <code>TM_TMP_DIR</code>,
-<code>TMPDIR</code>, <code>TMP</code> \e$B$b$7$/$O\e(B <code>TEMP</code> \e$B$,@_Dj\e(B
-\e$B$5$l$F$$$?>l9g!"$=$l$r=i4|CM$H$7$FMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"\e(B
-<code>"/tmp/"</code> \e$B$rMQ$$$k!#\e(B
-</defvar>
-
<h1> \e$BIUO?\e(B
<node> Appendix
\input texinfo.tex
@c Generated automatically from mime-ja.sgml by sinfo 3.7.
@setfilename mime-ja.info
-@settitle{FLIM 1.12 MIME \e$B5!G=@bL@=q\e(B}
+@settitle{FLIM 1.14 MIME \e$B5!G=@bL@=q\e(B}
@titlepage
-@title FLIM 1.12 MIME \e$B5!G=@bL@=q\e(B
+@title FLIM 1.14 MIME \e$B5!G=@bL@=q\e(B
@author \e$B<i2,\e(B \e$BCNI'\e(B <morioka@@jaist.ac.jp>
@subtitle 1999-01-27
@end titlepage
@node Top, Introduction, (dir), (dir)
-@top FLIM 1.12 MIME \e$B5!G=@bL@=q\e(B
+@top FLIM 1.14 MIME \e$B5!G=@bL@=q\e(B
@ifinfo
Header \e$B$r\e(B network \e$BI=8=$KId9f2=$9$k!#\e(B@refill
-\e$B3F\e(B field \e$B$O\e(B @code{eword-field-encoding-method-alist} \e$B$G;XDj$5$l$?J}<0$G\e(B
+\e$B3F\e(B field \e$B$O\e(B @code{mime-field-encoding-method-alist} \e$B$G;XDj$5$l$?J}<0$G\e(B
\e$BId9f2=$5$l$k!#\e(B
@end defun
-@defvar eword-field-encoding-method-alist
+@defvar mime-field-encoding-method-alist
Field \e$B$rId9f2=$9$kJ}K!$r;XDj$9$kO"A[\e(B list\e$B!#3F\e(B element \e$B$O\e(B (FIELD
. METHOD) \e$B$NMM$K$J$C$F$$$k!#\e(B@refill
@end deffn
-@defvar mime-temp-directory
-
-MIME \e$B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k\e(B file \e$B$r:n@.$9$k\e(B
-directory.@refill
-
-\e$B4D6-JQ?t\e(B @code{MIME_TMP_DIR}, @code{TM_TMP_DIR}, @code{TMPDIR},
-@code{TMP} \e$B$b$7$/$O\e(B @code{TEMP} \e$B$,@_Dj$5$l$F$$$?>l9g!"$=$l$r=i4|CM$H$7$F\e(B
-\e$BMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"\e(B@code{"/tmp/"} \e$B$rMQ$$$k!#\e(B
-@end defvar
-
-
-
@node Appendix, Concept Index, custom, Top
@chapter \e$BIUO?\e(B
@example
(0) cvs login
- % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root login
+ % cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root login
CVS password: [CR] # NULL string
(1) checkout
- % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout
+ % cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root checkout
checkout [-r TAG] flim
@end example
@itemize @bullet
@item
- <cvs@cvs.m17n.org>
+ <cvs@@cvs.m17n.org>
@end itemize
@noindent
-\e$B$^$G!"\e(Baccount \e$BL>$H\e(B UNIX \e$B$N\e(B passwd \e$B$HF1$87A<0$N\e(B crypt \e$B2=$5$l$?\e(B password
-\e$B$r1h$($F8fO"Mm$/$@$5$$!#\e(B
+\e$B$^$G!"%"%+%&%s%HL>$H\e(B ssh \e$B$N8x3+80$rAw$C$F$/$@$5$$!#\e(Bssh \e$B7PM3$G$O!"\e(B
+cvsroot \e$B$O\e(B :ext:cvs@@cvs.m17n.org:/cvs/root \e$B$H$J$j$^$9!#\e(B
@node History, , CVS, Appendix
;;; mime-parse.el --- MIME message parser
-;; Copyright (C) 1994,95,96,97,98,99,2001,2002 Free Software Foundation, Inc.
+;; Copyright (C) 1994,95,96,97,98,99,2001 Free Software Foundation, Inc.
;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;; Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
;;;###autoload
(defun mime-parse-buffer (&optional buffer representation-type)
"Parse BUFFER as a MIME message.
-If buffer is omitted, it parses current buffer."
+If buffer is omitted, it parses current-buffer."
+ (require 'mmbuffer)
(save-excursion
(if buffer (set-buffer buffer))
(mime-parse-message (or representation-type
;;; Commentary:
-;;
+;;
;;; Code:
(function :tag "Function"))
:group 'smtp)
+(defcustom smtp-send-by-myself nil
+ "If non-nil, smtp.el send a mail by myself without smtp-server.
+This option requires \"dig.el\"."
+ :type 'boolean
+ :group 'smtp)
+
(defcustom smtp-service "smtp"
"SMTP service port number. \"smtp\" or 25."
:type '(choice (integer :tag "25" 25)
- (string :tag "smtp" "smtp"))
+ (string :tag "smtp" "smtp"))
:group 'smtp)
(defcustom smtp-local-domain nil
:type 'boolean
:group 'smtp-extensions)
+(defcustom smtp-use-starttls-ignore-error nil
+ "If non-nil, do not use STARTTLS if STARTTLS is not available."
+ :type 'boolean
+ :group 'smtp-extensions)
+
(defcustom smtp-use-sasl nil
"If non-nil, use SMTP Authentication (RFC2554) if available."
:type 'boolean
(defvar sasl-mechanisms)
;;;###autoload
-(defvar smtp-open-connection-function #'open-network-stream)
+(defvar smtp-open-connection-function #'open-network-stream
+ "*Function used for connecting to a SMTP server.
+The function will be called with the same four arguments as
+`open-network-stream' and should return a process object.
+Here is an example:
+
+\(setq smtp-open-connection-function
+ #'(lambda (name buffer host service)
+ (let ((process-connection-type nil))
+ (start-process name buffer \"ssh\" \"-C\" host
+ \"nc\" host service))))
+
+It connects to a SMTP server using \"ssh\" before actually connecting
+to the SMTP port. Where the command \"nc\" is the netcat executable;
+see http://www.atstake.com/research/tools/index.html#network_utilities
+for details. In addition, you will have to modify the value for
+`smtp-end-of-line' to \"\\n\" if you use \"telnet\" instead of \"nc\".")
(defvar smtp-read-point nil)
(defvar smtp-submit-package-function #'smtp-submit-package)
+(defvar smtp-end-of-line "\r\n"
+ "*String to use as end-of-line marker when talking to a SMTP server.
+This is \"\\r\\n\" by default, but it may have to be \"\\n\" when using a non
+native connection function. See also `smtp-open-connection-function'.")
+
;;; @ SMTP package
;;; A package contains a mail message, an envelope sender address,
;;; and one or more envelope recipient addresses. In ESMTP model
smtp-connection-alist))
connection)))
+(eval-and-compile
+ (autoload 'dig-invoke "dig")
+ (autoload 'dig-extract-rr "dig"))
+
+(defun smtp-find-mx (domain &optional doerror)
+ (let (server)
+ ;; dig.el resolves only primally MX.
+ (cond ((setq server (smtp-dig domain "MX"))
+ (progn (string-match " \\([^ ]*\\)$" server)
+ (match-string 1 server)))
+ ((smtp-dig domain "A")
+ domain)
+ (t
+ (if doerror
+ (error (format "SMTP cannot resolve %s" domain)))))))
+
+(defun smtp-dig (domain type)
+ (let (dig-buf)
+ (set-buffer
+ (setq dig-buf (dig-invoke domain type)))
+ (prog1
+ (dig-extract-rr domain type)
+ (kill-buffer dig-buf))))
+
+(defun smtp-find-server (recipients)
+ (save-excursion
+ (let ((rec
+ (mapcar (lambda (recipient)
+ (let (server)
+ (if (and (string-match "@\\([^\t\n ]*\\)" recipient)
+ (setq server
+ (smtp-find-mx
+ (match-string 1 recipient))))
+ (cons server (list recipient))
+ (error (format "cannot find server for %s." recipient)))))
+ recipients))
+ ret rets rlist)
+ (while (setq rets (pop rec))
+ (if (setq ret (assoc (car rets) rec))
+ (setcdr ret
+ (append (cdr ret) (cdr rets)))
+ (setq rlist
+ (append rlist (list rets)))))
+ rlist)))
+
;;;###autoload
(defun smtp-via-smtp (sender recipients buffer)
"Like `smtp-send-buffer', but sucks in any errors."
SENDER is an envelope sender address.
RECIPIENTS is a list of envelope recipient addresses.
BUFFER may be a buffer or a buffer name which contains mail message."
- (let ((server
- (if (functionp smtp-server)
- (funcall smtp-server sender recipients)
- smtp-server))
- (package
- (smtp-make-package sender recipients buffer))
- (smtp-open-connection-function
- (if smtp-use-starttls
- #'starttls-open-stream
- smtp-open-connection-function)))
- (save-excursion
- (set-buffer
- (get-buffer-create
- (format "*trace of SMTP session to %s*" server)))
- (erase-buffer)
- (buffer-disable-undo)
- (unless (smtp-find-connection (current-buffer))
- (smtp-open-connection (current-buffer) server smtp-service))
- (make-local-variable 'smtp-read-point)
- (setq smtp-read-point (point-min))
- (funcall smtp-submit-package-function package))))
+ (if smtp-send-by-myself
+ (smtp-send-buffer-by-myself sender recipients buffer)
+ (let ((server
+ (if (functionp smtp-server)
+ (funcall smtp-server sender recipients)
+ (or smtp-server
+ (error "`smtp-server' not defined"))))
+ (package
+ (smtp-make-package sender recipients buffer))
+ (smtp-open-connection-function
+ (if smtp-use-starttls
+ #'starttls-open-stream
+ smtp-open-connection-function)))
+ (save-excursion
+ (set-buffer
+ (get-buffer-create
+ (format "*trace of SMTP session to %s*" server)))
+ (erase-buffer)
+ (buffer-disable-undo)
+ (unless (smtp-find-connection (current-buffer))
+ (smtp-open-connection (current-buffer) server smtp-service))
+ (make-local-variable 'smtp-read-point)
+ (setq smtp-read-point (point-min))
+ (funcall smtp-submit-package-function package)))))
(defun smtp-submit-package (package)
(unwind-protect
(smtp-response-error
(smtp-primitive-helo package)))
(if smtp-use-starttls
- (progn
- (smtp-primitive-starttls package)
- (smtp-primitive-ehlo package)))
+ (if (assq 'starttls
+ (smtp-connection-extensions-internal
+ (smtp-find-connection (current-buffer))))
+ (progn
+ (smtp-primitive-starttls package)
+ (smtp-primitive-ehlo package))
+ (unless smtp-use-starttls-ignore-error
+ (error "STARTTLS is not supported on this server"))))
(if smtp-use-sasl
(smtp-primitive-auth package))
(smtp-primitive-mailfrom package)
(smtp-primitive-quit package)
(smtp-close-connection connection)))))
+(defun smtp-send-buffer-by-myself (sender recipients buffer)
+ "Send a message by myself.
+SENDER is an envelope sender address.
+RECIPIENTS is a list of envelope recipient addresses.
+BUFFER may be a buffer or a buffer name which contains mail message."
+ (let ((servers
+ (smtp-find-server recipients))
+ (smtp-open-connection-function
+ (if smtp-use-starttls
+ #'starttls-open-stream
+ smtp-open-connection-function))
+ server package)
+ (while (car servers)
+ (setq server (caar servers))
+ (setq recipients (cdar servers))
+ (if (not (and server recipients))
+ ;; MAILER-DAEMON is required. :)
+ (error (format "Cannot send <%s>"
+ (mapconcat 'concat recipients ">,<"))))
+ (setq package
+ (smtp-make-package sender recipients buffer))
+ (save-excursion
+ (set-buffer
+ (get-buffer-create
+ (format "*trace of SMTP session to %s*" server)))
+ (erase-buffer)
+ (buffer-disable-undo)
+ (unless (smtp-find-connection (current-buffer))
+ (smtp-open-connection (current-buffer) server smtp-service))
+ (make-local-variable 'smtp-read-point)
+ (setq smtp-read-point (point-min))
+ (let ((smtp-use-sasl nil)
+ (smtp-use-starttls-ignore-error t))
+ (funcall smtp-submit-package-function package)))
+ (setq servers (cdr servers)))))
+
;;; @ hook methods for `smtp-submit-package'
;;;
response)
(while response-continue
(goto-char smtp-read-point)
- (while (not (search-forward "\r\n" nil t))
+ (while (not (search-forward smtp-end-of-line nil t))
(accept-process-output (smtp-connection-process-internal connection))
(goto-char smtp-read-point))
(if decoder
(let ((string (buffer-substring smtp-read-point (- (point) 2))))
(delete-region smtp-read-point (point))
- (insert (funcall decoder string) "\r\n")))
+ (insert (funcall decoder string) smtp-end-of-line)))
(setq response
(nconc response
(list (buffer-substring
(smtp-connection-encoder-internal connection)))
(set-buffer (process-buffer process))
(goto-char (point-max))
- (setq command (concat command "\r\n"))
+ (setq command (concat command smtp-end-of-line))
(insert command)
(setq smtp-read-point (point))
(if encoder
(smtp-connection-encoder-internal connection)))
;; Escape "." at start of a line.
(if (eq (string-to-char data) ?.)
- (setq data (concat "." data "\r\n"))
- (setq data (concat data "\r\n")))
+ (setq data (concat "." data smtp-end-of-line))
+ (setq data (concat data smtp-end-of-line)))
(if encoder
(setq data (funcall encoder data)))
(process-send-string process data)))
;;; std11.el --- STD 11 functions for GNU Emacs
-;; Copyright (C) 1995,1996,1997,1998,1999,2000 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99,2000,01,02,03 Free Software Foundation, Inc.
;; Author: MORIOKA Tomohiko <tomo@m17n.org>
;; Keywords: mail, news, RFC 822, STD 11
)
;; (defconst std11-spaces-regexp
;; (eval-when-compile (concat "[" std11-space-char-list "]+")))
+
+(defconst std11-non-atom-regexp
+ (eval-when-compile
+ (concat "[" std11-special-char-list std11-space-char-list "]")))
+
(defconst std11-atom-regexp
(eval-when-compile
(concat "[^" std11-special-char-list std11-space-char-list "]+")))
))
(defun std11-analyze-atom (string start)
- (if (and (string-match std11-atom-regexp string start)
- (= (match-beginning 0) start))
- (let ((end (match-end 0)))
- (cons (cons 'atom (substring string start end))
- ;;(substring string end)
- end)
- )))
+ (if (string-match std11-non-atom-regexp string start)
+ (if (> (match-beginning 0) start)
+ (cons (cons 'atom (substring string start (match-beginning 0)))
+ (match-beginning 0))
+ nil)
+ (cons (cons 'atom (substring string start))
+ (length string)))
+ ;; (if (and (string-match std11-atom-regexp string start)
+ ;; (= (match-beginning 0) start))
+ ;; (let ((end (match-end 0)))
+ ;; (cons (cons 'atom (substring string start end))
+ ;; ;;(substring string end)
+ ;; end)
+ ;; ))
+ )
(defun std11-check-enclosure (string open close &optional recursive from)
(let ((len (length string))