This commit was generated by cvs2svn to compensate for changes in r416,
[elisp/tm.git] / tm-ew-d.el
index d14dead..fb9ccf4 100644 (file)
@@ -4,20 +4,47 @@
 ;;;
 ;;; Copyright (C) 1995 Free Software Foundation, Inc.
 ;;; Copyright (C) 1992 ENAMI Tsugutomo
-;;; Copyright (C) 1993,1994,1995 MORIOKA Tomohiko
+;;; Copyright (C) 1993 .. 1996 MORIOKA Tomohiko
 ;;;
 ;;; Author: ENAMI Tsugutomo <enami@sys.ptg.sony.co.jp>
 ;;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;;; Version:
-;;;    $Id: tm-ew-d.el,v 7.1 1995/10/03 04:34:26 morioka Exp $
+;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;;; Created: 1993/6/3 (1995/10/3 obsolete tiny-mime.el)
+;;; Version: $Revision: 7.13 $
 ;;; Keywords: mail, news, MIME, RFC 1522, multilingual, encoded-word
 ;;;
+;;; This file is part of tm (Tools for MIME).
+;;;
+;;; 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 This program.  If not, write to the Free Software
+;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;;
+;;; Code:
 
 (require 'emu)
+(require 'tl-822)
 (require 'mel)
 (require 'tm-def)
 
 
+;;; @ version
+;;;
+
+(defconst tm-ew-d/RCS-ID
+  "$Id: tm-ew-d.el,v 7.13 1996/07/14 11:40:02 morioka Exp $")
+(defconst mime/eword-decoder-version (get-version-string tm-ew-d/RCS-ID))
+
+
 ;;; @ MIME encoded-word definition
 ;;;
 
 ;;; @ for string
 ;;;
 
-(defun mime/decode-encoded-words-string (str)
+(defun mime-eword/decode-string (str)
+  (setq str (rfc822/unfolding-string str))
   (let ((dest "")(ew nil)
        beg end)
-    (while (setq beg (string-match mime/encoded-word-regexp str))
+    (while (and (string-match mime/encoded-word-regexp str)
+               (setq beg (match-beginning 0)
+                     end (match-end 0))
+               )
       (if (> beg 0)
-         (if (not (and (eq ew t) (string= (substring str 0 beg) " ")))
-             (setq dest (concat dest (substring str 0 beg)
-                                ))
+         (if (not
+              (and (eq ew t)
+                   (string-match "^[ \t]+$" (substring str 0 beg))
+                   ))
+             (setq dest (concat dest (substring str 0 beg)))
            )
        )
-      (setq end (match-end 0))
       (setq dest (concat dest
                         (mime/decode-encoded-word (substring str beg end))
                         ))
@@ -62,7 +94,7 @@
 ;;; @ for region
 ;;;
 
-(defun mime/decode-encoded-words-region (beg end &optional unfolding)
+(defun mime-eword/decode-region (beg end &optional unfolding)
   (interactive "*r")
   (save-excursion
     (save-restriction
     (save-restriction
       (narrow-to-region (goto-char (point-min))
                        (progn (re-search-forward "^$" nil t) (point)))
-      (mime/decode-encoded-words-region (point-min) (point-max) t)
+      (mime-eword/decode-region (point-min) (point-max) t)
       )))
 
 (defun mime/unfolding ()
   (goto-char (point-min))
   (let (field beg end)
-    (while (re-search-forward message/field-name-regexp nil t)
+    (while (re-search-forward rfc822/field-top-regexp nil t)
       (setq beg (match-beginning 0))
-      (setq end (message/field-end))
+      (setq end (rfc822/field-end))
       (setq field (buffer-substring beg end))
       (if (string-match mime/encoded-word-regexp field)
          (save-restriction
 
 (defun mime/decode-encoded-text (charset encoding str)
   (let ((dest
-        (cond ((string= "B" encoding)
+        (cond ((string-equal "B" encoding)
                (base64-decode-string str))
-              ((string= "Q" encoding)
+              ((string-equal "Q" encoding)
                (q-encoding-decode-string str))
               (t (message "unknown encoding %s" encoding)
                  nil))))
     (if dest
-       (mime/convert-string-to-emacs charset dest)
+       (decode-mime-charset-string dest charset)
       )))
 
 
 ;;;
 
 (provide 'tm-ew-d)
+
+;;; tm-ew-d.el ends here