Synchronized with flim-1_14_6
authoryoichi <yoichi>
Mon, 23 Aug 2004 16:45:11 +0000 (16:45 +0000)
committeryoichi <yoichi>
Mon, 23 Aug 2004 16:45:11 +0000 (16:45 +0000)
ChangeLog
FLIM-ELS
Makefile
VERSION
eword-decode.el
eword-encode.el
mime-def.el
mime.el
std11.el

index f07198b..2926d6d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,54 @@
+2003-12-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * FLIM: Version 1.14.6 (Marutamachi) released.
+
+2003-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mime-def.el (mime-header-accept-quoted-encoded-words): Change
+       default value to nil.
+
+2003-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * eword-decode.el (eword-analyze-quoted-string): Decode
+       quoted-encoded-words when
+       `mime-header-accept-quoted-encoded-words' is not nil.
+
+       * mime.el (mime-entity-filename): Decode quoted-encoded-words when
+       `mime-header-accept-quoted-encoded-words' is not nil.
+
+       * mime-def.el (mime-header-accept-quoted-encoded-words): New user
+       option.
+
+2003-12-14  Tatsuya Kinoshita  <tats@vega.ocn.ne.jp>
+
+       * eword-encode.el (mime-header-charset-encoding-alist): Add
+       entry for iso-8859-1[45].
+
+2003-11-13  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * FLIM-ELS (flim-modules): Install mel-b-el also for
+       mel-b-builtin case. (from Tatsuya Kinoshita)
+
+2003-09-18  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * FLIM-ELS (flim-modules): Don't install smtpmail.
+
+2003-04-30  Yoichi NAKAYAMA  <yoichi@geiin.org>
+
+       * std11.el (std11-field-end): Return end of field correctly
+       even in case of existence of invisible header.
+
+2003-02-05  Yoichi NAKAYAMA  <yoichi@eken.phys.nagoya-u.ac.jp>
+
+       * eword-encode.el (mime-encode-header-in-buffer):
+       Do not eliminate white spaces.
+
+2002-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * eword-encode.el (tm-eword::words-to-ruled-words): New
+       implementation for UTF-2000 implementations.
+
+\f
 2002-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
        * FLIM: Version 1.14.5 (Demachiyanagi) released.
 2002-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
        * FLIM: Version 1.14.5 (Demachiyanagi) released.
index dbf9c6d..6a9c5bd 100644 (file)
--- a/FLIM-ELS
+++ b/FLIM-ELS
@@ -13,7 +13,7 @@
                     mime-conf
                     sasl sasl-cram sasl-digest
                     md4 ntlm sasl-ntlm sasl-scram
                     mime-conf
                     sasl sasl-cram sasl-digest
                     md4 ntlm sasl-ntlm sasl-scram
-                    smtp qmtp smtpmail))
+                    smtp qmtp))
 
 (setq flim-version-specific-modules nil)
 
 
 (setq flim-version-specific-modules nil)
 
@@ -25,8 +25,8 @@
         (subrp (symbol-function 'base64-encode-string)))
     nil
   (if (fboundp 'dynamic-link)
         (subrp (symbol-function 'base64-encode-string)))
     nil
   (if (fboundp 'dynamic-link)
-      (setq flim-modules (cons 'mel-b-dl flim-modules)))
-  (setq flim-modules (cons 'mel-b-el flim-modules)))
+      (setq flim-modules (cons 'mel-b-dl flim-modules))))
+(setq flim-modules (cons 'mel-b-el flim-modules))
 
 (require 'pccl)
 (unless-broken ccl-usable
 
 (require 'pccl)
 (unless-broken ccl-usable
index 3b0c7fb..005cb65 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
 
 PACKAGE = flim
 API    = 1.14
 
 PACKAGE = flim
 API    = 1.14
-RELEASE = 5
+RELEASE = 6
 
 TAR    = tar
 RM     = /bin/rm -f
 
 TAR    = tar
 RM     = /bin/rm -f
diff --git a/VERSION b/VERSION
index 012ff27..879c516 100644 (file)
--- a/VERSION
+++ b/VERSION
 
 ;;-------------------------------------------------------------------------
 ;;     Keihan Electric Railway \e$(B5~:eEE5$E4F;\e(B     http://www.keihan.co.jp/
 
 ;;-------------------------------------------------------------------------
 ;;     Keihan Electric Railway \e$(B5~:eEE5$E4F;\e(B     http://www.keihan.co.jp/
-;;                             \e$(B3{El@~\e(B
+;;     \e-DÒtò\e-A Line          \e$(B3{El@~\e(B
 ;;-------------------------------------------------------------------------
 1.14.5 Demachiyanagi           \e$(B=PD.Lx\e(B           ; <=> \e$(B1CEE\e(B
 ;;-------------------------------------------------------------------------
 1.14.5 Demachiyanagi           \e$(B=PD.Lx\e(B           ; <=> \e$(B1CEE\e(B
+1.14.6 Marutamachi             \e$(B4]B@D.\e(B
 
 
 [Chao Version names]
 
 
 [Chao Version names]
index 328cc28..0b2d19a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; eword-decode.el --- RFC 2047 based encoded-word decoder for GNU Emacs
 
 ;;; eword-decode.el --- RFC 2047 based encoded-word decoder for GNU Emacs
 
-;; Copyright (C) 1995,1996,1997,1998,1999,2000 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99,2000,01,03 Free Software Foundation, Inc.
 
 ;; Author: ENAMI Tsugutomo <enami@sys.ptg.sony.co.jp>
 ;;         MORIOKA Tomohiko <tomo@m17n.org>
 
 ;; Author: ENAMI Tsugutomo <enami@sys.ptg.sony.co.jp>
 ;;         MORIOKA Tomohiko <tomo@m17n.org>
@@ -621,16 +621,17 @@ returns nil, next function is used.  Otherwise the return value will
 be the result.")
 
 (defun eword-analyze-quoted-string (string start &optional must-unfold)
 be the result.")
 
 (defun eword-analyze-quoted-string (string start &optional must-unfold)
-  (let ((p (std11-check-enclosure string ?\" ?\" nil start)))
-    (if p
-       (cons (cons 'quoted-string
-                   (decode-mime-charset-string
-                    (std11-strip-quoted-pair
-                     (substring string (1+ start) (1- p)))
-                    default-mime-charset))
-             ;;(substring string p))
-             p)
-      )))
+  (let ((p (std11-check-enclosure string ?\" ?\" nil start))
+       ret)
+    (when p
+      (setq ret (decode-mime-charset-string
+                (std11-strip-quoted-pair
+                 (substring string (1+ start) (1- p)))
+                default-mime-charset))
+      (if mime-header-accept-quoted-encoded-words
+         (setq ret (eword-decode-string ret)))
+      (cons (cons 'quoted-string ret)
+           p))))
 
 (defun eword-analyze-domain-literal (string start &optional must-unfold)
   (std11-analyze-domain-literal string start))
 
 (defun eword-analyze-domain-literal (string start &optional must-unfold)
   (std11-analyze-domain-literal string start))
index 8d24b64..7eebc51 100644 (file)
@@ -46,6 +46,8 @@
     (iso-8859-7                . "Q")
     (iso-8859-8                . "Q")
     (iso-8859-9                . "Q")
     (iso-8859-7                . "Q")
     (iso-8859-8                . "Q")
     (iso-8859-9                . "Q")
+    (iso-8859-14       . "Q")
+    (iso-8859-15       . "Q")
     (iso-2022-jp       . "B")
     (iso-2022-jp-3     . "B")
     (iso-2022-kr       . "B")
     (iso-2022-jp       . "B")
     (iso-2022-jp-3     . "B")
     (iso-2022-kr       . "B")
@@ -180,6 +182,26 @@ MODE is allows `text', `comment', `phrase' or nil.  Default value is
                       (cons charset mime-header-default-charset-encoding)))))
        (list charset encoding))))
 
                       (cons charset mime-header-default-charset-encoding)))))
        (list charset encoding))))
 
+;; [tomo:2002-11-05] The following code is a quick-fix for emacsen
+;; which is not depended on the Mule model.  We should redesign
+;; `eword-encode-split-string' to avoid to depend on the Mule model.
+(if (featurep 'utf-2000)
+;; for CHISE Architecture
+(defun tm-eword::words-to-ruled-words (wl &optional mode)
+  (let (mcs)
+    (mapcar (function
+            (lambda (word)
+              (setq mcs (detect-mime-charset-string (cdr word)))
+              (make-ew-rword
+               (cdr word)
+               mcs
+               (cdr (or (assq mcs mime-header-charset-encoding-alist)
+                        (cons mcs mime-header-default-charset-encoding)))
+               mode)
+              ))
+           wl)))
+
+;; for legacy Mule
 (defun tm-eword::words-to-ruled-words (wl &optional mode)
   (mapcar (function
           (lambda (word)
 (defun tm-eword::words-to-ruled-words (wl &optional mode)
   (mapcar (function
           (lambda (word)
@@ -187,6 +209,7 @@ MODE is allows `text', `comment', `phrase' or nil.  Default value is
               (make-ew-rword (cdr word) (car ret)(nth 1 ret) mode)
               )))
          wl))
               (make-ew-rword (cdr word) (car ret)(nth 1 ret) mode)
               )))
          wl))
+)
 
 (defun ew-space-process (seq)
   (let (prev a ac b c cc)
 
 (defun ew-space-process (seq)
   (let (prev a ac b c cc)
@@ -737,16 +760,18 @@ It refer variable `mime-field-encoding-method-alist'."
       (goto-char (point-min))
       (let ((default-cs (mime-charset-to-coding-system default-mime-charset))
            bbeg end field-name)
       (goto-char (point-min))
       (let ((default-cs (mime-charset-to-coding-system default-mime-charset))
            bbeg end field-name)
-       (while (re-search-forward std11-field-head-regexp nil t)
+       (while (re-search-forward
+               (concat "\\(" std11-field-head-regexp "\\)" " ?")
+               nil t)
          (setq bbeg (match-end 0)
          (setq bbeg (match-end 0)
-               field-name (buffer-substring (match-beginning 0) (1- bbeg))
+               field-name (buffer-substring (match-beginning 0) (1- (match-end 1)))
                end (std11-field-end))
          (and (delq 'ascii (find-charset-region bbeg end))
               (let ((method (eword-find-field-encoding-method
                              (downcase field-name))))
                 (cond ((eq method 'mime)
                        (let* ((field-body
                end (std11-field-end))
          (and (delq 'ascii (find-charset-region bbeg end))
               (let ((method (eword-find-field-encoding-method
                              (downcase field-name))))
                 (cond ((eq method 'mime)
                        (let* ((field-body
-                              (buffer-substring-no-properties bbeg end))
+                               (buffer-substring-no-properties bbeg end))
                               (encoded-body
                                (mime-encode-field-body
                                 field-body field-name)))
                               (encoded-body
                                (mime-encode-field-body
                                 field-body field-name)))
index 16fe95e..4a58ea3 100644 (file)
@@ -1,6 +1,7 @@
 ;;; mime-def.el --- definition module about MIME -*- coding: iso-8859-4; -*-
 
 ;;; mime-def.el --- definition module about MIME -*- coding: iso-8859-4; -*-
 
-;; Copyright (C) 1995,96,97,98,99,2000,2001,2002 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99,2000,2001,2002,2003
+;;   Free Software Foundation, Inc.
 
 ;; Author: MORIOKA Tomohiko <tomo@m17n.org>
 ;;     Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
 
 ;; Author: MORIOKA Tomohiko <tomo@m17n.org>
 ;;     Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
@@ -32,7 +33,7 @@
 (eval-when-compile (require 'luna))    ; luna-arglist-to-arguments
 
 (eval-and-compile
 (eval-when-compile (require 'luna))    ; luna-arglist-to-arguments
 
 (eval-and-compile
-  (defconst mime-library-product ["FLIM" (1 14 5) "Demachiyanagi"]
+  (defconst mime-library-product ["FLIM" (1 14 6) "Marutamachi"]
     "Product name, version number and code name of MIME-library package."))
 
 (defmacro mime-product-name (product)
     "Product name, version number and code name of MIME-library package."))
 
 (defmacro mime-product-name (product)
   :type '(choice (integer :tag "Limit (bytes)")
                 (const :tag "Don't limit" nil)))
 
   :type '(choice (integer :tag "Limit (bytes)")
                 (const :tag "Don't limit" nil)))
 
+(defcustom mime-header-accept-quoted-encoded-words nil
+  "*Accept encoded-words in quoted-strings."
+  :group 'mime-header
+  :type 'boolean)
+
+
 ;;; @@@ encoding
 ;;;
 
 ;;; @@@ encoding
 ;;;
 
diff --git a/mime.el b/mime.el
index 005790e..161eb97 100644 (file)
--- a/mime.el
+++ b/mime.el
@@ -1,6 +1,6 @@
 ;;; mime.el --- MIME library module
 
 ;;; mime.el --- MIME library module
 
-;; Copyright (C) 1998,1999,2000 Free Software Foundation, Inc.
+;; Copyright (C) 1998,1999,2000,2001,2003 Free Software Foundation, Inc.
 
 ;; Author: MORIOKA Tomohiko <tomo@m17n.org>
 ;; Keywords: MIME, multimedia, mail, news
 
 ;; Author: MORIOKA Tomohiko <tomo@m17n.org>
 ;; Keywords: MIME, multimedia, mail, news
@@ -391,13 +391,16 @@ default value."
 (defun mime-entity-filename (entity)
   "Return filename of ENTITY."
   (or (mime-entity-uu-filename entity)
 (defun mime-entity-filename (entity)
   "Return filename of ENTITY."
   (or (mime-entity-uu-filename entity)
-      (mime-content-disposition-filename
-       (mime-entity-content-disposition entity))
+      (let ((ret (mime-content-disposition-filename
+                 (mime-entity-content-disposition entity))))
+       (if (and mime-header-accept-quoted-encoded-words
+                ret)
+           (eword-decode-string ret)
+         ret))
       (cdr (let ((param (mime-content-type-parameters
                         (mime-entity-content-type entity))))
             (or (assoc "name" param)
       (cdr (let ((param (mime-content-type-parameters
                         (mime-entity-content-type entity))))
             (or (assoc "name" param)
-                (assoc "x-name" param))
-            ))))
+                (assoc "x-name" param))))))
 
 
 (defsubst mime-entity-media-type (entity)
 
 
 (defsubst mime-entity-media-type (entity)
index 6c83a72..a2ebeec 100644 (file)
--- a/std11.el
+++ b/std11.el
@@ -44,9 +44,7 @@ The optional argument BOUNDs the search; it is a buffer position."
     (if (re-search-forward "^$" bound t)
        (goto-char (1- (match-beginning 0)))
       (end-of-line)
     (if (re-search-forward "^$" bound t)
        (goto-char (1- (match-beginning 0)))
       (end-of-line)
-      ))
-  (point)
-  )
+      (point))))
 
 ;;;###autoload
 (defun std11-fetch-field (name)
 
 ;;;###autoload
 (defun std11-fetch-field (name)