From 53c47ce257d63b0250a71eb8b32b65b2d60a31fb Mon Sep 17 00:00:00 2001 From: keiichi Date: Wed, 27 Jan 1999 05:06:40 +0000 Subject: [PATCH] Sync up with semi-1_13. --- README.en | 2 +- VERSION | 17 ++++++- mime-edit.el | 2 +- mime-play.el | 154 +++++++++++++++++++++++++++++++++++----------------------- mime-view.el | 13 +++++ mime-w3.el | 4 +- semi-def.el | 2 +- 7 files changed, 128 insertions(+), 66 deletions(-) diff --git a/README.en b/README.en index dced2b2..363cc58 100644 --- 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 --- a/VERSION +++ b/VERSION @@ -75,7 +75,7 @@ 1.12.1 [JR] Nonoichi [JR] $(BLn!9;T(B 1.13.0 Matt-Dò-A $(B>>G$(B 1.13.1 Kaga-Kasama $(B2C2l3^4V(B ------- Mikawa $(BH~@n(B +1.13.2 Mikawa $(BH~@n(B ------ Komaiko $(B>.Iq;R(B ------ Terai $(B;{0f(B ------ Meih-Dò-A $(BL@Jv(B @@ -143,7 +143,7 @@ 1.12.1 Kusanagi $(BApFe(B 1.13.0 Shizuoka $(B@E2,(B 1.13.1 Abekawa $(B0BG\@n(B ------- Mochimune $(BMQ=!(B +1.13.2 Mochimune $(BMQ=!(B ------ Yaizu $(B>FDE(B ------ Nishi-Yaizu $(B@>>FDE(B ------ Fijieda $(BF#;^(B @@ -152,6 +152,19 @@ ------ Kanaya $(B6bC+(B ; = $(BBg0f@nE4F;(B ------ Kikugawa $(B5F@n(B ------ Kakegawa $(B3]@n(B ; = $(BE7N5IML>8PE4F;(B +------ Fukuroi $(BB^0f(B +------ Iwata $(BHXED(B +------ Toyodach-Dò-A $(BK-EDD.(B +------ Tenry-Dþgawa-A $(BE7N5@n(B +------ Hamamatsu $(BIM>>(B ; = $(B1s=#E4F;(B +------ Takatsuka $(B9bDM(B +------ Maisaka $(BIq:e(B +------ Bentenjima $(BJ[E7Eg(B +------ Araimachi $(B?75oD.(B +------ Wasizu $(BOIDE(B +------ Shinjohara $(B?7=j86(B ; = $(BE7N5IML>8PE4F;(B +------ Futagawa $(BFs2O(B +------ Toyohashi $(BK-66(B ; = JR $(BHSED@~(B : : : ------ Kanayama $(B6b;3(B ; =$(B!J(BJR $(BCf1{K\@~!K(B ------ Ot-Dòbashi-A $(BHxF,66(B diff --git a/mime-edit.el b/mime-edit.el index b1a290f..90db5fe 100644 --- a/mime-edit.el +++ b/mime-edit.el @@ -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 diff --git a/mime-play.el b/mime-play.el index a78389d..aa025df 100644 --- a/mime-play.el +++ b/mime-play.el @@ -64,56 +64,91 @@ (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)) )) diff --git a/mime-view.el b/mime-view.el index a6913f4..14bca3c 100644 --- a/mime-view.el +++ b/mime-view.el @@ -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) diff --git a/mime-w3.el b/mime-w3.el index be90783..6ce9927 100644 --- a/mime-w3.el +++ b/mime-w3.el @@ -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) )))) diff --git a/semi-def.el b/semi-def.el index 58fa6b0..3c47ceb 100644 --- a/semi-def.el +++ b/semi-def.el @@ -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" -- 1.7.10.4