From afd94666455710abb6da96b2eada8f5994e3cbd2 Mon Sep 17 00:00:00 2001 From: tomo Date: Thu, 19 Aug 1999 05:11:56 +0000 Subject: [PATCH] Delete RCS cookie. (mime-editor/RCS-ID): Deleted. (mime-editor/version): Don't use `get-version-string' and `mime-editor/RCS-ID'. (mime-content-types): Add `png'. (mime-file-types): Add setting for *.htm, *.jpeg, *.png, *.tif, *.txt and *.diffs; don't specify "7bit" for *.el. (mime-editor/menu-list): Add "Insert File (verbose)". (mime-editor/define-menu-for-xemacs): Use `easy-menu-add'. (mime/editor-mode): Add description for `mime-editor/insert-file-verbose'. (mime-editor/insert-file): Call `mime-prompt-for-encoding' if encoding is nil. (mime-editor/insert-file-verbose): New function. (mime-find-file-type): Bind `case-fold-search' as t. (mime-editor/translate-header): Use `eword-encode-header' instead of `mime/encode-message-header'. (mime-editor/sign-pgp-elkins): Use `as-binary-process'. (mime-editor/translate-single-part-tag): Use `eword-encode-header' instead of `mime/encode-message-header'. (mime-editor/normalize-body): Don't call `mime-encode-region' if encoding is nil. --- tm-edit.el | 87 +++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 59 insertions(+), 28 deletions(-) diff --git a/tm-edit.el b/tm-edit.el index fc4ceb7..c347cb4 100644 --- a/tm-edit.el +++ b/tm-edit.el @@ -6,7 +6,6 @@ ;; MORIOKA Tomohiko ;; Maintainer: MORIOKA Tomohiko ;; Created: 1994/08/21 renamed from mime.el -;; Version: $Revision: 7.106 $ ;; Keywords: mail, news, MIME, multimedia, multilingual ;; This file is part of tm (Tools for MIME). @@ -112,17 +111,14 @@ (require 'mel) (require 'tl-list) (require 'tm-view) -(require 'tm-ew-e) +(require 'eword-encode) (require 'signature) ;;; @ version ;;; -(defconst mime-editor/RCS-ID - "$Id: tm-edit.el,v 7.106 1997/03/20 07:20:15 morioka Exp $") - -(defconst mime-editor/version (get-version-string mime-editor/RCS-ID)) +(defconst mime-editor/version "8.0 (Your Song)") (defconst mime-editor/version-name (concat "tm-edit " mime-editor/version)) @@ -210,6 +206,7 @@ To insert a signature file automatically, call the function ("image" ("gif") ("jpeg") + ("png") ("tiff") ("x-pic") ("x-mag") @@ -226,7 +223,7 @@ To insert a signature file automatically, call the function "text" "richtext" nil nil nil nil) - ("\\.html$" + ("\\.\\(html\\|htm\\)$" "text" "html" nil nil nil nil) @@ -235,7 +232,7 @@ To insert a signature file automatically, call the function "quoted-printable" "attachment" (("filename" . file)) ) - ("\\.jpg$" + ("\\.\\(jpeg\\|jpg\\)$" "image" "jpeg" nil "base64" "inline" (("filename" . file)) @@ -245,7 +242,12 @@ To insert a signature file automatically, call the function "base64" "inline" (("filename" . file)) ) - ("\\.tiff$" + ("\\.png$" + "image" "png" nil + "base64" + "inline" (("filename" . file)) + ) + ("\\.\\(tiff\\|tif\\)$" "image" "tiff" nil "base64" "inline" (("filename" . file)) @@ -280,9 +282,14 @@ To insert a signature file automatically, call the function "base64" "attachment" (("filename" . file)) ) + ("\\.txt$" + "text" "plain" nil + nil + "attachment" (("filename" . file)) + ) ("\\.el$" "application" "octet-stream" (("type" . "emacs-lisp")) - "7bit" + nil "attachment" (("filename" . file)) ) ("\\.lsp$" @@ -330,7 +337,7 @@ To insert a signature file automatically, call the function "base64" "attachment" (("filename" . file)) ) - ("\\.diff$" + ("\\.diffs?$" "application" "octet-stream" (("type" . "patch")) nil "attachment" (("filename" . file)) @@ -567,6 +574,7 @@ Tspecials means any character that matches with it in header must be quoted.") (defconst mime-editor/menu-list '((mime-help "Describe MIME editor mode" mime-editor/help) (file "Insert File" mime-editor/insert-file) + (file "Insert File (verbose)" mime-editor/insert-file-verbose) (external "Insert External" mime-editor/insert-external) (voice "Insert Voice" mime-editor/insert-voice) (message "Insert Message" mime-editor/insert-message) @@ -611,16 +619,24 @@ Tspecials means any character that matches with it in header must be quoted.") (defun mime-editor/define-menu-for-xemacs () "Define menu for Emacs 19." (cond ((featurep 'menubar) - (make-local-variable 'current-menubar) - (set-buffer-menubar current-menubar) - (add-submenu nil - (cons mime-editor/menu-title - (mapcar (function - (lambda (item) - (vector (nth 1 item)(nth 2 item) - mime/editor-mode-flag) - )) - mime-editor/menu-list))) + ;; (make-local-variable 'current-menubar) + ;; (set-buffer-menubar current-menubar) + ;; (add-submenu nil + ;; (cons mime-editor/menu-title + ;; (mapcar (function + ;; (lambda (item) + ;; (vector (nth 1 item)(nth 2 item) + ;; mime/editor-mode-flag) + ;; )) + ;; mime-editor/menu-list))) + (easy-menu-add + (cons mime-editor/menu-title + (mapcar (function + (lambda (item) + (vector (nth 1 item)(nth 2 item) + mime/editor-mode-flag) + )) + mime-editor/menu-list))) ))) ;;; modified by Steven L. Baur @@ -691,6 +707,8 @@ Following commands are available in addition to major mode commands: \[make single part\] \\[mime-editor/insert-text] insert a text message. \\[mime-editor/insert-file] insert a (binary) file. +\\[mime-editor/insert-file-verbose] insert a (binary) file, with verbose + MIME prompting. \\[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. @@ -904,7 +922,7 @@ Charset is automatically obtained from the `charsets-mime-charset-alist'." (setq type (mime-prompt-for-type type) subtype (mime-prompt-for-subtype type subtype) )) - (if (or (interactive-p) verbose) + (if (or (interactive-p) verbose (null encoding)) (setq encoding (mime-prompt-for-encoding encoding)) ) (if (or (consp parameters) (stringp disposition-type)) @@ -945,6 +963,16 @@ Charset is automatically obtained from the `charsets-mime-charset-alist'." (mime-editor/insert-binary-file file encoding) )) +;; +;; mime-editor/insert-file-verbose exists so that users can access verbose +;; functionality from menu picks, and not just key sequences. +;; +(defun mime-editor/insert-file-verbose (file) + "Insert a message from a file, with verbose MIME prompting" + (interactive "fInsert file as MIME message: \n") + (mime-editor/insert-file file t) + ) + (defun mime-editor/insert-external () "Insert a reference to external body." (interactive) @@ -1286,7 +1314,8 @@ Nil if no such parameter." (defun mime-find-file-type (file) "Guess Content-Type, subtype, and parameters from FILE." (let ((guess nil) - (guesses mime-file-types)) + (guesses mime-file-types) + (case-fold-search t)) (while (and (not guess) guesses) (if (string-match (car (car guesses)) file) (setq guess (cdr (car guesses)))) @@ -1414,7 +1443,7 @@ Parameter must be '(PROMPT CHOICE1 (CHOISE2 ...))." (defun mime-editor/translate-header () "Encode the message header into network representation." - (mime/encode-message-header 'code-conversion) + (eword-encode-header 'code-conversion) (run-hooks 'mime-editor/translate-header-hook) ) @@ -1548,8 +1577,9 @@ Parameter must be '(PROMPT CHOICE1 (CHOISE2 ...))." (insert (format "Content-Transfer-Encoding: %s\n" encoding)) ) (insert "\n") - (or (funcall (pgp-function 'mime-sign) - (point-min)(point-max) nil nil pgp-boundary) + (or (as-binary-process + (funcall (pgp-function 'mime-sign) + (point-min)(point-max) nil nil pgp-boundary)) (throw 'mime-editor/error 'pgp-error) ) )))) @@ -1769,7 +1799,7 @@ Content-Transfer-Encoding: 7bit (insert "Content-Type: " contype "\n") (if encoding (insert "Content-Transfer-Encoding: " encoding "\n")) - (mime/encode-message-header) + (eword-encode-header) )) t))) @@ -1907,7 +1937,8 @@ Content-Transfer-Encoding: 7bit ) (encode-mime-charset-region beg (mime-editor/content-end) charset) - (mime-encode-region beg (mime-editor/content-end) encoding) + (if encoding + (mime-encode-region beg (mime-editor/content-end) encoding)) (mime-editor/define-encoding encoding) )) (goto-char (mime-editor/content-end)) -- 1.7.10.4