Sync up with semi-1_13.
authorkeiichi <keiichi>
Wed, 27 Jan 1999 05:06:40 +0000 (05:06 +0000)
committerkeiichi <keiichi>
Wed, 27 Jan 1999 05:06:40 +0000 (05:06 +0000)
README.en
VERSION
mime-edit.el
mime-play.el
mime-view.el
mime-w3.el
semi-def.el

index dced2b2..363cc58 100644 (file)
--- a/README.en
+++ b/README.en
@@ -40,7 +40,7 @@ Required environment
   19.14.  SEMI also does not support Emacs 19.29 to 19.34, XEmacs
   19.15 or XEmacs 20.2 without mule, but SEMI may work with them.
 
-  SEMI requires APEL (9.11 or later) and FLIM (1.12.4 or later)
+  SEMI requires APEL (9.11 or later) and FLIM (1.12.5 or later)
   package.  Please install them before installing it.  APEL package is
   available at:
 
diff --git a/VERSION b/VERSION
index caacd72..54312ec 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -75,7 +75,7 @@
 1.12.1 [JR] Nonoichi           [JR] \e$(BLn!9;T\e(B
 1.13.0 Matt\e-Dò\e-A                     \e$(B>>G$\e(B
 1.13.1 Kaga-Kasama             \e$(B2C2l3^4V\e(B
------- Mikawa                  \e$(BH~@n\e(B
+1.13.2 Mikawa                  \e$(BH~@n\e(B
 ------ Komaiko                 \e$(B>.Iq;R\e(B
 ------ Terai                   \e$(B;{0f\e(B
 ------ Meih\e-Dò\e-A                     \e$(BL@Jv\e(B
 1.12.1 Kusanagi                \e$(BApFe\e(B
 1.13.0 Shizuoka                \e$(B@E2,\e(B
 1.13.1 Abekawa                 \e$(B0BG\@n\e(B
------- Mochimune               \e$(BMQ=!\e(B
+1.13.2 Mochimune               \e$(BMQ=!\e(B
 ------ Yaizu                   \e$(B>FDE\e(B
 ------ Nishi-Yaizu             \e$(B@>>FDE\e(B
 ------ Fijieda                 \e$(BF#;^\e(B
 ------ Kanaya                  \e$(B6bC+\e(B     ; = \e$(BBg0f@nE4F;\e(B
 ------ Kikugawa                \e$(B5F@n\e(B
 ------ Kakegawa                \e$(B3]@n\e(B     ; = \e$(BE7N5IML>8PE4F;\e(B
+------ Fukuroi                 \e$(BB^0f\e(B
+------ Iwata                   \e$(BHXED\e(B
+------ Toyodach\e-Dò\e-A         \e$(BK-EDD.\e(B
+------ Tenry\e-Dþgawa\e-A                \e$(BE7N5@n\e(B
+------ Hamamatsu               \e$(BIM>>\e(B     ; = \e$(B1s=#E4F;\e(B
+------ Takatsuka               \e$(B9bDM\e(B
+------ Maisaka                 \e$(BIq:e\e(B
+------ Bentenjima              \e$(BJ[E7Eg\e(B
+------ Araimachi               \e$(B?75oD.\e(B
+------ Wasizu                  \e$(BOIDE\e(B
+------ Shinjohara              \e$(B?7=j86\e(B   ; = \e$(BE7N5IML>8PE4F;\e(B
+------ Futagawa                \e$(BFs2O\e(B
+------ Toyohashi               \e$(BK-66\e(B     ; = JR \e$(BHSED@~\e(B
 :      :                       :
 ------ Kanayama                \e$(B6b;3\e(B     ; =\e$(B!J\e(BJR \e$(BCf1{K\@~!K\e(B
 ------ Ot\e-Dòbashi\e-A          \e$(BHxF,66\e(B
index b1a290f..90db5fe 100644 (file)
@@ -2682,7 +2682,7 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n"
           "^Content-Transfer-Encoding:" limit t)
          (let ((beg (match-beginning 0))
                (hbeg (match-end 0))
-               (end (std11-field-end)))
+               (end (std11-field-end limit)))
            (setq encoding
                  (downcase
                   (eliminate-top-spaces
index a78389d..aa025df 100644 (file)
 (add-hook 'kill-emacs-hook 'mime-save-acting-situation-examples)
 
 (defun mime-reduce-acting-situation-examples ()
-  (let* ((rest mime-acting-situation-example-list)
-        (min-example (car rest))
-        (min-score (cdr min-example)))
-    (while rest
-      (let* ((example (car rest))
-            (score (cdr example)))
-       (cond ((< score min-score)
-              (setq min-score score
-                    min-example example)
-              )
-             ((= score min-score)
-              (if (<= (length (car example))(length (car min-example)))
-                  (setq min-example example)
-                ))
-             ))
-      (setq rest (cdr rest)))
-    (setq mime-acting-situation-example-list
-         (delq min-example mime-acting-situation-example-list))
-    (setq min-example (car min-example))
-    (let ((examples mime-acting-situation-example-list)
-         (max-score 0)
-         max-examples)
-      (while examples
-       (let* ((ret (mime-compare-situation-with-example min-example
-                                                        (caar examples)))
-              (ret-score (car ret)))
-         (cond ((> ret-score max-score)
-                (setq max-score ret-score
-                      max-examples (list (cdr ret)))
+  (let ((len (length mime-acting-situation-example-list))
+       i ir ic j jr jc ret
+       dest d-i d-j
+       (max-sim 0) sim
+       min-det-ret det-ret
+       min-det-org det-org
+       min-freq freq)
+    (setq i 0
+         ir mime-acting-situation-example-list)
+    (while (< i len)
+      (setq ic (car ir)
+           j 0
+           jr mime-acting-situation-example-list)
+      (while (< j len)
+       (unless (= i j)
+         (setq jc (car jr))
+         (setq ret (mime-compare-situation-with-example (car ic)(car jc))
+               sim (car ret)
+               det-ret (+ (length (car ic))(length (car jc)))
+               det-org (length (cdr ret))
+               freq (+ (cdr ic)(cdr jc)))
+         (cond ((< max-sim sim)
+                (setq max-sim sim
+                      min-det-ret det-ret
+                      min-det-org det-org
+                      min-freq freq
+                      d-i i
+                      d-j j
+                      dest (cons (cdr ret) freq))
                 )
-               ((= ret-score max-score)
-                (setq max-examples (cons (cdr ret) max-examples))
-                )))
-       (setq examples (cdr examples)))
-      (while max-examples
-       (let* ((example (car max-examples))
-              (cell (assoc example mime-acting-situation-example-list)))
-         (if cell
-             (setcdr cell (1+ (cdr cell)))
-           (setq mime-acting-situation-example-list
-                 (cons (cons example 0)
-                       mime-acting-situation-example-list))
-           ))
-       (setq max-examples (cdr max-examples))
-       ))))
+               ((= max-sim sim)
+                (cond ((> min-det-ret det-ret)
+                       (setq min-det-ret det-ret
+                             min-det-org det-org
+                             min-freq freq
+                             d-i i
+                             d-j j
+                             dest (cons (cdr ret) freq))
+                       )
+                      ((= min-det-ret det-ret)
+                       (cond ((> min-det-org det-org)
+                              (setq min-det-org det-org
+                                    min-freq freq
+                                    d-i i
+                                    d-j j
+                                    dest (cons (cdr ret) freq))
+                              )
+                             ((= min-det-org det-org)
+                              (cond ((> min-freq freq)
+                                     (setq min-freq freq
+                                           d-i i
+                                           d-j j
+                                           dest (cons (cdr ret) freq))
+                                     ))
+                              ))
+                       ))
+                ))
+         )
+       (setq jr (cdr jr)
+             j (1+ j)))
+      (setq ir (cdr ir)
+           i (1+ i)))
+    (if (> d-i d-j)
+       (setq i d-i
+             d-i d-j
+             d-j i))
+    (setq jr (nthcdr (1- d-j) mime-acting-situation-example-list))
+    (setcdr jr (cddr jr))
+    (if (= d-i 0)
+       (setq mime-acting-situation-example-list
+             (cdr mime-acting-situation-example-list))
+      (setq ir (nthcdr (1- d-i) mime-acting-situation-example-list))
+      (setcdr ir (cddr ir))
+      )
+    (if (setq ir (assoc (car dest) mime-acting-situation-example-list))
+       (setcdr ir (+ (cdr ir)(cdr dest)))
+      (setq mime-acting-situation-example-list
+           (cons dest mime-acting-situation-example-list))
+      )))
 
 
 ;;; @ content decoder
 ;;;
 
+;;;###autoload
 (defun mime-preview-play-current-entity (&optional ignore-examples mode)
   "Play current entity.
 It decodes current entity to call internal or external method.  The
@@ -198,6 +233,7 @@ If MODE is specified, play as it.  Default MODE is \"play\"."
     (cons match example)
     ))
 
+;;;###autoload
 (defun mime-play-entity (entity &optional situation ignored-method)
   "Play entity specified by ENTITY.
 It decodes the entity to call internal or external method.  The method
@@ -661,23 +697,21 @@ It is registered to variable `mime-preview-quitting-method-alist'."
 
 (defun mime-view-caesar (entity situation)
   "Internal method for mime-view to display ROT13-47-48 message."
-  (let* ((new-name (format "%s-%s" (buffer-name)
-                          (mime-entity-number entity)))
-        (mother mime-preview-buffer))
-    (let ((pwin (or (get-buffer-window mother)
-                   (get-largest-window)))
-         (buf (get-buffer-create new-name)))
-      (set-window-buffer pwin buf)
-      (set-buffer buf)
-      (select-window pwin)
+  (let ((buf (get-buffer-create
+             (format "%s-%s" (buffer-name) (mime-entity-number entity)))))
+    (with-current-buffer buf
+      (setq buffer-read-only nil)
+      (erase-buffer)
+      (mime-insert-text-content entity)
+      (mule-caesar-region (point-min) (point-max))
+      (set-buffer-modified-p nil)
       )
-    (setq buffer-read-only nil)
-    (erase-buffer)
-    (mime-insert-text-content entity)
-    (mule-caesar-region (point-min) (point-max))
-    (set-buffer-modified-p nil)
-    (set-buffer mother)
-    (view-buffer new-name)
+    (let ((win (get-buffer-window (current-buffer))))
+      (or (eq (selected-window) win)
+         (select-window (or win (get-largest-window)))
+         ))
+    (view-buffer buf)
+    (goto-char (point-min))
     ))
 
 
index a6913f4..14bca3c 100644 (file)
@@ -933,8 +933,20 @@ MEDIA-TYPE must be (TYPE . SUBTYPE), TYPE or t.  t means default."
 
 (defvar mime-view-redisplay nil)
 
+;;;###autoload
 (defun mime-display-message (message &optional preview-buffer
                                     mother default-keymap-or-function)
+  "View MESSAGE in MIME-View mode.
+
+Optional argument PREVIEW-BUFFER specifies the buffer of the
+presentation.  It must be either nil or a name of preview buffer.
+
+Optional argument MOTHER specifies mother-buffer of the preview-buffer.
+
+Optional argument DEFAULT-KEYMAP-OR-FUNCTION is nil, keymap or
+function.  If it is a keymap, keymap of MIME-View mode will be added
+to it.  If it is a function, it will be bound as default binding of
+keymap of MIME-View mode."
   (mime-maybe-hide-echo-buffer)
   (let ((win-conf (current-window-configuration))
        (raw-buffer (mime-entity-buffer message)))
@@ -980,6 +992,7 @@ MEDIA-TYPE must be (TYPE . SUBTYPE), TYPE or t.  t means default."
                  )))))
       )))
 
+;;;###autoload
 (defun mime-view-buffer (&optional raw-buffer preview-buffer mother
                                   default-keymap-or-function
                                   representation-type)
index be90783..6ce9927 100644 (file)
@@ -58,7 +58,9 @@
        (narrow-to-region p p)
        (mime-insert-text-content entity)
        (run-hooks 'mime-text-decode-hook)
-       (w3-region p (point-max))
+       (condition-case err
+          (w3-region p (point-max))
+        (error (message (format "%s" err))))
        (mime-put-keymap-region p (point-max) w3-mode-map)
        ))))
 
index 58fa6b0..3c47ceb 100644 (file)
@@ -30,7 +30,7 @@
 
 (require 'custom)
 
-(defconst mime-user-interface-product ["SEMI" (1 13 1) "Kaga-Kasama"]
+(defconst mime-user-interface-product ["SEMI" (1 13 2) "Mikawa"]
   "Product name, version number and code name of MIME-kernel package.")
 
 (autoload 'mule-caesar-region "mule-caesar"