Require atype; functions about atype were abolished.
authormorioka <morioka>
Mon, 3 Mar 1997 17:25:51 +0000 (17:25 +0000)
committermorioka <morioka>
Mon, 3 Mar 1997 17:25:51 +0000 (17:25 +0000)
mime-def.el

index 8ad307b..848859e 100644 (file)
@@ -3,7 +3,7 @@
 ;; Copyright (C) 1995,1996,1997 Free Software Foundation, Inc.
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version: $Id: mime-def.el,v 0.38 1997-03-03 16:57:09 morioka Exp $
+;; Version: $Id: mime-def.el,v 0.39 1997-03-03 17:25:51 morioka Exp $
 ;; Keywords: definition, MIME, multimedia, mail, news
 
 ;; This file is part of SEMI (SEMI is Emacs MIME Interfaces).
@@ -161,19 +161,11 @@ FUNCTION.")
 ;;; @ method selector kernel
 ;;;
 
+(require 'atype)
+
 ;;; @@ field unifier
 ;;;
 
-(defun field-unifier-for-default (a b)
-  (let ((ret
-        (cond ((equal a b)    a)
-              ((null (cdr b)) a)
-              ((null (cdr a)) b)
-              )))
-    (if ret
-       (list nil ret nil)
-      )))
-
 (defun field-unifier-for-mode (a b)
   (let ((va (cdr a)))
     (if (if (consp va)
@@ -183,136 +175,6 @@ FUNCTION.")
        (list nil b nil)
       )))
 
-(defun field-unify (a b)
-  (let ((sym (intern (concat "field-unifier-for-" (symbol-name (car a))))))
-    (or (fboundp sym)
-       (setq sym (function field-unifier-for-default))
-       )
-    (funcall sym a b)
-    ))
-
-
-;;; @@ type unifier
-;;;
-
-(defun assoc-unify (class instance)
-  (catch 'tag
-    (let ((cla (copy-alist class))
-         (ins (copy-alist instance))
-         (r class)
-         cell aret ret prev rest)
-      (while r
-       (setq cell (car r))
-       (setq aret (assoc (car cell) ins))
-       (if aret
-           (if (setq ret (field-unify cell aret))
-               (progn
-                 (if (car ret)
-                     (setq prev (put-alist (car (car ret))
-                                           (cdr (car ret))
-                                           prev))
-                   )
-                 (if (nth 2 ret)
-                     (setq rest (put-alist (car (nth 2 ret))
-                                           (cdr (nth 2 ret))
-                                           rest))
-                   )
-                 (setq cla (put-alist (car cell)(cdr (nth 1 ret)) cla))
-                 (setq ins (del-alist (car cell) ins))
-                 )
-             (throw 'tag nil)
-             ))
-       (setq r (cdr r))
-       )
-      (setq r (copy-alist ins))
-      (while r
-       (setq cell (car r))
-       (setq aret (assoc (car cell) cla))
-       (if aret
-           (if (setq ret (field-unify cell aret))
-               (progn
-                 (if (car ret)
-                     (setq prev (put-alist (car (car ret))
-                                           (cdr (car ret))
-                                           prev))
-                   )
-                 (if (nth 2 ret)
-                     (setq rest (put-alist (car (nth 2 ret))
-                                           (cdr (nth 2 ret))
-                                           rest))
-                   )
-                 (setq cla (del-alist (car cell) cla))
-                 (setq ins (put-alist (car cell)(cdr (nth 1 ret)) ins))
-                 )
-             (throw 'tag nil)
-             ))
-       (setq r (cdr r))
-       )
-      (list prev (append cla ins) rest)
-      )))
-
-(defun get-unified-alist (db al)
-  (let ((r db) ret)
-    (catch 'tag
-      (while r
-       (if (setq ret (nth 1 (assoc-unify (car r) al)))
-           (throw 'tag ret)
-         )
-       (setq r (cdr r))
-       ))))
-
-(defun delete-atype (atl al)
-  (let* ((r atl) ret oal)
-    (setq oal
-         (catch 'tag
-           (while r
-             (if (setq ret (nth 1 (assoc-unify (car r) al)))
-                 (throw 'tag (car r))
-               )
-             (setq r (cdr r))
-             )))
-    (delete oal atl)
-    ))
-
-(defun remove-atype (sym al)
-  (and (boundp sym)
-       (set sym (delete-atype (eval sym) al))
-       ))
-
-(defun replace-atype (atl old-al new-al)
-  (let* ((r atl) ret oal)
-    (if (catch 'tag
-         (while r
-           (if (setq ret (nth 1 (assoc-unify (car r) old-al)))
-               (throw 'tag (rplaca r new-al))
-             )
-           (setq r (cdr r))
-           ))
-       atl)))
-
-(defun set-atype (sym al &rest options)
-  (if (null (boundp sym))
-      (set sym al)
-    (let* ((replacement (memq 'replacement options))
-          (ignore-fields (car (cdr (memq 'ignore options))))
-          (remove (or (car (cdr (memq 'remove options)))
-                      (let ((ral (copy-alist al)))
-                        (mapcar (function
-                                 (lambda (type)
-                                   (setq ral (del-alist type ral))
-                                   ))
-                                ignore-fields)
-                        ral)))
-          )
-      (set sym
-          (or (if replacement
-                  (replace-atype (eval sym) remove al)
-                )
-              (cons al
-                    (delete-atype (eval sym) remove)
-                    )
-              )))))
-
 
 ;;; @ rot13-47
 ;;;