Sync up with SEMI 1.13.1 and release. wemi-199901251900 wemi-1_13_1
authoryamaoka <yamaoka>
Sun, 24 Jan 1999 22:26:19 +0000 (22:26 +0000)
committeryamaoka <yamaoka>
Sun, 24 Jan 1999 22:26:19 +0000 (22:26 +0000)
13 files changed:
ChangeLog
Makefile
NEWS
README.en
README.ja [deleted file]
TODO
VERSION
mime-edit.el
mime-pgp.el
mime-play.el
mime-view.el
mime-w3.el
semi-def.el

index c90d5a0..9b4c546 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,73 @@
+1999-01-24  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * WEMI: Version 1.13.1 (Abekawa) released.
+
+1999-01-24  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * TODO (Don't expect raw-buffer): New item.
+       (lazy generating of situations from mime-entity information): New
+       item.
+
+       * TODO (Don't use filter-model): finished.
+
+       * TODO (multipart/related support): virtually finished.
+
+1999-01-24  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * Delete README.ja until it is fixed.
+
+       * mime-w3.el (url-cid): Use `mime-insert-entity-content'.
+
+       * README.ja, README.en (Required environment): Require FLIM
+       1.12.4.
+
+       * mime-w3.el (mime-w3-message-structure): New variable.
+       (mime-preview-text/html): Set up `mime-w3-message-structure'.
+       (url-cid): New function; set up as registered-protocol of url.
+
+1999-01-23  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * README.ja: Modify title.
+
+       * README.ja: Add notice about translation.
+
+       * README.ja, README.en (Required environment): Require FLIM
+       1.12.3; delete description about enriched.el because anything
+       older than Emacs 19.28 are not supported.
+
+       * mime-pgp.el (mime-view-application/pgp): Don't expect called in
+       raw-buffer; use `mime-insert-entity'.
+
+       * mime-play.el (mime-view-message/rfc822): Use
+       `mime-insert-entity'.
+
+1999-01-22  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * NEWS (Function `mime-play-entity'): Sync with latest
+       specification.
+
+       * mime-pgp.el (mime-verify-multipart/signed): Modify for interface
+       change of `mime-play-entity'.
+
+       * mime-play.el (mime-preview-play-current-entity): Modify for
+       interface change of `mime-play-entity'.
+       (mime-play-entity): Change interface; abolish optional arguments
+       `mode' and `ignore-example'.
+       (mime-detect-content): Modify for interface change of
+       `mime-play-entity'.
+
+       * mime-view.el (mime-entity-situation): Add new optional argument
+       `situation'; it is preferred to attributes of entity.
+
+1999-01-22  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * mime-view.el (mime-view-version): Don't use `eval-when-compile'
+       to avoid to break product-code-name.
+
+       * mime-edit.el (mime-edit-version): Don't use `eval-when-compile'
+       to avoid to break product-code-name.
+
+\f
 1999-01-21  Katsumi Yamaoka   <yamaoka@jpl.org>
 
        * WEMI: Version 1.13.0 (Shizuoka) released.
index 2ce822d..ea38752 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
 
 PACKAGE = wemi
 API    = 1.13
-RELEASE = 0
+RELEASE = 1
 
 TAR    = tar
 RM     = /bin/rm -f
diff --git a/NEWS b/NEWS
index c2301b9..ad678eb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,8 +10,10 @@ and changed interface.
 
 Current interface is:
 
-    mime-play-entity (entity &optional situation mode
-                            ignore-examples ignored-method)
+    mime-play-entity (entity &optional situation ignored-method)
+
+Please use `situation' if you would like to specify `mode' and
+`ignore-examples'.
 
 
 ** Now acting-method must not expect to run in raw-buffer
index 7efa634..ef81d3f 100644 (file)
--- a/README.en
+++ b/README.en
@@ -44,7 +44,7 @@ Required environment
   19.14.  WEMI also does not support Emacs 19.29 to 19.34, XEmacs
   19.15 or XEmacs 20.2 without mule, but WEMI may work with them.
 
-  SEMI requires APEL (9.11 or later) and FLIM (1.12.0 or later)
+  SEMI requires APEL (9.11 or later) and FLIM (1.12.4 or later)
   package.  Please install them before installing it.  APEL package is
   available at:
 
@@ -56,10 +56,6 @@ Required environment
 
   PGP/MIME and application/pgp require mailcrypt or tiny-pgp package.
 
-  The package enriched.el is required to compose text/enriched, so if
-  you use Emacs anything 19.28 or older (including official version of
-  MULE 2.3), WYSIWYG composing for text/enriched is not available.
-
 
 Installation
 ============
diff --git a/README.ja b/README.ja
deleted file mode 100644 (file)
index d313b38..0000000
--- a/README.ja
+++ /dev/null
@@ -1,258 +0,0 @@
-[SEMI \e$B$N3K%Q%C%1!<%8$N\e(B README (\e$BF|K\8lHG\e(B)]
-
-SEMI \e$B$H$O!)\e(B
-============
-
-  SEMI \e$B$O\e(B GNU Emacs \e$B$K\e(B MIME \e$B5!G=$rDs6!$9$k%i%$%V%i%j!<$G$9!#\e(BMIME  \e$B$O%a%C\e(B
-  \e$B%;!<%8$K\e(B (ASCII) plain text \e$B0J30$NFbMF$d%X%C%@!<$r4^$a$i$l$k$h$&$K$9\e(B
-  \e$B$k$?$a$KDs0F$5$l$F$$$k\e(B internet standard \e$B$G$9!#\e(B
-
-       RFC 2045 : Internet Message Bodies
-       RFC 2046 : Media Types
-       RFC 2047 : Message Header Extensions
-       RFC 2048 : MIME Registration Procedures
-       RFC 2049 : MIME Conformance
-
-  SEMI \e$B$O0J2<$N5!G=$,$"$j$^$9!#\e(B
-
-       - MIME \e$B%a%C%;!<%81\Mw\e(B (mime-view-mode) (RFC 2045 .. 2049)
-       - MIME \e$B%a%C%;!<%8:n@.\e(B (mime-edit-mode) (RFC 2045 .. 2049)
-
-  MIME \e$B%a%C%;!<%81\Mw$H:n@.$O0J2<$N5!G=$bDs6!$7$F$$$^$9\e(B:
-
-       - Content-Disposition \e$B%U%#!<%k%I$K$h$k%U%!%$%kL>$N07$$\e(B (RFC
-       - 1806)
-       - PGP/MIME \e$B0BA4$J\e(B Multipart (RFC 2015)
-       - application/pgp (draft-kazu-pgp-mime-00.txt; obsolete)
-       - text/richtext (RFC 1521; obsolete; \e$B1\Mw$N$_\e(B)
-       - text/enriched (RFC 1896)
-       - mailcap \e$B$K$h$k30ItJ}K!@_Dj\e(B (RFC 1524)
-
-  \e$B$3$N%Q%C%1!<%8$O\e(B MUA \e$B$N$?$a$N\e(B MIME \e$B3HD%$r4^$s$G$$$J$$$3$H$KCm0U$7$F\e(B
-  \e$B$/$@$5$$!#$=$l$i$OJL$N%Q%C%1!<%8$H$7$F%j%j!<%9$5$l$^$9!#\e(B
-
-
-\e$BI,MW$J4D6-\e(B
-==========
-
-  SEMI \e$B$O\e(B mule \e$B5!G=$D$-$N\e(B XEmacs 20.2 \e$B0J9_$H\e(B Emacs 20 \e$B$r%5%]!<%H$7$^$9!#\e(B
-
-  SEMI \e$B$O\e(B Emacs 19.28 \e$B$d\e(B XEmacs 19.14 \e$B0JA0$O%5%]!<%H$7$^$;$s!#\e(BSEMI \e$B$O\e(B
-  Emacs 19.29 \e$B$+$i\e(B Emacs 19.34\e$B!"\e(BXEmacs 19.15 \e$B$+$i\e(B mule \e$B5!G=$N$J$$\e(B
-  XEmacs 20.2 \e$B$^$G$O%5%]!<%H$7$^$;$s$,!"\e(BSEMI \e$B$O$=$l$i$GF0:n$9$k$+$b$7\e(B
-  \e$B$l$^$;$s!#\e(B
-
-  SEMI \e$B$O\e(B APEL (9.11 \e$B0J9_\e(B) \e$B$H\e(B FLIM (1.12.0 \e$B0J9_\e(B) \e$B$rI,MW$H$7$^$9!#\e(BSEMI 
-  \e$B$r%$%s%9%H!<%k$9$kA0$K$^$:$=$l$i$r%$%s%9%H!<%k$7$F$/$@$5$$!#\e(BAPEL \e$B%Q%C\e(B
-  \e$B%1!<%8$O0J2<$N$H$3$m$G<hF@2DG=$G$9\e(B:
-
-       ftp://ftp.jaist.ac.jp/pub/GNU/elisp/apel/
-
-  FLIM \e$B%Q%C%1!<%8$O0J2<$N$H$3$m$G<hF@2DG=$G$9!#\e(B
-
-       ftp://ftp.jaist.ac.jp/pub/GNU/elisp/flim/
-
-  PGP/MIME \e$B$H\e(B application/pgp \e$B$O\e(B mailcrypt \e$B$+\e(B tiny-pgp \e$B%Q%C%1!<%8$rI,\e(B
-  \e$BMW$H$7$^$9!#\e(B
-
-  \e$B%Q%C%1!<%8\e(B enriched.el \e$B$O\e(B text/enriched \e$B$r:n@.$9$k$?$a$KI,MW$G$9$N$G!"\e(B
-  Emacs 19.28 \e$B0JA0\e(B (\e$B8x<0HG$N\e(B MULE 2.3 \e$B$r4^$`\e(B) \e$B$G$O!"\e(Btext/enriched \e$B$N\e(B
-  WYSIWYG \e$B:n@.$O;HMQ$G$-$^$;$s!#\e(B
-
-\e$B%$%s%9%H!<%k\e(B
-============
-
-(a) \e$BE83+$7$?>l=j$G<B9T\e(B
-
-  \e$BB>$N%G%#%l%/%H%j!<$K%$%s%9%H!<%k$7$?$/$J$$$J$i!"0J2<$N$3$H$@$1$r$d$C\e(B
-  \e$B$F$/$@$5$$\e(B:
-
-       % make
-
-  emacs \e$B$N%3%^%s%IL>$r;XDj$9$k$3$H$,$G$-$^$9!#Nc$($P!"\e(B
-
-       % make EMACS=xemacs
-
-  `EMACS=...' \e$B$,>JN,$5$l$k$H!"\e(BEmacs=emacs \e$B$,;H$o$l$^$9!#\e(B
-
-(b) make install
-
-  \e$BB>$N%G%#%l%/%H%j!<$K%$%s%9%H!<%k$7$?$$$J$i!"0J2<$N$3$H$r$7$F$/$@$5$$\e(B:
-
-       % make install
-
-  emacs \e$B$N%3%^%s%IL>$r;XDj$9$k$3$H$,$G$-$^$9!#Nc$($P!"\e(B
-
-       % make install EMACS=xemacs
-
-  `EMACS=...' \e$B$,>JN,$5$l$k$H!"\e(BEmacs=emacs \e$B$,;H$o$l$^$9!#\e(B
-
-  Emacs Lisp \e$B%W%m%0%i%`$H%7%'%k%9%/%j%W%H$N$?$a$N%G%#%l%/%H%j!<LZ$N@\\e(B
-  \e$BF,<-\e(B (prefix) \e$B$r;XDj$9$k$3$H$,$G$-$^$9!#Nc$($P!"\e(B
-
-       % make install PREFIX=~/
-
-  `PREFIX=...' \e$B$,>JN,$5$l$k$H!";XDj$5$l$?\e(B emacs \e$B%3%^%s%I$N%G%#%l%/%H%j!<\e(B
-  \e$BLZ$N@\F,<-$,;HMQ$5$l$^$9\e(B (\e$B$*$=$i$/\e(B /usr/local \e$B$G$9\e(B)\e$B!#\e(B
-
-  \e$BNc$($P!"\e(BPREFIX=/usr/local \e$B$H\e(B Emacs 19.34 \e$B$,;XDj$5$l$l$P!"0J2<$N%G%#\e(B
-  \e$B%l%/%H%j!<LZ$,:n@.$5$l$^$9!#\e(B
-
-       /usr/local/share/emacs/20.2/site-lisp/  --- emu
-       /usr/local/share/emacs/site-lisp/apel/  --- APEL
-       /usr/local/share/emacs/site-lisp/flim/   --- FLIM
-       /usr/local/share/emacs/site-lisp/semi/   --- SEMI
-
-  site-lisp \e$B%G%#%l%/%H%j!<$r;XDj$9$k$3$H$,$G$-$^$9!#Nc$($P!"\e(B:
-
-    % make install LISPDIR=~/share/emacs/lisp
-
-  `LISPDIR=...' \e$B$,>JN,$5$l$k$H!";XDj$5$l$?\e(B emacs \e$B$N%3%^%s%I$N\e(B
-  site-lisp \e$B%G%#%l%/%H%j!<$,;H$o$l$^$9\e(B (\e$B$*$=$i$/\e(B
-  /usr/local/share/emacs/site-lisp \e$B$+\e(B /usr/local/lib/xemacs/site-lisp)
-  \e$B$G$9!#\e(B
-
-  emu \e$B%b%8%e!<%k\e(B (APEL \e$B%Q%C%1!<%8$KF~$C$F$$$^$9\e(B) \e$B$,I8=`$G$J$$%G%#%l%/\e(B
-  \e$B%H%j!<$K%$%s%9%H!<%k$5$l$F$$$k>l9g$O!"$=$l$i$N$"$k>l=j$r;XDj$9$kI,MW\e(B
-  \e$B$,$"$j$^$9!#Nc$($P!"\e(B:
-
-    % make install VERSION_SPECIFIC_LISPDIR=~/elisp
-
-(c) XEmacs \e$B$N%Q%C%1!<%8$H$7$F%$%s%9%H!<%k$9$k\e(B
-
-  XEmacs \e$B$N%Q%C%1!<%8%G%#%l%/%H%j!<$K%$%s%9%H!<%k$9$k>l9g$O!"0J2<$N$3\e(B
-  \e$B$H$r$7$F$/$@$5$$\e(B:
-
-       % make install-package
-
-  emacs \e$B$N%3%^%s%IL>$r;XDj$9$k$3$H$,$G$-$^$9!#Nc$($P!"\e(B
-
-       % make install-package XEMACS=xemacs-21
-
-  `XEMACS=...' \e$B$,>JN,$5$l$k$H!"\e(BXEMACS=xemacs \e$B$,;HMQ$5$l$^$9!#\e(B
-
-  \e$B%Q%C%1!<%8$N%G%#%l%/%H%j!<$r;XDj$9$k$3$H$,$G$-$^$9!#Nc$($P\e(B:
-
-       % make install PACKAGEDIR=~/.xemacs
-
-  `PACKAGEDIR=...' \e$B$,>JN,$5$l$k$H!"B8:_$9$k%Q%C%1!<%8%G%#%l%/%H%j!<$N\e(B
-  \e$B:G=i$N$b$N$,;H$o$l$^$9!#\e(B
-
-  XEmacs \e$B$N%Q%C%1!<%8%7%9%F%`$O\e(B XEmacs 21.0 \e$B$+$=$l0J9_$rMW5a$9$k$3$H$K\e(B
-  \e$BCm0U$7$F$/$@$5$$!#\e(B
-
-(a,b,c)
-
-  \e$BB>$N>JN,2DG=$J@_Dj$r%U%!%$%k\e(B ${archive}/SEMI-CFG \e$B$rJT=8$9$k$3$H$G;X\e(B
-  \e$BDj$G$-$^$9!#\e(B${archive}/README.ja \e$B$H\e(B ${archive}/SEMI/CFG \e$B$N%3%a%s%H$r\e(B
-  \e$BFI$s$G$/$@$5$$!#\e(B
-
-\e$B=i4|2=\e(B
-==============
-
-(a) load-path
-
-  Emacs \e$B$+\e(B Mule \e$B$r;H$C$F$$$k$J$i!"\e(BFLIM \e$B$N%G%#%l%/%H%j!<$r\e(B
-  load-path \e$B$KDI2C$7$F$/$@$5$$!#=i4|@_Dj$G%$%s%9%H!<%k$7$?$J$i!"<!$N$h\e(B
-  \e$B$&$K\e(B subdirs.el \e$B$r=q$/$3$H$,$G$-$^$9!#Nc\e(B:
-
-  --------------------------------------------------------------------
-  (normal-top-level-add-to-load-path
-   '("apel" "flim" "semi"))
-  --------------------------------------------------------------------
-
-  XEmacs \e$B$r;H$C$F$$$k$J$i!"\e(Bload-path \e$B$r@_Dj$9$kI,MW$O$"$j$^$;$s!#\e(B
-
-(b) mime-setup
-
-  \e$B0J2<$N$b$N$r\e(B ~/.emacs \e$B$KF~$l$F$/$@$5$$!#\e(B
-
-       (load "mime-setup")
-
-
-\e$B@bL@J8=q\e(B
-=============
-
-  \e$B=i$a$K!"\e(B${archive}/README.en \e$B$rFI$s$G$/$@$5$$!#\e(B
-
-  RFC 822, 1524, 1806, 1847, 1896, 2015, 2045, 2046, 2047, 2048, 2049
-  \e$B$O\e(B anonymous ftp \e$B$G0J2<$N$H$3$m$+$i<hF@2DG=$G$9!#\e(B
-
-       ftp://ftp.merit.edu/internet/documents/rfc/
-
-
-\e$B%a!<%j%s%0%j%9%H\e(B
-===========
-
-  \e$B%P%0Js9p$d2~A1$NDs0F$r=q$$$?$H$-$O!"@'Hs\e(B tm \e$B%a!<%j%s%0%j%9%H$KAw$C$F\e(B
-  \e$B$/$@$5$$\e(B:
-
-       bug-tm-en@chamonix.jaist.ac.jp  (\e$B1Q8l\e(B)
-       bug-tm-ja@chamonix.jaist.ac.jp  (\e$BF|K\8l\e(B)
-
-  tm ML \e$B$rDL$7$F!"\e(BSEMI\e$B$N%P%0$rJs9p$7$?$j!"\e(BSEMI \e$B$N:G?7$N%j%j!<%9$r<hF@\e(B
-  \e$B$7$?$j!"\e(BSEMI \e$B$N>-Mh$N3HD%$N5DO@$r$7$?$j$9$k$3$H$,$G$-$^$9!#\e(Btm ML \e$B$K\e(B
-  \e$B;22C$9$k$K$O!"6u$NEE;R%a!<%k$r\e(B
-
-       tm-en-help@chamonix.jaist.ac.jp (\e$B1Q8l\e(B)
-       tm-ja-help@chamonix.jaist.ac.jp (\e$BF|K\8l\e(B)
-
-  \e$B$KAw$C$F$/$@$5$$!#\e(B
-
-  morioka@jaist.ac.jp \e$B$N$h$&$J!":n<T$KD>@\%a!<%k$rAw$i$J$$$h$&$KCm0U$7\e(B
-  \e$B$F$/$@$5$$!#$=$l$O!"H/@8$7$?LdBj$OB>$N4D6-$G$b5/$3$C$F$$$k$O$:$@$+$i\e(B
-  \e$B$G$9\e(B (\e$B$b$7$=$&$G$J$1$l$P!"$=$l$O@_Dj$NLdBj$G!"\e(BSEMI \e$B$N%P%0$G$O$"$j$^\e(B
-  \e$B$;$s\e(B)\e$B!#\e(B tm \e$B%a!<%j%s%0%j%9%H$G5DO@$9$Y$-$G$9!#$H$K$+$/!":n<T$X$ND>@\\e(B
-  \e$B$N%a!<%k$OH?1~$,$J$$$+$b$7$l$^$;$s!#%a!<%k$O\e(B tm \e$B%a!<%j%s%0%j%9%H$XAw$C\e(B
-  \e$B$F$/$@$5$$!#\e(B
-
-
-CVS \e$B$K$h$k3+H/\e(B
-=====================
-
-  CVS \e$B$K$h$k3+H/$K;22C$7$?$$$H$-$O!"%"%+%&%s%HL>$H\e(B UNIX \e$BMM<0$G0E9f2=$5\e(B
-  \e$B$l$?%Q%9%o!<%I$r\e(B
-
-       cvs@chamonix.jaist.ac.jp
-
-  \e$B$KAw$C$F$/$@$5$$!#3+H/$K;22C$5$l$k$3$H$r4|BT$7$F$$$^$9!#\e(B
-
-
-\e$B:n<T\e(B
-=======
-
-\e$B:,K\ItJ,$N:n<T\e(B
-
-    MORIOKA Tomohiko <morioka@jaist.ac.jp>
-       (the author of mime-view and various parts of SEMI)
-    UMEDA Masanobu <umerin@mse.kyutech.ac.jp>
-       (the author of mime.el of emacs-mime-tools.  mime.el is the
-       origin of mime-edit.el of SEMI)
-
-\e$BB>$N:n<T\e(B
-
-    Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
-       (a major author of signature.el and a lot of codes)
-    MASUTANI Yasuhiro <masutani@me.es.osaka-u.ac.jp>
-       (anonymous ftp codes of mime-play.el)
-    OKABE Yasuo <okabe@kudpc.kyoto-u.ac.jp>
-       (a major author of mime-partial.el and signature.el)
-
-    Steinar Bang <sb@metis.no>
-    Steven L. Baur <steve@miranova.com>
-    Kevin Broadey <KevinB@bartley.demon.co.uk>
-    Alastair Burt <burt@dfki.uni-kl.de>
-    Eric Ding <ericding@San-Jose.ate.slb.com>
-    Thierry Emery <Thierry.Emery@aar.alcatel-alsthom.fr>
-    Simon Josefsson <jas@pdc.kth.se>
-    Jens Lautenbacher <jtl@tkm.physik.uni-karlsruhe.de>
-    Carsten Leonhardt <leo@arioch.tng.oche.de>
-    Pekka Marjola <marjola@bilbo.ntc.nokia.com>
-    Hisashi Miyashita <himi@bird.scphys.kyoto-u.ac.jp>
-    Kazuhiro Ohta <ohta@ele.cst.nihon-u.ac.jp>
-    Alexandre Oliva <oliva@dcc.unicamp.br>
-    Fran\e,Ag\e(Bois Pinard <pinard@iro.umontreal.ca>
-    Artur Pioro <artur@flugor.if.uj.edu.pl>
-    Dan Rich <drich@morpheus.corp.sgi.com>
-        (contribute to evolve mime-image.el with XEmacs)
-    Katsumi Yamaoka <yamaoka@jpl.org>
diff --git a/TODO b/TODO
index 4a051ff..4be8a0e 100644 (file)
--- a/TODO
+++ b/TODO
@@ -5,48 +5,9 @@
 
 ** dynamic configuration for 'mime-preview-condition
 
-** multipart/related support
+** Don't expect raw-buffer
 
-** Don't use filter-model
-
-  tomo (major developer of SEMI) and akr (major developer of
-FLIM-FLAM) discussed about Emacs 20.3 problem related with SEMI and
-FLIM.  They found essential problem with Emacs 20.3 are:
-
-  - Emacs 20.3 separates string-type to unibyte-string and
-    multibyte-string.  Emacs 20.3 has enough APIs to treat them.
-
-  - Buffer has mode about interpretation of contents.  Each mode is
-    designed to save semantics as characters.  Namely buffer contains
-    unibyte-characters or multibyte-characters.  One buffer can not
-    contain both representations.
-
-  - {decode|encode}-coding-{region|string} run in byte world.  So it
-    is not harmonized with other API.
-
-  - It seems easy to write code in one mode or one world
-    (unibyte-string or multibyte-string).  However it seems not easy
-    to write inter-mode program, such as SEMI.
-
-  - Byte <-> byte conversion, such as base64, quoted-printable, must
-    be run only with unibyte-mode.
-
-  - Byte <-> character conversion, such as
-    {decode|encode}-coding-region, should not be defined in single
-    buffer.  Instead of them, decoder should read from unibyte buffer
-    and output to multibyte buffer.  Similarly, encoder should read
-    from multibyte buffer and output to unibyte buffer.
-    `insert-buffer-substring' like API may be suitable.  Anyway Emacs
-    introduces multiple representations, so it should be redesigned
-    based on multiple representation world model.
-
-  Anyway FLIM should introduce new APIs based on inter-representation
-world model.  Conventional APIs should be implemented based on new
-APIs.
-
-  SEMI should abolish filter model and introduce new methods to
-display inline data.  These methods should use new FLIM APIs based on
-inter-representation world model.
+** lazy generating of situations from mime-entity information
 
 
 * MIME-Edit
diff --git a/VERSION b/VERSION
index f6146b0..caacd72 100644 (file)
--- a/VERSION
+++ b/VERSION
 1.12.0 Nishi-Kanazawa          \e$(B@>6bBt\e(B           ; <=> \e$(BKLN&E4F;\e(B \e$(B?7@>6bBt\e(B
 1.12.1 [JR] Nonoichi           [JR] \e$(BLn!9;T\e(B
 1.13.0 Matt\e-Dò\e-A                     \e$(B>>G$\e(B
+1.13.1 Kaga-Kasama             \e$(B2C2l3^4V\e(B
+------ Mikawa                  \e$(BH~@n\e(B
+------ Komaiko                 \e$(B>.Iq;R\e(B
+------ Terai                   \e$(B;{0f\e(B
+------ Meih\e-Dò\e-A                     \e$(BL@Jv\e(B
+------ Komatsu                 \e$(B>.>>\e(B
 :      :                       :
 -------        Tsuruga                 \e$(BFX2l\e(B             ; = JR \e$(B>.IM@~\e(B
 -------        Shin-Hikida             \e$(B?7I%ED\e(B
 1.12.0 Shimizu                 \e$(B@6?e\e(B
 1.12.1 Kusanagi                \e$(BApFe\e(B
 1.13.0 Shizuoka                \e$(B@E2,\e(B
------- Abekawa                 \e$(B0BG\@n\e(B
+1.13.1 Abekawa                 \e$(B0BG\@n\e(B
 ------ Mochimune               \e$(BMQ=!\e(B
 ------ Yaizu                   \e$(B>FDE\e(B
 ------ Nishi-Yaizu             \e$(B@>>FDE\e(B
index 89b4655..a5be4fe 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mime-edit.el --- Simple MIME Composer for GNU Emacs
 
-;; Copyright (C) 1993,1994,1995,1996,1997,1998 Free Software Foundation, Inc.
+;; Copyright (C) 1993,94,95,96,97,98,99 Free Software Foundation, Inc.
 
 ;; Author: UMEDA Masanobu <umerin@mse.kyutech.ac.jp>
 ;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
 
 (eval-and-compile
   (defconst mime-edit-version
-    (eval-when-compile
-      (concat
-       (mime-product-name mime-user-interface-product) " "
-       (mapconcat #'number-to-string
-                 (mime-product-version mime-user-interface-product) ".")
-       " - \"" (mime-product-code-name mime-user-interface-product) "\"")))
-  )
+    (concat
+     (mime-product-name mime-user-interface-product) " "
+     (mapconcat #'number-to-string
+               (mime-product-version mime-user-interface-product) ".")
+     " - \"" (mime-product-code-name mime-user-interface-product) "\"")))
 
 
 ;;; @ variables
index 6bc1c13..fd0203a 100644 (file)
@@ -54,8 +54,7 @@
   "Internal method to verify multipart/signed."
   (mime-play-entity
    (nth 1 (mime-entity-children entity)) ; entity-info of signature
-   nil
-   (cdr (assq 'mode situation)) ; play-mode
+   (list (assq 'mode situation)) ; play-mode
    ))
 
 
 ;;; It is based on draft-kazu-pgp-mime-00.txt (PGP-kazu).
 
 (defun mime-view-application/pgp (entity situation)
-  (let* ((p-win (or (get-buffer-window mime-preview-buffer)
+  (let* ((p-win (or (get-buffer-window (current-buffer))
                    (get-largest-window)))
         (new-name
          (format "%s-%s" (buffer-name) (mime-entity-number entity)))
-        (mother mime-preview-buffer)
+        (mother (current-buffer))
         representation-type)
     (set-buffer (get-buffer-create new-name))
     (erase-buffer)
-    (insert-buffer-substring (mime-entity-buffer entity)
-                            (mime-entity-point-min entity)
-                            (mime-entity-point-max entity))
+    (mime-insert-entity entity)
     (cond ((progn
             (goto-char (point-min))
             (re-search-forward "^-+BEGIN PGP SIGNED MESSAGE-+$" nil t))
index 6a2fc1a..a78389d 100644 (file)
@@ -124,8 +124,13 @@ If MODE is specified, play as it.  Default MODE is \"play\"."
   (interactive "P")
   (let ((entity (get-text-property (point) 'mime-view-entity)))
     (if entity
-       (mime-play-entity entity nil (or mode "play") ignore-examples)
-      )))
+       (let ((situation (list (cons 'mode (or mode "play")))))
+         (if ignore-examples
+             (setq situation
+                   (cons (cons 'ignore-examples ignore-examples)
+                         situation)))
+         (mime-play-entity entity situation)
+         ))))
 
 (defun mime-sort-situation (situation)
   (sort situation
@@ -193,29 +198,19 @@ If MODE is specified, play as it.  Default MODE is \"play\"."
     (cons match example)
     ))
 
-(defun mime-play-entity (entity &optional situation mode
-                               ignore-examples ignored-method)
+(defun mime-play-entity (entity &optional situation ignored-method)
   "Play entity specified by ENTITY.
 It decodes the entity to call internal or external method.  The method
 is selected from variable `mime-acting-condition'.  If MODE is
 specified, play as it.  Default MODE is \"play\"."
   (let (method ret)
-    (or situation
-       (setq situation (mime-entity-situation entity)))
-    (if mode
-       (setq situation (cons (cons 'mode mode) situation))
-      )
-    (if ignore-examples
-       (or (assq 'ignore-examples situation)
-           (setq situation
-                 (cons (cons 'ignore-examples ignore-examples) situation)))
-      )
     (setq ret
          (mime-delq-null-situation
-          (ctree-find-calist mime-acting-condition situation
+          (ctree-find-calist mime-acting-condition
+                             (mime-entity-situation entity situation)
                              mime-view-find-every-acting-situation)
           'method ignored-method))
-    (or ignore-examples
+    (or (assq 'ignore-examples situation)
        (if (cdr ret)
            (let ((rest ret)
                  (max-score 0)
@@ -475,8 +470,6 @@ SUBTYPE is symbol to indicate subtype of media-type.")
                    (put-alist 'subtype subtype
                               (del-alist 'method
                                          (copy-alist situation))))
-        nil
-        (cdr (assq 'ignore-examples situation))
         'mime-detect-content)
       ))
   )
@@ -504,9 +497,7 @@ It is registered to variable `mime-preview-quitting-method-alist'."
         (children (car (mime-entity-children entity))))
     (set-buffer (get-buffer-create new-name))
     (erase-buffer)
-    (insert-buffer-substring (mime-entity-buffer children)
-                            (mime-entity-point-min children)
-                            (mime-entity-point-max children))
+    (mime-insert-entity children)
     (setq mime-message-structure children)
     (setq major-mode 'mime-show-message-mode)
     (mime-view-buffer (current-buffer) nil mother
index 1d929c0..b59a27c 100644 (file)
 ;;;
 
 (defconst mime-view-version
-  (eval-when-compile
-    (concat (mime-product-name mime-user-interface-product) " MIME-View "
-           (mapconcat #'number-to-string
-                      (mime-product-version mime-user-interface-product) ".")
-           " (" (mime-product-code-name mime-user-interface-product) ")")))
+  (concat (mime-product-name mime-user-interface-product) " MIME-View "
+         (mapconcat #'number-to-string
+                    (mime-product-version mime-user-interface-product) ".")
+         " (" (mime-product-code-name mime-user-interface-product) ")"))
 
 
 ;;; @ variables
@@ -140,37 +139,87 @@ mother-buffer."
 ;;; @ entity information
 ;;;
 
-(defun mime-entity-situation (entity)
+(defun mime-entity-situation (entity &optional situation)
   "Return situation of ENTITY."
-  (append (or (mime-entity-content-type entity)
-             (make-mime-content-type 'text 'plain))
-         (let ((d (mime-entity-content-disposition entity)))
-           (cons (cons 'disposition-type
-                       (mime-content-disposition-type d))
-                 (mapcar (function
-                          (lambda (param)
-                            (let ((name (car param)))
-                              (cons (cond ((string= name "filename")
-                                           'filename)
-                                          ((string= name "creation-date")
-                                           'creation-date)
-                                          ((string= name "modification-date")
-                                           'modification-date)
-                                          ((string= name "read-date")
-                                           'read-date)
-                                          ((string= name "size")
-                                           'size)
-                                          (t (cons 'disposition (car param))))
-                                    (cdr param)))))
-                         (mime-content-disposition-parameters d))
-                 ))
-         (list (cons 'encoding (mime-entity-encoding entity))
-               (cons 'major-mode
-                     (save-excursion
-                       (set-buffer (mime-entity-buffer entity))
-                       major-mode)))
-         ))
+  (let (rest param name)
+    ;; Content-Type
+    (unless (assq 'type situation)
+      (setq rest (or (mime-entity-content-type entity)
+                    (make-mime-content-type 'text 'plain))
+           situation (cons (car rest) situation)
+           rest (cdr rest))
+      )
+    (unless (assq 'subtype situation)
+      (or rest
+         (setq rest (or (cdr (mime-entity-content-type entity))
+                        '((subtype . plain)))))
+      (setq situation (cons (car rest) situation)
+           rest (cdr rest))
+      )
+    (while rest
+      (setq param (car rest))
+      (or (assoc (car param) situation)
+         (setq situation (cons param situation)))
+      (setq rest (cdr rest)))
+    
+    ;; Content-Disposition
+    (setq rest nil)
+    (unless (assq 'disposition-type situation)
+      (setq rest (mime-entity-content-disposition entity))
+      (if rest
+         (setq situation (cons (cons 'disposition-type
+                                     (mime-content-disposition-type rest))
+                               situation)
+               rest (mime-content-disposition-parameters rest))
+       ))
+    (while rest
+      (setq param (car rest)
+           name (car param))
+      (if (cond ((string= name "filename")
+                (if (assq 'filename situation)
+                    nil
+                  (setq name 'filename)))
+               ((string= name "creation-date")
+                (if (assq 'creation-date situation)
+                    nil
+                  (setq name 'creation-date)))
+               ((string= name "modification-date")
+                (if (assq 'modification-date situation)
+                    nil
+                  (setq name 'modification-date)))
+               ((string= name "read-date")
+                (if (assq 'read-date situation)
+                    nil
+                  (setq name 'read-date)))
+               ((string= name "size")
+                (if (assq 'size situation)
+                    nil
+                  (setq name 'size)))
+               (t (setq name (cons 'disposition name))
+                  (if (assoc name situation)
+                      nil
+                    name)))
+         (setq situation
+               (cons (cons name (cdr param))
+                     situation)))
+      (setq rest (cdr rest)))
+    
+    ;; Content-Transfer-Encoding
+    (or (assq 'encoding situation)
+       (setq situation
+             (cons (cons 'encoding (or (mime-entity-encoding entity)
+                                       "7bit"))
+                   situation)))
 
+    ;; major-mode
+    (or (assq 'major-mode situation)
+       (setq situation
+             (cons (cons 'major-mode
+                         (with-current-buffer (mime-entity-buffer entity)
+                           major-mode))
+                   situation)))
+    
+    situation))
 
 (defun mime-view-entity-title (entity)
   (or (mime-read-field 'Content-Description entity)
index a3d3349..be90783 100644 (file)
@@ -1,6 +1,6 @@
 ;;; mime-w3.el --- mime-view content filter for text
 
-;; Copyright (C) 1994,1995,1996,1997,1998 Free Software Foundation, Inc.
+;; Copyright (C) 1994,1995,1996,1997,1998,1999 Free Software Foundation, Inc.
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Keywords: HTML, MIME, multimedia, mail, news
           ))
     (cons 'progn body)))
 
+(defvar mime-w3-message-structure nil)
+
 (defun mime-preview-text/html (entity situation)
+  (setq mime-w3-message-structure
+       (with-current-buffer (mime-entity-buffer entity)
+         mime-message-structure))
   (goto-char (point-max))
   (let ((p (point)))
     (insert "\n")
        (mime-put-keymap-region p (point-max) w3-mode-map)
        ))))
 
+(defun url-cid (url &optional proxy-info)
+  (let ((entity
+        (mime-find-entity-from-content-id (mime-uri-parse-cid url)
+                                          mime-w3-message-structure)))
+    (when entity
+      (mime-insert-entity-content entity)
+      (setq url-current-mime-type (mime-entity-type/subtype entity))
+      )))
+
+(url-register-protocol "cid"
+                      'url-cid
+                      'url-identity-expander)
+
 
 ;;; @ end
 ;;;
index 6fb0d80..d59876e 100644 (file)
@@ -30,7 +30,7 @@
 
 (require 'custom)
 
-(defconst mime-user-interface-product ["WEMI" (1 13 0) "Shizuoka"]
+(defconst mime-user-interface-product ["WEMI" (1 13 1) "Abekawa"]
   "Implementation name, version name and numbers of MIME-kernel package.")
 
 (autoload 'mule-caesar-region "mule-caesar"