debian/0000755000000000000000000000000012251076333007170 5ustar debian/compat0000644000000000000000000000000212142435317010366 0ustar 7 debian/info0000644000000000000000000000003212142435310010032 0ustar mime-en.info mime-ja.info debian/rules0000755000000000000000000000344112143411473010250 0ustar #! /usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 PACKAGE=flim ELDIR=$(CURDIR)/debian/$(PACKAGE)/usr/share/emacs/site-lisp/$(PACKAGE) EMACS=emacs build-indep: build-indep-stamp build-indep-stamp: dh_testdir for fbase in mime-en mime-ja; do \ if egrep '^@direntry' $$fbase.texi 2>&1 >/dev/null; then \ cp $$fbase.texi debian/$$fbase.texi; \ else \ perl -pe 's/^\@titlepage/\@dircategory Emacs\n\@direntry\n* '$$fbase' ('$(PACKAGE)'): ('$$fbase'). MIME library for Emacs.\n\@end direntry\n\n\@titlepage/' $$fbase.texi >debian/$$fbase.texi; \ fi; \ $(EMACS) -batch -q -no-site-file \ -eval '(set-language-environment "Japanese")' \ -eval "(prefer-coding-system 'iso-2022-jp)" \ -eval '(find-file "debian/'$$fbase'.texi")' \ -l texinfmt -f texinfo-every-node-update \ -f texinfo-format-buffer -f save-buffer; \ mv -f debian/$$fbase.info .; \ done touch $@ build-arch: build: build-indep build-arch clean: dh_testdir dh_testroot rm -f *build*-stamp rm -f debian/*.texi debian/*.info *.info .\#* debian/.\#* dh_clean install: build-indep dh_testdir dh_testroot dh_prep dh_installdirs cp Makefile FLIM-* *.el $(ELDIR)/ rm -f $(ELDIR)/FLIM-API* # Install obsolete files in the attic directory. for f in mailcap.el smtpmail.el; do \ if [ -f $(ELDIR)/$$f ]; then mv $(ELDIR)/$$f $(ELDIR)/attic/; fi; \ done binary-indep: install dh_testdir dh_testroot # dh_installdebconf dh_installdocs # dh_installexamples dh_installemacsen --priority 50 dh_installinfo dh_installchangelogs ChangeLog dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary-arch: binary: binary-indep binary-arch .PHONY: build-indep build-arch build clean binary-indep binary-arch binary install debian/emacsen-remove0000644000000000000000000000044112142435317012020 0ustar #! /bin/sh # /usr/lib/emacsen-common/packages/remove/flim set -e FLAVOR=$1 PACKAGE=flim case $FLAVOR in emacs|emacs19|mule2) exit 0 ;; esac ELCDIR=/usr/share/$FLAVOR/site-lisp/$PACKAGE echo "remove/$PACKAGE: purging byte-compiled files for $FLAVOR" rm -rf "$ELCDIR" exit 0 debian/copyright0000644000000000000000000000267612143411244011130 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: FLIM Source: http://git.chise.org/gitweb/?p=elisp/flim.git Files: * Copyright: 1992-2006, Free Software Foundation, Inc. 1999, Shuhei KOBAYASHI 2001, Taro Kawagishi 1995-1997, Gareth Rees 1998-1999, Tanaka Akira 2000, Daiki Ueno License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. . On Debian systems, the complete text of the GNU General Public License, version 2, can be found in `/usr/share/common-licenses/GPL-2'. Files: sasl.texi Copyright: 2000, Daiki Ueno License: GFDL-NIV-1.1+ Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. . On Debian systems, the complete text of the GNU Free Documentation License can be found in `/usr/share/common-licenses/GFDL'. Files: debian/* Copyright: 2003-2013, Tatsuya Kinoshita 1998-2002, Takuo KITAME License: The Debian packaging is distributed under the same conditions as the upstream. debian/prerm0000644000000000000000000000044712251075626010251 0ustar #!/bin/sh set -e # Workaround to compatible with emacsen-common <2.0.0 if [ ! -e /var/lib/emacsen-common/state/package/installed/emacsen-common ]; then if [ -x /usr/lib/emacsen-common/emacs-package-remove ]; then /usr/lib/emacsen-common/emacs-package-remove flim fi else #DEBHELPER# fi debian/patches/0000755000000000000000000000000012166004604010614 5ustar debian/patches/010_flim-1_14-wl.patch0000644000000000000000000020335112165527731014244 0ustar Subject: flim-1_14-wl branch Origin: https://github.com/wanderlust/flim/commits/flim-1_14-wl diff --git a/ChangeLog b/ChangeLog index fd529ed..137e37f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,17 +1,157 @@ -2012-04-28 MORIOKA Tomohiko +2013-06-26 Kazuhiro Ito - * README.ja, README.en (Bug reports): Use "Emacs-MIME" instead of - "EMACS-MIME". + * mailcap.el: Removed to resolve compatibility problem when run in + expanded place. -2001-02-27 Martin Buchholz +2013-03-23 Kazuhiro Ito - * mime-en.sgml: Typo fix. + Many encoder/decoder functions now always encode/decode regardless + buffer's multibyteness. + * mime-def.el (mime-charset-decode-string) + (mime-charset-encode-string): New functions. + + * mime-parse.el (mime-decode-parameter-value) + (mime-encode-extended-parameter): Use them. + + * eword-decode.el (eword-decode-unstructured-field-body) + (eword-decode-and-unfold-unstructured-field-body) + (eword-decode-unfolded-unstructured-field-body) + (eword-decode-encoded-words, eword-analyze-quoted-string) + (eword-analyze-comment, eword-analyze-atom): Use + mime-charset-decode-string instead of decode-mime-charset-string. + + * eword-encode.el (tm-eword::encoded-word-length) + (tm-eword::encoded-word-length): Use mime-charset-encode-string + instead of encode-mime-charset-string. + +2012-08-14 Kazuhiro Ito + + * std11.el (std11-unfold-strip-leading-tab): New variable. + (std11-unfold-string): Use it. Workaround for incorrect folding. + +2012-08-10 Kazuhiro Ito + + * mel-q-ccl.el (q-encoding-ccl-decode-string): Remove duplicate + definition for Emacs 23.1. + +2012-07-29 Kazuhiro Ito + + * eword-encode.el (ew-find-string-rule): Define own function for + Emacs23 which has APEL with detect-mime-charset-string for it. + (ew-find-charset-rule): Define only when needed. + +2012-07-29 Kazuhiro Ito + + * eword-encode.el (ew-find-string-rule): New function. + (eword-encode-phrase-to-rword-list): Use it. + +2012-07-29 Kazuhiro Ito + + * eword-encode.el (tm-eword::string-to-ruled-words): Define own + function for Emacs23 which has APEL with + detect-mime-charset-string for it. + (eword-encode-char-type, eword-encode-divide-into-charset-words) + (eword-encode-charset-words-to-words): Define only when needed. + +2012-07-29 Kazuhiro Ito + + * eword-encode.el (tm-eword::string-to-ruled-words): New function. + (eword-encode-split-string, eword-encode-phrase-to-rword-list): + Use it. 2012-04-28 MORIOKA Tomohiko * README.ja, README.en (Bug reports): Modify for emacs-mime-{en|ja}@lists.chise.org. +2012-04-20 Kazuhiro Ito + + * mime-parse.el (mime-parse-message): Use mime-read-Content-Type + instead of mime-parse-Content-Type. + +2012-04-07 Kazuhiro Ito + + * smtp.el (smtp-open-connection): Raise error when open connection + function failed. + +2012-03-20 Kazuhiro Ito + + Support built-in GnuTLS for STARTTLS connection. + * smtp.el (smtp-use-gnutls): New cutomizable variable. + (smtp-open-gnutls-starttls-stream): New function. + (smtp-submit-package): Respect smtp-use-gnutls's value. + (smtp-send-buffer, smtp-send-buffer-by-myself): Do not + decide smtp-open-connection-function's value here. + (smtp-open-connection): Decide which open-connection-function is + called here. Respect smtp-use-gnutls's value. + +2011-06-27 Kazuhiro Ito + + * mel-q.el (quoted-printable-num-to-raw-byte-char): Enclose with + eval-and-compile(). + +2011-06-24 Kazuhiro Ito + + * mime-parse.el (mime-encode-parameters-broken-mime): New function. + + * eword-encode.el (eword-encode-Content-Type-field-body-broken-mime) + (eword-encode-Content-Disposition-field-body-broken-mime): New + functions. If you want to use them, modify + `mime-header-encode-method-alist'. + +2011-06-19 Kazuhiro Ito + + Revert the change of 2004-02-17. + * smtp.el (smtp-starttls-program, smtp-starttls-extra-args): + Abolished. + (smtp-send-buffer): Likewise. + +2011-06-09 Kazuhiro Ito + + * mime.el (mime-entity-filename): When a result is got from entity + header, decode it. + +2011-06-07 Kazuhiro Ito + + Merged from rfc2231-encoder branch. + * eword-encode.el (eword-encode-Content-Type-field-body) + (eword-encode-Content-Disposition-field-body): New functions. + + * mime-def.el (mime-attribute-char-regexp): Update for RFC2231. + (mime-non-attribute-char-regexp): New constant. + + * mime-parse.el (mime-divide-extended-parameter) + (mime-encode-extended-parameter, mime-divide-regular-parameter) + (mime-encode-regular-parameter, mime-encode-parameters): New + functions. + +2011-05-16 David Maus + + * md4.el (md4-make-step): Use new style backqoutes. Slipped + through 2010-11-14. + +2010-11-14 HAMANO Kiyoto + + * sha1-el.el (sha1-F0, sha1-F1, sha1-F2, sha1-F3, sha1-S1) + (sha1-S5, sha1-S30, sha1-OP, sha1-add-to-H): Use new style + backquotes. + + * md5-el.el: Dto. + + * md4.el (md4-make-step): Dto. + + * hmac-def.el (define-hmac-function): Dto. + + * hex-util.el (hex-char-to-num, hex-char-to-char): Dto. + + * eword-encode.el (make-ew-rword, ew-rword-text) + (ew-rword-charset, ew-rword-encoding, ew-rword-type): Dto. + +2010-11-13 Kazuhiro Ito + + * mime-parse.el (mime-uri-parse-cid): Respect + mime-field-parser-alist's value. + 2010-08-05 Tetsurou Okazaki * smtp.el (smtp-submit-package): Handle the case that @@ -25,17 +165,26 @@ 2010-03-10 Kazuhiro Ito * mel-q-ccl.el (quoted-printable-ccl-decode-string) - (q-encoding-ccl-decode-string): Use ccl-execute-on-string() on - Emacs 23.1. + (q-encoding-ccl-decode-string): Use ccl-execute-on-string() when + encoder for CCL coding system is broken. (quoted-printable-ccl-decode-region) (quoted-printable-ccl-write-decoded-region): Use - quoted-printable-ccl-decode-string on Emacs 23.1. + quoted-printable-ccl-decode-string in the above environment. + (TOP): Check facility for them. Another check for decoder for ccl + coding system is added. * mel-q.el (quoted-printable-num-to-raw-byte-char): New inline function. (quoted-printable-internal-decode-region) (q-encoding-decode-string): Use it. +2010-02-20 Kazuhiro Ito + + * mel-q-ccl.el (quoted-printable-ccl-encode-string) + (quoted-printable-ccl-insert-encoded-file) + (q-encoding-ccl-encode-string): Change branches to facility based. + (TOP): Check facility for them. + 2010-02-18 Kazuhiro Ito * mel-q-ccl.el (quoted-printable-ccl-encode-string) @@ -64,6 +213,9 @@ 2010-01-24 Kazuhiro Ito + * mel.el (8bit-write-decoded-region): Use no-conversion coding + system for writing. + * mel-q.el (quoted-printable-quote-char) (quoted-printable-internal-encode-region): Support Emacs 23 raw-byte characters in multibyte string. @@ -97,7 +249,7 @@ 2007-11-28 MORIOKA Tomohiko - * FLIM: Version 1.14.9 (Goj-Dò) released.-A + * FLIM: Version 1.14.9 (Goj-D) released.-A 2006-12-20 MORIOKA Tomohiko @@ -183,7 +335,7 @@ 2005-12-25 MORIOKA Tomohiko - * FLIM: Version 1.14.8 (Shij-Dò) released.-A + * FLIM: Version 1.14.8 (Shij-D) released.-A 2005-12-25 MORIOKA Tomohiko @@ -208,7 +360,7 @@ 2004-10-01 MORIOKA Tomohiko - * FLIM: Version 1.14.7 (Sanj-Dò) released.-A + * FLIM: Version 1.14.7 (Sanj-D) released.-A 2004-10-01 MORIOKA Tomohiko @@ -496,7 +648,7 @@ 2002-06-03 MORIOKA Tomohiko - * FLIM: Version 1.14.4 (Kashiharajing-Dü-mae) released.-A + * FLIM: Version 1.14.4 (Kashiharajing-D-mae) released.-A 2002-01-16 Hiroya Murata @@ -547,7 +699,7 @@ 2001-06-01 MORIOKA Tomohiko - * FLIM: Version 1.14.3 (Unebigory-Dòmae) released.-A + * FLIM: Version 1.14.3 (Unebigory-Dmae) released.-A 2001-06-01 Katsumi Yamaoka @@ -1609,7 +1761,7 @@ 2000-07-12 MORIOKA Tomohiko - * FLIM-Chao: Version 1.14.1 (Rokujiz-Dò) released.-A + * FLIM-Chao: Version 1.14.1 (Rokujiz-D) released.-A 2000-07-10 MORIOKA Tomohiko @@ -2227,7 +2379,7 @@ 1999-05-31 MORIOKA Tomohiko - * FLIM: Version 1.12.7 (Y-Düzaki) released.-A + * FLIM: Version 1.12.7 (Y-Dzaki) released.-A 1999-05-31 MORIOKA Tomohiko @@ -2402,7 +2554,7 @@ 1999-05-11 MORIOKA Tomohiko - * FLIM: Version 1.12.6 (Family-K-Dòenmae) released.-A + * FLIM: Version 1.12.6 (Family-K-Denmae) released.-A 1999-04-27 Shuhei KOBAYASHI @@ -2519,7 +2671,7 @@ 1999-01-23 MORIOKA Tomohiko - * FLIM: Version 1.12.3 (Kintetsu-K-Dòriyama) released.-A + * FLIM: Version 1.12.3 (Kintetsu-K-Driyama) released.-A 1999-01-23 MORIOKA Tomohiko @@ -2562,7 +2714,7 @@ 1999-01-21 MORIOKA Tomohiko - * FLIM: Version 1.12.2 (Kuj-Dò) released.-A + * FLIM: Version 1.12.2 (Kuj-D) released.-A 1999-01-16 MORIOKA Tomohiko @@ -2748,7 +2900,7 @@ 1998-12-02 MORIOKA Tomohiko - * FLIM: Version 1.12.1 (Nishinoky-Dò) released.-A + * FLIM: Version 1.12.1 (Nishinoky-D) released.-A 1998-11-30 MORIOKA Tomohiko @@ -2966,7 +3118,7 @@ 1998-10-26 MORIOKA Tomohiko - * FLIM: Version 1.11.2 (Heij-Dò) was released.-A + * FLIM: Version 1.11.2 (Heij-D) was released.-A * NEWS (Abolish variable `mime-temp-directory'): New subsection. @@ -3246,7 +3398,7 @@ 1998-10-12 MORIOKA Tomohiko - * FLIM: Version 1.10.4 (Shin-H-Dòsono) was released.-A + * FLIM: Version 1.10.4 (Shin-H-Dsono) was released.-A 1998-10-12 Katsumi Yamaoka @@ -3431,7 +3583,7 @@ 1998-09-29 MORIOKA Tomohiko - * FLIM: Version 1.10.0 (K-Dòdo) was released.-A + * FLIM: Version 1.10.0 (K-Ddo) was released.-A * README.en (What's FLIM): Add mel-ccl.el. @@ -3718,7 +3870,7 @@ 1998-08-31 MORIOKA Tomohiko - * FLIM: Version 1.9.1 (Tonosh-Dò) was released.-A + * FLIM: Version 1.9.1 (Tonosh-D) was released.-A * mime-en.sgml (mm-backend): Translate a little. @@ -3861,7 +4013,7 @@ 1998-07-07 MORIOKA Tomohiko - * FLIM-Chao: Version 1.8.0 (Shij-Dò) was released.-A + * FLIM-Chao: Version 1.8.0 (Shij-D) was released.-A 1998-07-07 MORIOKA Tomohiko @@ -3973,7 +4125,7 @@ 1998-07-01 MORIOKA Tomohiko - * FLIM: Version 1.8.0 (-DÒkubo) was released.-A + * FLIM: Version 1.8.0 (-Dkubo) was released.-A * README.en: Delete `How to use'. @@ -4098,7 +4250,7 @@ 1998-06-28 MORIOKA Tomohiko - * FLIM-Chao: Version 1.7.0 (Goj-Dò) was released.-A + * FLIM-Chao: Version 1.7.0 (Goj-D) was released.-A 1998-06-26 MORIOKA Tomohiko @@ -4357,7 +4509,7 @@ 1998-06-19 MORIOKA Tomohiko - * FLIM: Version 1.4.1 (Momoyama-Gory-Dòmae) was released.-A + * FLIM: Version 1.4.1 (Momoyama-Gory-Dmae) was released.-A 1998-06-18 MORIOKA Tomohiko @@ -4477,7 +4629,7 @@ 1998-05-06 MORIOKA Tomohiko - * FLIM: Version 1.2.0 (J-Düjò) was released.-A + * FLIM: Version 1.2.0 (J-Dj) was released.-A * README.en (What's FLIM): Delete description about std11-parse.el; add description about mailcap.el. @@ -4528,7 +4680,7 @@ 1998-05-05 MORIOKA Tomohiko - * FLIM: Version 1.1.0 (T-Dòji) was released.-A + * FLIM: Version 1.1.0 (T-Dji) was released.-A 1998-05-04 MORIOKA Tomohiko @@ -4564,7 +4716,7 @@ 1998-04-17 MORIOKA Tomohiko - * FLIM: Version 1.0.1 (Ky-Dòto) was released.-A + * FLIM: Version 1.0.1 (Ky-Dto) was released.-A * mime-def.el (mime-spadework-module-version-string): New constant. diff --git a/README.en b/README.en index 613e2d5..16f32e1 100644 --- a/README.en +++ b/README.en @@ -33,8 +33,6 @@ What's FLIM eword-decode.el --- encoded-word decoder eword-encode.el --- encoded-word encoder - mailcap.el --- mailcap parser and utility - This library should work on: Emacs 20.4 and up @@ -136,14 +134,14 @@ Bug reports =========== If you write bug-reports and/or suggestions for improvement, please - send them to the Emacs-MIME Mailing Lists: + send them to the EMACS-MIME Mailing Lists: emacs-mime-en@lists.chise.org (English) emacs-mime-ja@lists.chise.org (Japanese) - Via the Emacs-MIME ML, you can report FLIM bugs, obtain the latest + Via the EMACS-MIME ML, you can report FLIM bugs, obtain the latest release of FLIM, and discuss future enhancements to FLIM. To join - the Emacs-MIME ML, please see the descriptions of the following + the EMACS-MIME ML, please see the descriptions of the following pages: http://lists.chise.org/mailman/listinfo/emacs-mime-en (English) diff --git a/README.ja b/README.ja index 0c676f1..d3b3fc6 100644 --- a/README.ja +++ b/README.ja @@ -31,8 +31,6 @@ FLIM $B$H$O!)(B eword-decode.el --- encoded-word $BI|9f4o(B eword-encode.el --- encoded-word $BId9f4o(B - mailcap.el --- mailcap $B$N2r@O=hM}Ey(B - $B0J2<$N4D6-$GF0:n$7$^$9!'(B Emacs 20.4 $B0J9_(B @@ -143,15 +141,15 @@ FLIM $B$H$O!)(B $B%P%0Js9p(B ======== - $B%P%0Js9p$d2~A1$NDs0F$r=q$$$?$H$-$O!"@'Hs(B Emacs-MIME $B%a!<%j%s%0%j%9%H(B + $B%P%0Js9p$d2~A1$NDs0F$r=q$$$?$H$-$O!"@'Hs(B EMACS-MIME $B%a!<%j%s%0%j%9%H(B $B$KAw$C$F$/$@$5$$(B: emacs-mime-ja@lists.chise.org $B!JF|K\8l!K(B emacs-mime-en@lists.chise.org $B!J1Q8l!K(B - Emacs-MIME ML $B$rDL$7$F!"(BFLIM $B$N%P%0$rJs9p$7$?$j!"(BFLIM $B$N:G?7$N%j%j!<(B + EMACS-MIME ML $B$rDL$7$F!"(BFLIM $B$N%P%0$rJs9p$7$?$j!"(BFLIM $B$N:G?7$N%j%j!<(B $B%9$r-Mh$N3HD%$N5DO@$r$7$?$j$9$k$3$H$,$G$-$^$9!#(B - Emacs-MIME ML $B$K;22C$7$?$$J}$O!"0J2<$NJG$N5-=R$r8+$F9XFI len 0) + (mapcar + (lambda (elt) + (if (cdr elt) + (make-ew-rword (car elt) nil nil mode) + (setq mcs (detect-mime-charset-string (car elt))) + (make-ew-rword + (car elt) + mcs + (cdr (or (assq mcs mime-header-charset-encoding-alist) + (cons nil mime-header-default-charset-encoding))) + mode))) + (progn + (setq spacep (memq (aref string 0) '(? ?\t ?\n))) + (while (< i len) + (unless (eq spacep (memq (aref string i) '(? ?\t ?\n))) + (setq dest (cons (cons (substring string beg i) spacep) dest)) + (setq beg i) + (setq spacep (null spacep))) + (setq i (1+ i))) + (nreverse + (cons (cons (substring string beg len) spacep) dest))))))) + +;; for other platforms +(defun tm-eword::string-to-ruled-words (string &optional mode) + (tm-eword::words-to-ruled-words + (eword-encode-charset-words-to-words + (eword-encode-divide-into-charset-words string)) + mode)) ) (defun ew-space-process (seq) @@ -246,11 +317,7 @@ MODE is allows `text', `comment', `phrase' or nil. Default value is )) (defun eword-encode-split-string (str &optional mode) - (ew-space-process - (tm-eword::words-to-ruled-words - (eword-encode-charset-words-to-words - (eword-encode-divide-into-charset-words str)) - mode))) + (ew-space-process (tm-eword::string-to-ruled-words str mode))) ;;; @ length @@ -263,11 +330,11 @@ MODE is allows `text', `comment', `phrase' or nil. Default value is ret) (setq ret (cond ((string-equal encoding "B") - (setq string (encode-mime-charset-string string charset)) + (setq string (mime-charset-encode-string string charset)) (base64-encoded-length string) ) ((string-equal encoding "Q") - (setq string (encode-mime-charset-string string charset)) + (setq string (mime-charset-encode-string string charset)) (Q-encoded-text-length string (ew-rword-type rword)) ))) (if ret @@ -410,8 +477,7 @@ MODE is allows `text', `comment', `phrase' or nil. Default value is (setq dest (append dest (list - (let ((ret (ew-find-charset-rule - (find-charset-string str)))) + (let ((ret (ew-find-string-rule str))) (make-ew-rword str (car ret)(nth 1 ret) 'phrase) ) @@ -421,22 +487,16 @@ MODE is allows `text', `comment', `phrase' or nil. Default value is (setq dest (append dest '(("(" nil nil special)) - (tm-eword::words-to-ruled-words - (eword-encode-charset-words-to-words - (eword-encode-divide-into-charset-words - (cdr token))) - 'comment) + (tm-eword::string-to-ruled-words + (cdr token) 'comment) '((")" nil nil special)) )) ) (t (setq dest (append dest - (tm-eword::words-to-ruled-words - (eword-encode-charset-words-to-words - (eword-encode-divide-into-charset-words - (cdr token)) - ) 'phrase))) + (tm-eword::string-to-ruled-words + (cdr token) 'phrase))) )) (setq phrase (cdr phrase)) ) @@ -630,6 +690,84 @@ Optional argument COLUMN is start-position of the field." (or column eword-encode-default-start-column) (eword-encode-split-string string 'text)))) +(defun eword-encode-Content-Type-field-body (field-body &optional column) + "Encode FIELD-BODY with MIME Parameter-Value Extensions, if necessary. +Optional second arg COLUMN is ignored." + (let ((tokens (mime-lexical-analyze field-body)) + primary-type) + (unless (eq (car (car tokens)) 'mime-token) + (error "Invalid Content-Type value: %s" field-body)) + (setq primary-type (downcase (cdr (car tokens))) + tokens (cdr tokens)) + (unless (and (eq (car (car tokens)) 'tspecials) + (string= (cdr (car tokens)) "/") + (setq tokens (cdr tokens)) + (eq (car (car tokens)) 'mime-token)) + (error "Invalid Content-Type value: %s" field-body)) + (concat " " primary-type "/" (downcase (cdr (car tokens))) + (mapconcat + (function + (lambda (param) + (concat ";\n " (car param) "=" (cdr param)))) + (mime-encode-parameters + (mime-parse-parameters (cdr tokens))) + "")))) + +(defun eword-encode-Content-Disposition-field-body (field-body &optional column) + "Encode FIELD-BODY with MIME Parameter-Value Extensions, if necessary. +Optional second arg COLUMN is ignored." + (let ((tokens (mime-lexical-analyze field-body))) + (unless (eq (car (car tokens)) 'mime-token) + (error "Invalid Content-Disposition value: %s" field-body)) + (concat " " (cdr (car tokens)) + (mapconcat + (function + (lambda (param) + (concat ";\n " (car param) "=" (cdr param)))) + (mime-encode-parameters + (mime-parse-parameters (cdr tokens))) + "")))) + +(defun eword-encode-Content-Type-field-body-broken-mime + (field-body &optional column) + "Encode FIELD-BODY compatibly with Outlook, if necessary. +Optional second arg COLUMN is ignored." + (let ((tokens (mime-lexical-analyze field-body)) + primary-type) + (unless (eq (car (car tokens)) 'mime-token) + (error "Invalid Content-Type value: %s" field-body)) + (setq primary-type (downcase (cdr (car tokens))) + tokens (cdr tokens)) + (unless (and (eq (car (car tokens)) 'tspecials) + (string= (cdr (car tokens)) "/") + (setq tokens (cdr tokens)) + (eq (car (car tokens)) 'mime-token)) + (error "Invalid Content-Type value: %s" field-body)) + (concat " " primary-type "/" (downcase (cdr (car tokens))) + (mapconcat + (function + (lambda (param) + (concat ";\n " (car param) "=\"" (cdr param) "\""))) + (mime-encode-parameters-broken-mime + (mime-parse-parameters (cdr tokens))) + "")))) + +(defun eword-encode-Content-Disposition-field-body-broken-mime + (field-body &optional column) + "Encode FIELD-BODY compatibly with Outlook, if necessary. +Optional second arg COLUMN is ignored." + (let ((tokens (mime-lexical-analyze field-body))) + (unless (eq (car (car tokens)) 'mime-token) + (error "Invalid Content-Disposition value: %s" field-body)) + (concat " " (cdr (car tokens)) + (mapconcat + (function + (lambda (param) + (concat ";\n " (car param) "=\"" (cdr param) "\""))) + (mime-encode-parameters-broken-mime + (mime-parse-parameters (cdr tokens))) + "")))) + ;;;###autoload (defun mime-encode-field-body (field-body field-name) "Encode FIELD-BODY as FIELD-NAME, and return the result. diff --git a/hex-util.el b/hex-util.el index 09fca4a..7109d6f 100644 --- a/hex-util.el +++ b/hex-util.el @@ -28,14 +28,14 @@ (eval-when-compile (defmacro hex-char-to-num (chr) - (` (let ((chr (, chr))) - (cond - ((and (<= ?a chr)(<= chr ?f)) (+ (- chr ?a) 10)) - ((and (<= ?A chr)(<= chr ?F)) (+ (- chr ?A) 10)) - ((and (<= ?0 chr)(<= chr ?9)) (- chr ?0)) - (t (error "Invalid hexadecimal digit `%c'" chr)))))) + `(let ((chr ,chr)) + (cond + ((and (<= ?a chr)(<= chr ?f)) (+ (- chr ?a) 10)) + ((and (<= ?A chr)(<= chr ?F)) (+ (- chr ?A) 10)) + ((and (<= ?0 chr)(<= chr ?9)) (- chr ?0)) + (t (error "Invalid hexadecimal digit `%c'" chr))))) (defmacro num-to-hex-char (num) - (` (aref "0123456789abcdef" (, num))))) + `(aref "0123456789abcdef" ,num))) (defun decode-hex-string (string) "Decode hexadecimal STRING to octet string." diff --git a/hmac-def.el b/hmac-def.el index 9b599d5..4c37210 100644 --- a/hmac-def.el +++ b/hmac-def.el @@ -39,46 +39,46 @@ a string and return a digest of it (in binary form). B is a byte-length of a block size of H. (B=64 for both SHA1 and MD5.) L is a byte-length of hash outputs. (L=16 for MD5, L=20 for SHA1.) If BIT is non-nil, truncate output to specified bits." - (` (defun (, name) (text key) - (, (concat "Compute " - (upcase (symbol-name name)) - " over TEXT with KEY.")) - (let ((key-xor-ipad (make-string (, B) ?\x36)) - (key-xor-opad (make-string (, B) ?\x5C)) - (len (length key)) - (pos 0)) - (unwind-protect - (progn - ;; if `key' is longer than the block size, apply hash function - ;; to `key' and use the result as a real `key'. - (if (> len (, B)) - (setq key ((, H) key) - len (, L))) - (while (< pos len) - (aset key-xor-ipad pos (logxor (aref key pos) ?\x36)) - (aset key-xor-opad pos (logxor (aref key pos) ?\x5C)) - (setq pos (1+ pos))) - (setq key-xor-ipad (unwind-protect - (concat key-xor-ipad text) - (fillarray key-xor-ipad 0)) - key-xor-ipad (unwind-protect - ((, H) key-xor-ipad) - (fillarray key-xor-ipad 0)) - key-xor-opad (unwind-protect - (concat key-xor-opad key-xor-ipad) - (fillarray key-xor-opad 0)) - key-xor-opad (unwind-protect - ((, H) key-xor-opad) - (fillarray key-xor-opad 0))) - ;; now `key-xor-opad' contains - ;; H(KEY XOR opad, H(KEY XOR ipad, TEXT)). - (, (if (and bit (< (/ bit 8) L)) - (` (substring key-xor-opad 0 (, (/ bit 8)))) - ;; return a copy of `key-xor-opad'. - (` (concat key-xor-opad))))) - ;; cleanup. - (fillarray key-xor-ipad 0) - (fillarray key-xor-opad 0)))))) + `(defun ,name (text key) + ,(concat "Compute " + (upcase (symbol-name name)) + " over TEXT with KEY.") + (let ((key-xor-ipad (make-string ,B ?\x36)) + (key-xor-opad (make-string ,B ?\x5C)) + (len (length key)) + (pos 0)) + (unwind-protect + (progn + ;; if `key' is longer than the block size, apply hash function + ;; to `key' and use the result as a real `key'. + (if (> len ,B) + (setq key (,H key) + len ,L)) + (while (< pos len) + (aset key-xor-ipad pos (logxor (aref key pos) ?\x36)) + (aset key-xor-opad pos (logxor (aref key pos) ?\x5C)) + (setq pos (1+ pos))) + (setq key-xor-ipad (unwind-protect + (concat key-xor-ipad text) + (fillarray key-xor-ipad 0)) + key-xor-ipad (unwind-protect + (,H key-xor-ipad) + (fillarray key-xor-ipad 0)) + key-xor-opad (unwind-protect + (concat key-xor-opad key-xor-ipad) + (fillarray key-xor-opad 0)) + key-xor-opad (unwind-protect + (,H key-xor-opad) + (fillarray key-xor-opad 0))) + ;; now `key-xor-opad' contains + ;; H(KEY XOR opad, H(KEY XOR ipad, TEXT)). + ,(if (and bit (< (/ bit 8) L)) + `(substring key-xor-opad 0 ,(/ bit 8)) + ;; return a copy of `key-xor-opad'. + `(concat key-xor-opad))) + ;; cleanup. + (fillarray key-xor-ipad 0) + (fillarray key-xor-opad 0))))) (provide 'hmac-def) diff --git a/mailcap.el b/mailcap.el deleted file mode 100644 index a2c40ae..0000000 --- a/mailcap.el +++ /dev/null @@ -1,67 +0,0 @@ -;;; mailcap.el --- mailcap parser - -;; Copyright (C) 1997,1998,1999,2000 Free Software Foundation, Inc. - -;; Author: MORIOKA Tomohiko -;; Created: 1997-06-27 -;; 2000-11-24 Rewrote to use mime-conf.el. -;; Keywords: mailcap, setting, configuration, MIME, multimedia -;; Status: obsolete - -;; This file is part of FLIM (Faithful Library about Internet Message). - -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License as -;; published by the Free Software Foundation; either version 2, or (at -;; your option) any later version. - -;; This program is distributed in the hope that it will be useful, but -;; WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. - -;;; Code: - -(require 'mime-conf) -(require 'poe) ; define-obsolete-function-alias - -(define-obsolete-function-alias - 'mailcap-parse-buffer 'mime-parse-mailcap-buffer) - -(define-obsolete-function-alias - 'mailcap-format-command 'mime-format-mailcap-command) - -(cond - ((featurep 'xemacs) - (define-obsolete-variable-alias - 'mailcap-file 'mime-mailcap-file) - (define-obsolete-function-alias - 'mailcap-parse-file 'mime-parse-mailcap-file) - ) - (t - (defvar mailcap-file mime-mailcap-file) - (defun mailcap-parse-file (&optional filename order) - "Parse FILENAME as a mailcap, and return the result. -If optional argument ORDER is a function, result is sorted by it. -If optional argument ORDER is not specified, result is sorted original -order. Otherwise result is not sorted. -This function is obsolete. Please use mime-parse-mailcap-file instead." - (if filename - (mime-parse-mailcap-file filename order) - (let ((mime-mailcap-file mailcap-file)) - (mime-parse-mailcap-file nil order)))) - (make-obsolete 'mailcap-parse-file 'mime-parse-mailcap-file) - )) - - -;;; @ end -;;; - -(provide 'mailcap) - -;;; mailcap.el ends here diff --git a/md4.el b/md4.el index 43af2ae..b3c1e66 100644 --- a/md4.el +++ b/md4.el @@ -88,21 +88,20 @@ bytes long. N is required to handle strings containing character 0." (defsubst md4-H (x y z) (logxor x y z)) (defmacro md4-make-step (name func) - (` - (defun (, name) (a b c d xk s ac) - (let* - ((h1 (+ (car a) ((, func) (car b) (car c) (car d)) (car xk) (car ac))) - (l1 (+ (cdr a) ((, func) (cdr b) (cdr c) (cdr d)) (cdr xk) (cdr ac))) - (h2 (logand 65535 (+ h1 (lsh l1 -16)))) - (l2 (logand 65535 l1)) - ;; cyclic shift of 32 bits integer - (h3 (logand 65535 (if (> s 15) - (+ (lsh h2 (- s 32)) (lsh l2 (- s 16))) - (+ (lsh h2 s) (lsh l2 (- s 16)))))) - (l3 (logand 65535 (if (> s 15) - (+ (lsh l2 (- s 32)) (lsh h2 (- s 16))) - (+ (lsh l2 s) (lsh h2 (- s 16))))))) - (cons h3 l3))))) + `(defun ,name (a b c d xk s ac) + (let* + ((h1 (+ (car a) (,func (car b) (car c) (car d)) (car xk) (car ac))) + (l1 (+ (cdr a) (,func (cdr b) (cdr c) (cdr d)) (cdr xk) (cdr ac))) + (h2 (logand 65535 (+ h1 (lsh l1 -16)))) + (l2 (logand 65535 l1)) + ;; cyclic shift of 32 bits integer + (h3 (logand 65535 (if (> s 15) + (+ (lsh h2 (- s 32)) (lsh l2 (- s 16))) + (+ (lsh h2 s) (lsh l2 (- s 16)))))) + (l3 (logand 65535 (if (> s 15) + (+ (lsh l2 (- s 32)) (lsh h2 (- s 16))) + (+ (lsh l2 s) (lsh h2 (- s 16))))))) + (cons h3 l3)))) (md4-make-step md4-round1 md4-F) (md4-make-step md4-round2 md4-G) diff --git a/md5-el.el b/md5-el.el index e7374d8..472a178 100644 --- a/md5-el.el +++ b/md5-el.el @@ -169,11 +169,10 @@ Returns a vector of 16 bytes containing the message digest." (defsubst md5-I (x y z) (logxor y (logior x (logand 65535 (lognot z))))) (defmacro md5-make-step (name func) - (` - (defun (, name) (a b c d x s ac) + `(defun ,name (a b c d x s ac) (let* - ((m1 (+ (car a) ((, func) (car b) (car c) (car d)) (car x) (car ac))) - (l1 (+ (cdr a) ((, func) (cdr b) (cdr c) (cdr d)) (cdr x) (cdr ac))) + ((m1 (+ (car a) (,func (car b) (car c) (car d)) (car x) (car ac))) + (l1 (+ (cdr a) (,func (cdr b) (cdr c) (cdr d)) (cdr x) (cdr ac))) (m2 (logand 65535 (+ m1 (lsh l1 -16)))) (l2 (logand 65535 l1)) (m3 (logand 65535 (if (> s 15) @@ -182,7 +181,7 @@ Returns a vector of 16 bytes containing the message digest." (l3 (logand 65535 (if (> s 15) (+ (lsh l2 (- s 32)) (lsh m2 (- s 16))) (+ (lsh l2 s) (lsh m2 (- s 16))))))) - (md5-add (cons m3 l3) b))))) + (md5-add (cons m3 l3) b)))) (md5-make-step md5-FF md5-F) (md5-make-step md5-GG md5-G) diff --git a/mel-q-ccl.el b/mel-q-ccl.el index b121c75..73c9823 100644 --- a/mel-q-ccl.el +++ b/mel-q-ccl.el @@ -887,10 +887,40 @@ abcdefghijklmnopqrstuvwxyz\ (unless-broken ccl-execute-eof-block-on-decoding-some + (eval-when-compile + (define-ccl-program test-ccl-cs-decoder + '(1 (loop + (read r0) + (write-repeat r0)))) + (define-ccl-program test-ccl-cs-encoder + '(1 (loop + (read r0) + (read r0) + (read r0) + (write-repeat r0)))) + (make-ccl-coding-system + 'test-ccl-cs-cs ?T "ccl coding system tester" + 'test-ccl-cs-decoder 'test-ccl-cs-encoder)) + + (broken-facility ccl-coding-system-decoder + "Decoder for CCL coding system is broken on Emacs 23.1." + (and + (eq 16385 + (length (decode-coding-string + (make-string 16385 ?A) 'test-ccl-cs-cs))) + (eq 1025 + (length (decode-coding-string + (string-as-multibyte + (make-string 1025 128)) 'test-ccl-cs-cs))))) + + (broken-facility ccl-coding-system-encoder + "Encoder for CCL coding system is broken on Emacs 23.1." + (eq 5462 + (length (encode-coding-string + (make-string 16386 ?A) 'test-ccl-cs-cs)))) + (cond - ((eval-when-compile - (and (eq emacs-major-version 23) - (eq emacs-minor-version 1))) + ((broken-p 'ccl-coding-system-decoder) (defun quoted-printable-ccl-encode-string (string) "Encode STRING with quoted-printable encoding." (ccl-execute-on-string 'mel-ccl-encode-quoted-printable-lf-lf @@ -950,9 +980,7 @@ abcdefghijklmnopqrstuvwxyz\ ) (cond - ((eval-when-compile - (and (eq emacs-major-version 23) - (eq emacs-minor-version 1))) + ((broken-p 'ccl-coding-system-encoder) (defun quoted-printable-ccl-decode-string (string) "Decode quoted-printable encoded STRING." (ccl-execute-on-string 'mel-ccl-decode-quoted-printable-lf-lf @@ -1015,9 +1043,7 @@ encoding." ;;; (cond - ((eval-when-compile - (and (eq emacs-major-version 23) - (eq emacs-minor-version 1))) + ((broken-p 'ccl-coding-system-decoder) (defun q-encoding-ccl-encode-string (string &optional mode) "Encode STRING to Q-encoding of encoded-word, and return the result. MODE allows `text', `comment', `phrase' or nil. Default value is @@ -1027,12 +1053,7 @@ MODE allows `text', `comment', `phrase' or nil. Default value is ((eq mode 'text) 'mel-ccl-encode-uq) ((eq mode 'comment) 'mel-ccl-encode-cq) (t 'mel-ccl-encode-pq)) - (make-vector 9 0) string nil t)) - - (defun q-encoding-ccl-decode-string (string) - "Decode Q encoded STRING and return the result." - (ccl-execute-on-string 'mel-ccl-decode-q - (make-vector 9 0) string nil t))) + (make-vector 9 0) string nil t))) (t (defun q-encoding-ccl-encode-string (string &optional mode) "Encode STRING to Q-encoding of encoded-word, and return the result. @@ -1043,8 +1064,15 @@ MODE allows `text', `comment', `phrase' or nil. Default value is (cond ((eq mode 'text) 'mel-ccl-uq-rev) ((eq mode 'comment) 'mel-ccl-cq-rev) - (t 'mel-ccl-pq-rev)))) + (t 'mel-ccl-pq-rev)))))) +(cond + ((broken-p 'ccl-coding-system-encoder) + (defun q-encoding-ccl-decode-string (string) + "Decode Q encoded STRING and return the result." + (ccl-execute-on-string 'mel-ccl-decode-q + (make-vector 9 0) string nil t))) + (t (defun q-encoding-ccl-decode-string (string) "Decode Q encoded STRING and return the result." (encode-coding-string diff --git a/mel-q.el b/mel-q.el index 4ce3df1..869d5ec 100644 --- a/mel-q.el +++ b/mel-q.el @@ -177,17 +177,18 @@ It calls external quoted-printable encoder specified by ((<= ?0 chr) (- chr ?0)) )) -(if (eval-when-compile - (> (string-to-char (string-as-multibyte "\200")) 128)) +(eval-and-compile + (if (eval-when-compile + (> (string-to-char (string-as-multibyte "\200")) 128)) + (defsubst quoted-printable-num-to-raw-byte-char (chr) + (if (and chr + (> chr 127)) + (logior chr + (eval-when-compile + (- (string-to-char (string-as-multibyte "\200")) 128))) + chr)) (defsubst quoted-printable-num-to-raw-byte-char (chr) - (if (and chr - (> chr 127)) - (logior chr - (eval-when-compile - (- (string-to-char (string-as-multibyte "\200")) 128))) - chr)) - (defsubst quoted-printable-num-to-raw-byte-char (chr) - chr)) + chr))) (defun quoted-printable-internal-decode-region (start end) (save-excursion diff --git a/mel.el b/mel.el index 90534cb..8428e2f 100644 --- a/mel.el +++ b/mel.el @@ -86,7 +86,7 @@ Content-Transfer-Encoding for it." (defun 8bit-write-decoded-region (start end filename) "Decode and write current region encoded by \"8bit\" into FILENAME." - (let ((coding-system-for-write 'raw-text) + (let ((coding-system-for-write 'no-conversion) format-alist) (write-region start end filename))) diff --git a/mime-def.el b/mime-def.el index 9ee7781..131b25a 100644 --- a/mime-def.el +++ b/mime-def.el @@ -29,6 +29,7 @@ (require 'custom) (require 'mcharset) (require 'alist) +(require 'static) (eval-when-compile (require 'luna)) ; luna-arglist-to-arguments @@ -142,8 +143,14 @@ If method is nil, this field will not be encoded." (defconst mime-token-regexp (concat "[^" mime-tspecial-char-list "\000-\040]+")) (defconst mime-attribute-char-regexp - (concat "[^" mime-tspecial-char-list "\000-\040" + (concat "[^" mime-tspecial-char-list + "*'%" ; introduced in RFC 2231. + "\000-\040" + "]")) +(defconst mime-non-attribute-char-regexp + (concat "[" mime-tspecial-char-list "*'%" ; introduced in RFC 2231. + "\000-\040\177-\377" ; non-printable, non-US-ASCII. "]")) (defconst mime-charset-regexp @@ -151,7 +158,8 @@ If method is nil, this field will not be encoded." "*'%" ; should not include "%"? "]+")) -;; More precisely, length of "[A-Za-z]+" is limited to at most 8. +;; More precisely, length of each "[A-Za-z]+" is limited to at most 8. +;; See RFC 3066 "Tags for the Identification of Languages". ;; (defconst mime-language-regexp "[A-Za-z]+\\(-[A-Za-z]+\\)*") (defconst mime-language-regexp "[-A-Za-z]+") @@ -393,6 +401,29 @@ variable and (nth 1 (car (last ARGS))) is name of backend (encoding)." path) )))) +(static-cond + ((eval-when-compile (and (featurep 'mule) + (>= emacs-major-version 20) + (null (featurep 'xemacs)))) + (defsubst mime-charset-decode-string (string charset &optional lbt) + "Decode the STRING as MIME CHARSET. +Buffer's multibyteness is ignored." + (let ((cs (mime-charset-to-coding-system charset lbt))) + (if cs + (decode-coding-string string cs) + string))) + + (defsubst mime-charset-encode-string (string charset &optional lbt) + "Encode the STRING as MIME CHARSET. +Buffer's multibyteness is ignored." + (let ((cs (mime-charset-to-coding-system charset lbt))) + (if cs + (encode-coding-string string cs) + string)))) + (t + (defalias 'mime-charset-decode-string 'decode-mime-charset-string) + (defalias 'mime-charset-encode-string 'encode-mime-charset-string)) + ) ;;; @ end ;;; diff --git a/mime-en.sgml b/mime-en.sgml index 6e5b959..35783df 100644 --- a/mime-en.sgml +++ b/mime-en.sgml @@ -1042,7 +1042,7 @@ translated by non-Internet gateways.

Any byte stream is called binary.

-It does not require structure of lines. It differs from from 8bit.

In addition, if line structured data contain too long line (more than diff --git a/mime-parse.el b/mime-parse.el index 5f34c07..87cc1a5 100644 --- a/mime-parse.el +++ b/mime-parse.el @@ -103,11 +103,7 @@ be the result." (delete-region (point)(- (point) 3))))) (setq text (buffer-string)) (when charset - ;; I believe that `decode-mime-charset-string' of mcs-e20.el should - ;; be independent of the value of `enable-multibyte-characters'. - (erase-buffer) - (set-buffer-multibyte t) - (setq text (decode-mime-charset-string text charset))) + (setq text (mime-charset-decode-string text charset))) (when language (put-text-property 0 (length text) 'mime-language language text)) text)) @@ -239,6 +235,207 @@ property of the decoded-value." (defalias 'mime-parse-parameters-from-list 'mime-decode-parameters) (make-obsolete 'mime-parse-parameters-from-list 'mime-decode-parameters) + +;;; @ parameter value encoder +;;; + +(defun mime-divide-extended-parameter (name value) + "Divide MIME parameter value \"NAME=VALUE\" into segments. +Each of \" NAME*n*=SEGMENT_n\;\" will be no more than 78 characters. +Return value is a list of string when division is performed, otherwise +return value is just a string." + ;; `limit' must be more than (length "CHARSET'LANGUAGE'%XX"). + ;; + ;; Since MIME spec does not limit either length of CHARSET or length + ;; of LANGUAGE, we choose 30 for minimum `limit' based on the longest + ;; name of charset that Emacs supports ("ISO-2022-CN-EXT"; 15 chars). + ;; + ;; Anyway, if `name' is too long, we will ignore 78 chars limit. + (let ((limit (max (- 78 4 (length name)) 30))); (length " *=;") => 4 + (if (> limit (length value)) + value + (let ((count 0) + result) + (setq limit (max (- limit 2) 30)) ; (length "*n") => 2 + (with-temp-buffer + (set-buffer-multibyte nil) + (insert value) + (while (> (point-max) limit) + (goto-char (- limit 3)) ; (length "%XX") => 3 + (cond + ((eq (char-after) ?%) + (forward-char 3)) + ((progn + (forward-char) + (eq (char-after) ?%))) + ((progn + (forward-char) + (eq (char-after) ?%))) + (t + (forward-char))) + (setq result (cons (prog1 (buffer-substring (point-min)(point)) + (delete-region (point-min)(point))) + result) + count (1+ count)) + (when (zerop (% count 10)) + (setq limit (max (1- limit) 30)))) + (nreverse + (cons (buffer-substring (point-min)(point-max)) + result))))))) + +(defun mime-encode-extended-parameter (name value) + "Encode MIME parameter value \"NAME=VALUE\" as an extended-parameter. +If encoding is unnecessary, return nil. +If division is performed, return value is a list of string, otherwise +return value is just a string." + (let ((language (get-text-property 0 'mime-language value))) + (when (or language + (string-match "[^ -~]" value)) ; Nonmatching printable US-ASCII. + (with-temp-buffer + (let ((charset (find-mime-charset-by-charsets + (find-charset-string value)))) + (setq value (mime-charset-encode-string value charset)) + (set-buffer-multibyte nil) + (insert value) + (goto-char (point-min)) + (insert (symbol-name charset) + ?' + (if language (symbol-name language) "") + ?') + (while (re-search-forward mime-non-attribute-char-regexp nil t) + (insert (prog1 (format "%%%02X" (char-int + (char-after (1- (point))))) + (delete-region (1- (point))(point))))) + (mime-divide-extended-parameter name (buffer-string))))))) + +(defun mime-divide-regular-parameter (name value) + "Divide MIME parameter value \"NAME=VALUE\" into segments. +Each of \" NAME*n=SEGMENT_n\;\" will be no more than 78 characters. +Return value is a list of string when division is performed, otherwise +just a string is returned." + (let ((limit (max (- (eval-when-compile (- 78 (length " =\"\";"))) + (length name)) + 30))) + (if (> limit (length value)) + (concat "\"" value "\"") + (let ((count 0) + result) + (setq limit (max (- limit 2) 30)) ; (length "*n") => 2 + (setq limit (1- limit)) ; XXX + (with-temp-buffer + (set-buffer-multibyte nil) + (insert value) + (while (> (point-max) limit) + (goto-char (point-min)) + (while (< (point) limit) + (when (eq (char-after) ?\\) + (forward-char)) + (forward-char)) + (setq result (cons (concat "\"" + (prog1 (buffer-substring + (point-min)(point)) + (delete-region + (point-min)(point))) + "\"") + result) + count (1+ count)) + (when (zerop (% count 10)) + (setq limit (max (1- limit) 30)))) + (nreverse + (cons (concat "\"" + (buffer-substring (point-min)(point-max)) + "\"") + result))))))) + +(defun mime-encode-regular-parameter (name value) + "Encode MIME parameter value \"NAME=VALUE\" as a regular-parameter. +If division is performed, return value is a list of string, otherwise +return value is just a string." + (with-temp-buffer + (set-buffer-multibyte nil) + (insert value) + (goto-char (point-min)) + (while (not (eobp)) + (when (memq (char-after) '(?\\ ?\")) + (insert ?\\)) + (forward-char 1)) + (mime-divide-regular-parameter name (buffer-string)))) + +(defun mime-encode-parameters (params) + "Encode PARAMS plist with MIME Parameter-Value Extensions. +Return value is an alist of MIME parameter values." + (let (name value encoded result) + (while params + (setq name (car params) + value (car (cdr params)) + params (cdr (cdr params))) + (cond + ;; first two clauses are for backward compatibility, + ;; especially for "ftp.in" in the distribution. + ((not (string-match (eval-when-compile + (concat "^\\(" mime-attribute-char-regexp "+\\)" + "\\(\\*[0-9]+\\)?" ; continuation + "\\(\\*\\)?$")) ; charset/language + name)) + ;; invalid parameter name. + ;; XXX: Should we signal an error? + ) + ((> (match-end 0) (match-end 1)) + ;; this parameter value is already encoded. + (setq result (cons (cons name + (if (match-beginning 3) + ;; extended-parameter + value + ;; regular-parameter + (std11-wrap-as-quoted-string value))) + result))) + ((setq encoded (mime-encode-extended-parameter name value)) + ;; extended-parameter + (if (stringp encoded) + (setq result (cons (cons (concat name "*") encoded) result)) + ;; with continuation + (let ((section 0)) + (while encoded + (setq result (cons (cons (concat name + "*" (int-to-string section) + "*") + (car encoded)) + result) + section (1+ section) + encoded(cdr encoded)))))) + (t + ;; regular-parameter + (setq encoded (mime-encode-regular-parameter name value)) + (if (stringp encoded) + (setq result (cons (cons name encoded) result)) + ;; with continuation + (let ((section 0)) + (while encoded + (setq result (cons (cons (concat name + "*" (int-to-string section)) + (car encoded)) + result) + section (1+ section) + encoded (cdr encoded)))))))) + (nreverse result))) + +(defun mime-encode-parameters-broken-mime (params) + "Encode PARAMS plist compatibly with Outlook. +Return value is an alist of MIME parameter values." + (let (result) + (while (cadr params) + (setq result + `((,(car params) + . ,(eword-encode-string (cadr params) + (+ (length (car params)) 3))) + . ,result) + params (cddr params))) + (nreverse result))) + + +;;; @ field parser +;;; + (defun mime-parse-parameters (tokens) "Parse TOKENS as MIME parameter values. Return a property list, which is a list of the form @@ -360,10 +557,13 @@ If Content-Transfer-Encoding field is not found, return nil." ;;;###autoload (defun mime-uri-parse-cid (string) "Parse STRING as cid URI." - (mime-parse-msg-id (cons '(specials . "<") - (nconc - (cdr (cdr (std11-lexical-analyze string))) - '((specials . ">")))))) + (when (string-match "^cid:" string) + (setq string (concat "<" (substring string 4) ">")) + (let ((parser (cdr (assq 'Content-Id mime-field-parser-alist)))) + (if parser + (funcall parser (eword-lexical-analyze string)) + (mime-decode-field-body string 'Content-Id 'plain))))) + ;;; @ message parser @@ -470,10 +670,7 @@ If Content-Transfer-Encoding field is not found, return nil." body-start (point-min))) (save-restriction (narrow-to-region header-start header-end) - (setq content-type (or (let ((str (std11-fetch-field "Content-Type"))) - (if str - (mime-parse-Content-Type str) - )) + (setq content-type (or (mime-read-Content-Type) default-ctl)) ) (luna-make-entity representation-type diff --git a/mime.el b/mime.el index 9dc2fcc..9da58db 100644 --- a/mime.el +++ b/mime.el @@ -391,16 +391,15 @@ default value." (defun mime-entity-filename (entity) "Return filename of ENTITY." (or (mime-entity-uu-filename entity) - (let ((ret (mime-content-disposition-filename - (mime-entity-content-disposition entity)))) - (if (and mime-header-accept-quoted-encoded-words - ret) + (let ((ret (or (mime-content-disposition-filename + (mime-entity-content-disposition entity)) + (cdr (let ((param (mime-content-type-parameters + (mime-entity-content-type entity)))) + (or (assoc "name" param) + (assoc "x-name" param))))))) + (if ret (eword-decode-string ret) - ret)) - (cdr (let ((param (mime-content-type-parameters - (mime-entity-content-type entity)))) - (or (assoc "name" param) - (assoc "x-name" param)))))) + "")))) (defsubst mime-entity-media-type (entity) diff --git a/sha1-el.el b/sha1-el.el index 82657b8..230744d 100644 --- a/sha1-el.el +++ b/sha1-el.el @@ -129,9 +129,9 @@ If this variable is set to nil, use internal function only." ;;; (logand (lognot (, B)) (, D))))) ;;; a little optimization from GnuPG/cipher/sha1.c. (defmacro sha1-F0 (B C D) - (` (logxor (, D) (logand (, B) (logxor (, C) (, D)))))) + `(logxor ,D (logand ,B (logxor ,C ,D)))) (defmacro sha1-F1 (B C D) - (` (logxor (, B) (, C) (, D)))) + `(logxor ,B ,C ,D)) ;;; original definition of sha1-F2. ;;; (defmacro sha1-F2 (B C D) ;;; (` (logior (logand (, B) (, C)) @@ -139,77 +139,77 @@ If this variable is set to nil, use internal function only." ;;; (logand (, C) (, D))))) ;;; a little optimization from GnuPG/cipher/sha1.c. (defmacro sha1-F2 (B C D) - (` (logior (logand (, B) (, C)) - (logand (, D) (logior (, B) (, C)))))) + `(logior (logand ,B ,C) + (logand ,D (logior ,B ,C)))) (defmacro sha1-F3 (B C D) - (` (logxor (, B) (, C) (, D)))) + `(logxor ,B ,C ,D)) (defmacro sha1-S1 (W-high W-low) - (` (let ((W-high (, W-high)) - (W-low (, W-low))) - (setq S1W-high (+ (% (* W-high 2) 65536) - (/ W-low (, (/ 65536 2))))) - (setq S1W-low (+ (/ W-high (, (/ 65536 2))) - (% (* W-low 2) 65536)))))) + `(let ((W-high ,W-high) + (W-low ,W-low)) + (setq S1W-high (+ (% (* W-high 2) 65536) + (/ W-low ,(/ 65536 2)))) + (setq S1W-low (+ (/ W-high ,(/ 65536 2)) + (% (* W-low 2) 65536))))) (defmacro sha1-S5 (A-high A-low) - (` (progn - (setq S5A-high (+ (% (* (, A-high) 32) 65536) - (/ (, A-low) (, (/ 65536 32))))) - (setq S5A-low (+ (/ (, A-high) (, (/ 65536 32))) - (% (* (, A-low) 32) 65536)))))) + `(progn + (setq S5A-high (+ (% (* ,A-high 32) 65536) + (/ ,A-low ,(/ 65536 32)))) + (setq S5A-low (+ (/ ,A-high ,(/ 65536 32)) + (% (* ,A-low 32) 65536))))) (defmacro sha1-S30 (B-high B-low) - (` (progn - (setq S30B-high (+ (/ (, B-high) 4) - (* (% (, B-low) 4) (, (/ 65536 4))))) - (setq S30B-low (+ (/ (, B-low) 4) - (* (% (, B-high) 4) (, (/ 65536 4)))))))) + `(progn + (setq S30B-high (+ (/ ,B-high 4) + (* (% ,B-low 4) ,(/ 65536 4)))) + (setq S30B-low (+ (/ ,B-low 4) + (* (% ,B-high 4) ,(/ 65536 4)))))) (defmacro sha1-OP (round) - (` (progn - (sha1-S5 sha1-A-high sha1-A-low) - (sha1-S30 sha1-B-high sha1-B-low) - (setq sha1-A-low (+ ((, (intern (format "sha1-F%d" round))) - sha1-B-low sha1-C-low sha1-D-low) - sha1-E-low - (, (symbol-value - (intern (format "sha1-K%d-low" round)))) - (aref block-low idx) - (progn - (setq sha1-E-low sha1-D-low) - (setq sha1-D-low sha1-C-low) - (setq sha1-C-low S30B-low) - (setq sha1-B-low sha1-A-low) - S5A-low))) - (setq carry (/ sha1-A-low 65536)) - (setq sha1-A-low (% sha1-A-low 65536)) - (setq sha1-A-high (% (+ ((, (intern (format "sha1-F%d" round))) - sha1-B-high sha1-C-high sha1-D-high) - sha1-E-high - (, (symbol-value - (intern (format "sha1-K%d-high" round)))) - (aref block-high idx) - (progn - (setq sha1-E-high sha1-D-high) - (setq sha1-D-high sha1-C-high) - (setq sha1-C-high S30B-high) - (setq sha1-B-high sha1-A-high) - S5A-high) - carry) - 65536))))) + `(progn + (sha1-S5 sha1-A-high sha1-A-low) + (sha1-S30 sha1-B-high sha1-B-low) + (setq sha1-A-low (+ (,(intern (format "sha1-F%d" round)) + sha1-B-low sha1-C-low sha1-D-low) + sha1-E-low + ,(symbol-value + (intern (format "sha1-K%d-low" round))) + (aref block-low idx) + (progn + (setq sha1-E-low sha1-D-low) + (setq sha1-D-low sha1-C-low) + (setq sha1-C-low S30B-low) + (setq sha1-B-low sha1-A-low) + S5A-low))) + (setq carry (/ sha1-A-low 65536)) + (setq sha1-A-low (% sha1-A-low 65536)) + (setq sha1-A-high (% (+ (,(intern (format "sha1-F%d" round)) + sha1-B-high sha1-C-high sha1-D-high) + sha1-E-high + ,(symbol-value + (intern (format "sha1-K%d-high" round))) + (aref block-high idx) + (progn + (setq sha1-E-high sha1-D-high) + (setq sha1-D-high sha1-C-high) + (setq sha1-C-high S30B-high) + (setq sha1-B-high sha1-A-high) + S5A-high) + carry) + 65536)))) (defmacro sha1-add-to-H (H X) - (` (progn - (setq (, (intern (format "sha1-%s-low" H))) - (+ (, (intern (format "sha1-%s-low" H))) - (, (intern (format "sha1-%s-low" X))))) - (setq carry (/ (, (intern (format "sha1-%s-low" H))) 65536)) - (setq (, (intern (format "sha1-%s-low" H))) - (% (, (intern (format "sha1-%s-low" H))) 65536)) - (setq (, (intern (format "sha1-%s-high" H))) - (% (+ (, (intern (format "sha1-%s-high" H))) - (, (intern (format "sha1-%s-high" X))) - carry) - 65536))))) + `(progn + (setq ,(intern (format "sha1-%s-low" H)) + (+ ,(intern (format "sha1-%s-low" H)) + ,(intern (format "sha1-%s-low" X)))) + (setq carry (/ ,(intern (format "sha1-%s-low" H)) 65536)) + (setq ,(intern (format "sha1-%s-low" H)) + (% ,(intern (format "sha1-%s-low" H)) 65536)) + (setq ,(intern (format "sha1-%s-high" H)) + (% (+ ,(intern (format "sha1-%s-high" H)) + ,(intern (format "sha1-%s-high" X)) + carry) + 65536)))) ) ;;; buffers (H0 H1 H2 H3 H4). diff --git a/smtp.el b/smtp.el index fe511e9..b65aaef 100644 --- a/smtp.el +++ b/smtp.el @@ -98,17 +98,15 @@ don't define this value." :type 'boolean :group 'smtp-extensions) -(defcustom smtp-use-starttls-ignore-error nil - "If non-nil, do not use STARTTLS if STARTTLS is not available." +(defcustom smtp-use-gnutls (and (fboundp 'gnutls-available-p) + (gnutls-available-p)) + "If non-nil, use built-in GnuTLS for STARTTLS." :type 'boolean :group 'smtp-extensions) -(defcustom smtp-starttls-program "starttls" - "The program to run in a subprocess to open an TLSv1 connection." - :group 'smtp-extensions) - -(defcustom smtp-starttls-extra-args nil - "Extra arguments to `starttls-program'" +(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 @@ -276,9 +274,20 @@ Return a newly allocated connection-object. BUFFER is the buffer to associate with the connection. SERVER is name of the host to connect to. SERVICE is name of the service desired." (let ((process - (binary-funcall smtp-open-connection-function - "SMTP" buffer server service)) + (binary-funcall + (cond + ((and smtp-use-starttls smtp-use-gnutls) + 'smtp-open-gnutls-starttls-stream) + (smtp-use-starttls + 'starttls-open-stream) + (t + smtp-open-connection-function)) + "SMTP" buffer server service)) connection) + (unless (and (processp process) + (memq (process-status process) '(open run))) + (error "Open SMTP connection function to %s:%s failed" + server (if (integerp service) (format "%d" service) service))) (when process (setq connection (smtp-make-connection process server service)) (set-process-filter process 'smtp-process-filter) @@ -357,13 +366,7 @@ BUFFER may be a buffer or a buffer name which contains mail message." (or smtp-server (error "`smtp-server' not defined")))) (package - (smtp-make-package sender recipients buffer)) - (starttls-program smtp-starttls-program) - (starttls-extra-args smtp-starttls-extra-args) - (smtp-open-connection-function - (if smtp-use-starttls - #'starttls-open-stream - smtp-open-connection-function))) + (smtp-make-package sender recipients buffer))) (save-excursion (set-buffer (get-buffer-create @@ -384,7 +387,7 @@ BUFFER may be a buffer or a buffer name which contains mail message." (smtp-primitive-ehlo package) (smtp-response-error (smtp-primitive-helo package))) - (if smtp-use-starttls + (if (and smtp-use-starttls (null smtp-use-gnutls)) (if (assq 'starttls (smtp-connection-extensions-internal (smtp-find-connection (current-buffer)))) @@ -412,10 +415,6 @@ 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)) @@ -749,6 +748,20 @@ BUFFER may be a buffer or a buffer name which contains mail message." recipient-address-list)) (kill-buffer smtp-address-buffer)))) +(defun smtp-open-gnutls-starttls-stream (name buffer host port) + (open-protocol-stream + name buffer host port + :type (if smtp-use-starttls-ignore-error 'network 'starttls) + :end-of-command "^[1-5][0-9][0-9]\\( .*\\)?\r?\n" + :success "^2[0-9][0-9]\\([ -].*\\)?\r?\n" + :capability-command (format "EHLO %s\r\n" (smtp-make-fqdn)) + :starttls-function + (lambda (response) + (when (save-match-data + (string-match "[ -]STARTTLS\\( \\|\r?\n\\)" response)) + "STARTTLS\r\n")) + :client-certificate t)) + (provide 'smtp) ;;; smtp.el ends here diff --git a/std11.el b/std11.el index 14aa54b..68fcca4 100644 --- a/std11.el +++ b/std11.el @@ -181,20 +181,28 @@ If BOUNDARY is not nil, it is used as message header separator." ;;; @ unfolding ;;; +(defcustom std11-unfold-strip-leading-tab t + "When non-nil, `std11-unfold-string' strips leading TAB, which is mainly added by incorrect folding." + :group 'news + :group 'mail + :type 'boolean + ) + ;;;###autoload (defun std11-unfold-string (string) "Unfold STRING as message header field." - (let ((dest "") + (let (dest (p 0)) - (while (string-match "\n\\([ \t]\\)" string p) - (setq dest (concat dest - (substring string p (match-beginning 0)) - (substring string - (match-beginning 1) - (setq p (match-end 0))) - )) - ) - (concat dest (substring string p)) + (while (string-match "\\( ?\\)\n\\([ \t]\\)" string p) + (setq dest (cons (unless (and std11-unfold-strip-leading-tab + (< (match-beginning 0) (match-end 1)) + (eq (aref string (match-beginning 2)) ?\t)) + (match-string 2 string)) + (cons (substring string p (match-end 1)) + dest)) + p (match-end 0) + )) + (apply 'concat (nreverse (cons (substring string p) dest))) )) debian/patches/020_ikazuhiro.patch0000644000000000000000000001260412166004415014226 0ustar Subject: ikazuhiro's branch Origin: https://github.com/ikazuhiro/flim/commits/flim-1_14-wl diff --git a/ChangeLog b/ChangeLog index 137e37f..f94348a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2013-07-05 Kazuhiro Ito + + * eword-encode.el: Fix the previous change for really checking. + +2013-07-04 Kazuhiro Ito + + * eword-encode.el: Check whether the mule-vesion variable is defined. + 2013-06-26 Kazuhiro Ito * mailcap.el: Removed to resolve compatibility problem when run in @@ -59,6 +67,15 @@ (eword-encode-split-string, eword-encode-phrase-to-rword-list): Use it. +2012-04-28 MORIOKA Tomohiko + + * README.ja, README.en (Bug reports): Use "Emacs-MIME" instead of + "EMACS-MIME". + +2001-02-27 Martin Buchholz + + * mime-en.sgml: Typo fix. + 2012-04-28 MORIOKA Tomohiko * README.ja, README.en (Bug reports): Modify for diff --git a/README.en b/README.en index 16f32e1..00b8116 100644 --- a/README.en +++ b/README.en @@ -134,14 +134,14 @@ Bug reports =========== If you write bug-reports and/or suggestions for improvement, please - send them to the EMACS-MIME Mailing Lists: + send them to the Emacs-MIME Mailing Lists: emacs-mime-en@lists.chise.org (English) emacs-mime-ja@lists.chise.org (Japanese) - Via the EMACS-MIME ML, you can report FLIM bugs, obtain the latest + Via the Emacs-MIME ML, you can report FLIM bugs, obtain the latest release of FLIM, and discuss future enhancements to FLIM. To join - the EMACS-MIME ML, please see the descriptions of the following + the Emacs-MIME ML, please see the descriptions of the following pages: http://lists.chise.org/mailman/listinfo/emacs-mime-en (English) diff --git a/README.ja b/README.ja index d3b3fc6..4b2ddca 100644 --- a/README.ja +++ b/README.ja @@ -141,15 +141,15 @@ FLIM $B$H$O!)(B $B%P%0Js9p(B ======== - $B%P%0Js9p$d2~A1$NDs0F$r=q$$$?$H$-$O!"@'Hs(B EMACS-MIME $B%a!<%j%s%0%j%9%H(B + $B%P%0Js9p$d2~A1$NDs0F$r=q$$$?$H$-$O!"@'Hs(B Emacs-MIME $B%a!<%j%s%0%j%9%H(B $B$KAw$C$F$/$@$5$$(B: emacs-mime-ja@lists.chise.org $B!JF|K\8l!K(B emacs-mime-en@lists.chise.org $B!J1Q8l!K(B - EMACS-MIME ML $B$rDL$7$F!"(BFLIM $B$N%P%0$rJs9p$7$?$j!"(BFLIM $B$N:G?7$N%j%j!<(B + Emacs-MIME ML $B$rDL$7$F!"(BFLIM $B$N%P%0$rJs9p$7$?$j!"(BFLIM $B$N:G?7$N%j%j!<(B $B%9$r-Mh$N3HD%$N5DO@$r$7$?$j$9$k$3$H$,$G$-$^$9!#(B - EMACS-MIME ML $B$K;22C$7$?$$J}$O!"0J2<$NJG$N5-=R$r8+$F9XFI Any byte stream is called binary.

-It does not require structureof lines. It differs from from 8bit.

In addition, if line structured data contain too long line (more than debian/patches/series0000644000000000000000000000005312166004604012027 0ustar 010_flim-1_14-wl.patch 020_ikazuhiro.patch debian/control0000644000000000000000000000322012251076254010572 0ustar Source: flim Section: lisp Priority: optional Maintainer: Tatsuya Kinoshita Build-Depends: debhelper (>= 7) Build-Depends-Indep: emacs | emacs24 | emacs23 | emacs22 Standards-Version: 3.9.5 Vcs-Git: git://anonscm.debian.org/collab-maint/flim.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/flim.git Homepage: http://git.chise.org/elisp/flim/ Package: flim Architecture: all Depends: emacs | emacsen, apel (>= 10.7), dpkg (>= 1.15.4) | install-info, ${misc:Depends} Suggests: xemacs21-bin, semi, wl | wl-beta Conflicts: tm, semi-gnus (<< 1:6.10.13), flim1.13 Replaces: flim1.13 Description: library about internet message for emacsen FLIM (Faithful Library about Internet Message) is a library to provide basic functions about message representation and encoding for emacsen. It consists of following modules: . std11.el STD 11 (RFC 822) parser and utility mime.el to provide various services about MIME-entities mime-def.el Definitions about MIME format mime-parse.el MIME parser mel.el MIME encoder/decoder mel-b-dl.el base64 (B-encoding) encoder/decoder (for Emacs 20 with dynamic loading support) mel-b-ccl.el base64 (B-encoding) encoder/decoder (using CCL) mel-b-en.el base64 (B-encoding) encoder/decoder (for other emacsen) mel-q-ccl.el quoted-printable and Q-encoding encoder/decoder (using CCL) mel-q.el quoted-printable and Q-encoding encoder/decoder mel-u.el unofficial backend for uuencode mel-g.el unofficial backend for gzip64 eword-decode.el encoded-word decoder eword-encode.el encoded-word encoder debian/watch0000644000000000000000000000014312143410634010213 0ustar version=3 http://git.chise.org/elisp/dist/flim/flim-1.14/flim-([0-9]+\..+)\.tar\.gz debian uupdate debian/docs0000644000000000000000000000005512142435317010043 0ustar README* NEWS VERSION FLIM-API* *.texi *.sgml debian/dirs0000644000000000000000000000004512142435317010053 0ustar usr/share/emacs/site-lisp/flim/attic debian/source/0000755000000000000000000000000012142435322010464 5ustar debian/source/format0000644000000000000000000000001412142435322011672 0ustar 3.0 (quilt) debian/emacsen-install0000644000000000000000000000517612142435317012203 0ustar #! /bin/sh # /usr/lib/emacsen-common/packages/install/flim set -e FLAVOR=$1 PACKAGE=flim if [ ! -f "/usr/share/$FLAVOR/site-lisp/apel/poem.elc" ]; then exit 0; fi case $FLAVOR in emacs|emacs19|mule2) exit 0 ;; *xemacs*) mule=`/bin/ls -1 /usr/bin/$FLAVOR*-mule* 2>/dev/null | head -1` nomule=`/bin/ls -1 /usr/bin/$FLAVOR*-nomule* 2>/dev/null | head -1` if [ -n "$nomule" ]; then if [ -n "$mule" ]; then EMACSEN="$mule $nomule" else EMACSEN="$nomule" fi else EMACSEN=$FLAVOR fi ;; *) EMACSEN=$FLAVOR ;; esac ELCDIR=/usr/share/$FLAVOR/site-lisp/$PACKAGE ELDIR=/usr/share/emacs/site-lisp/$PACKAGE ELCSTAMP=$ELCDIR/compile-stamp if [ -f "$ELCSTAMP" ]; then echo "install/$PACKAGE: already byte-compiled for $FLAVOR, skipped" exit 0 fi LOG=`mktemp -t elc.XXXXXXXXXXXX` chmod 644 "$LOG" echo "install/$PACKAGE: byte-compiling for $FLAVOR, logged in $LOG" cd "$ELDIR" LINKS=`echo *.el` if [ ! -d "$ELCDIR" ]; then mkdir "$ELCDIR" chmod 755 "$ELCDIR" fi for EMACS in $EMACSEN; do cd "$ELCDIR" TOELDIR=../../../emacs/site-lisp/$PACKAGE case $EMACS in *-nomule*) if [ x"$EMACS" != x"$EMACSEN" ]; then if [ ! -d nomule ]; then mkdir nomule chmod 755 nomule fi cd nomule TOELDIR=../$TOELDIR fi ;; esac rm -f *.elc __myinit.el for f in $LINKS; do ln -sf "$TOELDIR/$f" . done case $EMACS in *-nomule*) rm -f mel-q-ccl.el mel-b-ccl.el ;; esac FILES=`echo *.el` cat > __myinit.el << EOF (setq load-path (cons "/usr/share/$FLAVOR/site-lisp/apel" load-path)) (setq load-path (cons "." load-path)) (setq byte-compile-warnings nil) EOF case $EMACS in *-nomule*) cat >> __myinit.el << EOF (setq load-path (cons "/usr/share/$FLAVOR/site-lisp/apel/nomule" load-path)) EOF ;; *) esac FLAGS="-q -no-site-file -batch -l __myinit.el -f batch-byte-compile" echo "$EMACS" $FLAGS $FILES >> "$LOG" "$EMACS" $FLAGS $FILES >> "$LOG" 2>&1 chmod 644 *.elc rm -f __myinit.el* done # EMACS in $EMACSEN echo "install/$PACKAGE: deleting $LOG" rm -f "$LOG" echo "install/$PACKAGE: byte-compiling for reverse dependency" pkgs= for p in semi w3m-el:w3m w3m-el-snapshot:w3m mu-cite lsdb elserv; do pkg=`echo $p | cut -d : -f 1` sname=`echo $p | cut -d : -f 2` dir=/usr/share/$FLAVOR/site-lisp/$sname if [ -n "$sname" ] && [ -d "$dir" ] && [ -f "/usr/lib/emacsen-common/packages/install/$pkg" ]; then rm -f "$dir"/*.elc "$dir"/*/*.elc "$dir"/*-stamp "$dir"/*/*-stamp pkgs="$pkg $pkgs" fi done for pkg in $pkgs; do "/usr/lib/emacsen-common/packages/install/$pkg" "$FLAVOR" done touch "$ELCSTAMP" exit 0 debian/postinst0000644000000000000000000000050312251075615010776 0ustar #!/bin/sh set -e # Workaround to compatible with emacsen-common <2.0.0 if [ ! -e /var/lib/emacsen-common/state/package/installed/emacsen-common ]; then if [ "$1" = "configure" ] && [ -x /usr/lib/emacsen-common/emacs-package-install ]; then /usr/lib/emacsen-common/emacs-package-install flim fi else #DEBHELPER# fi debian/changelog0000644000000000000000000007616112251076333011055 0ustar flim (1:1.14.9+0.20120428-3) unstable; urgency=low * Update 020_ikazuhiro.patch, sync on 2013-07-06 * Remove 030_Upstream-not-in-flim-1_14-wl.patch (merged ikazuhiro) * Workaround for emacsen-common <2 and debhelper <9.20131104 * Update Standards-Version to 3.9.5 -- Tatsuya Kinoshita Sun, 08 Dec 2013 23:05:52 +0900 flim (1:1.14.9+0.20120428-2) unstable; urgency=low * New patch 010_flim-1_14-wl.patch, sync with https://github.com/wanderlust/flim/commits/flim-1_14-wl on 2013-07-01 * Remove 000*.patch (merged flim-1_14-wl) * New patch 020_ikazuhiro.patch, sync with https://github.com/ikazuhiro/flim/commits/flim-1_14-wl on 2013-07-05 * New patch 030_Upstream-not-in-flim-1_14-wl.patch -- Tatsuya Kinoshita Fri, 05 Jul 2013 23:53:02 +0900 flim (1:1.14.9+0.20120428-1) unstable; urgency=low * Imported Upstream version 1.14.9+0.20120428 * New patches from flim-1_14-wl - 0001-Use-new-style-backquotes.patch - 0002-Proper-ChangeLog-entry.patch - 0003-Use-new-style-backquotes-in-md4.el.patch * Remove 010_mel-q-ccl-for-emacs24.patch (unneeded now) * Add emacs24 to Build-Depends-Indep * Add Vcs-Git and Vcs-Browser * Switch Homepage to chise.org * Update debian/watch * Update debian/copyright * debian/rules: New targets build-arch and build-indep * Update Standards-Version to 3.9.4 -- Tatsuya Kinoshita Sat, 11 May 2013 18:48:31 +0900 flim (1:1.14.9+0.20110516-1) unstable; urgency=low * New upstream release. (CVS flim-1_14-wl branch on 2011-05-16) * debian/patches/020_backquotes-for-emacs24.patch: Removed. (merged upstream) * debian/copyright: Use GFDL-NIV for GFDL with no invariant sections. -- Tatsuya Kinoshita Sat, 28 May 2011 21:10:48 +0900 flim (1:1.14.9+0.20101116-1) unstable; urgency=low * New upstream release. (CVS flim-1_14-wl branch on 2010-11-16) * debian/patches/020_backquotes-for-emacs24.patch: Remove the patch of md5-el.el. (merged upstream) * debian/control: Update Standards-Version to 3.9.2. * debian/copyright: Switch to the DEP-5 format. -- Tatsuya Kinoshita Tue, 17 May 2011 01:15:38 +0900 flim (1:1.14.9+0.20100805-1) unstable; urgency=low * New upstream release. (CVS flim-1_14 branch on 2010-08-05) * debian/patches/020_backquotes-for-emacs24.patch: Workaround for broken old style backquotes in Emacs 24.0.50. (closes: #588189) * debian/control: - Add GNU Emacs flavors to Build-Depends-Indep. (closes: #588435) - Update Standards-Version to 3.9.1. -- Tatsuya Kinoshita Sat, 16 Oct 2010 01:04:24 +0900 flim (1:1.14.9+0.20100313-2) unstable; urgency=low * debian/patches/01mel-q-ccl-for-emacs24.patch: Workaround for broken ccl encoding/decoding in the current emacs-snapshot package. -- Tatsuya Kinoshita Wed, 24 Mar 2010 00:24:24 +0900 flim (1:1.14.9+0.20100313-1) unstable; urgency=low * New upstream release. (CVS flim-1_14 branch on 2010-03-13) * debian/copyright: Add a location for the snapshot tarball. * Switch to dpkg-source 3.0 (quilt) format. -- Tatsuya Kinoshita Sat, 13 Mar 2010 23:02:27 +0900 flim (1:1.14.9+0.20100218-1) unstable; urgency=low * New upstream release. (CVS flim-1_14 branch on 2010-02-18) * debian/patches: Removed. (merged upstream) * Switch to dpkg-source 1.0 format. -- Tatsuya Kinoshita Thu, 18 Feb 2010 22:45:55 +0900 flim (1:1.14.9+0.20100210-2) unstable; urgency=low * debian/patches/wl-en-03503-20100210.patch: Patch from the upstream mailing list [wl-en:03503] on 2010-02-10 to fix incorrect usage of the 8BITMIME smtp extension by Tetsurou Okazaki. (closes: #569223) * Switch to dpkg-source 3.0 (quilt) format. -- Tatsuya Kinoshita Sat, 13 Feb 2010 18:24:19 +0900 flim (1:1.14.9+0.20100210-1) unstable; urgency=low * New upstream release. (CVS flim-1_14 branch on 2010-02-10) * debian/rules, debian/control: Remove the quilt dependency. * debian/patches, debian/README.source: Removed. -- Tatsuya Kinoshita Wed, 10 Feb 2010 22:38:21 +0900 flim (1:1.14.9-5) unstable; urgency=low * debian/emacsen-startup, debian/control: Don't use metamail's mimencode, and suggest xemacs21-bin for mmencode. (closes: #562846) * debian/rules: Add direntry to *.texi for *.info. (closes: #528871) * debian/prerm, debian/postinst: Removed. * debian/control: - Add `dpkg (>= 1.15.4) | install-info' to Depends. - Add `${misc:Depends}' to Depends. - Set Section to lisp. - Update Standards-Version to 3.8.4. * debian/README.source: New file, mention that this package uses quilt to manage debian/patches. * debian/copyright: Updated. -- Tatsuya Kinoshita Mon, 08 Feb 2010 23:46:23 +0900 flim (1:1.14.9-4.1) unstable; urgency=low * Non-maintainer upload. * Drop Recommends on metamail (which is now gone) -- Stefano Zacchiroli Thu, 21 Jan 2010 22:53:30 +0100 flim (1:1.14.9-4) unstable; urgency=low * debian/emacsen-install: Don't fail with xemacs21-nomule. (closes: #522801) -- Tatsuya Kinoshita Wed, 08 Apr 2009 23:55:11 +0900 flim (1:1.14.9-3) unstable; urgency=low * debian/patches/cvs20081125.patch: Patch from the upstream CVS flim-1_14 branch on 2008-11-25 for eword-decode.el, tests/test-rfc2231.el and mel-q-ccl.el by Katsumi Yamaoka and Yoichi NAKAYAMA. * debian/patches/yamaoka20080403.patch: Patch from [emacs-mime-ja:02201] on 2008-04-03 for mel-q-ccl.el to prevent a Quoted-Printable problem by Katsumi Yamaoka. * debian/patches/kzhr20071128.patch: Patch from [emacs-mime-ja:02196] on 2007-11-28 for mel-q-ccl.el to prevent a Quoted-Printable problem by Kazuhiro Ito. * debian/rules, debian/control: Handle debian/patches with quilt. * debian/emacsen-*: Rewritten. * debian/rules, debian/dirs: Install obsolete files in the attic directory. * debian/docs, debian/rules: Install FLIM-API*, *.texi and *.sgml in the doc directory. * debian/rules: Use dh_prep instead of `dh_clean -k'. * debian/rules, debian/env.el: Don't use env.el. * debian/compat, debian/control: Update debhelper version to 7. * debian/control: - Remove `make' from `Depends:'. - Update Standards-Version to 3.8.1. * debian/copyright: Updated. -- Tatsuya Kinoshita Sat, 04 Apr 2009 23:27:54 +0900 flim (1:1.14.9-2) unstable; urgency=low * debian/emacsen-startup: Set base64-internal-decoding-limit and base64-internal-encoding-limit to 0 for emacs-unicode, suggested by Clemens Fruhwirth, [wl-en:02341] on 2008-03-28. * debian/control: - Move `Homepage:' from Description to the header. - Set Standards-Version to 3.7.3. - Build-Depends: debhelper (>= 6). * debian/compat: 5 -> 6. * debian/copyright: Updated. -- Tatsuya Kinoshita Fri, 28 Mar 2008 22:10:59 +0900 flim (1:1.14.9-1) unstable; urgency=low * New upstream release. * debian/copyright: Updated. -- Tatsuya Kinoshita Wed, 28 Nov 2007 22:05:56 +0900 flim (1:1.14.8+0.20070618-4) unstable; urgency=low * debian/emacsen-startup: Use (charsetp 'unicode-bmp) instead of checking emacs-major-version to detect the emacs-unicode-2 branch of Emacs. -- Tatsuya Kinoshita Sun, 02 Sep 2007 13:07:20 +0900 flim (1:1.14.8+0.20070618-3) unstable; urgency=low * debian/control: - Move semi from Recommends to Suggests. - Remove t-gnus from Suggests, which no longer exists in Debian. * debian/emacsen-startup: Set mel-b-ccl-module to nil for Emacs 23 to prevent a decoding problem. (Thanks to Clemens Fruhwirth, [wl-en:02175] on 2007-08-23) * debian/copyright: Refer to /usr/share/common-licenses/GFDL. -- Tatsuya Kinoshita Fri, 24 Aug 2007 21:05:15 +0900 flim (1:1.14.8+0.20070618-2) unstable; urgency=low * debian/rules: Use emacs instead of emacs21. -- Tatsuya Kinoshita Mon, 09 Jul 2007 21:51:13 +0900 flim (1:1.14.8+0.20070618-1) unstable; urgency=low * New upstream release. (CVS flim-1_14 branch on 2007-06-18) * debian/control: Prefer emacs to emacs21. -- Tatsuya Kinoshita Sat, 23 Jun 2007 20:38:50 +0900 flim (1:1.14.8+0.20061220-1) unstable; urgency=low * New upstream release. (CVS flim-1_14 branch on 2006-12-20) * debian/emacsen-install.in: Recompile w3m-el. * debian/prerm: Check whether the argument is "remove" or "upgrade". * debian/control: - Depends apel (>= 10.7). - Add `Homepage:' to Description. * debian/watch: Set Action to uupdate. * debian/copyright: - Add license of sasl.texi. - Reformat copyright years. - Mention Debian packaging conditions. -- Tatsuya Kinoshita Sun, 08 Apr 2007 19:47:40 +0900 flim (1:1.14.8+0.20060617-1) unstable; urgency=low * New upstream release. (CVS flim-1_14 branch on 2006-06-17, without sasl.texi) -- Tatsuya Kinoshita Sat, 17 Jun 2006 13:20:54 +0900 flim (1:1.14.8+0.20060218.0226-2) unstable; urgency=low * debian/emacsen-startup: Use metamail's commands instead of mime-codecs' commands. (mime-codecs no longer exists in the archive.) * debian/control: Recommends metamail instead of mime-codecs. -- Tatsuya Kinoshita Thu, 8 Jun 2006 01:53:39 +0900 flim (1:1.14.8+0.20060218.0226-1) unstable; urgency=low * Re-create .orig.tar.gz. (Removed debian/* files from .orig.tar.gz) -- Tatsuya Kinoshita Wed, 7 Jun 2006 23:15:12 +0900 flim (1:1.14.8+0.20060218-1) unstable; urgency=low * New upstream release. (CVS flim-1_14 branch on 2006-02-18, without sasl.texi) * debian/control (Build-Depends): Depend on debhelper version 5. * debian/control (Standards-Version): 3.6.2 -> 3.7.2. -- Tatsuya Kinoshita Wed, 7 Jun 2006 20:33:40 +0900 flim (1:1.14.8+0.20051225-1) unstable; urgency=low * New upstream release. (CVS flim-1_14 branch on 2005-12-25, without sasl.texi) * debian/control (Depends): Add `emacsen'. (closes: #321615) * debian/control (Build-Depends-Indep): Depend on debhelper version 5. * debian/compat: 3 -> 5. * debian/control (Standards-Version): 3.6.1 -> 3.6.2. * debian/copyright: Update the postal address of the Free Software Foundation. * debian/control (Maintainer): tats@vega.ocn.ne.jp -> tats@debian.org. * debian/copyright: Ditto. -- Tatsuya Kinoshita Mon, 23 Jan 2006 01:31:32 +0900 flim (1:1.14.7+0.20041120-1) unstable; urgency=low * New upstream release. (CVS flim-1_14 branch on 2004-11-20, without sasl.texi) * debian/env.el: Prefer iso-2022-jp instead of euc-jp. * debian/emacsen-install.in: Ready for emacsen flavors sxemacs*. * debian/watch: New file. * debian/control: Revise description. * debian/copyright: Updated. -- Tatsuya Kinoshita Sat, 4 Jun 2005 14:37:31 +0900 flim (1:1.14.6+0.20040609-1) unstable; urgency=low * New upstream release. (CVS snapshot on 2004-06-09 at 01:17 +0900) - std11.el (std11-parse-word-or-comment-or-period): Renamed from `std11-parse-word-or-comment' and allow period. (std11-parse-phrase): Allow parsing obs-phrase in rfc2822. -- Tatsuya Kinoshita Wed, 9 Jun 2004 01:19:49 +0900 flim (1:1.14.6+0.20040525-1) unstable; urgency=low * New upstream release. (CVS snapshot on 2004-05-25 at 20:40 +0900) - mime-conf.el (mime-format-mailcap-command): Quote a file name which may contain spaces using `shell-quote-argument' in order to pass it to the shell safely. - eword-encode.el (mime-encode-header-in-buffer): Don't ignore a space char at the beginning of a field body in order to honor the 76-column rule which is described in RFC 2047 section 2. * debian/emacsen-install.in: Create *.el symlinks. * debian/copyright: Updated. -- Tatsuya Kinoshita Tue, 25 May 2004 20:48:54 +0900 flim (1:1.14.6+0.20040415-1) unstable; urgency=high * New upstream release. (CVS snapshot on 2004-04-15 at 22:38 +0900) - mel-u.el (mime-write-decoded-region): Use make-temp-file. (uuencode-external-decode-region): Ditto. - eword-decode.el (eword-decode-encoded-text): Fix bug when `must-unfold' is specified; eliminate CR too when `must-unfold' is specified. * debian/control (Depends): `apel (>= 10.5)' to use make-temp-file. * debian/changelog: Encoded with UTF-8. * debian/copyright: Updated. -- Tatsuya Kinoshita Sun, 18 Apr 2004 00:28:55 +0900 flim (1:1.14.6+0.20040306-1) unstable; urgency=low * New upstream release. (CVS snapshot on 2004-03-06 at 20:14 +0900) - lunit.el (lunit-make-test-suite-from-class): Fix regexp. Use "^test" instead of "^test-". -- Tatsuya Kinoshita Sat, 6 Mar 2004 23:46:40 +0900 flim (1:1.14.6+0.20040219-1) unstable; urgency=low * New upstream release. (CVS snapshot on 2004-02-19 at 23:45 +0900) - New user option `smtp-starttls-program' and `smtp-starttls-extra-args'. * debian/control (Depends): Remove `emacs20'. (closes: #232758) -- Tatsuya Kinoshita Sun, 22 Feb 2004 22:18:40 +0900 flim (1:1.14.6+0.20040127-1) unstable; urgency=low * New upstream release. (CVS snapshot on 2004-01-27 at 23:34 +0900) - Apply patches from Gnus. - `quoted-printable-external-decoder-option-to-specify-file' and `base64-external-decoder-option-to-specify-file' accept nil for using stdout. * debian/emacsen-startup: Use mime-codecs' commands instead of metamail's commands. (closes: #212342) * debian/control: Recommends mime-codecs instead of metamail. * sasl.texi: Removed. It will be included in Gnus. * debian/copyright: Revised. -- Tatsuya Kinoshita Wed, 28 Jan 2004 00:30:53 +0900 flim (1:1.14.6-1) unstable; urgency=low * New upstream release. - New option, `mime-header-accept-quoted-encoded-words'. - Add entry for iso-8859-1[45]. * debian/copyright: Further clarification. -- Tatsuya Kinoshita Sun, 21 Dec 2003 00:16:19 +0900 flim (1:1.14.5+0.20031113-1) unstable; urgency=low * New upstream release. (CVS snapshot on 2003-11-13 at 23:20 +0900) - Don't install smtpmail which conflicts with Emacs's smtpmail. - Fix that mel-b-el.elc is not installed. * debian/00patch*: Removed. (merged into the upstream) * debian/emacsen-startup: On XEmacs, use "mmencode" (default value) instead of "mimencode". (The mmencode command is provided by the xemacs21-bin package.) * debian/emacsen-startup: Add comments for the mime-codecs' commands. (relate to Bug#212342) * debian/emacsen-startup: Add configuration for base64-external-decoder-option-to-specify-file, quoted-printable-internal-encoding-limit, and quoted-printable-external-decoder-option-to-specify-file. * debian/rules: Obsolete files are installed in /usr/share/flim instead of the site-lisp directory. * debian/dirs: Add `usr/share/flim'. * debian/control (Build-Depends-Indep): Depend on emacs21 instead of emacs20. * debian/rules: Use emacs21 instead of emacs20. -- Tatsuya Kinoshita Thu, 13 Nov 2003 23:26:01 +0900 flim (1:1.14.5+0.20030430-4) unstable; urgency=low * debian/rules: Don't install smtpmail.el which conflicts with Emacs's smtpmail.el. (This change may prevent gnus conflict) * debian/control (Description): Remove description of gnus conflict. (closes: #208978) * debian/control (Description): Add more information. * Use debian/compat instead of DH_COMPAT. - debian/compat: New file. - debian/rules: Remove `export DH_COMPAT=3'. - debian/control (Build-Depends-Indep): debhelper (>= 3.4.4). * debian/control (Standards-Version): 3.6.0 -> 3.6.1. -- Tatsuya Kinoshita Fri, 12 Sep 2003 00:44:34 +0900 flim (1:1.14.5+0.20030430-3) unstable; urgency=low * FLIM-ELS: Fix that mel-b-el.elc is not installed. (patch from [Wanderlust English:00451], [emacs-mime-en:00104]) * debian/emacsen-install.in: Set *.elc time stamp correctly. * debian/copyright: Add upstream URL for FTP. * debian/control (Standards-Version): 3.5.10 -> 3.6.0. -- Tatsuya Kinoshita Mon, 18 Aug 2003 07:56:23 +0900 flim (1:1.14.5+0.20030430-2) unstable; urgency=low * Revise installation scripts. * Ready for xemacs21-{mule,nomule} flavors. -- Tatsuya Kinoshita Sun, 6 Jul 2003 22:18:50 +0900 flim (1:1.14.5+0.20030430-1) unstable; urgency=low * New upstream release (1.14.5 + patch from cvs.m17n.org, flim-1_14 branch of flim, last modified 2003-04-30, closes: #198869) * Rewrite Info files installation. (closes: #170017) * debian/control: Build-depend on emacs20 instead of emacsen. * debian/control: Use Build-Depends-Indep instead of Build-Depends. * debian/rules: Use binary-indep instead of binary-arch. * debian/rules: Don't use dh_suidregister which is obsolete. * debian/rules: Don't leave install-stamp when `debuild clean'. * debian/copyright: Revised. * debian/control: Prefer emacs21 instead of emacs20. * debian/control: Remove `chaos' from `Suggests:'. * debian/control: Revise `Description:'. * debian/control: Standards-Version: 3.5.2 -> 3.5.10. * debian/env.el: Use prefer-coding-system instead of set-default-coding-systems. * debian/emacsen-startup: Use debian-pkg-add-load-path-item. * debian/prerm: Renamed from debian/postrm. * debian/README.debian: Removed. * Reject Debian patches for FLIM-ELS and mime-en.texi. * Creanup installation scripts. * New maintainer. (with previous maintainer's consent) -- Tatsuya Kinoshita Tue, 1 Jul 2003 22:36:44 +0900 flim (1:1.14.4-1) unstable; urgency=low * New upstream release. * Change Maintainer address to @debian.org -- Takuo KITAME Wed, 23 Oct 2002 14:27:26 +0900 flim (1:1.14.3-10) unstable; urgency=low * fix description (closes: #131414) -- Takuo KITAME Wed, 24 Apr 2002 10:12:19 +0900 flim (1:1.14.3-9) unstable; urgency=low * fix nomule problem. -- Takuo KITAME Fri, 11 Jan 2002 00:30:48 +0900 flim (1:1.14.3-8) unstable; urgency=low * debian/control: - build-depends: - emacs20, + emacsen * debian/rules: - use debian/env.el to make japanese info. -- Takuo KITAME Wed, 19 Dec 2001 11:38:12 +0900 flim (1:1.14.3-7) unstable; urgency=low * remove unnecessary .el (closes: #123574) * fix comment mismatch in 50flim.el (closes: #123582) -- Takuo KITAME Wed, 12 Dec 2001 20:52:06 +0900 flim (1:1.14.3-6) unstable; urgency=low * /etc/emacs/site-start.d/50flim.el as conffile -- Takuo KITAME Tue, 11 Dec 2001 20:21:25 +0900 flim (1:1.14.3-5) unstable; urgency=low * remove conflicts: gnus (currentry, mailcap.el will not be installed) -- Takuo KITAME Fri, 23 Nov 2001 14:53:34 +0900 flim (1:1.14.3-4) unstable; urgency=low * use md5-el.el instead of md5-dl.el on emacs20-dl (closes: #119593) -- Takuo KITAME Sun, 18 Nov 2001 04:26:20 +0900 flim (1:1.14.3-3) unstable; urgency=low * fix compile problem on xemacs21-nomule -- Takuo KITAME Sat, 10 Nov 2001 03:05:18 +0900 flim (1:1.14.3-2) unstable; urgency=low * doesn't support mule2 (closes: #111852) -- Takuo KITAME Wed, 12 Sep 2001 02:28:19 +0900 flim (1:1.14.3-1) unstable; urgency=low * New upstream release * don't install mailcap.el, it's obsolete. (closes: Bug#110224) -- Takuo KITAME Sun, 2 Sep 2001 01:11:58 +0900 flim (1:1.14.2.20010320cvs-1) unstable; urgency=low * New upstream release -- Takuo KITAME Wed, 21 Mar 2001 16:00:46 +0900 flim (1:1.14.2-1) unstable; urgency=low * New upstream release -- Takuo KITAME Tue, 26 Dec 2000 01:49:22 +0900 flim (1:1.14.1-1) unstable; urgency=low * New upstream release -- Takuo KITAME Mon, 25 Dec 2000 12:38:29 +0900 flim (1:1.14.0.20001223cvs-1) unstable; urgency=low * New upstream release -- Takuo KITAME Sun, 24 Dec 2000 02:37:49 +0900 flim (1:1.14.0.20001220cvs-1) unstable; urgency=low * New upstream release -- Takuo KITAME Wed, 20 Dec 2000 17:26:33 +0900 flim (1:1.14.0.20001215cvs-1) unstable; urgency=low * New upstream release -- Takuo KITAME Sat, 16 Dec 2000 13:06:41 +0900 flim (1:1.14.0.20001207cvs-1) unstable; urgency=low * New upstream release -- Takuo KITAME Fri, 8 Dec 2000 00:55:35 +0900 flim (1:1.14.0.20001204cvs-1) unstable; urgency=low * New upstream release -- Takuo KITAME Mon, 4 Dec 2000 22:11:54 +0900 flim (1:1.14.0.20001124cvs-1) unstable; urgency=low * New upstream release -- Takuo KITAME Tue, 28 Nov 2000 23:25:44 +0900 flim (1:1.14.0.20001120cvs-1) unstable; urgency=low * New upstream release -- Takuo KITAME Mon, 20 Nov 2000 19:38:59 +0900 flim (1:1.14.0.20001113cvs-1) unstable; urgency=low * New upstream release -- Takuo KITAME Tue, 14 Nov 2000 01:43:57 +0900 flim (1:1.14.0.20001108cvs-1) unstable; urgency=low * New upstream release (branch flim-1_14) -- Takuo KITAME Wed, 8 Nov 2000 18:24:28 +0900 flim (1:1.14+0.chao.1.14.1-1) unstable; urgency=low * New upstream release (branch chao-1_14) -- Takuo KITAME Mon, 23 Oct 2000 14:48:13 +0900 flim (1:1.12.7-14) frozen unstable; urgency=low * Fixed Dependency problem. emacsen-install needs 'make' command. -- Takuo KITAME Thu, 6 Apr 2000 07:37:41 +0900 flim (1:1.12.7-13) unstable; urgency=low * control: conflicts: gnus * control: Suggests: semi-gnus|wl -- Takuo KITAME Mon, 25 Oct 1999 20:56:52 +0900 flim (1:1.12.7-12) unstable; urgency=low * emacsen-common: modified. -- Takuo KITAME Sun, 24 Oct 1999 10:47:06 +0900 flim (1:1.12.7-11) unstable; urgency=low * emacsen-common: any FLAVOR allowed (except emacs) -- Takuo KITAME Tue, 19 Oct 1999 11:13:18 +0900 flim (1:1.12.7-10) unstable; urgency=low * emacsen-install: compile-stamp check. -- Takuo KITAME Thu, 14 Oct 1999 12:38:01 +0900 flim (1:1.12.7-9) unstable; urgency=low * emacsen-install: a little modified. * control: Standards-Version: 3.0.0 -- Takuo KITAME Wed, 13 Oct 1999 22:19:35 +0900 flim (1:1.12.7-8) unstable; urgency=low * Modified flim-init.el -- Takuo KITAME Wed, 6 Oct 1999 22:44:31 +0900 flim (1:1.12.7-7) unstable; urgency=low * Fixed cannot byte-compile problem for xemacs20. (closes: Bug#45084) -- Takuro KITAME Thu, 16 Sep 1999 18:32:30 +0900 flim (1:1.12.7-6) unstable; urgency=low * Fixed cannot byte-compile problem. (closes: Bug#45084) * FHS compliance. -- Takuro KITAME Wed, 15 Sep 1999 01:26:17 +0900 flim (1:1.12.7-5) unstable; urgency=low * Fixed missing Recommends: ([s|w]emi -> [s|w]emi1.12). * Added Conflicts: tm -- Takuro KITAME Mon, 9 Aug 1999 05:00:10 +0900 flim (1:1.12.7-4) unstable; urgency=low * remove *.el files from FLAVOR/site-lisp/flim after byte-compile. -- Takuro KITAME Sun, 8 Aug 1999 15:42:49 +0900 flim (1:1.12.7-3) unstable; urgency=low * emacsen-{install,remove} scripts modified for xemacs21 -- Takuro KITAME Sun, 20 Jun 1999 22:26:33 +0900 flim (1:1.12.7-2) unstable; urgency=low * Depends: apel(>=9.19) (Bug#39451). -- Takuro KITAME Mon, 14 Jun 1999 19:45:03 +0900 flim (1:1.12.7-1) unstable; urgency=low * New upstream release -- Takuro KITAME Tue, 1 Jun 1999 13:23:21 +0900 flim (1:1.12.6-2) unstable; urgency=low * Install info files. -- Takuro KITAME Thu, 20 May 1999 17:11:11 +0900 flim (1:1.12.6-1) unstable; urgency=low * New upstream release. -- Takuro KITAME Wed, 12 May 1999 03:56:56 +0900 flim (1:1.12.5-5) unstable; urgency=low (high for emacs19) * modified emacsen-install script for emacs19. -- Takuro KITAME Mon, 10 May 1999 16:14:22 +0900 flim (1:1.12.5-4) unstable; urgency=low (high for emacs19) * Work on emacs19 with 'custom'. -- Takuro KITAME Thu, 15 Apr 1999 10:42:26 +0900 flim (1:1.12.5-3) unstable; urgency=low * Byte compile log will be redirect to file. -- Takuro KITAME Tue, 2 Mar 1999 16:11:02 +0900 flim (1:1.12.5-2) unstable; urgency=low * Added (setq quoted-printable-external-decoder '("mimencode" "-q" "-u")) (setq quoted-printable-external-encoder '("mimencode" "-q")) in /etc/emacs/site-start.d/50flim.el -- Takuro KITAME Tue, 16 Feb 1999 10:52:23 +0900 flim (1:1.12.5-1) unstable; urgency=low * New upstream release -- Takuro KITAME Thu, 28 Jan 1999 09:48:48 +0900 flim (1:1.12.4-1) unstable; urgency=low * New upstream release -- Takuro KITAME Mon, 25 Jan 1999 01:31:51 +0900 flim (1:1.12.3-1) unstable; urgency=low * New upstream release -- Takuro KITAME Mon, 25 Jan 1999 00:54:10 +0900 flim (1:1.12.2+19990111cvs-1) unstable; urgency=low * New upstream release. (CVS) -- Takuro KITAME Mon, 11 Jan 1999 13:41:59 +0900 flim (1:1.12.2-2) unstable; urgency=low * modified emacsen install script. -- Takuro KITAME Fri, 11 Dec 1998 22:27:12 +0900 flim (1:1.12.2-1) unstable; urgency=low * New upstream release (Development release Version) -- Takuro KITAME Mon, 16 Nov 1998 20:03:27 +0900 flim (1:1.12.1-1) unstable; urgency=low * New upstream release (Development release Version) -- Takuro KITAME Sat, 7 Nov 1998 13:48:36 +0900 flim (1:1.11.3-1) unstable; urgency=low * New upstream release -- Takuro KITAME Thu, 29 Oct 1998 13:03:52 +0900 flim (1:1.11.2-1) unstable; urgency=low * New upstream release -- Takuro KITAME Tue, 27 Oct 1998 13:24:10 +0900 flim (1:1.11.0-1) unstable; urgency=low * New upstream release * Fixed Bug#JP/572 -- Takuro KITAME Tue, 20 Oct 1998 16:23:11 +0900 flim (1:1.10.5-1) unstable; urgency=low * New upstream release -- Takuro KITAME Thu, 15 Oct 1998 16:54:54 +0900 flim (1:1.9.2-4) unstable; urgency=low * Remove load-path mel in 50flim.el (Bug#JP/556) -- Takuro KITAME Tue, 22 Sep 1998 21:10:02 +0900 flim (1:1.9.2-3) unstable; urgency=low * changed package version 1.9.2-2 => 1:1.9.2-3 -- Takuro KITAME Mon, 21 Sep 1998 21:21:09 +0900 flim (1.9.2-2) unstable; urgency=low * Deleted Provides: mel -- Takuro KITAME Sat, 19 Sep 1998 09:57:36 +0900 flim (1.9.2-1) unstable; urgency=low * New upstream release -- Takuro KITAME Tue, 15 Sep 1998 22:09:26 +0900 flim (1.9.1-1) unstable; urgency=low * New upstream release -- Takuro KITAME Mon, 14 Sep 1998 10:18:23 +0900 flim (1.9.0-1) unstable; urgency=low * New upstream release -- Takuro KITAME Thu, 16 Jul 1998 08:38:56 +0900 flim (1:1.8.0+chao-1) unstable; urgency=low * New upstream release (experimental) -- Takuro KITAME Mon, 13 Jul 1998 18:57:26 +0900 flim (1.8.1-1) unstable; urgency=low * New upstream release -- Takuro KITAME Wed, 8 Jul 1998 09:15:35 +0900 flim (1.8.0-1) unstable; urgency=low * New upstream release -- Takuro KITAME Thu, 2 Jul 1998 16:07:09 +0900 flim (1.6.0-2) unstable; urgency=low * site file changed (52 -> 50) -- Takuro KITAME Wed, 24 Jun 1998 23:03:44 +0900 flim (1.6.0-1) unstable; urgency=low * New upstream release -- Takuro KITAME Wed, 24 Jun 1998 23:03:44 +0900 flim (1.5.0-1) unstable-jp; urgency=low * New upstream release -- Takuro KITAME Wed, 24 Jun 1998 01:44:56 +0900 flim (1.3.0-1) unstable; urgency=low * new upstream version. -- Takuro KITAME Tue, 2 Jun 1998 22:20:07 +0900 flim (1.2.2-1) unstable; urgency=low * new upstream version. -- Takuro KITAME Mon, 18 May 1998 01:40:33 +0900 flim (1.2.1-1) unstable; urgency=low * new upstream version. Original changes follow. * FLIM: Version 1.2.1 (Kamitobaguchi) was released. * mel-q.el (quoted-printable-internal-decode-region): Use 'string-as-multibyte to avoid problem in Emacs 20.3. * mel-u.el: Use mime-temp-directory instead of TMP. -- Takuro KITAME Sun, 10 May 1998 17:51:45 +0900 flim (1.2.0-1) unstable; urgency=low * new upstream version. Original changes follow. * FLIM: Version 1.2.0 (Jūjō) was released. * README.en (What's FLIM): Delete description about std11-parse.el; add description about mailcap.el. * eword-decode.el (eword-decode-encoded-word-error-handler): New variable. (eword-decode-encoded-word-default-error-handler): New function. (eword-decode-encoded-word): Use 'eword-decode-encoded-word-error-handler. * mailcap.el: Require 'mime-def. * mime-def.el (mime-type/subtype-string): New function (moved from semi/mime-parse.el). * std11-parse.el: Abolish std11-parse.el. * FLIM-ELS (flim-modules): Abolish 'std11-parse. * eword-decode.el: Require 'std11 instead of 'std11-parse. * std11.el: Merge std11-parse.el. * mime-def.el (mime-temp-directory): Use 'defcustom. * mel-u.el: Require 'mime-def instead of 'mel. * mime-def.el (mime-temp-directory): New variable (moved from mel.el). * mel.el: Move definition of 'mime-temp-directory to mime-def.el. * mailcap.el (mailcap-format-command): New function. * mailcap.el (mailcap-look-at-mtext): Don't strip quoted character again. -- Takuro KITAME Thu, 7 May 1998 00:56:11 +0900 flim (1.1.0-1) unstable; urgency=low * new upstream version. Original changes follow. * FLIM: Version 1.1.0 (Tōji) was released. * mime-def.el (quoted-printable-hex-chars): New constant. (quoted-printable-octet-regexp): New constant. * mel-q.el, eword-decode.el: Move definition of constant 'quoted-printable-hex-chars and 'quoted-printable-octet-regexp to mime-def.el. * mailcap.el (mailcap-look-at-mtext): Strip quoted character. * mailcap.el (mailcap-look-at-mtext): Fix typo. * FLIM-ELS (flim-modules): Add mailcap. * mailcap.el: New file (copied from SEMI). * eword-decode.el (eword-decode-ignored-field-list): Add `received'. * mel.el (mime-temp-directory): Use TMPDIR, TMP, or TEMP environment variables. -- Takuro KITAME Tue, 5 May 1998 20:37:07 +0900 flim (1.0.1-1) unstable; urgency=low * Initial Release. -- Takuro KITAME Sun, 19 Apr 1998 23:50:08 +0900 debian/emacsen-startup0000644000000000000000000000133212142435320012217 0ustar ;;; 50flim.el --- Debian flim startup file -*-mode: emacs-lisp;-*- (let* ((pkg "flim") (flavor-name (if (boundp 'debian-emacs-flavor) (symbol-name debian-emacs-flavor) "emacs")) (pkg-inst (concat "/usr/lib/emacsen-common/packages/install/" pkg)) (elc-dir (concat "/usr/share/" flavor-name "/site-lisp/" pkg))) (when (and (file-exists-p elc-dir) (file-exists-p pkg-inst)) (when (and (not (featurep 'mule)) (file-exists-p (concat elc-dir "/nomule"))) (setq elc-dir (concat elc-dir "/nomule"))) (if (fboundp 'debian-pkg-add-load-path-item) (debian-pkg-add-load-path-item elc-dir) (setq load-path (cons elc-dir load-path))) ;; )) ;;; 50flim.el ends here