--- /dev/null
+* tl
+
+ Attached version 7.01.4.
+
+
+* tm
+
+tm/tm-def.el
+----------------------------
+revision 7.1
+date: 1995/11/10 10:43:15; author: morioka; state: Exp; lines: +56 -1
+Function `mime-editor/caesar-region' was moved from tm-edit.el, and
+defined as `tm:caesar-region'.
+----------------------------
+
+tm/tm-edit.el
+----------------------------
+revision 7.23
+date: 1995/11/11 12:48:30; author: morioka; state: Exp; lines: +2 -25
+Function `rfc822/get-header-string-except' was moved to tl-822.el.
+----------------------------
+revision 7.22
+date: 1995/11/11 11:53:08; author: morioka; state: Exp; lines: +10 -24
+(1) Variable `mime-editor/message-sender-alist' was renamed to
+ `mime-editor/split-message-sender-alist'.
+(2) Variable `mime-editor/message-before-send-hook-alist' and variable
+ `mime-editor/message-after-send-hook-alist' were abolished. (They
+ have not already been used.)
+----------------------------
+revision 7.21
+date: 1995/11/11 11:31:31; author: morioka; state: Exp; lines: +34 -13
+Variable `mime-editor/blind-fields-regexp' was renamed to
+`mime-editor/split-blind-fields-regexp'.
+----------------------------
+revision 7.20
+date: 1995/11/11 11:16:47; author: morioka; state: Exp; lines: +18 -17
+Constant `mime-editor/message-nuke-headers' was renamed to
+`mime-editor/split-ignored-fields-regexp'.
+----------------------------
+revision 7.19
+date: 1995/11/11 10:50:07; author: morioka; state: Exp; lines: +4 -4
+Variable `mime-editor/ignored-fields-regexp' was renamed to
+`mime-editor/yank-ignored-fields-regexp'.
+----------------------------
+revision 7.18
+date: 1995/11/10 12:43:39; author: morioka; state: Exp; lines: +19 -4
+(1) Variable `mime-editor/mail-inserter-alist' and function
+ `mime-editor/insert-mail' were added.
+(2) Key of function `mime-editor/insert-tag' was changed to `C-c C-x
+ t', and function `mime-editor/mail-inserter-alist was bound to
+ `C-c C-x C-m'.
+----------------------------
+revision 7.17
+date: 1995/11/10 11:51:23; author: morioka; state: Exp; lines: +24 -2
+Variable `mime-editor/ignored-fields-regexp' and function
+`mime-editor/inserted-message-filter' were added.
+----------------------------
+revision 7.16
+date: 1995/11/10 10:43:50; author: morioka; state: Exp; lines: +6 -57
+Function `mime-editor/caesar-region' was moved to tm-def.el.
+----------------------------
+
+tm/tm-play.el
+----------------------------
+revision 7.1
+date: 1995/11/10 11:13:32; author: morioka; state: Exp; lines: +20 -2
+Function `mime-article/view-message/rfc822' was moved from
+tm-mail.el. tm-mail.el was abolished.
+----------------------------
+revision 7.0
+date: 1995/11/10 10:54:46; author: morioka; state: Exp; lines: +16 -1
+Function `mime-viewer/quitting-method-for-mime/show-message-mode' was
+moved from tm-view.el.
+----------------------------
+revision 6.0
+date: 1995/11/10 10:44:54; author: morioka; state: Exp; lines: +35 -1
+function `mime-article/decode-caesar' was moved from tm-mail.el.
+----------------------------
+revision 5.0
+date: 1995/11/08 07:32:41; author: morioka; state: Exp; lines: +26 -2
+Variable `mime-article/coding-system-alist' and variable
+`mime-article/kanji-code-alist' were added. In function
+`mime-article/decode-message/partial', they were used as character
+coding system when partial part was wrote.
+----------------------------
+
+tm/tm-rmail.el
+----------------------------
+revision 7.15
+date: 1995/11/12 15:15:15; author: morioka; state: Exp; lines: +3 -2
+Function `tm-rmail/preview-message' was fixed problem of judgement of
+unnecessary null line.
+----------------------------
+revision 7.14
+date: 1995/11/10 10:04:18; author: morioka; state: Exp; lines: +8 -1
+Function `tm-rmail/preview-message' was modified to narrow to remove
+unnecessary null line added by RMAIL.
+----------------------------
+revision 7.13
+date: 1995/11/09 17:58:49; author: morioka; state: Exp; lines: +2 -2
+Function `tm-rmail/preview-message' was modified to use function
+`mime/Content-Transfer-Encoding'. (measure for Emacs 19.29 text
+property)
+----------------------------
+
+tm/tm-view.el
+----------------------------
+revision 7.23
+date: 1995/11/10 11:15:31; author: morioka; state: Exp; lines: +11 -12
+(1) Function `mime-viewer/quitting-method-for-mime/show-message-mode'
+ was moved to tm-play.el.
+(2) setting for function `mime-article/decode-caesar' and function
+ `mime-article/view-message/rfc822'.
+----------------------------
+
+
+* tm/gnus
+
+ Attached version 7.15.
+
+tm/gnus/tm-gnus.el
+----------------------------
+revision 7.4
+date: 1995/11/13 09:28:17; author: morioka; state: Exp; lines: +2 -2
+Variable `mime-editor/ignored-fields-regexp' was renamed to
+`mime-editor/yank-ignored-fields-regexp'.
+----------------------------
+revision 7.3
+date: 1995/11/11 10:48:11; author: morioka; state: Exp; lines: +3 -3
+Function `tm-gnus/yank-message' was renamed to `tm-gnus/insert-article'.
+----------------------------
+revision 7.2
+date: 1995/11/11 10:45:21; author: morioka; state: Exp; lines: +21 -21
+Function `tm-gnus/yank-message' was modified to change `let*' to `let'.
+----------------------------
+revision 7.1
+date: 1995/11/11 10:33:08; author: morioka; state: Exp; lines: +42 -2
+New function `tm-gnus/yank-message'. setting for tm-edit.el.
+----------------------------
+
+tm/gnus/tm-gnus5.el
+----------------------------
+revision 7.8
+date: 1995/11/10 10:07:15; author: morioka; state: Exp; lines: +38 -4
+(1) fixed problem of judgement of automatic MIME preview mode.
+(2) redefine function `gnus-article-setup-buffer'.
+----------------------------
+
+tm/gnus/tm-sgnus.el
+----------------------------
+revision 7.14
+date: 1995/11/10 10:09:52; author: morioka; state: Exp; lines: +12 -4
+fixed problem of judgement of automatic MIME preview mode.
+----------------------------
+
+
+* tm/mh-e
+
+ Attached version 7.16.
+
+tm/mh-e/tm-mh-e.el
+----------------------------
+revision 7.16
+date: 1995/11/11 13:02:40; author: morioka; state: Exp; lines: +7 -2
+In function `tm-mh-e/view-message', judgement which preview
+buffer was exist or not was fixed.
+----------------------------
+revision 7.15
+date: 1995/11/11 10:42:32; author: morioka; state: Exp; lines: +2 -2
+Function `tm-mh-e/prompt-for-message' was fixed to check buffer local
+variable `mh-sent-from-msg' is bound.
+----------------------------
+revision 7.14
+date: 1995/11/10 12:47:01; author: morioka; state: Exp; lines: +7 -2
+setting to use function `tm-mh-e/insert-message' as mail-inserter for
+mh-letter-mode and news-reply-mode.
+----------------------------
+revision 7.13
+date: 1995/11/10 12:00:58; author: morioka; state: Exp; lines: +2 -1
+Function `tm-mh-e/insert-message' was modified to call function
+`mime-editor/inserted-message-filter'.
+----------------------------
--- /dev/null
+* tl
+
+ Version 7.01.4 \e$B$rE:IU$7$?!#\e(B
+
+
+* tm
+
+tm/tm-def.el
+----------------------------
+revision 7.1
+date: 1995/11/10 10:43:15; author: morioka; state: Exp; lines: +56 -1
+\e$B4X?t\e(B mime-editor/caesar-region \e$B$r\e(B tm-edit.el \e$B$+$i0\$7!"\e(B
+`tm:caesar-region' \e$B$H$7$FDj5A$7$?!#\e(B
+----------------------------
+
+tm/tm-edit.el
+----------------------------
+revision 7.23
+date: 1995/11/11 12:48:30; author: morioka; state: Exp; lines: +2 -25
+\e$B4X?t\e(B rfc822/get-header-string-except \e$B$r\e(B tl-822.el \e$B$K0\$7$?!#\e(B
+----------------------------
+revision 7.22
+date: 1995/11/11 11:53:08; author: morioka; state: Exp; lines: +10 -24
+(1) \e$BJQ?t\e(B mime-editor/message-sender-alist \e$B$r\e(B
+ `mime-editor/split-message-sender-alist' \e$B$K2~L>$7$?!#\e(B
+(2) \e$BJQ?t\e(B mime-editor/message-before-send-hook-alist \e$B$HJQ?t\e(B
+ mime-editor/message-after-send-hook-alist \e$B$rGQ;_$7$?!#!J4{$K;H$C$F\e(B
+ \e$B$$$J$+$C$?$?$a!K\e(B
+----------------------------
+revision 7.21
+date: 1995/11/11 11:31:31; author: morioka; state: Exp; lines: +34 -13
+\e$BJQ?t\e(B mime-editor/blind-fields-regexp \e$B$r\e(B
+`mime-editor/split-blind-fields-regexp' \e$B$K2~L>$7$?!#\e(B
+----------------------------
+revision 7.20
+date: 1995/11/11 11:16:47; author: morioka; state: Exp; lines: +18 -17
+\e$BDj?t\e(B mime-editor/message-nuke-headers \e$B$r\e(B
+`mime-editor/split-ignored-fields-regexp' \e$B$K2~L>$7$?!#\e(B
+----------------------------
+revision 7.19
+date: 1995/11/11 10:50:07; author: morioka; state: Exp; lines: +4 -4
+\e$BJQ?t\e(B mime-editor/ignored-fields-regexp \e$B$r\e(B
+`mime-editor/yank-ignored-fields-regexp' \e$B$K2~L>$7$?!#\e(B
+----------------------------
+revision 7.18
+date: 1995/11/10 12:43:39; author: morioka; state: Exp; lines: +19 -4
+(1) \e$BJQ?t\e(B mime-editor/mail-inserter-alist \e$B$H4X?t\e(B
+ mime-editor/insert-mail \e$B$rDI2C$7$?!#\e(B
+(2) \e$B4X?t\e(B mime-editor/insert-tag \e$B$N\e(B key \e$B$r\e(B C-c C-x t \e$B$KJQ99$7!"\e(BC-c C-x
+ C-m \e$B$K4X?t\e(B mime-editor/mail-inserter-alist \e$B$r3d$jEv$F$?!#\e(B
+----------------------------
+revision 7.17
+date: 1995/11/10 11:51:23; author: morioka; state: Exp; lines: +24 -2
+\e$BJQ?t\e(B mime-editor/ignored-fields-regexp \e$B$H4X?t\e(B
+mime-editor/inserted-message-filter \e$B$rDI2C$7$?!#\e(B
+----------------------------
+revision 7.16
+date: 1995/11/10 10:43:50; author: morioka; state: Exp; lines: +6 -57
+\e$B4X?t\e(B mime-editor/caesar-region \e$B$r\e(B tm-def.el \e$B$K0\$7$?!#\e(B
+----------------------------
+
+tm/tm-play.el
+----------------------------
+revision 7.1
+date: 1995/11/10 11:13:32; author: morioka; state: Exp; lines: +20 -2
+\e$B4X?t\e(B mime-article/view-message/rfc822 \e$B$r\e(B tm-mail.el \e$B$+$i0\$7!"\e(B
+tm-mail.el \e$B$rGQ;_$7$?!#\e(B
+----------------------------
+revision 7.0
+date: 1995/11/10 10:54:46; author: morioka; state: Exp; lines: +16 -1
+\e$B4X?t\e(B mime-viewer/quitting-method-for-mime/show-message-mode \e$B$r\e(B
+tm-view.el \e$B$+$i0\$7$?!#\e(B
+----------------------------
+revision 6.0
+date: 1995/11/10 10:44:54; author: morioka; state: Exp; lines: +35 -1
+\e$B4X?t\e(B mime-article/decode-caesar \e$B$r\e(B tm-mail.el \e$B$+$i0\$7$?!#\e(B
+----------------------------
+revision 5.0
+date: 1995/11/08 07:32:41; author: morioka; state: Exp; lines: +26 -2
+\e$BJQ?t\e(B mime-article/coding-system-alist \e$B$HJQ?t\e(B
+mime-article/kanji-code-alist \e$B$r@_$1!"4X?t\e(B
+mime-article/decode-message/partial \e$B$G\e(B partial part \e$B$r=q$-=P$9;~$NJ8;z\e(B
+code \e$B$H$7$F$3$l$rMQ$$$k$3$H$K$7$?!#\e(B
+----------------------------
+
+tm/tm-rmail.el
+----------------------------
+revision 7.15
+date: 1995/11/12 15:15:15; author: morioka; state: Exp; lines: +3 -2
+\e$B4X?t\e(B tm-rmail/preview-message \e$B$K$*$$$F!"M>J,$J6u9T$NH=Dj$K4X$9$kIT6q9g\e(B
+\e$B$r=$@5$7$?!#\e(B
+----------------------------
+revision 7.14
+date: 1995/11/10 10:04:18; author: morioka; state: Exp; lines: +8 -1
+\e$B4X?t\e(B tm-rmail/preview-message \e$B$G!"\e(BRMAIL \e$B$,M>J,$K$D$1$k6u9T$r=|$$$?NN0h\e(B
+\e$B$K\e(B mime/viewer-mode \e$B$r<B9T$9$k$h$&$K$7$?!#\e(B
+----------------------------
+revision 7.13
+date: 1995/11/09 17:58:49; author: morioka; state: Exp; lines: +2 -2
+\e$B4X?t\e(B tm-rmail/preview-message \e$B$G4X?t\e(B mime/Content-Transfer-Encoding \e$B$r\e(B
+\e$B;H$&$h$&$K$7$?!#\e(B
+----------------------------
+
+tm/tm-view.el
+----------------------------
+revision 7.23
+date: 1995/11/10 11:15:31; author: morioka; state: Exp; lines: +11 -12
+(1) \e$B4X?t\e(B mime-viewer/quitting-method-for-mime/show-message-mode \e$B$r\e(B
+ tm-play.el \e$B$K0\$7$?!#\e(B
+(2) \e$B4X?t\e(B mime-article/decode-caesar \e$B$H4X?t\e(B
+ mime-article/view-message/rfc822 \e$B$N@_Dj$r9T$C$?!#\e(B
+----------------------------
+
+
+* tm/gnus
+
+ Version 7.15 \e$B$rE:IU$7$?!#\e(B
+
+tm/gnus/tm-gnus.el
+----------------------------
+revision 7.4
+date: 1995/11/13 09:28:17; author: morioka; state: Exp; lines: +2 -2
+\e$BJQ?t\e(B mime-editor/ignored-fields-regexp \e$B$r\e(B
+`mime-editor/yank-ignored-fields-regexp' \e$B$K2~L>$7$?!#\e(B
+----------------------------
+revision 7.3
+date: 1995/11/11 10:48:11; author: morioka; state: Exp; lines: +3 -3
+\e$B4X?t\e(B tm-gnus/yank-message \e$B$r\e(B `tm-gnus/insert-article' \e$B$K2~L>$7$?!#\e(B
+----------------------------
+revision 7.2
+date: 1995/11/11 10:45:21; author: morioka; state: Exp; lines: +21 -21
+\e$B4X?t\e(B tm-gnus/yank-message \e$B$G\e(B `let*' \e$B$r\e(B `let' \e$B$KJQ$($?!#\e(B
+----------------------------
+revision 7.1
+date: 1995/11/11 10:33:08; author: morioka; state: Exp; lines: +42 -2
+\e$B4X?t\e(B tm-gnus/yank-message \e$B$rDI2C$7!"\e(Btm-edit.el \e$BMQ$N@_Dj$r9T$C$?!#\e(B
+----------------------------
+
+tm/gnus/tm-gnus5.el
+----------------------------
+revision 7.8
+date: 1995/11/10 10:07:15; author: morioka; state: Exp; lines: +38 -4
+(1) automatic MIME preview mode \e$B$NH=Dj$K4X$9$kIT6q9g$r=$@5$7$?!#\e(B
+(2) \e$B4X?t\e(B gnus-article-setup-buffer \e$B$r:FDj5A$9$k$h$&$K$7$?!#\e(B
+----------------------------
+
+tm/gnus/tm-sgnus.el
+----------------------------
+revision 7.15
+date: 1995/11/13 09:29:19; author: morioka; state: Exp; lines: +9 -5
+automatic MIME preview mode \e$B$NH=Dj7k2L$rJQ?t\e(B
+tm-gnus/automatic-mime-preview \e$B$KJ]B8$9$k$h$&$K$7$?!#\e(B
+----------------------------
+revision 7.14
+date: 1995/11/10 10:09:52; author: morioka; state: Exp; lines: +12 -4
+automatic MIME preview mode \e$B$NH=Dj$K4X$9$kIT6q9g$r=$@5$7$?!#\e(B
+----------------------------
+
+
+* tm/mh-e
+
+ Version 7.16 \e$B$rE:IU$7$?!#\e(B
+
+tm/mh-e/tm-mh-e.el
+----------------------------
+revision 7.16
+date: 1995/11/11 13:02:40; author: morioka; state: Exp; lines: +7 -2
+\e$B4X?t\e(B tm-mh-e/view-message \e$B$G$N\e(B preview buffer \e$B$,B8:_$7$F$$$k$+$I$&$+$N\e(B
+\e$BH=Dj$NIT6q9g$r=$@5$7$?!#\e(B
+----------------------------
+revision 7.15
+date: 1995/11/11 10:42:32; author: morioka; state: Exp; lines: +2 -2
+\e$B4X?t\e(B tm-mh-e/prompt-for-message \e$B$G\e(B buffer local \e$BJQ?t\e(B mh-sent-from-msg
+\e$B$,B+G{$5$l$F$$$k$+$I$&$+$N\e(B check \e$B$r9T$&$h$&$K$7$?!#\e(B
+----------------------------
+revision 7.14
+date: 1995/11/10 12:47:01; author: morioka; state: Exp; lines: +7 -2
+mh-letter-mode \e$B$H\e(B news-reply-mode \e$B$KBP$9$k\e(B mail-inserter \e$B$H$7$F!"4X?t\e(B
+tm-mh-e/insert-message \e$B$r;H$&$h$&$K@_Dj$7$?!#\e(B
+----------------------------
+revision 7.13
+date: 1995/11/10 12:00:58; author: morioka; state: Exp; lines: +2 -1
+\e$B4X?t\e(B tm-mh-e/insert-message \e$B$G4X?t\e(B mime-editor/inserted-message-filter
+\e$B$r8F$V$3$H$K$7$?!#\e(B
+----------------------------
#
-# $Id: Makefile,v 7.1 1995/10/03 05:14:34 morioka Exp morioka $
+# $Id: Makefile,v 7.2 1995/11/11 13:21:34 morioka Exp morioka $
#
include config.tm
-UTILS = ol2 decode-b
+UTILS = src/ol2 src/decode-b
GOMI = $(UTILS) *.elc loadpath
-TM_FILES = tm/README.eng tm/rel-*.ol tm/Changes* \
+TM_FILES = tm/README.eng tm/Changes* \
tm/config.tm tm/Makefile tm/mk-tm \
tm/tm-mule.el tm/tm-nemacs.el tm/tm-orig.el tm/tm-def.el \
tm/tm-eword.el tm/tm-ew-d.el tm/tm-ew-e.el \
tm/tm-view.el tm/tm-parse.el tm/tm-play.el \
- tm/tm-partial.el tm/tm-mail.el \
+ tm/tm-partial.el \
tm/tm-ftp.el tm/tm-latex.el tm/tm-w3.el tm/tm-file.el \
tm/tm-tar.el \
tm/tm-rich.el tm/richtext.el tm/tinyrich.el \
tm/tm-edit.el tm/signature.el \
tm/tm-setup.el tm/mime-setup.el \
- tm/sc-setup.el tm/gnushook.el \
- tm/*.c tm/methods/tm* \
- tm/doc/Makefile tm/doc/*.pln tm/doc/*.ol tm/doc/*.tex \
+ tm/sc-setup.el \
+ tm/methods/tm* \
+ tm/src/*.c \
+ tm/doc/Makefile tm/doc/*.ol tm/doc/*.tex \
tm/doc/*.texi
TM_MUA_FILES = tm/tm-rmail.el tm/tm-vm.el \
FILES = $(TM_FILES) $(TM_MUA_FILES) $(MEL_FILES) $(TL_FILES)
-TARFILE = tm7.22.tar
+TARFILE = tm7.23.tar.gz
nemacs:
all: $(UTILS) $(DVI)
-ol2: ol2.c
- $(CC) $(CFLAGS) ol2.c -o ol2
+src/ol2: src/ol2.c
+ $(CC) $(CFLAGS) src/ol2.c -o src/ol2
-decode-b: decode-b.c
- $(CC) $(CFLAGS) decode-b.c -o decode-b
+src/decode-b: src/decode-b.c
+ $(CC) $(CFLAGS) src/decode-b.c -o src/decode-b
tex: ol2
tar:
cd doc; make tex
- cd ..; tar cvf $(TARFILE) $(FILES); gzip -9 $(TARFILE)
+ cd ..; gtar cvzf $(TARFILE) $(FILES)
FILES = tm/gnus/*.el tm/doc/tm-gnus*.texi
-TARFILE = tm-gnus7.12.1.tar
+TARFILE = tm-gnus7.15.tar
gnus3:
;;
;; please edit this
;;
- '("/usr/local/lib/emacs/site-lisp/gnus-5.0.10/lisp")
+ '("/usr/local/lib/emacs/site-lisp/gnus-5.0.12/lisp")
;;
load-path))
--- /dev/null
+;;;
+;;; $Id: gnushook.el,v 1.1 1994/10/25 06:42:57 morioka Exp morioka $
+;;;
+
+(provide 'gnushook)
+
+(require 'gnus)
+
+(cond ((string-match "^GNUS 3" gnus-version)
+ (if (and (null gnus-Startup-hook)
+ (boundp 'gnus-startup-hook))
+ (setq gnus-Startup-hook gnus-startup-hook)
+ )
+ (if (and (null gnus-Select-group-hook)
+ (boundp 'gnus-select-group-hook))
+ (setq gnus-Select-group-hook gnus-select-group-hook)
+ )
+ (if (and (null gnus-Subject-mode-hook)
+ (boundp 'gnus-summary-mode-hook))
+ (setq gnus-Subject-mode-hook gnus-summary-mode-hook)
+ )
+ (if (and (null gnus-Article-mode-hook)
+ (boundp 'gnus-article-mode-hook))
+ (setq gnus-Article-mode-hook gnus-article-mode-hook)
+ )
+ (if (and (null gnus-Article-prepare-hook)
+ (boundp 'gnus-article-prepare-hook))
+ (setq gnus-Article-prepare-hook gnus-article-prepare-hook)
+ )
+ )
+ ((string-match "^GNUS 4" gnus-version)
+ (if (and (null gnus-startup-hook)
+ (boundp 'gnus-Startup-hook))
+ (setq gnus-startup-hook gnus-Startup-hook)
+ )
+ (if (and (null gnus-select-group-hook)
+ (boundp 'gnus-Select-group-hook))
+ (setq gnus-select-group-hook gnus-Select-group-hook)
+ )
+ (if (and (null gnus-summary-mode-hook)
+ (boundp 'gnus-Subject-mode-hook))
+ (setq gnus-summary-mode-hook gnus-Subject-mode-hook)
+ )
+ (if (and (null gnus-article-mode-hook)
+ (boundp 'gnus-Article-mode-hook))
+ (setq gnus-article-mode-hook gnus-Article-mode-hook)
+ )
+ (if (and (null gnus-article-prepare-hook)
+ (boundp 'gnus-Article-prepare-hook))
+ (setq gnus-article-prepare-hook gnus-Article-prepare-hook)
+ )
+ ))
;;; -*-Emacs-Lisp-*-
(require 'emu)
-(require 'tm-partial)
(defun compile-tm-gnus ()
(require 'gnus)
+ (require 'tm-gnus)
(require 'tm-view)
+ (require 'tm-partial)
+ (require 'tm-edit)
(princ (format "%s\n" gnus-version))
(cond ((boundp 'gnus-original-article-buffer)
(byte-compile-file "tm-sgnus.el")
;;;
;;; Author: Morioka Tomohiko <morioka@jaist.ac.jp>
;;; Version:
-;;; $Id: tm-gnus.el,v 7.0 1995/10/29 09:13:16 morioka Exp $
+;;; $Id: tm-gnus.el,v 7.4 1995/11/13 09:28:17 morioka Exp $
;;; Keywords: news, MIME, multimedia, encoded-word, multilingual
;;;
;;; This file is part of tm (Tools for MIME).
((string-match "^GNUS 4" gnus-version)
(require 'tm-gnus4)
)
- ((string-match "^GNUS [0-3]" gnus-version)
+ ((string-match "^GNUS 3" gnus-version)
(require 'tm-gnus3)
+ (defvar gnus-article-buffer gnus-Article-buffer)
))
+;;; @ for tm-edit
+;;;
+;; suggested by OKABE Yasuo <okabe@kudpc.kyoto-u.ac.jp>
+;; 1995/11/08 (c.f. [tm ML:1067])
+(defun tm-gnus/insert-article (&optional message)
+ (interactive)
+ (let (;; for Emacs 19
+ (mail-citation-hook '(mime-editor/inserted-message-filter))
+ news-reply-header-hook
+ mail-yank-hooks
+
+ ;; for Emacs 18
+ (mail-yank-ignored-headers mime-editor/yank-ignored-fields-regexp)
+ (news-make-reply-yank-header (function
+ (lambda (message-id from) "")
+ ))
+ (news-yank-original-quoting-indicator "")
+
+ ;; select raw article buffer
+ (mail-reply-buffer
+ (save-excursion
+ (set-buffer gnus-article-buffer)
+ (if (eq major-mode 'mime/viewer-mode)
+ mime::preview/article-buffer
+ gnus-article-buffer)))
+ )
+ (news-reply-yank-original 0)
+ ))
+
+(call-after-loaded
+ 'tm-edit
+ (function
+ (lambda ()
+ (set-alist
+ 'mime-editor/message-inserter-alist
+ 'news-reply-mode (function tm-gnus/insert-article))
+ )))
+
+
;;; @ end
;;;
;;;
(defconst tm-gnus/RCS-ID
- "$Id: tm-gnus5.el,v 7.7 1995/10/31 15:24:49 morioka Exp $")
+ "$Id: tm-gnus5.el,v 7.8 1995/11/10 10:07:15 morioka Exp $")
(defconst tm-gnus/version
(concat (get-version-string tm-gnus/RCS-ID) " for GNUS 5.0.x"))
(defun tm-gnus/summary-toggle-header (&optional arg)
(interactive "P")
- (if gnus-show-mime
+ (if (and gnus-show-mime
+ (or (not gnus-strict-mime)
+ (save-excursion
+ (set-buffer gnus-article-buffer)
+ (gnus-fetch-field "Mime-Version")
+ )))
(let ((mime-viewer/ignored-field-list
(if (save-excursion
(set-buffer gnus-article-buffer)
(kill-buffer tm-gnus/original-article-buffer)
)
(rename-buffer tm-gnus/original-article-buffer)
+ (gnus-article-mode)
(set-buffer (get-buffer-create gnus-article-buffer))
(make-local-variable 'tm:mother-button-dispatcher)
(setq tm:mother-button-dispatcher
(run-hooks 'tm-gnus/article-prepare-hook)
)
+(or (fboundp 'tm::gnus-article-setup-buffer)
+ (fset 'tm::gnus-article-setup-buffer
+ (symbol-function 'gnus-article-setup-buffer)
+ ))
+
+(defun gnus-article-setup-buffer ()
+ "Initialize article mode buffer."
+ ;; Returns the article buffer.
+ (if (get-buffer gnus-article-buffer)
+ (save-excursion
+ (set-buffer gnus-article-buffer)
+ (buffer-disable-undo (current-buffer))
+ (setq buffer-read-only t)
+ (gnus-add-current-to-buffer-list)
+ (or (eq major-mode 'gnus-article-mode)
+ (eq major-mode 'mime/viewer-mode)
+ (gnus-article-mode))
+ (current-buffer))
+ (save-excursion
+ (set-buffer (get-buffer-create gnus-article-buffer))
+ (gnus-add-current-to-buffer-list)
+ (gnus-article-mode)
+ (current-buffer)
+ )))
+
(setq gnus-show-mime-method (function tm-gnus/preview-article))
(or (fboundp 'tm::gnus-article-hide-headers-if-wanted)
)
(defun gnus-article-hide-headers-if-wanted ()
- (if (not gnus-show-mime)
+ (or (and gnus-show-mime
+ (or (not gnus-strict-mime)
+ (gnus-fetch-field "Mime-Version")
+ ))
(tm::gnus-article-hide-headers-if-wanted)
- ))
+ ))
;;; @ for mh-e
;;;
(defconst tm-gnus/RCS-ID
- "$Id: tm-sgnus.el,v 7.13 1995/10/31 08:53:36 morioka Exp $")
+ "$Id: tm-sgnus.el,v 7.15 1995/11/13 09:29:19 morioka Exp $")
(defconst tm-gnus/version
(concat (get-version-string tm-gnus/RCS-ID) " for September"))
(defun tm-gnus/summary-toggle-header (&optional arg)
(interactive "P")
- (if gnus-show-mime
+ (if (and gnus-show-mime
+ (or (not gnus-strict-mime)
+ (save-excursion
+ (set-buffer gnus-article-buffer)
+ (gnus-fetch-field "Mime-Version")
+ )))
(let ((mime-viewer/ignored-field-list
(if (save-excursion
(set-buffer gnus-article-buffer)
;;; @ article filter
;;;
+(defun tm-gnus/article-reset-variable ()
+ (setq tm-gnus/automatic-mime-preview nil)
+ )
+
+(add-hook 'gnus-article-prepare-hook 'tm-gnus/article-reset-variable)
+
(defun tm-gnus/preview-article ()
(make-local-variable 'tm:mother-button-dispatcher)
(setq tm:mother-button-dispatcher
(function gnus-article-push-button))
(mime/viewer-mode nil nil nil gnus-original-article-buffer
gnus-article-buffer)
+ (setq tm-gnus/automatic-mime-preview t)
(run-hooks 'tm-gnus/article-prepare-hook)
)
)
(defun gnus-article-hide-headers-if-wanted ()
- (if (not gnus-show-mime)
+ (or tm-gnus/automatic-mime-preview
(tm::gnus-article-hide-headers-if-wanted)
- ))
+ ))
;;; @ for BBDB
FILES = tm/mh-e/*.el tm/mh-e/Makefile tm/mh-e/mk-tmh tm/mh-e/*.ol
-TARFILE = tm-mh-e7.12.tar
+TARFILE = tm-mh-e7.16.tar
elc:
;;;
(defconst tm-mh-e/RCS-ID
- "$Id: tm-mh-e.el,v 7.12 1995/10/31 15:27:51 morioka Exp $")
+ "$Id: tm-mh-e.el,v 7.16 1995/11/11 13:02:40 morioka Exp $")
(defconst tm-mh-e/version (get-version-string tm-mh-e/RCS-ID))
(defun tm-mh-e/view-message (&optional msg)
"MIME decode and play this message."
(interactive)
- (if (null tm-mh-e/decode-all)
+ (if (or (null tm-mh-e/decode-all)
+ (null (get-buffer mh-show-buffer))
+ (save-excursion
+ (set-buffer mh-show-buffer)
+ (not (eq major-mode 'mime/viewer-mode))
+ ))
(let ((tm-mh-e/decode-all t))
(mh-invalidate-show-buffer)
(mh-show-msg msg)
(let ((files
(directory-files (mh-expand-file-name folder) nil "^[0-9]+$")
)
- (default mh-sent-from-msg)
+ (default (and (boundp 'mh-sent-from-msg) mh-sent-from-msg))
)
(setq default
(if default
(setq message (tm-mh-e/query-message))
)
(insert-file (tm-mh-e::message/file-name message))
+ (mime-editor/inserted-message-filter)
)
(call-after-loaded
(set-alist
'mime-editor/message-inserter-alist
'mh-letter-mode (function tm-mh-e/insert-message))
+ (set-alist
+ 'mime-editor/mail-inserter-alist
+ 'mh-letter-mode (function tm-mh-e/insert-message))
+ (set-alist
+ 'mime-editor/mail-inserter-alist
+ 'news-reply-mode (function tm-mh-e/insert-message))
)))
-
;;; @ set up
;;;
;;; -*-Emacs-Lisp-*-
;;;
-;;; $Id: mk-tm,v 6.0 1995/10/26 09:32:03 morioka Exp morioka $
+;;; $Id: mk-tm,v 7.0 1995/11/12 13:45:18 morioka Exp morioka $
;;;
(setq load-path (append
load-path))
(require 'tl-misc)
-(require 'gnus)
-(require 'tm-rich)
-(require 'mel-u)
(setq tm-modules
(append
"tm-def"
"tm-ew-d" "tm-ew-e" "tm-eword"
"tm-parse" "tm-view" "tm-play" "tm-partial"
- "tm-latex" "tm-w3" "tm-tar" "tm-file" "tm-mail"
+ "tm-latex" "tm-w3" "tm-tar" "tm-file"
"tm-rmail" "tm-edit"
"tm-setup" "mime-setup"
))
(append tm-uncompile-el-files '("tm-vm.el")))
)
-(if (file-exists-p "tm-evs.el")
+(if (and (file-exists-p "tm-evs.el")
+ (or (boundp 'MULE)
+ (boundp 'NEMACS))
+ )
(setq tm-modules (append tm-modules '("tm-evs")))
)
tm-modules))
(defun compile-tm ()
+ (require 'gnus)
+ (require 'tm-rich)
+ (require 'mel-u)
(mapcar (function byte-compile-file file) tm-el-files)
)
--- /dev/null
+/*
+ * $Id: decode-b.c,v 1.2 1995/02/04 02:51:53 morioka Exp $
+ *
+ * modified by Kenji Rikitake <kenji@reseau.toyonaka.osaka.jp>
+ * based on Henry Spencer's un64 shell script
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+int get_base64_char_value(int chr)
+{
+ if( ('A' <= chr) && (chr <= 'Z') ){
+ return chr - 'A';
+ }
+ else if( ('a' <= chr) && (chr <= 'z') ){
+ return chr - 'a' + 26;
+ }
+ else if( ('0' <= chr) && (chr <= '9') ){
+ return chr - '0' + 52;
+ }
+ else if(chr == '+'){
+ return 62;
+ }
+ else if(chr == '/'){
+ return 63;
+ }
+ return -1;
+}
+
+main()
+{
+ FILE* rfp = stdin;
+ FILE* wfp = stdout;
+ char str[128];
+ char* sp;
+ int ret;
+ unsigned int v1, v2, v3, v4, o1, o2, o3;
+
+ while (fgets(str, 128, rfp)) {
+ for (sp = str; *sp; ) {
+ if ((*sp == '\r') || (*sp == '\n')) break;
+ v1 = get_base64_char_value(*sp++);
+ v2 = get_base64_char_value(*sp++);
+ if (0 <= (v3 = get_base64_char_value(*sp++))) {
+ if (0 <= (v4 = get_base64_char_value(*sp++))) {
+ o1 = (v1 << 2) + (v2 >> 4);
+ o2 = ((v2 & 0x0f) << 4) + (v3 >> 2);
+ o3 = ((v3 & 0x03) << 6) + v4;
+ putc(o1, wfp);
+ putc(o2, wfp);
+ putc(o3, wfp);
+ }
+ else {
+ o1 = (v1 << 2) + (v2 >> 4);
+ o2 = ((v2 & 0x0f) << 4) + (v3 >> 2);
+ putc(o1, wfp);
+ putc(o2, wfp);
+ return 0;
+ }
+ }
+ else {
+ o1 = (v1 << 2) + (v2 >> 4);
+ putc(o1, wfp);
+ return 0;
+ }
+ }
+ }
+ return 0;
+}
--- /dev/null
+/*
+ * This program `ol2' is a converter
+ * from a text for outline-mode of GNU Emacs to normal text.
+ * This is a filter. So, input is `stdin', output is `stdout'.
+ *
+ * Copyright 1992, Timtia Software.
+ *
+ * This program is Copyfree.
+ */
+
+#include <stdio.h>
+
+main()
+{
+ unsigned char depth=0, offset=1;
+
+ for(;;){
+ char str[256], *cp;
+ unsigned short section[255];
+ unsigned char d;
+ unsigned short i;
+ unsigned short code;
+
+ if(gets(str)==NULL) break;
+
+ for(d=0, cp=str; ;d++){
+ if(*cp++!='*') break;
+ }
+ if(*--cp==' ') cp++;
+ if(d==0){
+ puts(str);
+ }
+ else if(d==1){
+ if(d>depth){
+ depth=d;
+ section[0]=0;
+ }
+ else if(d==depth){
+ section[0]++;
+ }
+ else{
+ depth=d;
+ section[0]++;
+ }
+ code=0xa3b0+section[0]+offset;
+ printf("%c%c %s\n", code>>8,code&0xff, cp);
+ }
+ else if(d==depth){
+ section[depth-1]++;
+ for(i=0; i<depth-1; i++){
+ printf("%d.", section[i]+offset);
+ }
+ printf("%d %s\n", section[i]+offset, cp);
+ }
+ else if(d>depth){
+ for(i=0; i<depth; i++){
+ printf("%d.", section[i]+offset);
+ }
+ for(; i<d-1; i++){
+ section[i]=0;
+ printf("%d.", section[i]+offset);
+ }
+ section[i]=0;
+ printf("%d %s\n", section[i]+offset, cp);
+ depth=d;
+ }
+ else{
+ depth=d;
+ section[depth-1]++;
+ for(i=0; i<depth-1; i++){
+ printf("%d.", section[i]+offset);
+ }
+ printf("%d %s\n", section[i]+offset, cp);
+ }
+ }
+}
;;;
;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;;; Version:
-;;; $Id: tm-def.el,v 7.0 1995/10/05 13:27:34 morioka Exp $
+;;; $Id: tm-def.el,v 7.1 1995/11/10 10:43:15 morioka Exp $
;;; Keywords: mail, news, MIME, multimedia, definition
;;;
;;; This file is part of tm (Tools for MIME).
(concat "\\(Q\\)\\?" mime/Q-encoded-text-regexp))
+;;; @ rot13-47
+;;;
+;; caesar-region written by phr@prep.ai.mit.edu Nov 86
+;; modified by tower@prep Nov 86
+;; gnus-caesar-region
+;; Modified by umerin@flab.flab.Fujitsu.JUNET for ROT47.
+(defun tm:caesar-region (&optional n)
+ "Caesar rotation of region by N, default 13, for decrypting netnews.
+ROT47 will be performed for Japanese text in any case."
+ (interactive (if current-prefix-arg ; Was there a prefix arg?
+ (list (prefix-numeric-value current-prefix-arg))
+ (list nil)))
+ (cond ((not (numberp n)) (setq n 13))
+ (t (setq n (mod n 26)))) ;canonicalize N
+ (if (not (zerop n)) ; no action needed for a rot of 0
+ (progn
+ (if (or (not (boundp 'caesar-translate-table))
+ (/= (aref caesar-translate-table ?a) (+ ?a n)))
+ (let ((i 0) (lower "abcdefghijklmnopqrstuvwxyz") upper)
+ (message "Building caesar-translate-table...")
+ (setq caesar-translate-table (make-vector 256 0))
+ (while (< i 256)
+ (aset caesar-translate-table i i)
+ (setq i (1+ i)))
+ (setq lower (concat lower lower) upper (upcase lower) i 0)
+ (while (< i 26)
+ (aset caesar-translate-table (+ ?a i) (aref lower (+ i n)))
+ (aset caesar-translate-table (+ ?A i) (aref upper (+ i n)))
+ (setq i (1+ i)))
+ ;; ROT47 for Japanese text.
+ ;; Thanks to ichikawa@flab.fujitsu.junet.
+ (setq i 161)
+ (let ((t1 (logior ?O 128))
+ (t2 (logior ?! 128))
+ (t3 (logior ?~ 128)))
+ (while (< i 256)
+ (aset caesar-translate-table i
+ (let ((v (aref caesar-translate-table i)))
+ (if (<= v t1) (if (< v t2) v (+ v 47))
+ (if (<= v t3) (- v 47) v))))
+ (setq i (1+ i))))
+ (message "Building caesar-translate-table...done")))
+ (let ((from (region-beginning))
+ (to (region-end))
+ (i 0) str len)
+ (setq str (buffer-substring from to))
+ (setq len (length str))
+ (while (< i len)
+ (aset str i (aref caesar-translate-table (aref str i)))
+ (setq i (1+ i)))
+ (goto-char from)
+ (delete-region from to)
+ (insert str)))))
+
+
;;; @ end
;;;
;; LCD Archive Entry:
;; mime|Masanobu UMEDA|umerin@mse.kyutech.ac.jp|
;; Simple MIME Composer|
-;; $Date: 1995/11/03 08:32:03 $|$Revision: 7.15 $|~/misc/mime.el.Z|
+;; $Date: 1995/11/11 12:48:30 $|$Revision: 7.23 $|~/misc/mime.el.Z|
;;; Code:
;;;
(defconst mime-editor/RCS-ID
- "$Id: tm-edit.el,v 7.15 1995/11/03 08:32:03 morioka Exp morioka $")
+ "$Id: tm-edit.el,v 7.23 1995/11/11 12:48:30 morioka Exp $")
(defconst mime-editor/version (get-version-string mime-editor/RCS-ID))
"*Alist of file name, types, parameters, and default encoding.
If encoding is nil, it is determined from its contents.")
+;;; @@ about message inserting
+;;;
+
+(defvar mime-editor/yank-ignored-fields-regexp
+ "^\\(Received\\|X-UIDL\\|Sender\\|Approved\\|Path\\):")
+
+(defvar mime-editor/message-inserter-alist nil)
+(defvar mime-editor/mail-inserter-alist nil)
+
+;;; @@ about message splitting
+;;;
+
(defvar mime-editor/split-message t)
(defvar mime-editor/message-default-max-length 1000)
(defvar mime-editor/message-max-length-alist
'((news-reply-mode . 500)))
-(defconst mime-editor/message-nuke-headers
+(defconst mime-editor/split-ignored-fields-regexp
"\\(^Content-\\|^Subject:\\|^Mime-Version:\\)")
-(defvar mime-editor/blind-fields-regexp "\\(^[BDFbdf]cc:\\|^cc:[ \t]*$\\)")
+(defvar mime-editor/split-blind-fields-regexp
+ "\\(^[BDFbdf]cc:\\|^cc:[ \t]*$\\)")
(defvar mime-editor/message-default-sender-alist
'((mail-mode . mail-send-and-exit)
(news-reply-mode . gnus-inews-news)
))
-(defvar mime-editor/message-sender-alist
+(defvar mime-editor/split-message-sender-alist
'((mail-mode
. (lambda ()
(interactive)
(defvar mime-editor/news-reply-mode-server-running nil)
-(defvar mime-editor/message-before-send-hook-alist
- '((mh-letter-mode . mh-before-send-letter-hook)))
-
-(defvar mime-editor/message-after-send-hook-alist
- '((mh-letter-mode
- . (lambda ()
- (if mh-annotate-char
- (mh-annotate-msg mh-sent-from-msg
- mh-sent-from-folder
- mh-annotate-char
- "-component" mh-annotate-field
- "-text"
- (format "\"%s %s\""
- (mh-get-field "To:")
- (mh-get-field "Cc:"))))))
- ))
-
-(defvar mime-editor/message-inserter-alist nil)
-
-(defvar mime-tspecials-regexp "[][()<>@,;:\\\"/?.= \t]"
- "*Specify MIME tspecials.
-Tspecials means any character that matches with it in header must be quoted.")
+;;; @@ about tag
+;;;
(defconst mime-editor/single-part-tag-regexp
"^--[[][[]\\([^]]*\\)]\\([[]\\([^]]*\\)]\\|\\)]"
(defvar mime-tag-format-with-encoding "--[[%s][%s]]"
"*Control-string making a MIME tag with encoding.")
+;;; @@ multipart boundary
+;;;
+
(defvar mime-multipart-boundary "Multipart"
"*Boundary of a multipart message.")
;;; @ constants
;;;
+(defconst mime-tspecials-regexp "[][()<>@,;:\\\"/?.= \t]"
+ "*Specify MIME tspecials.
+Tspecials means any character that matches with it in header must be quoted.")
+
(defconst mime-editor/mime-version-value
(format "1.0 (generated by tm-edit %s)" mime-editor/version)
"MIME version number.")
+
+;;; @ keymap and menu
+;;;
+
(defvar mime/editor-mode-flag nil)
(make-variable-buffer-local 'mime/editor-mode-flag)
(define-key keymap "\C-e" 'mime-editor/insert-external)
(define-key keymap "\C-v" 'mime-editor/insert-voice)
(define-key keymap "\C-y" 'mime-editor/insert-message)
+ (define-key keymap "\C-m" 'mime-editor/insert-mail)
(define-key keymap "\C-w" 'mime-editor/insert-signature)
(define-key keymap "\C-s" 'mime-editor/insert-signature)
- (define-key keymap "\C-m" 'mime-editor/insert-tag)
+ (define-key keymap "t" 'mime-editor/insert-tag)
(define-key keymap "a" 'mime-editor/enclose-alternative-region)
(define-key keymap "p" 'mime-editor/enclose-parallel-region)
(define-key keymap "m" 'mime-editor/enclose-mixed-region)
(file "Insert File" mime-editor/insert-file)
(external "Insert External" mime-editor/insert-external)
(voice "Insert Voice" mime-editor/insert-voice)
- (mail "Insert Mail" mime-editor/insert-message)
+ (message "Insert Message" mime-editor/insert-message)
+ (mail "Insert Mail" mime-editor/insert-mail)
(signature "Insert Signature" mime-editor/insert-signature)
(text "Insert Text" mime-editor/insert-text)
(tag "Insert Tag" mime-editor/insert-tag)
)))
;;; end
+
+;;; @ functions
+;;;
+
;;;###autoload
(defun mime/editor-mode ()
"MIME minor mode for editing the tagged MIME message.
\\[mime-editor/insert-external] insert a reference to external body.
\\[mime-editor/insert-voice] insert a voice message.
\\[mime-editor/insert-message] insert a mail or news message.
+\\[mime-editor/insert-mail] insert a mail message.
\\[mime-editor/insert-signature] insert a signature file at end.
\\[mime-editor/insert-tag] insert a new MIME tag.
\\[mime-editor/enclose-alternative-region] enclose as multipart/alternative.
(forward-line)
(set-mark (point))
(goto-char (mime-editor/content-end))
- (mime-editor/caesar-region)
+ (tm:caesar-region)
))
;; Point is now on current tag.
;; Define encoding and encode text if necessary.
(message "Sorry, I don't have message inserter for your MUA.")
)))
+(defun mime-editor/insert-mail (&optional message)
+ (interactive)
+ (let ((inserter (assoc-value major-mode mime-editor/mail-inserter-alist)))
+ (if (and inserter (fboundp inserter))
+ (progn
+ (mime-editor/insert-tag "message" "rfc822")
+ (funcall inserter message)
+ )
+ (message "Sorry, I don't have mail inserter for your MUA.")
+ )))
+
+(defun mime-editor/inserted-message-filter ()
+ (save-excursion
+ (save-restriction
+ (let ((header-start (point))
+ (case-fold-search t)
+ beg end)
+ (if (re-search-forward "^$" (mark t))
+ (narrow-to-region header-start (match-beginning 0))
+ )
+ (goto-char header-start)
+ (while (and (re-search-forward
+ mime-editor/yank-ignored-fields-regexp nil t)
+ (setq beg (match-beginning 0))
+ (setq end (1+ (rfc822/field-end)))
+ )
+ (delete-region beg end)
+ )
+ ))))
+
;;; mime.el ends here
(defun mime-editor/translate-region (beg end &optional boundary multipart)
boundary))))
-;;; caesar-region written by phr@prep.ai.mit.edu Nov 86
-;;; modified by tower@prep Nov 86
-;;; gnus-caesar-region
-;;; Modified by umerin@flab.flab.Fujitsu.JUNET for ROT47.
-
-(defun mime-editor/caesar-region (&optional n)
- "Caesar rotation of region by N, default 13, for decrypting netnews.
-ROT47 will be performed for Japanese text in any case."
- (interactive (if current-prefix-arg ; Was there a prefix arg?
- (list (prefix-numeric-value current-prefix-arg))
- (list nil)))
- (cond ((not (numberp n)) (setq n 13))
- (t (setq n (mod n 26)))) ;canonicalize N
- (if (not (zerop n)) ; no action needed for a rot of 0
- (progn
- (if (or (not (boundp 'caesar-translate-table))
- (/= (aref caesar-translate-table ?a) (+ ?a n)))
- (let ((i 0) (lower "abcdefghijklmnopqrstuvwxyz") upper)
- (message "Building caesar-translate-table...")
- (setq caesar-translate-table (make-vector 256 0))
- (while (< i 256)
- (aset caesar-translate-table i i)
- (setq i (1+ i)))
- (setq lower (concat lower lower) upper (upcase lower) i 0)
- (while (< i 26)
- (aset caesar-translate-table (+ ?a i) (aref lower (+ i n)))
- (aset caesar-translate-table (+ ?A i) (aref upper (+ i n)))
- (setq i (1+ i)))
- ;; ROT47 for Japanese text.
- ;; Thanks to ichikawa@flab.fujitsu.junet.
- (setq i 161)
- (let ((t1 (logior ?O 128))
- (t2 (logior ?! 128))
- (t3 (logior ?~ 128)))
- (while (< i 256)
- (aset caesar-translate-table i
- (let ((v (aref caesar-translate-table i)))
- (if (<= v t1) (if (< v t2) v (+ v 47))
- (if (<= v t3) (- v 47) v))))
- (setq i (1+ i))))
- (message "Building caesar-translate-table...done")))
- (let ((from (region-beginning))
- (to (region-end))
- (i 0) str len)
- (setq str (buffer-substring from to))
- (setq len (length str))
- (while (< i len)
- (aset str i (aref caesar-translate-table (aref str i)))
- (setq i (1+ i)))
- (goto-char from)
- (delete-region from to)
- (insert str)))))
-
-
;;; @ multipart enclosure
;;;
;;; @ split
;;;
-(defun mime-editor/insert-partial-header (fields subject id number total separator)
+(defun mime-editor/insert-partial-header
+ (fields subject id number total separator)
(insert fields)
(insert (format "Subject: %s (%d/%d)\n" subject number total))
(insert (format "Mime-Version: 1.0 (split by tm-edit %s)\n"
mime-editor/message-default-max-length))
(lines (count-lines (point-min) (point-max)))
)
- (if (and (> lines mime-editor/message-max-length) mime-editor/split-message)
+ (if (and (> lines mime-editor/message-max-length)
+ mime-editor/split-message)
(let* ((mime-editor/draft-file-name
(or (buffer-file-name)
(make-temp-name
"@" (system-name) "\"")))
(run-hooks 'mime-editor/before-split-hook)
(let* ((header (rfc822/get-header-string-except
- mime-editor/message-nuke-headers separator))
+ mime-editor/split-ignored-fields-regexp separator))
(subject (mail-fetch-field "subject"))
(total (+ (/ lines mime-editor/message-max-length)
(if (> (mod lines mime-editor/message-max-length) 0)
(buf (get-buffer "*tmp-send*"))
(command
(or cmd
- (cdr (assq major-mode
- mime-editor/message-sender-alist))
- (cdr (assq major-mode
- mime-editor/message-default-sender-alist))))
+ (cdr
+ (assq major-mode
+ mime-editor/split-message-sender-alist))
+ (cdr
+ (assq major-mode
+ mime-editor/message-default-sender-alist))
+ ))
data)
(goto-char (point-min))
(if (re-search-forward (concat "^" (regexp-quote separator) "$")
))
(delete-region (point-min)(point))
(switch-to-buffer buf)
- (mime-editor/insert-partial-header header subject
- id mime-editor/partial-number total
- separator)
+ (mime-editor/insert-partial-header
+ header subject id mime-editor/partial-number total separator)
(insert data)
(save-excursion
(save-restriction
(point-max)
))
(goto-char (point-min))
- (while (re-search-forward mime-editor/blind-fields-regexp nil t)
+ (while (re-search-forward
+ mime-editor/split-blind-fields-regexp nil t)
(delete-region (match-beginning 0)
(let ((e (rfc822/field-end)))
(if (< e (point-max))
))
(delete-region (point-min)(point))
(switch-to-buffer buf)
- (mime-editor/insert-partial-header header subject
- id mime-editor/partial-number total
- separator)
+ (mime-editor/insert-partial-header
+ header subject id mime-editor/partial-number total separator)
(insert data)
(save-excursion
(message (format "Sending %d/%d..."
)
(erase-buffer)
(switch-to-buffer the-buf)
- (setq mime-editor/partial-number (1+ mime-editor/partial-number))
+ (setq mime-editor/partial-number
+ (1+ mime-editor/partial-number))
)
(goto-char (point-min))
- (mime-editor/insert-partial-header header subject
- id mime-editor/partial-number total
- separator)
+ (mime-editor/insert-partial-header
+ header subject id mime-editor/partial-number total separator)
(message (format "Sending %d/%d..."
mime-editor/partial-number total))
))))))
;;; @ etc
;;;
-(defun rfc822/get-header-string-except (pat boundary)
- (let ((case-fold-search t))
- (save-excursion
- (save-restriction
- (narrow-to-region (goto-char (point-min))
- (progn
- (re-search-forward
- (concat "^\\(" (regexp-quote boundary) "\\)?$")
- nil t)
- (match-beginning 0)
- ))
- (goto-char (point-min))
- (let (field header)
- (while (re-search-forward rfc822/field-top-regexp nil t)
- (setq field (buffer-substring (match-beginning 0)
- (rfc822/field-end)
- ))
- (if (not (string-match pat field))
- (setq header (concat header field "\n"))
- ))
- header)
- ))))
-
(defun replace-space-with-underline (str)
(mapconcat (function
(lambda (arg)
;;;
;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;;; Version:
-;;; $Id: tm-play.el,v 4.0 1995/11/04 07:51:22 morioka Exp $
+;;; $Id: tm-play.el,v 7.1 1995/11/10 11:13:32 morioka Exp $
;;; Keywords: mail, news, MIME, multimedia
;;;
;;; This file is part of tm (Tools for MIME).
)))
+;;; @ mail/news message
+;;;
+
+(defun mime-viewer/quitting-method-for-mime/show-message-mode ()
+ (set-window-configuration mime/show-mode-old-window-configuration)
+ (let ((mother mime::preview/mother-buffer))
+ (kill-buffer
+ (mime::preview-content-info/buffer (car mime::preview/content-list)))
+ (mime-viewer/kill-buffer)
+ (pop-to-buffer mother)
+ ;;(goto-char (point-min))
+ ;;(mime-viewer/up-content)
+ ))
+
+(defun mime-article/view-message/rfc822 (beg end cal)
+ (let* ((cnum (mime-article/point-content-number beg))
+ (cur-buf (current-buffer))
+ (new-name (format "%s-%s" (buffer-name) cnum))
+ (mother mime::article/preview-buffer)
+ str)
+ (setq str (buffer-substring beg end))
+ (switch-to-buffer new-name)
+ (erase-buffer)
+ (insert str)
+ (goto-char (point-min))
+ (if (re-search-forward "^\n" nil t)
+ (delete-region (point-min) (match-end 0))
+ )
+ (setq major-mode 'mime/show-message-mode)
+ (mime/viewer-mode mother)
+ ))
+
+
;;; @ message/partial
;;;
+(defvar mime-article/coding-system-alist
+ (and (boundp 'MULE)
+ '((mh-show-mode . *noconv*)
+ (t . *ctext*)
+ )))
+
+(defvar mime-article/kanji-code-alist
+ (and (boundp 'NEMACS)
+ '((mh-show-mode . nil)
+ (t . 2)
+ )))
+
(defun mime-article/decode-message/partial (beg end cal)
(goto-char beg)
(let* ((root-dir (expand-file-name
(re-search-forward "^$")
(goto-char (1+ (match-end 0)))
(setq file (concat root-dir "/" number))
- (write-region (point) (point-max) file)
+ (let ((file-coding-system
+ (cdr
+ (or (assq major-mode mime-article/coding-system-alist)
+ (assq t mime-article/coding-system-alist)
+ )))
+ (kanji-fileio-code
+ (cdr
+ (or (assq major-mode mime-article/kanji-code-alist)
+ (assq t mime-article/kanji-code-alist)
+ )))
+ )
+ (write-region (point) (point-max) file)
+ )
(if (get-buffer "*MIME-temp*")
(kill-buffer "*MIME-temp*")
)
))
+;;; @ rot13-47
+;;;
+
+(defun mime-article/decode-caesar (beg end cal)
+ (let* ((cnum (mime-article/point-content-number beg))
+ (cur-buf (current-buffer))
+ (new-name (format "%s-%s" (buffer-name) cnum))
+ (mother mime::article/preview-buffer)
+ (charset (cdr (assoc "charset" params)))
+ (mode major-mode)
+ str)
+ (setq str (buffer-substring beg end))
+ (switch-to-buffer new-name)
+ (erase-buffer)
+ (insert str)
+ (goto-char (point-min))
+ (if (re-search-forward "^\n" nil t)
+ (delete-region (point-min) (match-end 0))
+ )
+ (let ((m (assq mode mime-viewer/code-converter-alist)))
+ (if (and m (fboundp (setq m (cdr m))))
+ (funcall m (point-min) (point-max) charset encoding)
+ (mime-viewer/default-code-convert-region (point-min) (point-max)
+ charset encoding)
+ ))
+ (save-excursion
+ (set-mark (point-min))
+ (goto-char (point-max))
+ (tm:caesar-region)
+ )
+ (view-mode)
+ ))
+
+
;;; @ end
;;;
;;;
;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;;; Version:
-;;; $Id: tm-rmail.el,v 7.12 1995/11/02 12:20:51 morioka Exp $
+;;; $Id: tm-rmail.el,v 7.15 1995/11/12 15:15:15 morioka Exp $
;;; Keywords: mail, MIME, multimedia, multilingual, encoded-word
;;;
;;; This file is part of tm (Tools for MIME).
(function
(lambda ()
(cons (mime/Content-Type)
- (rfc822/get-field-body "Content-Transfer-Encoding")
+ (mime/Content-Transfer-Encoding "7bit")
)
)))))
+ (narrow-to-region (point-min)
+ (save-excursion
+ (goto-char (point-max))
+ (if (and (re-search-backward "^\n")
+ (eq (match-end 0)(point-max)))
+ (match-beginning 0)
+ (point-max)
+ )))
(mime/viewer-mode nil (car ret)(cdr ret) nil
(format "*Preview-%s [%d/%d]*"
(buffer-name)
;;;
(defconst mime-viewer/RCS-ID
- "$Id: tm-view.el,v 7.22 1995/11/03 09:05:23 morioka Exp $")
+ "$Id: tm-view.el,v 7.23 1995/11/10 11:15:31 morioka Exp $")
(defconst mime-viewer/version (get-version-string mime-viewer/RCS-ID))
(defconst mime/viewer-version mime-viewer/version)
(method "tm-plain" nil 'file 'type 'encoding 'mode 'name))
;;((type . "text/x-latex")
;; (method "tm-latex" nil 'file 'type 'encoding 'mode 'name))
+ ((type . "text/x-rot13-47")
+ (method . mime-article/decode-caesar))
+
((type . "audio/basic")
(method "tm-au" nil 'file 'type 'encoding 'mode 'name))
+
((type . "image/gif")
(method "tm-image" nil 'file 'type 'encoding 'mode 'name))
((type . "image/jpeg")
(method "tm-image" nil 'file 'type 'encoding 'mode 'name))
((type . "image/x-pic")
(method "tm-image" nil 'file 'type 'encoding 'mode 'name))
+
((type . "video/mpeg")
(method "tm-mpeg" nil 'file 'type 'encoding 'mode 'name))
+
((type . "application/octet-stream")
(method "tm-file" nil 'file 'type 'encoding 'mode 'name))
+
;;((type . "message/external-body")
;; (method "xterm" nil
;; "-e" "showexternal"
;; 'file '"access-type" '"name" '"site" '"directory"))
+ ((type . "message/rfc822")
+ (method . mime-article/view-message/rfc822))
((type . "message/partial")
(method . mime-article/decode-message/partial))
+
((method "metamail" t
"-m" "tm" "-x" "-d" "-z" "-e" 'file)(mode . "play"))
((method "tm-file" nil 'file 'type 'encoding 'mode 'name)
;;; @@ quitting method
;;;
-(defun mime-viewer/quitting-method-for-mime/show-message-mode ()
- (set-window-configuration mime/show-mode-old-window-configuration)
- (let ((mother mime::preview/mother-buffer))
- (kill-buffer
- (mime::preview-content-info/buffer (car mime::preview/content-list)))
- (mime-viewer/kill-buffer)
- (pop-to-buffer mother)
- (goto-char (point-min))
- (mime-viewer/up-content)
- ))
-
(defvar mime-viewer/quitting-method-alist
'((mime/show-message-mode
. mime-viewer/quitting-method-for-mime/show-message-mode)))