From: tomo Date: Fri, 5 Jun 1998 13:27:47 +0000 (+0000) Subject: This commit was manufactured by cvs2svn to create branch 'unlabeled-1.18.4'. X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=f5dafd98fbde5d9729d046fd801de677edd797b8;p=elisp%2Femh.git This commit was manufactured by cvs2svn to create branch 'unlabeled-1.18.4'. --- diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index 1323af1..0000000 --- a/ChangeLog +++ /dev/null @@ -1,365 +0,0 @@ -1998-06-04 MORIOKA Tomohiko - - * EMH: Version 1.5.0 was released. - - * README.en (What's EMH?): Modify for SEMI 1.5. - - * emh.el: Modify for SEMI 1.5. - - -1998-05-09 MORIOKA Tomohiko - - * EMH: Version 1.4.0 was released. - - * README.en (CVS based development): New section. - - * README.en (What's EMH?): Modify for SEMI 1.4. - (Documentation): Add RFC 1524; change location of RFC. - -1998-05-09 MORIOKA Tomohiko - - * emh.el: Use 'mime-add-condition to set up acting-condition. - -1998-05-09 MORIOKA Tomohiko - - * emh.el: Must require 'alist. - - -1998-04-22 MORIOKA Tomohiko - - * EMH: Version 1.3.0 was released. - -1998-04-21 MORIOKA Tomohiko - - * README.en (What's EMH?): Modify for SEMI 1.3. - - * emh.el (emh-version): Update. - - * emh.el: Use 'ctree-set-calist-strictly instead of 'set-atype to - set up for 'mime-acting-condition. - -1998-04-17 MORIOKA Tomohiko - - * emh-comp.el (emh-edit-again): Use 'set-buffer-multibyte. - - -1998-04-14 MORIOKA Tomohiko - - * EMH: Version 1.2.1 was released. - -1998-04-13 MORIOKA Tomohiko - - * EMH-CFG: Modify for FLIM. - - -1998-04-03 MORIOKA Tomohiko - - * EMH: Version 1.2.0 was released. - - * README.en (What's EMH?): Modify for SEMI 1.2. - -1998-03-25 MORIOKA Tomohiko - - * emh-comp.el (emh-yank-cur-msg-with-no-filter): Rename - 'mime-view-plain-text-preview-hook -> - 'mime-preview-text/plain-hook. - - -1998-03-23 MORIOKA Tomohiko - - * EMH: Version 1.1.3 was released. - -1998-03-21 MORIOKA Tomohiko - - * emh.el: Require 'mime-text when compiling. - - -1998-03-20 MORIOKA Tomohiko - - * EMH: Version 1.1.2 was released. - -1998-03-20 MORIOKA Tomohiko - - * emh.el (mime-text-decoder-alist): Use `mime-text-decode-buffer' - directly; abolish `emh-text-decode-buffer'. - -1998-03-16 MORIOKA Tomohiko - - * emh.el: Fixed setting for `mime-acting-condition'. - - -1998-03-16 MORIOKA Tomohiko - - * EMH: Version 1.1.1 was released. - - * README.en (What's EMH?): Add description about SEMI 1.1.0. - -1998-03-16 MORIOKA Tomohiko - - * emh.el: Abolish `emh-RCS-ID'. - -1998-03-14 MORIOKA Tomohiko - - * emh.el: Add setting for `mime-raw-buffer-coding-system-alist'. - -1998-03-13 MORIOKA Tomohiko - - * emh.el: Rename `mime-view-quitting-method-alist' -> - `mime-preview-quitting-method-alist'. - - * emh.el: Rename `mime-view-buffer' -> `mime-preview-buffer'. - - * emh.el: Rename `mime-combine-message/partials-automatically' -> - `mime-method-to-combine-message/partial-pieces'. - - * emh.el: Add code to check latest SEMI. - - * emh.el (mime-acting-condition): Separate type and subtype. - - -1998-02-17 MORIOKA Tomohiko - - * EMH: Version 1.1 was released. - - * README.en (Bug reports): Modify for EMH. - -1998-02-17 MORIOKA Tomohiko - - * emh.el (emh-content-header-filter): Use code-conversion feature - of `eword-decode-header' instead of `emh-text-decode-buffer'. - -1997-11-27 MORIOKA Tomohiko - - * emh.el (emh-quitting-method): Use `mime-maybe-hide-echo-buffer' - instead of `mime-hide-echo-buffer'. (cf. [tm-ja:2710]) - - -1997-11-26 MORIOKA Tomohiko - - * EMH: Version 0.23 was released. - - * emh.el (mh-display-msg): Use `raw-text' coding-system do - canonicalize line break code. - - -1997-11-16 MORIOKA Tomohiko - - * EMH: Version 0.22 was released. - -1997-11-15 MORIOKA Tomohiko - - * emh.el (emh): New group. - (emh-automatic-mime-preview): Use `defcustom'. - (emh-decode-encoded-word): Use `defcustom'. - -1997-11-15 MORIOKA Tomohiko - - * EMH-CFG: - - Regard LISPDIR if it is specified. - - Add mel's path. - -1997-11-11 MORIOKA Tomohiko - - * emh-comp.el (emh-forward): Use `mime-edit-enclose-digest-region' - instead of `mime-edit-enclose-region'. - -1997-09-25 MORIOKA Tomohiko - - * emh-comp.el (emh-edit-again): Modify for - `enable-multibyte-characters'. - - * emh-face.el (emh-highlight-header): Don't use `assoc-if' and - `second'. - - -1997-08-05 MORIOKA Tomohiko - - * EMH: Version 0.21 was released. - - * EMH-CFG: Add `(add-path ".")'. - -1997-08-05 MORIOKA Tomohiko - - * emh-setup.el: Use `eval-after-load' instead of - `call-after-loaded'; Abolish function `emh-setup'. - - Move setting for emh-comp.el from emh.el. - - * emh.el: Use `eval-after-load' instead of `call-after-loaded'. - - Move setting for emh-comp.el to emh-setup.el. - - -1997-05-30 MORIOKA Tomohiko - - * EMH: Version 0.20.1 was released. - -Thu May 22 03:24:36 1997 MORIOKA Tomohiko - - * emh-face.el (emh-make-face-bold, emh-make-face-italic): New - implementation. - - -1997-05-15 MORIOKA Tomohiko - - * EMH: Version 0.20 was released. - -Thu May 15 06:50:46 1997 MORIOKA Tomohiko - - * README.en (Installation): Add LISPDIR. - -Thu May 15 06:48:15 1997 MORIOKA Tomohiko - - * Makefile (LISPDIR): New variable. - - * EMH-MK (config-emh): set LISPDIR. - - * EMH-CFG: Setting for load-path is modified. - -Mon May 12 12:32:35 1997 MORIOKA Tomohiko - - * emh.el: `mime/content-decoding-condition' -> - `mime-acting-condition'. - - -1997-04-30 MORIOKA Tomohiko - - * EMH: Version 0.19 was released. - -Thu Mar 27 22:12:05 1997 MORIOKA Tomohiko - - * emh.el (emh-quitting-method): Use `mime-hide-echo-buffer'. - - * emh.el (emh-quitting-method): `mime/output-buffer-name' -> - `emh-quitting-method'. - - -1997-03-18 MORIOKA Tomohiko - - * EMH: Version 0.17 was released. - -Tue Mar 18 16:34:00 1997 MORIOKA Tomohiko - - * EMH-MK: New file. - -Tue Mar 18 14:57:53 1997 MORIOKA Tomohiko - - * emh-comp.el, emh.el: `mime::preview/article-buffer' -> - `mime-raw-buffer'. - -Tue Mar 18 14:41:56 1997 MORIOKA Tomohiko - - * emh.el (emh-summary-before-quit): `mime::article/preview-buffer' - -> `mime-view-buffer'. - -Tue Mar 18 13:47:26 1997 MORIOKA Tomohiko - - * emh.el: Fixed problem about setting for mime-partial. - -Tue Mar 18 13:04:55 1997 MORIOKA Tomohiko - - * emh.el: Add autoload for - `mime-combine-message/partials-automatically'. - - * emh.el: `mime-article/grab-message/partials' -> - `mime-combine-message/partials-automatically'. - -Tue Mar 18 12:47:58 1997 MORIOKA Tomohiko - - * emh.el: `mime-partial/preview-article-method-alist' -> - `mime-view-partial-message-method-alist'. - -Mon Mar 17 14:36:35 1997 MORIOKA Tomohiko - - * emh.el (mh-display-msg): Add DOC-string. - -Mon Mar 17 14:30:46 1997 MORIOKA Tomohiko - - * emh.el: `mime-preview/cut-header' -> `mime-view-cut-header'. - -Sun Mar 16 00:06:57 1997 MORIOKA Tomohiko - - * emh.el: `emh-decode-charset-buffer' -> `emh-text-decode-buffer'. - - * emh.el: `mime-charset/decode-buffer' -> - `mime-text-decode-buffer'. - - -1997-03-14 MORIOKA Tomohiko - - * EMH: Version 0.7 was released. - -Fri Mar 14 09:30:55 1997 MORIOKA Tomohiko - - * Makefile: New file. - -Fri Mar 14 09:12:56 1997 MORIOKA Tomohiko - - * README.en: New file. - - * EMH-ELS: Add emh-setup.el. - - * emh-setup.el: New module. - - * emh-face.el (emh-make-face-bold, emh-make-face-italic): New - function. - -Fri Mar 14 05:30:33 1997 MORIOKA Tomohiko - - * emh-face.el (emh-set-face-foreground): New inline function. - -1997-03-07 MORIOKA Tomohiko - - * emh-comp.el (emh-edit-again): modified for new behavior of - `mime-edit-again'; Use as-binary-input-file'. - -1997-03-05 MORIOKA Tomohiko - - * emh-face.el: Design was modified. - - * emh-comp.el: `mime/edit-again' -> `mime-edit-again'. - -1997-03-04 MORIOKA Tomohiko - - * EMH-ELS: Add emh-face.el. - - * EMH-ELS: Renamed from TMH-ELS. - - * emh.el (emh-content-header-filter-hook): Use - `emh-highlight-header' for window-system. - - * emh-face.el: New module. - -1997-03-04 MORIOKA Tomohiko - - * emh.el (emh-content-header-filter): Run - `emh-content-header-filter-hook'. - -1997-03-03 MORIOKA Tomohiko - - * emh.el: tm-bbdb.el was renamed to mime-bbdb.el. - -Sat Mar 1 01:55:48 1997 Tomohiko Morioka - - * emh-comp.el: Renamed from tmh-comp.el. - -Fri Feb 28 05:00:12 1997 Tomohiko Morioka - - * emh.el: There are already no need to require mime-play when - compiling. - -Fri Feb 28 02:39:57 1997 Tomohiko Morioka - - * emh.el: Require mime-play when compiling. - - * emh.el: Don't require tl-str and tl-misc. - Require alist. - -Mon Feb 24 02:28:23 1997 Tomohiko Morioka - - * emh.el: function `eword-decode-message-header' was renamed to - `eword-decode-header'. - -Mon Feb 24 02:04:06 1997 Tomohiko Morioka - - * emh.el: renamed from tm-mh-e.el. diff --git a/EMH-CFG b/EMH-CFG deleted file mode 100644 index e383535..0000000 --- a/EMH-CFG +++ /dev/null @@ -1,53 +0,0 @@ -;;; -*-Emacs-Lisp-*- -;;; -;; EMH-CFG: installation setting about EMH. - -;;; Code: - -(defvar default-load-path load-path) - -(add-to-list 'load-path - (expand-file-name "../../site-lisp/apel" data-directory)) -(add-to-list 'load-path - (expand-file-name "." data-directory)) - -(when (boundp 'LISPDIR) - (add-to-list 'default-load-path LISPDIR) - (add-to-list 'load-path LISPDIR) - (add-to-list 'load-path (expand-file-name "apel" LISPDIR)) - ) - -(condition-case nil - (require 'install) - (error (error "Please install APEL 8.2 or later."))) - -(add-path "flim") -(add-path "semi") - -(add-to-list 'load-path (expand-file-name ".")) - - -;;; @ Please specify prefix of install directory. -;;; - -;; Please specify install path prefix. -;; If it is omitted, shared directory (maybe /usr/local is used). -(defvar PREFIX install-prefix) -;;(setq PREFIX "~/") - -;; Please specify prefix for ``emh'' [optional] -(setq EMH_PREFIX "semi") - - - -;;; @ optional settings -;;; - -;; It is generated by automatically. Please set variable `PREFIX'. -;; If you don't like default directory tree, please set it. -(defvar LISPDIR (install-detect-elisp-directory PREFIX)) -;; (setq install-default-elisp-directory "~/lib/emacs/lisp") - -(setq EMH_DIR (expand-file-name EMH_PREFIX LISPDIR)) - -;;; EMH-CFG ends here diff --git a/EMH-ELS b/EMH-ELS deleted file mode 100644 index f9e23e0..0000000 --- a/EMH-ELS +++ /dev/null @@ -1,10 +0,0 @@ -;;; -*-Emacs-Lisp-*- -;;; -;;; $Id: EMH-ELS,v 0.2 1997-03-14 08:49:19 morioka Exp $ -;;; - -(require 'mh-e) - -(setq emh-modules '(emh emh-face emh-comp emh-setup)) - -;;; EMH-ELS ends here diff --git a/EMH-MK b/EMH-MK deleted file mode 100644 index 0cc3f96..0000000 --- a/EMH-MK +++ /dev/null @@ -1,33 +0,0 @@ -;;; -*-Emacs-Lisp-*- -;;; -;;; $Id: EMH-MK,v 0.1 1997-05-15 06:47:02 morioka Exp $ -;;; - -(defun config-emh () - (let (prefix lisp-dir) - (and (setq prefix (car command-line-args-left)) - (or (string-equal "NONE" prefix) - (defvar PREFIX prefix) - )) - (setq command-line-args-left (cdr command-line-args-left)) - (and (setq lisp-dir (car command-line-args-left)) - (or (string-equal "NONE" lisp-dir) - (defvar LISPDIR lisp-dir) - )) - (load-file "EMH-CFG") - (load-file "EMH-ELS") - (princ (format "PREFIX=%s -LISPDIR=%s\n" PREFIX LISPDIR)) - )) - -(defun compile-emh () - (config-emh) - (compile-elisp-modules emh-modules ".") - ) - -(defun install-emh () - (config-emh) - (install-elisp-modules emh-modules "./" EMH_DIR) - ) - -;;; EMH-MK ends here diff --git a/Makefile b/Makefile deleted file mode 100644 index f0deff6..0000000 --- a/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# -# $Id: Makefile,v 1.11 1998-06-04 05:18:45 morioka Exp $ -# - -VERSION = 1.5.0 - -TAR = tar -RM = /bin/rm -f -EMACS = emacs -FLAGS = -batch -q -no-site-file -l EMH-MK - -PREFIX = NONE -LISPDIR = NONE - -FILES = README.en Makefile EMH-MK EMH-CFG EMH-ELS *.el ChangeLog - - -elc: - $(EMACS) $(FLAGS) -f compile-emh $(PREFIX) $(LISPDIR) - -install: elc - $(EMACS) $(FLAGS) -f install-emh $(PREFIX) $(LISPDIR) - - -clean: - -rm *.elc - - -tar: - cvs commit - sh -c 'cvs tag -RF emh-`echo $(VERSION) \ - | sed s/\\\\./_/ | sed s/\\\\./_/`; \ - cd /tmp; \ - cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \ - export -d emh-$(VERSION) \ - -r emh-`echo $(VERSION) \ - | sed s/\\\\./_/ | sed s/\\\\./_/` emh' - $(RM) /tmp/emh-$(VERSION)/ftp.in - cd /tmp; $(TAR) cvzf emh-$(VERSION).tar.gz emh-$(VERSION) - cd /tmp; $(RM) -r emh-$(VERSION) - sed "s/VERSION/$(VERSION)/" < ftp.in > ftp -# tar cvf ../emh-$(VERSION).tar $(FILES) -# -cd ..; mkdir emh-$(VERSION) -# cd ../emh-$(VERSION); $(TAR) xvf ../emh-$(VERSION).tar -# cd ..; $(TAR) cvzf emh-$(VERSION).tar.gz emh-$(VERSION) -# cd ..; $(RM) -r emh-$(VERSION); rm emh-$(VERSION).tar diff --git a/README.en b/README.en deleted file mode 100644 index 7b63558..0000000 --- a/README.en +++ /dev/null @@ -1,96 +0,0 @@ -[README for EMH package (English Version)] - -What's EMH? -=========== - - EMH is a extender for mh-e to provide MIME feature using SEMI. It - requires SEMI 1.5 API based MIME processing module, so please get - and install such kind of MIME processing module such as SEMI 1.5.0 - or later at first. - - -Installation -============ - - % make install - - You can specify the emacs command name, for example - - % make install EMACS=xemacs - - If `EMACS=...' is omitted, EMACS=emacs is used. - - You can specify the prefix of the directory tree for Emacs Lisp - programs and shell scripts, for example: - - % make install PREFIX=~/ - - If `PREFIX=...' is omitted, the prefix of the directory tree of the - specified emacs command is used (perhaps /usr/local). - - You can specify site-lisp directory, for example - - % make install LISPDIR=~/share/emacs/lisp - - If `LISPDIR=...' is omitted, site-lisp directory of the specified - emacs command is used (perhaps /usr/local/share/emacs/site-lisp or - /usr/local/lib/xemacs/site-lisp). - - You can specify other optional settings by editing the file - emh/EMH-CFG. - - -Initialization -============== - - Please insert the following into your ~/.emacs: - - (load "mime-setup") - - or - - (load "emh-setup") - - emh-setup sets up only for emh, mime-setup sets up for other MUAs. - - -Documentation -============= - - To get started, please read documents of SEMI. - - RFC's 822, 1524, 1806, 1847, 1896, 2015, 2045, 2046, 2047, 2048 and - 2049 are available via anonymous ftp: - - ftp://ftp.merit.edu/internet/documents/rfc/ - - -Mailing lists -============= - - If you write bug-reports and/or suggestions for improvement, please - send them to the tm Mailing List: - - bug-tm-en@chamonix.jaist.ac.jp (English) - bug-tm-ja@chamonix.jaist.ac.jp (Japanese) - - Via the tm ML, you can report EMH bugs, obtain the latest release of - EMH, and discuss future enhancements to EMH. To join the tm ML, - send e-mail to - - tm-ja-admin@chamonix.jaist.ac.jp (Japanese) - tm-en-admin@chamonix.jaist.ac.jp (English) - - Since the user registration is done manually, please write the mail - body in human-recognizable language (^_^). - - -CVS based development -===================== - - If you would like to join CVS based development, please send mail to - - cvs@chamonix.jaist.ac.jp - - with your account name and UNIX style crypted password. We hope you - will join the open development. diff --git a/emh-comp.el b/emh-comp.el deleted file mode 100644 index 130829c..0000000 --- a/emh-comp.el +++ /dev/null @@ -1,522 +0,0 @@ -;;; emh-comp.el --- emh functions for composing messages - -;; Copyright (C) 1993,1994,1995,1996,1997,1998 Free Software Foundation, Inc. - -;; Author: MORIOKA Tomohiko -;; OKABE Yasuo -;; Created: 1996/2/29 (separated from tm-mh-e.el) -;; Renamed: 1997/2/21 from tmh-comp.el -;; Keywords: mail composing, MH, MIME, mail - -;; This file is part of emh. - -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License as -;; published by the Free Software Foundation; either version 2, or (at -;; your option) any later version. - -;; This program is distributed in the hope that it will be useful, but -;; WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;;; Code: - -(require 'mh-comp) -(require 'mime-edit) - - -;;; @ variable -;;; - -(defvar emh-forwcomps "forwcomps" - "Name of file to be used as a skeleton for forwarding messages. -Default is \"forwcomps\". If not a complete path name, the file -is searched for first in the user's MH directory, then in the -system MH lib directory.") - -(defvar emh-message-yank-function 'mh-yank-cur-msg) - - -;;; @ for tm-edit -;;; - -(defun emh::make-message (folder number) - (vector folder number) - ) - -(defun emh::message/folder (message) - (elt message 0) - ) - -(defun emh::message/number (message) - (elt message 1) - ) - -(defun emh::message/file-name (message) - (expand-file-name - (emh::message/number message) - (mh-expand-file-name (emh::message/folder message)) - )) - -;;; modified by OKABE Yasuo -;;; 1995/11/14 (cf. [tm-ja:1096]) -(defun emh-prompt-for-message (prompt folder &optional default) - (let* ((files - (directory-files (mh-expand-file-name folder) nil "^[0-9]+$") - ) - (folder-buf (get-buffer folder)) - (default - (if folder-buf - (save-excursion - (set-buffer folder-buf) - (let* ((show-buffer (get-buffer mh-show-buffer)) - (show-buffer-file-name - (buffer-file-name show-buffer))) - (if show-buffer-file-name - (file-name-nondirectory show-buffer-file-name))))))) - (if (or (null default) - (not (string-match "^[0-9]+$" default))) - (setq default - (if (and (string= folder mh-sent-from-folder) - mh-sent-from-msg) - (int-to-string mh-sent-from-msg) - (save-excursion - (let (cur-msg) - (if (and - (= 0 (mh-exec-cmd-quiet nil "pick" folder "cur")) - (set-buffer mh-temp-buffer) - (setq cur-msg (buffer-string)) - (string-match "^[0-9]+$" cur-msg)) - (substring cur-msg 0 (match-end 0)) - (car files))))))) - (completing-read prompt - (let ((i 0)) - (mapcar (function - (lambda (file) - (setq i (+ i 1)) - (list file i) - )) - files) - ) nil nil default) - )) - -;;; modified by OKABE Yasuo -;;; 1995/11/14 (cf. [tm-ja:1096]) -(defun emh-query-message (&optional message) - (let (folder number) - (if message - (progn - (setq folder (emh::message/folder message)) - (setq number (emh::message/number message)) - )) - (or (stringp folder) - (setq folder (mh-prompt-for-folder - "Message from" - (if (and (stringp mh-sent-from-folder) - (string-match "^\\+" mh-sent-from-folder)) - mh-sent-from-folder "+inbox") - nil))) - (setq number - (if (numberp number) - (number-to-string number) - (emh-prompt-for-message "Message number: " folder) - )) - (emh::make-message folder number) - )) - -(defun emh-insert-message (&optional message) - ;; always ignores message - (let ((article-buffer - (if (not (and (stringp mh-sent-from-folder) - (numberp mh-sent-from-msg) - )) - (cond ((and (boundp 'gnus-original-article-buffer) - (bufferp mh-sent-from-folder) - (get-buffer gnus-original-article-buffer) - ) - gnus-original-article-buffer) - ((and (boundp 'gnus-article-buffer) - (get-buffer gnus-article-buffer) - (bufferp mh-sent-from-folder) - ) - (save-excursion - (set-buffer gnus-article-buffer) - (if (eq major-mode 'mime-view-mode) - mime-raw-buffer - (current-buffer) - ))) - )))) - (if (null article-buffer) - (emh-insert-mail - (emh::make-message mh-sent-from-folder mh-sent-from-msg) - ) - (insert-buffer article-buffer) - (mime-edit-inserted-message-filter) - ) - )) - -(defun emh-insert-mail (&optional message) - (save-excursion - (save-restriction - (let ((message-file - (emh::message/file-name (emh-query-message message)))) - (narrow-to-region (point) (point)) - (insert-file-contents message-file) - (push-mark (point-max)) - (mime-edit-inserted-message-filter) - )))) - -(set-alist 'mime-edit-message-inserter-alist - 'mh-letter-mode (function emh-insert-message)) -(set-alist 'mime-edit-mail-inserter-alist - 'mh-letter-mode (function emh-insert-mail)) -(set-alist 'mime-edit-mail-inserter-alist - 'news-reply-mode (function emh-insert-mail)) -(set-alist - 'mime-edit-split-message-sender-alist - 'mh-letter-mode - (function - (lambda (&optional arg) - (interactive "P") - (write-region (point-min) (point-max) - mime-edit-draft-file-name nil 'no-message) - (cond (arg - (pop-to-buffer "MH mail delivery") - (erase-buffer) - (mh-exec-cmd-output mh-send-prog t "-watch" "-nopush" - "-nodraftfolder" - mh-send-args - mime-edit-draft-file-name) - (goto-char (point-max)) ; show the interesting part - (recenter -1) - (sit-for 1)) - (t - (apply 'mh-exec-cmd-quiet t mh-send-prog - (mh-list-to-string - (list "-nopush" "-nodraftfolder" - "-noverbose" "-nowatch" - mh-send-args mime-edit-draft-file-name))))) - ))) - - -;;; @ commands using tm-edit features -;;; - -(defun emh-edit-again (msg) - "Clean-up a draft or a message previously sent and make it resendable. -Default is the current message. -The variable mh-new-draft-cleaned-headers specifies the headers to remove. -See also documentation for `\\[mh-send]' function." - (interactive (list (mh-get-msg-num t))) - (catch 'tag - (let* ((from-folder mh-current-folder) - (config (current-window-configuration)) - (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 ((filename - (mh-msg-filename msg mh-draft-folder) - )) - (set-buffer (get-buffer-create name)) - (as-binary-input-file (insert-file-contents filename)) - (setq buffer-file-name filename) - ) - (pop-to-buffer name) - (if (re-search-forward "^-+$" nil t) - (replace-match "") - ) - name)) - (t - (let ((flag enable-multibyte-characters)) - (prog1 - (as-binary-input-file - (mh-read-draft "clean-up" - (mh-msg-filename msg) nil)) - (set-buffer-multibyte flag) - )) - )))) - (goto-char (point-min)) - (mh-clean-msg-header (point-min) mh-new-draft-cleaned-headers nil) - (let ((cs (detect-coding-region (point-min)(point-max)))) - (set-buffer-file-coding-system - (if (listp cs) - (car cs) - cs))) - (save-buffer) - (mime-edit-again nil 'no-separator 'not-turn-on) - (goto-char (point-min)) - (mh-compose-and-send-mail draft "" from-folder nil nil nil nil nil nil - config) - ))) - -;;; by OKABE Yasuo -;;; 1996/2/29 (cf. [tm-ja:1643]) -(defun emh-extract-rejected-mail (msg) - "Extract a letter returned by the mail system and make it re-editable. -Default is the current message. The variable mh-new-draft-cleaned-headers -gives the headers to clean out of the original message." - (interactive (list (mh-get-msg-num t))) - (let ((from-folder mh-current-folder) - (config (current-window-configuration)) - (draft (mh-read-draft "extraction" (mh-msg-filename msg) nil))) - (setq buffer-read-only nil) - (goto-char (point-min)) - (cond - ((and - (re-search-forward - (concat "^\\($\\|[Cc]ontent-[Tt]ype:[ \t]+multipart/\\)") nil t) - (not (bolp)) - (re-search-forward "boundary=\"\\([^\"]+\\)\"" nil t)) - (let ((case-fold-search t) - (boundary (buffer-substring (match-beginning 1) (match-end 1)))) - (cond - ((re-search-forward - (concat "^--" boundary "\n" - "content-type:[ \t]+" - "\\(message/rfc822\\|text/rfc822-headers\\)\n" - "\\(.+\n\\)*\n") nil t) - (delete-region (point-min) (point)) - (mh-clean-msg-header (point-min) mh-new-draft-cleaned-headers nil) - (search-forward - (concat "\n--" boundary "--\n") nil t) - (delete-region (match-beginning 0) (point-max))) - (t - (message "Seems no message/rfc822 part."))))) - ((re-search-forward mh-rejected-letter-start nil t) - (skip-chars-forward " \t\n") - (delete-region (point-min) (point)) - (mh-clean-msg-header (point-min) mh-new-draft-cleaned-headers nil)) - (t - (message "Does not appear to be a rejected letter."))) - (goto-char (point-min)) - (if (re-search-forward "^-+$" nil t) - (replace-match "") - ) - (mime-edit-again nil t t) - (goto-char (point-min)) - (set-buffer-modified-p nil) - (mh-compose-and-send-mail draft "" from-folder msg - (mh-get-header-field "To:") - (mh-get-header-field "From:") - (mh-get-header-field "Cc:") - nil nil config))) - -;;; by OKABE Yasuo -;;; 1995/11/14 (cf. [tm-ja:1099]) -(defun emh-forward (to cc &optional msg-or-seq) - "Forward a message or message sequence as MIME message/rfc822. -Defaults to displayed message. If optional prefix argument provided, -then prompt for the message sequence. See also documentation for -`\\[mh-send]' function." - (interactive (list (mh-read-address "To: ") - (mh-read-address "Cc: ") - (if current-prefix-arg - (mh-read-seq-default "Forward" t) - (mh-get-msg-num t) - ))) - (or msg-or-seq - (setq msg-or-seq (mh-get-msg-num t))) - (let* ((folder mh-current-folder) - (config (current-window-configuration)) - ;; uses "draft" for compatibility with forw. - ;; forw always leaves file in "draft" since it doesn't have -draft - (draft-name (expand-file-name "draft" mh-user-path)) - (draft (cond ((or (not (file-exists-p draft-name)) - (y-or-n-p "The file `draft' exists. Discard it? ")) - (mh-exec-cmd "comp" - "-noedit" "-nowhatnowproc" - "-form" emh-forwcomps - "-nodraftfolder") - (prog1 - (mh-read-draft "" draft-name t) - (mh-insert-fields "To:" to "Cc:" cc) - (set-buffer-modified-p nil))) - (t - (mh-read-draft "" draft-name nil))))) - (let ((msubtype "digest") - orig-from orig-subject multipart-flag - (tag-regexp - (concat "^" - (regexp-quote (mime-make-tag "message" "rfc822")))) - ) - (goto-char (point-min)) - (save-excursion - (save-restriction - (goto-char (point-max)) - (if (not (bolp)) (insert "\n")) - (let ((beg (point))) - (narrow-to-region beg beg) - (mh-exec-cmd-output "pick" nil folder msg-or-seq) - (if (> (count-lines (point) (point-max)) 1) - (setq multipart-flag t) - ) - (while (re-search-forward "^\\([0-9]+\\)\n" nil t) - (let ((forw-msg - (buffer-substring (match-beginning 1) (match-end 1))) - (beg (match-beginning 0)) - (end (match-end 0)) - ) - (save-restriction - (narrow-to-region beg end) - ;; modified for Emacs 18 - (delete-region beg end) - (insert-file-contents - (mh-expand-file-name forw-msg - (mh-expand-file-name folder)) - ) - (save-excursion - (push-mark (point-max)) - (mime-edit-inserted-message-filter)) - (goto-char (point-max)) - ) - (save-excursion - (goto-char beg) - (mime-edit-insert-tag "message" "rfc822") - ))) - (delete-region (point) (point-max)) - (if multipart-flag - (mime-edit-enclose-digest-region beg (point)) - )))) - (re-search-forward tag-regexp) - (forward-line 1) - (save-restriction - (narrow-to-region (point) (point-max)) - (setq orig-from (eword-decode-string - (mh-get-header-field "From:"))) - (setq orig-subject (eword-decode-string - (mh-get-header-field "Subject:"))) - ) - (let ((forw-subject - (mh-forwarded-letter-subject orig-from orig-subject))) - (mh-insert-fields "Subject:" forw-subject) - (goto-char (point-min)) - (re-search-forward tag-regexp) - (forward-line -1) - (delete-other-windows) - (if (numberp msg-or-seq) - (mh-add-msgs-to-seq msg-or-seq 'forwarded t) - (mh-add-msgs-to-seq (mh-seq-to-msgs msg-or-seq) 'forwarded t)) - (mh-compose-and-send-mail draft "" folder msg-or-seq - to forw-subject cc - mh-note-forw "Forwarded:" - config))))) - -(cond ((not (featurep 'mh-utils)) - (defun emh::insert-letter (folder number verbatim) - (mh-insert-letter verbatim folder number) - ) - ) - ((and (boundp 'mh-e-version) - (string-lessp mh-e-version "5")) - (defun emh::insert-letter (folder number verbatim) - (mh-insert-letter number folder verbatim) - ) - ) - (t - (defalias 'emh::insert-letter 'mh-insert-letter) - )) - -(defun emh-insert-letter (verbatim) - "Interface to mh-insert-letter." - (interactive "P") - (let* - ((folder (mh-prompt-for-folder - "Message from" - (if (and (stringp mh-sent-from-folder) - (string-match "^\\+" mh-sent-from-folder)) - mh-sent-from-folder "+inbox") - nil)) - (number (emh-prompt-for-message "Message number: " folder))) - (emh::insert-letter folder number verbatim))) - -(defun emh-yank-cur-msg-with-no-filter () - "Insert the current message into the draft buffer. -This function makes new show-buffer from article-buffer to disable -variable `mime-preview-text/plain-hook'. If you don't want to use text -filters for replying message, please set it to -`emh-message-yank-function'. -Prefix each non-blank line in the message with the string in -`mh-ins-buf-prefix'. The entire message will be inserted if -`mh-yank-from-start-of-msg' is non-nil. If this variable is nil, the -portion of the message following the point will be yanked. If -`mh-delete-yanked-msg-window' is non-nil, any window displaying the -yanked message will be deleted." - (interactive) - (if (and mh-sent-from-folder mh-sent-from-msg) - (let ((to-point (point)) - (to-buffer (current-buffer))) - (set-buffer mh-sent-from-folder) - (if mh-delete-yanked-msg-window - (delete-windows-on mh-show-buffer)) - (set-buffer mh-show-buffer) ; Find displayed message - (let ((mh-ins-str - (if mime-raw-buffer - (let (mime-preview-text/plain-hook buf) - (prog1 - (save-window-excursion - (set-buffer mime-raw-buffer) - (setq buf (mime-view-mode)) - (buffer-string) - ) - (kill-buffer buf) - )) - (buffer-string) - ))) - (set-buffer to-buffer) - (save-restriction - (narrow-to-region to-point to-point) - (push-mark) - (insert mh-ins-str) - (mh-insert-prefix-string mh-ins-buf-prefix) - (insert "\n")))) - (error "There is no current message"))) - -(defun emh-yank-current-message () - "Insert the current message into the draft buffer. -It uses variable `emh-message-yank-function' -to select message yanking function." - (interactive) - (let ((mh-sent-from-folder mh-sent-from-folder) - (mh-sent-from-msg mh-sent-from-msg)) - (if (and (not (stringp mh-sent-from-folder)) - (boundp 'gnus-article-buffer) - (get-buffer gnus-article-buffer) - (bufferp mh-sent-from-folder) - ) ; might be called from GNUS - (if (boundp 'gnus-article-copy) ; might be sgnus - (save-excursion - (gnus-copy-article-buffer) - (setq mh-sent-from-folder gnus-article-copy) - (set-buffer mh-sent-from-folder) - (setq mh-show-buffer gnus-article-copy) - ) - (save-excursion - (setq mh-sent-from-folder gnus-article-buffer) - (set-buffer gnus-article-buffer) - (setq mh-show-buffer (current-buffer)) - ))) - (funcall emh-message-yank-function) - )) - -(substitute-key-definition - 'mh-yank-cur-msg 'emh-yank-current-message mh-letter-mode-map) -(substitute-key-definition - 'mh-insert-letter 'emh-insert-letter mh-letter-mode-map) - - -;;; @ end -;;; - -(provide 'emh-comp) -(require 'emh) - -;;; emh-comp.el ends here diff --git a/emh-face.el b/emh-face.el deleted file mode 100644 index 2014d23..0000000 --- a/emh-face.el +++ /dev/null @@ -1,159 +0,0 @@ -;;; emh-face.el --- header highlighting in emh. - -;; Copyright (C) 1997 MORIOKA Tomohiko - -;; Author: MORIOKA Tomohiko -;; Created: 1997/3/4 -;; Version: $Id: emh-face.el,v 0.5 1997-09-25 15:11:34 morioka Exp $ -;; Keywords: header, highlighting - -;; This file is part of emh. - -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License as -;; published by the Free Software Foundation; either version 2, or (at -;; your option) any later version. - -;; This program is distributed in the hope that it will be useful, but -;; WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;;; Code: - -(require 'emu) - -(defsubst emh-set-face-foreground (face color) - (condition-case err - (set-face-foreground face color) - (error (message "Color `%s' is not found." color)) - )) - -(defsubst emh-make-face-bold (face) - (set-face-font face (face-font 'bold)) - ) - -(defsubst emh-make-face-italic (face) - (set-face-font face (face-font 'italic)) - ) - -(or (find-face 'from-field-body) - (progn - (make-face 'from-field-body) - (emh-set-face-foreground 'from-field-body "dark slate blue") - (emh-make-face-bold 'from-field-body) - )) - -(or (find-face 'subject-field-body) - (progn - (make-face 'subject-field-body) - (emh-set-face-foreground 'subject-field-body "violet red") - (emh-make-face-bold 'subject-field-body) - )) - -(or (find-face 'to-field-body) - (progn - (make-face 'to-field-body) - (emh-set-face-foreground 'to-field-body "red") - (emh-make-face-bold 'to-field-body) - )) - -(or (find-face 'cc-field-body) - (progn - (make-face 'cc-field-body) - (emh-set-face-foreground 'cc-field-body "salmon") - (emh-make-face-bold 'cc-field-body) - )) - -(or (find-face 'reply-to-field-body) - (progn - (make-face 'reply-to-field-body) - (emh-set-face-foreground 'reply-to-field-body "salmon") - (emh-make-face-bold 'reply-to-field-body) - )) - -(or (find-face '-to-field-body) - (progn - (make-face '-to-field-body) - (emh-set-face-foreground '-to-field-body "red") - )) - -(or (find-face 'date-field-body) - (progn - (make-face 'date-field-body) - (emh-set-face-foreground 'date-field-body "blue violet") - (emh-make-face-bold 'date-field-body) - )) - -(or (find-face 'message-id-field-body) - (progn - (make-face 'message-id-field-body) - (emh-set-face-foreground 'message-id-field-body "royal blue") - (emh-make-face-bold 'message-id-field-body) - )) - -(or (find-face 'field-body) - (progn - (make-face 'field-body) - (emh-set-face-foreground 'field-body "dark green") - (emh-make-face-italic 'field-body) - )) - -(or (find-face 'field-name) - (progn - (make-face 'field-name) - (emh-set-face-foreground 'field-name "dark green") - (emh-make-face-bold 'field-name) - )) - -(defvar emh-header-face - '(("^From:" field-name from-field-body) - ("^Subject:" field-name subject-field-body) - ("^To:" field-name to-field-body) - ("^cc:" field-name cc-field-body) - ("^Reply-To:" field-name reply-to-field-body) - ("^.+-To:" field-name -to-field-body) - ("^Date:" field-name date-field-body) - ("^Message-Id:" field-name message-id-field-body) - (t field-name field-body) - )) - -(defun emh-highlight-header () - (goto-char (point-min)) - (while (looking-at "^[^:]+:") - (let* ((beg (match-beginning 0)) - (med (match-end 0)) - (end (std11-field-end)) - (field-name (buffer-substring beg med)) - (rule (catch 'found - (let ((rest emh-header-face)) - (while rest - (let* ((rule (car rest)) - (key (car rule))) - (if (and (stringp key) - (string-match key field-name)) - (throw 'found (cdr rule)) - )) - (setq rest (cdr rest)) - ) - (cdr (assq t emh-header-face)) - ))) - ) - (overlay-put (make-overlay beg med) 'face (car rule)) - (overlay-put (make-overlay med end) 'face (cadr rule)) - ) - (forward-char) - )) - - -;;; @ end -;;; - -(provide 'emh-face) - -;;; emh-face.el ends here diff --git a/emh-setup.el b/emh-setup.el deleted file mode 100644 index 4da990d..0000000 --- a/emh-setup.el +++ /dev/null @@ -1,93 +0,0 @@ -;;; emh-setup.el --- setup file for emh. - -;; Copyright (C) 1994,1995,1996,1997 Free Software Foundation, Inc. - -;; Author: MORIOKA Tomohiko -;; Version: $Id: emh-setup.el,v 0.2 1997-08-05 15:07:32 morioka Exp $ -;; Keywords: mail, news, MIME, multimedia, multilingual, encoded-word - -;; This file is part of SEMI (SEMI is Emacs MIME Interfaces). - -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the GNU General Public License as -;; published by the Free Software Foundation; either version 2, or (at -;; your option) any later version. - -;; This program is distributed in the hope that it will be useful, but -;; WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;; General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - -;;; Code: - -(require 'semi-setup) - - -;;; @ for emh -;;; - -(eval-after-load "mh-e" '(require 'emh)) - - -;;; @ for mime-edit -;;; - -(autoload 'turn-on-mime-edit "mime-edit" - "Unconditionally turn on MIME-Edit minor mode." t) - -(defun emh-setup-mh-draft-setting () - (turn-on-mime-edit) - (make-local-variable 'mail-header-separator) - (setq mail-header-separator "--------") - (save-excursion - (goto-char (point-min)) - (setq buffer-read-only nil) - (if (re-search-forward "^-*$" nil t) - (progn - (replace-match mail-header-separator) - (set-buffer-modified-p (buffer-modified-p)) - )) - )) - -(add-hook 'mh-letter-mode-hook 'emh-setup-mh-draft-setting t) -(add-hook 'mh-before-send-letter-hook 'mime-edit-maybe-translate) - - -;;; @@ for emh-comp.el -;;; - -(autoload 'emh-edit-again "emh-comp" - "Clean-up a draft or a message previously sent and make it resendable." t) -(autoload 'emh-extract-rejected-mail "emh-comp" - "Extract a letter returned by the mail system and make it re-editable." t) -(autoload 'emh-forward "emh-comp" - "Forward a message or message sequence by MIME style." t) - -(eval-after-load - "mh-e" - '(progn - (substitute-key-definition - 'mh-edit-again 'emh-edit-again - mh-folder-mode-map) - (substitute-key-definition - 'mh-extract-rejected-mail 'emh-extract-rejected-mail - mh-folder-mode-map) - (substitute-key-definition - 'mh-forward 'emh-forward - mh-folder-mode-map) - )) - -(eval-after-load "mh-comp" '(require 'emh-comp)) - - -;;; @ end -;;; - -(provide 'emh-setup) - -;;; emh-setup.el ends here diff --git a/ftp.in b/ftp.in deleted file mode 100644 index 5845c51..0000000 --- a/ftp.in +++ /dev/null @@ -1,17 +0,0 @@ ---<>-{ - - It is available from - - ftp://ftp.jaist.ac.jp/pub/GNU/elisp/semi/ - ---[[message/external-body; - access-type=anon-ftp; - site="ftp.jaist.ac.jp"; - directory="/pub/GNU/elisp/semi"; - name="emh-VERSION.tar.gz"; - mode=image]] -Content-Type: application/octet-stream; - name="emh-VERSION.tar.gz"; - type=tar; - conversions=gzip ---}-<>