From: morioka Date: Sat, 2 May 1998 16:43:43 +0000 (+0000) Subject: (mime-raw-play-entity): Sort before registering to X-Git-Tag: semi-1_3_4_9~2 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=237951e9063e244d84844e7614d2713e4b107ef0;p=elisp%2Fsemi.git (mime-raw-play-entity): Sort before registering to 'mime-acting-situation-examples. --- diff --git a/mime-play.el b/mime-play.el index f5d1499..17bc7b1 100644 --- a/mime-play.el +++ b/mime-play.el @@ -117,7 +117,8 @@ specified, play as it. Default MODE is \"play\"." ) (setq ret (or (ctree-match-calist mime-acting-situation-examples cal) - (ctree-match-calist-partially mime-acting-situation-examples cal) + (ctree-match-calist-partially mime-acting-situation-examples + cal) cal)) (setq ret (or (ctree-find-calist mime-acting-condition ret @@ -135,6 +136,36 @@ specified, play as it. Default MODE is \"play\"." (cdr (assq 'method situation))) situation))) ret))) + (setq ret + (sort ret + #'(lambda (a b) + (let ((a-t (car a)) + (b-t (car b)) + (order '((type . 1) + (subtype . 2) + (mode . 3) + (major-mode . 4))) + a-order b-order) + (if (symbolp a-t) + (let ((ret (assq a-t order))) + (if ret + (setq a-order (cdr ret)) + (setq a-order 5) + )) + (setq a-order 6) + ) + (if (symbolp b-t) + (let ((ret (assq b-t order))) + (if ret + (setq b-order (cdr ret)) + (setq b-order 5) + )) + (setq b-order 6) + ) + (if (= a-order b-order) + (string< (format "%s" a-t)(format "%s" b-t)) + (< a-order b-order)) + )))) (ctree-set-calist-strictly 'mime-acting-situation-examples ret) ) (t @@ -586,7 +617,11 @@ to write." (set-buffer buffer) (erase-buffer) (insert-file-contents file) - (eval-current-buffer)) + (eval-current-buffer) + ;; format check + (or (eq (car mime-acting-situation-examples) 'type) + (setq mime-acting-situation-examples nil)) + ) (kill-buffer buffer)))) ;;; mime-play.el ends here