From 4061c89ceab0bd46a32e52d9f1961cb5677d228b Mon Sep 17 00:00:00 2001 From: morioka Date: Mon, 9 Mar 1998 15:59:58 +0000 Subject: [PATCH] tm 7.46. --- ChangeLog | 32 ++++++++ Makefile | 2 +- doc/tm-edit=en.texi | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++ doc/tm-edit=ja.texi | 18 ++++- doc/tm-ew=en.texi | 4 +- doc/tm-ew=ja.texi | 2 +- doc/tm-view=en.texi | 4 +- doc/tm-view=ja.texi | 2 +- doc/tm_en.texi | 5 +- gnus/ChangeLog | 30 ++++++++ gnus/Makefile | 2 +- gnus/s-path | 2 +- gnus/tm-gnus.el | 26 ++++++- gnus/tm-gnus3.el | 28 +------ gnus/tm-gnus4.el | 28 +------ gnus/tm-sgnus.el | 66 ++++++----------- mh-e/ChangeLog | 15 ++++ mh-e/Makefile | 2 +- mh-e/tm-mh-e.el | 81 +++++++++++++-------- mk-tm | 4 +- src/decode-b.c | 10 +-- tm-edit.el | 78 ++++++++++++-------- tm-image.el | 80 ++++++++++++++++++-- tm-mail.el | 25 +++++-- 24 files changed, 559 insertions(+), 188 deletions(-) create mode 100644 doc/tm-edit=en.texi diff --git a/ChangeLog b/ChangeLog index 1ba681b..1a0c186 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,35 @@ +Wed Feb 28 13:13:27 1996 Morioka Tomohiko + + * tl: Version 7.13 was released. + * tm: Version 7.46 was released. + * tm/gnus: Version 7.48 was released. + * tm/mh-e: Version 7.52 was released. + + * tm/doc/tm-edit=en.texi: New file. + +Wed Feb 28 01:35:22 1996 Dan Rich + + * tm-image.el: allow tm to display inline images using the native + gif/jpg/png support (if available) (for XEmacs 19.14 or later). + (cf.[tm-en:351]) + +Tue Feb 27 21:37:35 1996 Morioka Tomohiko + + * tm-image.el (mime-preview/x-face-function-for-mule): fixed to + check whether matched or not. + + * tm-edit.el (mime-editor::edit-again): New implementation. + (mime/edit-again): Arguments were changed. + +Wed Feb 27 19:56:26 1996 Shuhei KOBAYASHI + + * mk-tm: Typo fixed. + +Tue Feb 26 20:04:34 1996 Neal Becker + + * tm-mail.el: fixed problem in XEmacs 19.14. (cf.[tm-en:349]) + + Mon Feb 26 08:43:36 1996 Morioka Tomohiko * tl: Version 7.11.3 was released. diff --git a/Makefile b/Makefile index 628f018..03d5552 100644 --- a/Makefile +++ b/Makefile @@ -40,7 +40,7 @@ TL_FILES = tl/README.en tl/Makefile tl/mk-tl tl/*.el tl/doc/*.texi \ FILES = $(TM_FILES) $(TM_MUA_FILES) $(MEL_FILES) $(TL_FILES) -TARFILE = tm7.45.tar.gz +TARFILE = tm7.46.tar.gz 18: diff --git a/doc/tm-edit=en.texi b/doc/tm-edit=en.texi new file mode 100644 index 0000000..676fc19 --- /dev/null +++ b/doc/tm-edit=en.texi @@ -0,0 +1,201 @@ +@c $Id: tm-edit=en.texi,v 1.1 1996/02/28 14:34:05 morioka Exp $ + +@node tm-edit, encoded-word, tm-view, Top +@comment node-name, next, previous, up +@chapter tm-edit +@cindex tm-edit + +tm-edit is a general MIME viewer for GNU Emacs. + +tm-edit is based on mime.el by UMEDA Masanobu +, who is famous as the author of GNUS. +tm-edit expands following points from mime.el: + +@itemize +@item based on RFC 1521/1522 +@item Content-Disposition field (RFC 1806) supports +@item multi-part in multi-part +@item PGP +@item strength automatic specification for parameter of file type +@end itemize + + +@menu +* mime/editor-mode:: +* single-part operations:: +* enclosure operation:: +* other operations of mime/editor-mode:: +@end menu + + +@node mime/editor-mode, single-part operations, tm-edit, tm-edit +@comment node-name, next, previous, up +@section mime/editor-mode +@cindex mime/editor-mode + +@emph{mime/editor-mode} is a minor mode to compose MIME message. +In this mode, @emph{tag} represents various kinds of data, you can +edit multi-part message. + +There are 2 kinds of @emph{tag}s: + +@itemize +@item single-part tag +@item multi-part tag +@end itemize + +single-part tag represents single part, this form is following: + +@example + --[[TYPE/SUBTYPE;PARAMETERS][ENCODING] + OPTIONAL-FIELDS] +@end example + +TYPE/SUBTYPE and PARAMETERS indicates type/subtype and parameters of +Content-Type field. TYPE/SUBTYPE is required, PARAMETERS is optional. + +ENCODING indicates Content-Transfer-Encoding field. It is optional too. + +OPTIONAL-FIELDS is to represent another fields except Content-Type +field and Content-Transfer-Encoding field. + +multi-part tags represent multi part. They consist of a pair of +@emph{multi-part beginning tag} and @emph{multi-part ending tag}. + +@emph{multi-part beginning tag}'s form is following: + +@example + --<>-{ +@end example + +@emph{multi-part ending tag}'s form is following: + +@example + --}-<> +@end example + +A region from multi-part beginning tag to multi-part ending tag is +called as @emph{enclosure}. + + +@node single-part operations, enclosure operation, mime/editor-mode, tm-edit +@comment node-name, next, previous, up +@section single-part operations +@cindex single-part + +Operations to make single-part are following: + +@table @kbd +@item @key{C-c C-x C-t} +Insert single-part tag indicates text part. + +@item @key{C-c C-x C-i} +Insert file as a MIME attachment. + +@item @key{C-c C-x C-e} +Insert external part. + +@item @key{C-c C-x C-v} +Record audio input until @key{C-g} is pressed, and insert as a audio +part. (It requires /dev/audio in default.) + +@item @key{C-c C-x C-y} +Insert current (mail or news) message. (It is MUA depended.) + +@item @key{C-c C-x C-m} +Insert mail message. (It is MUA depended.) + +@item @key{C-c C-x C-w, C-c C-x C-s} +Insert signature. + +@item @key{C-c C-x C-k} +Insert PGP public key. (It requires Mailcrypt package.) + +@item @key{C-c C-x t} +Insert any single-part tag. +@end table + + +@node enclosure operation, other operations of mime/editor-mode, single-part operations, tm-edit +@comment node-name, next, previous, up +@section enclosure operations +@cindex multi-part +@cindex enclosure + +Operations to make enclosure are following: + +@table @kbd +@item @key{C-c C-x a} +Enclose specified region as multipart/alternative. + +@item @key{C-c C-x p} +Enclose specified region as multipart/parallel. + +@item @key{C-c C-x m} +Enclose specified region as multipart/mixed. + +@item @key{C-c C-x d} +Enclose specified region as multipart/digest. + +@item @key{C-c C-x s} +Digital-sign to specified region. (*1) + +@item @key{C-c C-x e} +Encrypt to specified region. (*1) +@end table + +@b{[Notice]} +@enumerate +@item +It requires Mailcrypt package and pgp package. In addition, please set +symbol @code{pgp-elkins} or @code{pgp-kazu} to +variable @code{mime-editor/signing-type} and +@code{mime-editor/encrypting-type}. + +@code{pgp-elkins} indicates draft-elkins-pem-pgp-02.txt, +@code{pgp-kazu} indicates draft-kazu-pgp-mime-00.txt. +@end enumerate + + +@node other operations of mime/editor-mode, , enclosure operation, tm-edit +@comment node-name, next, previous, up +@section Another operation in mime/editor-mode. + +There are another operations in mime/editor-mode. + +@table @kbd +@item @key{C-c C-c} +Send current editing message. + +@item @key{C-c C-x C-p} +Preview current editing message. + +@item @key{C-c C-x C-z} +Exit mime/editor-mode. (@key{M-x mime/edit-again} is available to +reedit.) + +@item @key{C-c C-x ?} +Display help message. + +@item @key{M-x mime-editor/set-split} +Set current editing message to enable automatic splitting or not. +Form of automatic split messages is message/partial. + +@item @key{M-x mime-editor/set-sign} +Set current editing message to digital-sign or not. (*1) + +@item @key{M-x mime-editor/set-encrypt} +Set current editing message to encrypt or not. (*1) +@end table + +@b{[Notice]} +@enumerate +@item +It requires Mailcrypt package and pgp package. In addition, please set +symbol @code{pgp-elkins} or @code{pgp-kazu} to +variable @code{mime-editor/signing-type} and +@code{mime-editor/encrypting-type}. + +@code{pgp-elkins} indicates draft-elkins-pem-pgp-02.txt, +@code{pgp-kazu} indicates draft-kazu-pgp-mime-00.txt. +@end enumerate diff --git a/doc/tm-edit=ja.texi b/doc/tm-edit=ja.texi index bf0d7fd..68e02c1 100644 --- a/doc/tm-edit=ja.texi +++ b/doc/tm-edit=ja.texi @@ -1,4 +1,4 @@ -@c $Id: tm-edit=ja.texi,v 2.0 1996/02/14 21:05:37 morioka Exp $ +@c $Id: tm-edit=ja.texi,v 3.0 1996/02/28 13:41:00 morioka Exp $ @node tm-edit, encoded-word, tm-view, Top @comment node-name, next, previous, up @@ -193,8 +193,20 @@ help message ¤ë¤«¤É¤¦¤«¤ò·è¤á¤Þ¤¹¡£ @item @key{M-x mime-editor/set-sign} -message Á´ÂΤò @code{pgp-kazu} ·Á¼°¤ÇÅŻҽð̾¤¹¤ë¤«¤É¤¦¤«¤ò·è¤á¤Þ¤¹¡£ +message Á´ÂΤòÅŻҽð̾¤¹¤ë¤«¤É¤¦¤«¤ò·è¤á¤Þ¤¹¡£(*1) @item @key{M-x mime-editor/set-encrypt} -message Á´ÂΤò @code{pgp-kazu} ·Á¼°¤Ç°Å¹æ²½¤¹¤ë¤«¤É¤¦¤«¤ò·è¤á¤Þ¤¹¡£ +message Á´ÂΤò°Å¹æ²½¤¹¤ë¤«¤É¤¦¤«¤ò·è¤á¤Þ¤¹¡£(*1) @end table + +@b{¡ÎÃí°Õ¡Ï} +@enumerate +@item +¤³¤Îµ¡Ç½¤òÍøÍѤ¹¤ë¤Ë¤Ï Mailcrypt package ¤È pgp package ¤¬É¬ÍפǤ¹¡£¤Þ +¤¿¡¢ÊÑ¿ô @code{mime-editor/signing-type} ¤ÈÊÑ¿ô +@code{mime-editor/encrypting-type} ¤Ë @code{pgp-elkins} ¤« +@code{pgp-kazu} ¤òÂåÆþ¤·¤Æ¤¯¤À¤µ¤¤¡£ + +@code{pgp-elkins} ¤ò»ØÄꤷ¤¿¾ì¹ç draft-elkins-pem-pgp-02.txt ¤¬»È¤ï¤ì¡¢ +@code{pgp-kazu} ¤ò»ØÄꤷ¤¿¾ì¹ç draft-kazu-pgp-mime-00.txt ¤¬»È¤ï¤ì¤Þ¤¹¡£ +@end enumerate diff --git a/doc/tm-ew=en.texi b/doc/tm-ew=en.texi index d3b5646..59e3476 100644 --- a/doc/tm-ew=en.texi +++ b/doc/tm-ew=en.texi @@ -1,6 +1,6 @@ -@c $Id: tm-ew_en.texi,v 1.1 1995/12/13 09:27:39 morioka Exp $ +@c $Id: tm-ew=en.texi,v 2.0 1996/02/28 14:34:52 morioka Exp $ -@node encoded-word, customize, tm-view, Top +@node encoded-word, customize, tm-edit, Top @comment node-name, next, previous, up @chapter encoded-word @cindex encoded-word diff --git a/doc/tm-ew=ja.texi b/doc/tm-ew=ja.texi index 3b9b588..a70a7ab 100644 --- a/doc/tm-ew=ja.texi +++ b/doc/tm-ew=ja.texi @@ -1,4 +1,4 @@ -@c $Id: tm-ew=ja.texi,v 4.0 1995/12/17 22:55:44 morioka Exp morioka $ +@c $Id: tm-ew=ja.texi,v 5.0 1996/02/28 14:26:49 morioka Exp $ @node encoded-word, customize, tm-edit, Top @comment node-name, next, previous, up diff --git a/doc/tm-view=en.texi b/doc/tm-view=en.texi index ae34168..42dc387 100644 --- a/doc/tm-view=en.texi +++ b/doc/tm-view=en.texi @@ -1,6 +1,6 @@ -@c{$Id: tm-view=en.texi,v 7.8 1995/12/26 00:23:32 morioka Exp $} +@c{$Id: tm-view=en.texi,v 7.9 1996/02/28 14:35:11 morioka Exp $} -@node tm-view, encoded-word, tm-MUA, Top +@node tm-view, tm-edit, tm-MUA, Top @comment node-name, next, previous, up @chapter tm-view @cindex tm-view diff --git a/doc/tm-view=ja.texi b/doc/tm-view=ja.texi index f0a02cf..78a57d8 100644 --- a/doc/tm-view=ja.texi +++ b/doc/tm-view=ja.texi @@ -1,4 +1,4 @@ -@c $Id: tm-view=ja.texi,v 7.10 1995/12/25 10:00:27 morioka Exp morioka $ +@c $Id: tm-view=ja.texi,v 7.11 1996/02/28 14:36:34 morioka Exp $ @node tm-view, tm-edit, tm-MUA, Top @comment node-name, next, previous, up diff --git a/doc/tm_en.texi b/doc/tm_en.texi index 44cbc93..39234eb 100644 --- a/doc/tm_en.texi +++ b/doc/tm_en.texi @@ -6,7 +6,7 @@ @titlepage @title tm Manual (English Version) @author by MORIOKA Tomohiko -@code{$Id: tm_en.texi,v 7.10 1995/12/23 10:22:09 morioka Exp morioka $} +@code{$Id: tm_en.texi,v 7.11 1996/02/28 14:33:50 morioka Exp morioka $} @end titlepage @@ -28,6 +28,7 @@ * tm-vm: (tm-vm_en.info). VM * tm-view:: MIME message navigator. +* tm-edit:: MIME message composer. * encoded-word:: multi lingual characters in message header * customize:: @@ -329,6 +330,8 @@ automatically in default setting. @include tm-view=en.texi +@include tm-edit=en.texi + @include tm-ew=en.texi @include tm-util=en.texi diff --git a/gnus/ChangeLog b/gnus/ChangeLog index 6170cf6..e75da0b 100644 --- a/gnus/ChangeLog +++ b/gnus/ChangeLog @@ -1,3 +1,33 @@ +Wed Feb 28 13:32:29 1996 Morioka Tomohiko + + * tm/gnus: Version 7.48 was released. + +Tue Feb 27 19:06:50 1996 Morioka Tomohiko + + * tm-gnus3.el, tm-gnus4.el: BBDB setting codes were deleted. + +Tue Feb 27 19:05:14 1996 Morioka Tomohiko + + * tm-sgnus.el: BBDB setting codes were moved to tm-gnus.el. + +Tue Feb 27 19:04:37 1996 Morioka Tomohiko + + * tm-gnus.el: BBDB setting codes were moved from tm-sgnus.el. + +Tue Feb 27 18:59:47 1996 Morioka Tomohiko + + * tm-sgnus.el: + `(add-hook 'gnus-article-display-hook 'tm-bbdb/update-record)' + instead of + `(add-hook 'tm-gnus/article-prepare-hook + 'bbdb/gnus-update-record)'. + +Tue Feb 27 18:25:26 1996 Morioka Tomohiko + + * tm-sgnus.el (tm-gnus/decode-summary-from-and-subjects): + New implementation. + + Wed Feb 14 13:01:34 1996 Morioka Tomohiko * tm/gnus: Version 7.45 was released. diff --git a/gnus/Makefile b/gnus/Makefile index 998609a..83fe8ce 100644 --- a/gnus/Makefile +++ b/gnus/Makefile @@ -28,7 +28,7 @@ TMDIR19_29 = $(DATADIR19_29)/$(EMACS_PREFIX)/site-lisp FILES = tm/gnus/*.el tm/doc/tm-gnus*.texi -TARFILE = tm-gnus7.43.tar +TARFILE = tm-gnus7.48.tar gnus: diff --git a/gnus/s-path b/gnus/s-path index 4e76350..da6c53e 100644 --- a/gnus/s-path +++ b/gnus/s-path @@ -9,7 +9,7 @@ ;; please edit ;; It is relative style. Added path is searched from load-path. -(add-path "sgnus-0.43/lisp/" 'all-paths) +(add-path "sgnus-0.45/lisp/" 'all-paths) ;; It is absolute style. ;; (add-path "/usr/local/share/emacs/site-lisp/sgnus/lisp/") diff --git a/gnus/tm-gnus.el b/gnus/tm-gnus.el index 263e723..cafe43b 100644 --- a/gnus/tm-gnus.el +++ b/gnus/tm-gnus.el @@ -9,7 +9,7 @@ ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1993/11/20 (obsolete mol's gnus-mime.el) ;;; Version: -;;; $Id: tm-gnus.el,v 7.17 1996/02/08 01:29:27 morioka Exp $ +;;; $Id: tm-gnus.el,v 7.18 1996/02/27 19:04:37 morioka Exp $ ;;; Keywords: news, MIME, multimedia, encoded-word, multilingual ;;; ;;; This file is part of tm (Tools for MIME). @@ -171,6 +171,30 @@ ))) +;;; @ for BBDB +;;; + +(call-after-loaded + 'bbdb + (lambda () + (require 'tm-bbdb) + )) + +(autoload 'tm-bbdb/update-record "tm-bbdb") + +(defun tm-gnus/bbdb-setup () + (if (memq 'bbdb/gnus-update-record gnus-article-prepare-hook) + (progn + (remove-hook 'gnus-article-prepare-hook 'bbdb/gnus-update-record) + ;;(add-hook 'tm-gnus/article-prepare-hook 'bbdb/gnus-update-record) + (add-hook 'gnus-article-display-hook 'tm-bbdb/update-record) + ))) + +(add-hook 'gnus-startup-hook 'tm-gnus/bbdb-setup t) + +(tm-gnus/bbdb-setup) + + ;;; @ end ;;; diff --git a/gnus/tm-gnus3.el b/gnus/tm-gnus3.el index f7b3833..b58b92b 100644 --- a/gnus/tm-gnus3.el +++ b/gnus/tm-gnus3.el @@ -2,12 +2,12 @@ ;;; tm-gnus3.el --- tm-gnus module for GNUS 3.* ;;; ;;; Copyright (C) 1995 Free Software Foundation, Inc. -;;; Copyright (C) 1993,1994,1995 MORIOKA Tomohiko +;;; Copyright (C) 1993 .. 1996 MORIOKA Tomohiko ;;; ;;; Author: MORIOKA Tomohiko ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1993/11/20 -;;; Version: $Revision: 7.4 $ +;;; Version: $Revision: 7.5 $ ;;; Keywords: news, MIME, multimedia, multilingual, encoded-word ;;; ;;; This file is part of tm (Tools for MIME). @@ -46,7 +46,7 @@ ;;; (defconst tm-gnus/RCS-ID - "$Id: tm-gnus3.el,v 7.4 1996/01/23 04:53:43 morioka Exp $") + "$Id: tm-gnus3.el,v 7.5 1996/02/27 19:06:50 morioka Exp $") (defconst tm-gnus/version (concat (get-version-string tm-gnus/RCS-ID) " for GNUS 3")) @@ -222,28 +222,6 @@ With arg, turn MIME encoded-word processing on iff arg is positive." (function tm-gnus/decode-encoded-word-if-you-need) t) -;;; @ for BBDB -;;; - -(defun tm-gnus/bbdb-setup () - (if (memq 'bbdb/gnus-update-record gnus-Article-prepare-hook) - (progn - (remove-hook 'gnus-Article-prepare-hook 'bbdb/gnus-update-record) - (add-hook 'tm-gnus/article-prepare-hook 'bbdb/gnus-update-record) - ))) - -(add-hook 'gnus-startup-hook 'tm-gnus/bbdb-setup t) - -(tm-gnus/bbdb-setup) - -(call-after-loaded - 'bbdb - (function - (lambda () - (require 'tm-bbdb) - ))) - - ;;; @ end ;;; diff --git a/gnus/tm-gnus4.el b/gnus/tm-gnus4.el index 9b227dc..3a0d93d 100644 --- a/gnus/tm-gnus4.el +++ b/gnus/tm-gnus4.el @@ -2,13 +2,13 @@ ;;; tm-gnus4.el --- tm-gnus module for GNUS 4, 5.0.* and 5.1.*. ;;; ;;; Copyright (C) 1995 Free Software Foundation, Inc. -;;; Copyright (C) 1995 MORIOKA Tomohiko +;;; Copyright (C) 1995,1996 MORIOKA Tomohiko ;;; ;;; Author: MORIOKA Tomohiko ;;; modified by OKABE Yasuo ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1993/11/20 (merged tm-gnus5.el) -;;; Version: $Revision: 7.16 $ +;;; Version: $Revision: 7.17 $ ;;; Keywords: news, MIME, multimedia, multilingual, encoded-word ;;; ;;; This file is part of tm (Tools for MIME). @@ -37,7 +37,7 @@ ;;; (defconst tm-gnus/RCS-ID - "$Id: tm-gnus4.el,v 7.16 1996/01/23 04:56:21 morioka Exp $") + "$Id: tm-gnus4.el,v 7.17 1996/02/27 19:06:05 morioka Exp $") (defconst tm-gnus/version (concat (get-version-string tm-gnus/RCS-ID) " for 3.15 .. 5.1.*")) @@ -213,28 +213,6 @@ This variable is set to `gnus-show-mime'.") (setq gnus-show-mime t) -;;; @ for BBDB -;;; - -(defun tm-gnus/bbdb-setup () - (if (memq 'bbdb/gnus-update-record gnus-article-prepare-hook) - (progn - (remove-hook 'gnus-article-prepare-hook 'bbdb/gnus-update-record) - (add-hook 'tm-gnus/article-prepare-hook 'bbdb/gnus-update-record) - ))) - -(add-hook 'gnus-startup-hook 'tm-gnus/bbdb-setup t) - -(tm-gnus/bbdb-setup) - -(call-after-loaded - 'bbdb - (function - (lambda () - (require 'tm-bbdb) - ))) - - ;;; @ end ;;; diff --git a/gnus/tm-sgnus.el b/gnus/tm-sgnus.el index a27958f..7cc7848 100644 --- a/gnus/tm-sgnus.el +++ b/gnus/tm-sgnus.el @@ -7,7 +7,7 @@ ;;; Author: MORIOKA Tomohiko ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1995/09/24 -;;; Version: $Revision: 7.45 $ +;;; Version: $Revision: 7.48 $ ;;; Keywords: news, MIME, multimedia, multilingual, encoded-word ;;; ;;; This file is part of tm (Tools for MIME). @@ -41,7 +41,7 @@ ;;; (defconst tm-gnus/RCS-ID - "$Id: tm-sgnus.el,v 7.45 1996/02/09 10:30:48 morioka Exp $") + "$Id: tm-sgnus.el,v 7.48 1996/02/27 19:05:14 morioka Exp $") (defconst tm-gnus/version (concat (get-version-string tm-gnus/RCS-ID) " for September")) @@ -271,26 +271,27 @@ This variable is set to `gnus-show-mime'.") (require 'tm-ew-d) (defun tm-gnus/decode-summary-from-and-subjects () - (mapcar (lambda (header) - (let ((from (mail-header-from header)) - (subj (mail-header-subject header)) - ) - (mail-header-set-from - header - (if from - (mime-eword/decode-string - (code-convert-string - from mime/default-coding-system *internal*)) - "")) - (mail-header-set-subject - header - (if subj - (mime-eword/decode-string - (code-convert-string - subj mime/default-coding-system *internal*)) - "")) - )) - gnus-newsgroup-headers)) + (mapcar + (lambda (header) + (let ((from (or (mail-header-from header) "")) + (subj (or (mail-header-subject header) "")) + (method (car gnus-current-select-method)) + ) + (if (eq method 'nntp) + (progn + (setq from + (code-convert-string + from mime/default-coding-system *internal*)) + (setq subj + (code-convert-string + subj mime/default-coding-system *internal*)) + )) + (mail-header-set-from + header (mime-eword/decode-string from)) + (mail-header-set-subject + header (mime-eword/decode-string subj)) + )) + gnus-newsgroup-headers)) (add-hook 'gnus-select-group-hook (function tm-gnus/decode-summary-from-and-subjects)) @@ -338,27 +339,6 @@ This variable is set to `gnus-show-mime'.") )))) -;;; @ for BBDB -;;; - -(defun tm-gnus/bbdb-setup () - (if (memq 'bbdb/gnus-update-record gnus-article-prepare-hook) - (progn - (remove-hook 'gnus-article-prepare-hook 'bbdb/gnus-update-record) - (add-hook 'tm-gnus/article-prepare-hook 'bbdb/gnus-update-record) - ))) - -(add-hook 'gnus-startup-hook 'tm-gnus/bbdb-setup t) - -(tm-gnus/bbdb-setup) - -(call-after-loaded - 'bbdb - (lambda () - (require 'tm-bbdb) - )) - - ;;; @ end ;;; diff --git a/mh-e/ChangeLog b/mh-e/ChangeLog index 25747f4..a4d3990 100644 --- a/mh-e/ChangeLog +++ b/mh-e/ChangeLog @@ -1,3 +1,18 @@ +Wed Feb 28 13:27:54 1996 Morioka Tomohiko + + * tm/mh-e: Version 7.52 was released. + +Tue Feb 27 16:25:19 1996 Morioka Tomohiko + + * tm-mh-e.el (tm-mh-e/edit-again): New implementation. + +Tue Feb 27 09:49:15 1996 Morioka Tomohiko + + * tm-mh-e.el (tm-mh-e/edit-again): autoload "mh-comp" instead of + require. + autoload "tm-edit". (cf. [tm-ja:1611]) + + Mon Feb 26 08:41:56 1996 Morioka Tomohiko * tm/mh-e: Version 7.50 was released. diff --git a/mh-e/Makefile b/mh-e/Makefile index 7169079..e912bd9 100644 --- a/mh-e/Makefile +++ b/mh-e/Makefile @@ -24,7 +24,7 @@ TMDIR19 = $(HOME)/lib/emacs19/lisp FILES = tm/mh-e/*.el tm/mh-e/Makefile tm/mh-e/mk-tmh tm/mh-e/*.ol -TARFILE = tm-mh-e7.50.tar +TARFILE = tm-mh-e7.52.tar elc: diff --git a/mh-e/tm-mh-e.el b/mh-e/tm-mh-e.el index 22ed96a..da145bb 100644 --- a/mh-e/tm-mh-e.el +++ b/mh-e/tm-mh-e.el @@ -9,7 +9,7 @@ ;;; modified by YAMAOKA Katsumi ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1993/11/21 (obsolete mh-e-mime.el) -;;; Version: $Revision: 7.50 $ +;;; Version: $Revision: 7.52 $ ;;; Keywords: mail, MH, MIME, multimedia, encoded-word, multilingual ;;; ;;; This file is part of tm (Tools for MIME). @@ -47,7 +47,7 @@ ;;; (defconst tm-mh-e/RCS-ID - "$Id: tm-mh-e.el,v 7.50 1996/02/26 08:41:56 morioka Exp $") + "$Id: tm-mh-e.el,v 7.52 1996/02/27 16:25:19 morioka Exp $") (defconst tm-mh-e/version (get-version-string tm-mh-e/RCS-ID)) @@ -578,35 +578,58 @@ then prompt for the message sequence. See also documentation for (error "There is no current message")))) (mh-yank-cur-msg))) +(autoload 'mh-read-draft "mh-comp") +(autoload 'mime/edit-again "tm-edit") + (defun tm-mh-e/edit-again (msg) - (require 'mh-comp) (interactive (list (mh-get-msg-num t))) - (let* ((from-folder mh-current-folder) - (config (current-window-configuration)) - (draft - (cond ((and mh-draft-folder (equal from-folder mh-draft-folder)) - (pop-to-buffer (find-file-noselect (mh-msg-filename msg)) t) - (if mime::preview/article-buffer - (switch-to-buffer mime::preview/article-buffer) - ) - (rename-buffer (format "draft-%d" msg)) - (buffer-name)) - (t - (let ((file-coding-system-for-read *noconv*)) - (mh-read-draft "clean-up" (mh-msg-filename msg) nil) - )) - ))) - (setq buffer-read-only nil) - (goto-char (point-min)) - (mh-clean-msg-header (point-min) mh-new-draft-cleaned-headers nil) - (if (re-search-forward "^-+$" nil t) - (replace-match "") - ) - (mime/edit-again t t) - (goto-char (point-min)) - (set-buffer-modified-p nil) - (mh-compose-and-send-mail draft "" from-folder nil nil nil nil nil nil - config))) + (catch 'tag + (let* ((from-folder mh-current-folder) + (config (current-window-configuration)) + code-conversion + (draft + (cond ((and mh-draft-folder (equal from-folder mh-draft-folder)) + (let ((name (format "draft-%d" msg))) + (if (get-buffer name) + (throw 'tag (pop-to-buffer name)) + ) + (let ((file-coding-system-for-read *noconv*) + (filename + (mh-msg-filename msg mh-draft-folder) + )) + (set-buffer (get-buffer-create name)) + (insert-file-contents filename) + (setq buffer-file-name filename) + (setq code-conversion t) + ) + (pop-to-buffer name) + (if (re-search-forward "\\(^$\\|^-+$\\)" nil t) + (replace-match "") + ) + name)) + (t + (prog1 + (let ((file-coding-system-for-read *noconv*)) + (mh-read-draft "clean-up" (mh-msg-filename msg) nil) + ) + (setq code-conversion t) + )))) + ) + (goto-char (point-min)) + (mh-clean-msg-header (point-min) mh-new-draft-cleaned-headers nil) + (if code-conversion + (let ((cs (code-detect-region (point-min)(point-max)))) + (set-file-coding-system + (if (listp cs) + (car cs) + cs)) + )) + (save-buffer) + (mime/edit-again code-conversion t t) + (goto-char (point-min)) + (mh-compose-and-send-mail draft "" from-folder nil nil nil nil nil nil + config) + ))) (call-after-loaded 'mime-setup diff --git a/mk-tm b/mk-tm index 741222e..c3fa123 100644 --- a/mk-tm +++ b/mk-tm @@ -1,6 +1,6 @@ ;;; -*-Emacs-Lisp-*- ;;; -;;; $Id: mk-tm,v 7.6 1995/12/25 05:33:36 morioka Exp morioka $ +;;; $Id: mk-tm,v 7.7 1996/02/27 21:24:06 morioka Exp $ ;;; (setq load-path (append @@ -20,7 +20,7 @@ ;; Please specify Mailcrypt path. (add-path "mailcrypt-3.4/" 'all-paths) -;; Please specify Mailcrypt path. +;; Please specify BBDB path. (add-path "bbdb-1.50/" 'all-paths) diff --git a/src/decode-b.c b/src/decode-b.c index 8eece33..482a179 100644 --- a/src/decode-b.c +++ b/src/decode-b.c @@ -1,9 +1,9 @@ /* - * $Id: decode-b.c,v 1.2 1995/02/04 02:51:53 morioka Exp $ + * $Id: decode-b.c,v 3.0 1996/02/27 10:19:23 morioka Exp $ * * modified by Kenji Rikitake - * based on Henry Spencer's un64 shell script - * + * (based on Henry Spencer's un64 shell script) + * and David Masterson */ #include @@ -43,8 +43,8 @@ main() 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++))) { + if ((v3 = get_base64_char_value(*sp++)) >= 0) { + if ((v4 = get_base64_char_value(*sp++)) >= 0) { o1 = (v1 << 2) + (v2 >> 4); o2 = ((v2 & 0x0f) << 4) + (v3 >> 2); o3 = ((v3 & 0x03) << 6) + v4; diff --git a/tm-edit.el b/tm-edit.el index d05131d..e93e7f2 100644 --- a/tm-edit.el +++ b/tm-edit.el @@ -8,7 +8,7 @@ ;;; MORIOKA Tomohiko ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1994/08/21 renamed from mime.el -;;; Version: $Revision: 7.45 $ +;;; Version: $Revision: 7.46 $ ;;; Keywords: mail, news, MIME, multimedia, multilingual ;;; ;;; This file is part of tm (Tools for MIME). @@ -122,7 +122,7 @@ ;;; (defconst mime-editor/RCS-ID - "$Id: tm-edit.el,v 7.45 1996/02/26 08:43:36 morioka Exp $") + "$Id: tm-edit.el,v 7.46 1996/02/27 16:23:45 morioka Exp $") (defconst mime-editor/version (get-version-string mime-editor/RCS-ID)) @@ -2605,7 +2605,7 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n" ;;; @ edit again ;;; -(defun mime-editor::edit-again () +(defun mime-editor::edit-again (code-conversion) (save-excursion (goto-char (point-min)) (let ((ctl (mime/Content-Type))) @@ -2622,18 +2622,20 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n" ) (cond ((string-equal type "multipart") (let ((boundary (assoc-value "boundary" params))) - (re-search-forward (concat "--" boundary) nil t) - (let ((bb (match-beginning 0)) - eb ee) + (re-search-forward (concat "\n--" boundary) nil t) + (let ((bb (match-beginning 0)) eb tag) + (setq tag (format "\n--<<%s>>-{" stype)) + (goto-char bb) + (insert tag) + (setq bb (+ bb (length tag))) (re-search-forward (concat "\n--" boundary "--") nil t) (setq eb (match-beginning 0)) - (setq ee (match-end 0)) - (delete-region eb ee) + (replace-match (format "\n--}-<<%s>>" stype)) (save-restriction (narrow-to-region bb eb) (goto-char (point-min)) (while (re-search-forward - (concat "\\(\n\\|^\\)--" boundary "\n") nil t) + (concat "\n--" boundary "\n") nil t) (let ((beg (match-beginning 0)) end) (delete-region beg (match-end 0)) @@ -2645,14 +2647,9 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n" ) (save-restriction (narrow-to-region beg end) - (mime-editor::edit-again) + (mime-editor::edit-again code-conversion) (goto-char (point-max)) - (insert "\n") )))) - (goto-char (point-min)) - (insert (format "--<<%s>>-{\n" stype)) - (goto-char (point-max)) - (insert (format "\n--}-<<%s>>" stype)) )) (goto-char (point-min)) (or (= (point-min) 1) @@ -2680,27 +2677,46 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n" )) params "")) ) - (if charset - (mime/code-convert-region-to-emacs (point-min) - (point-max) - charset) - ) + (if code-conversion + (if charset + (mime/code-convert-region-to-emacs + (point-min) (point-max) charset) + (code-convert-region + (point-min) (point-max) + mime/default-coding-system *internal*) + )) (and str (setq pstr (concat pstr "\n" str)) ) - (or (= (point-min) 1) - (delete-region (point-min) - (if (re-search-forward "^$" nil t) - (match-end 0) - (point-min) - ))) - (insert (mime-create-tag - (concat type "/" stype pstr))) - )))))))) + (let ((he + (if (re-search-forward "^$" nil t) + (match-end 0) + (point-min) + ))) + (if (= (point-min) 1) + (progn + (goto-char he) + (insert + (concat + "\n" + (mime-create-tag (concat type "/" stype)) + )) + ) + (delete-region (point-min) he) + (insert + (concat "\n" (mime-create-tag + (concat type "/" stype pstr)))) + )) + )))) + (if code-conversion + (code-convert-region (point-min) (point-max) + mime/default-coding-system *internal*) + ) + )))) -(defun mime/edit-again (&optional no-separator no-mode) +(defun mime/edit-again (&optional code-conversion no-separator no-mode) (interactive) - (mime-editor::edit-again) + (mime-editor::edit-again code-conversion) (goto-char (point-min)) (save-restriction (narrow-to-region (point-min) diff --git a/tm-image.el b/tm-image.el index 5f50a18..361a60b 100644 --- a/tm-image.el +++ b/tm-image.el @@ -3,12 +3,14 @@ ;;; XEmacs or Mule buffers ;;; ;;; Copyright (C) 1995,1996 MORIOKA Tomohiko +;;; Copyright (C) 1996 Dan Rich ;;; ;;; Author: MORIOKA Tomohiko +;;; Dan Rich ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1995/12/15 ;;; Version: -;;; $Id: tm-image.el,v 4.7 1996/02/23 21:58:10 morioka Exp $ +;;; $Id: tm-image.el,v 7.0 1996/02/28 13:13:27 morioka Exp $ ;;; ;;; Keywords: mail, news, MIME, multimedia, image, picture ;;; @@ -42,10 +44,25 @@ (require 'annotations) (set-alist 'mime-viewer/content-filter-alist - "image/jpeg" (function mime-preview/filter-for-image)) + "image/jpeg" + (if (featurep 'jpeg) ; Use built-in suport if available + (function mime-preview/filter-for-image/inline) + (function mime-preview/filter-for-image) + )) + + (set-alist 'mime-viewer/content-filter-alist + "image/gif" + (if (featurep 'gif) ; Use built-in suport if available + (function mime-preview/filter-for-image/inline) + (function mime-preview/filter-for-image) + )) (set-alist 'mime-viewer/content-filter-alist - "image/gif" (function mime-preview/filter-for-image)) + "image/x-xpixmap" + (if (featurep 'xpm) ; Use built-in suport if available + (function mime-preview/filter-for-image/inline) + (function mime-preview/filter-for-image) + )) (set-alist 'mime-viewer/content-filter-alist "image/tiff" (function mime-preview/filter-for-image)) @@ -60,8 +77,9 @@ (defvar tm-image/inline-image-types '("image/jpeg" "image/gif" "image/tiff" - "image/x-tiff" "image/x-pic" "image/x-mag" "image/x-xbm")) - + "image/x-tiff" "image/x-pic" "image/x-mag" + "image/x-xbm" "image/x-xpixmap")) + (defun bitmap-read-xbm (file) (let (gl) (while (progn @@ -71,7 +89,25 @@ )) (make-annotation gl (point) 'text) )) - + + (defvar mime-viewer/image-converter-alist + '(("image/jpeg" . jpeg) + ("image/gif" . gif) + ("image/x-png" . png) + ("image/x-xpixmap" . xpm) + )) + + (defun image-read-file (ctype file) + (let ((minor (assoc-value ctype mime-viewer/image-converter-alist)) + gl) + (while (progn + (setq gl (make-glyph (vector minor :file file))) + (eq (image-instance-type (glyph-image-instance gl)) + 'text) + )) + (make-annotation gl (point) 'text) + )) + (defvar mime-viewer/use-highlight-headers t) (defvar mime-preview/x-face-function @@ -105,6 +141,10 @@ ("image/x-mag" . "magtoppm < %s | ppmtoxpm > %s") )) + +;;; @ X-Face +;;; + (defvar mime-viewer/x-face-to-xbm-command (concat mime-viewer/x-face-to-pbm-command " | pbmtoxbm")) @@ -141,7 +181,11 @@ (defun mime-preview/x-face-function-for-mule () (save-restriction - (narrow-to-region (point-min) (re-search-forward "^$" nil t)) + (narrow-to-region (point-min) + (if (re-search-forward "^$" nil t) + (match-end 0) + (point-max) + )) (goto-char (point-min)) (if (re-search-forward "^X-Face:[ \t]*" nil t) (let ((p (match-beginning 0)) @@ -195,6 +239,7 @@ ;;; @ content filter for images ;;; +;; (for XEmacs 19.12 or later) (defun mime-preview/filter-for-image (ctype params encoding) (let* ((mode mime::preview/original-major-mode) @@ -232,6 +277,27 @@ ))) +;;; @ content filter for support in-line image types +;;; +;; (for XEmacs 19.14 or later) + +(defun mime-preview/filter-for-image/inline (ctype params encoding) + (let* ((mode mime::preview/original-major-mode) + (m (assq mode mime-viewer/code-converter-alist)) + (charset (assoc "charset" params)) + (beg (point-min)) (end (point-max)) + (image-file (make-temp-name (expand-file-name "tm" mime/tmp-dir))) + ) + (remove-text-properties beg end '(face nil)) + (mime/decode-region encoding beg end) + (write-region (point-min)(point-max) image-file) + (delete-region (point-min)(point-max)) + (image-read-file ctype image-file) + (delete-file image-file) + (insert "\n") + )) + + ;;; @ content filter for xbm ;;; diff --git a/tm-mail.el b/tm-mail.el index 699d984..0ef0bf5 100644 --- a/tm-mail.el +++ b/tm-mail.el @@ -1,13 +1,14 @@ ;;; ;;; tm-mail.el --- mail-mode extension. ;;; -;;; Copyright (C) 1995 KOBAYASHI Shuhei +;;; Copyright (C) 1995,1996 KOBAYASHI Shuhei ;;; ;;; Author: KOBAYASHI Shuhei ;;; modified by MORIOKA Tomohiko +;;; and Neal Becker ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1995/11/27 -;;; Version: $Id: tm-mail.el,v 2.0 1995/12/15 13:53:55 morioka Exp $ +;;; Version: $Id: tm-mail.el,v 4.0 1996/02/27 10:13:50 morioka Exp $ ;;; Keywords: mail, MIME, multimedia ;;; ;;; This file is part of tm (Tools for MIME). @@ -64,10 +65,20 @@ (if (and (string-match "XEmacs\\|Lucid" emacs-version) tm-mail/use-xemacs-popup-menu) - (setq mail-mode-menu - (append mail-mode-menu - (list "---" - mime-editor/popup-menu-for-xemacs))) + (cond + ((string-match "19.14" emacs-version) + (setq mail-menubar-menu + (append mail-menubar-menu + (list "---" + mime-editor/popup-menu-for-xemacs))) + ) + (t + (setq mail-mode-menu + (append mail-mode-menu + (list "---" + mime-editor/popup-menu-for-xemacs))) + ) + ) ) @@ -75,3 +86,5 @@ ;;; (provide 'tm-mail) + +;;; tm-mail.el ends here -- 1.7.10.4