Release T-gnus 6.13.0.
[elisp/gnus.git-] / lisp / mmgnus.el
index 489065d..3493ee1 100644 (file)
 
 (require 'mmbuffer)
 
-(mm-define-backend gnus (generic))
-
-(mm-define-method entity-buffer ((entity gnus))
-  ;; (if (with-current-buffer gnus-summary-buffer
-  ;;       (eq gnus-current-article (mail-header-number entity)))
-  ;;     ...)
-  (unless (mime-entity-header-start-internal entity)
-    (set-buffer gnus-original-article-buffer)
-    (mime-entity-set-header-start-internal entity (point-min))
-    (mime-entity-set-body-end-internal entity (point-max))
-    (if (re-search-forward "^$" nil t)
-       (progn
-         (mime-entity-set-header-end-internal entity (match-end 0))
-         (mime-entity-set-body-start-internal
-          entity
-          (if (= (mime-entity-header-end-internal entity)
-                 (mime-entity-body-end-internal entity))
-              (mime-entity-body-end-internal entity)
-            (1+ (mime-entity-header-end-internal entity))
-            ))
-         )
-      (mime-entity-set-header-end-internal entity (point-min))
-      (mime-entity-set-body-start-internal entity (point-min))
-      ))
-  gnus-original-article-buffer)
+(luna-define-class mime-gnus-entity (mime-buffer-entity)
+                  (number
+                   subject from date id references chars lines xref extra))
+
+(luna-define-internal-accessors 'mime-gnus-entity)
+
+(luna-define-method initialize-instance ((entity mime-gnus-entity)
+                                        &rest init-args)
+  (apply (car (luna-class-find-functions
+              (luna-find-class 'standard-object)
+              'initialize-instance))
+        entity init-args)
+  )
+
+;; (luna-define-method mime-entity-fetch-field ((entity mime-gnus-entity)
+;;                                              field-name)
+;;   (or (funcall (car (luna-class-find-functions
+;;                      (luna-find-class 'mime-entity)
+;;                      'mime-entity-fetch-field))
+;;                entity field-name)
+;;       (with-current-buffer gnus-original-article-buffer
+;;         (let ((ret (std11-field-body field-name)))
+;;           (when ret
+;;             (or (symbolp field-name)
+;;                 (setq field-name
+;;                       (intern (capitalize (capitalize field-name)))))
+;;             (mime-entity-set-original-header-internal
+;;              entity
+;;              (put-alist field-name ret
+;;                         (mime-entity-original-header-internal entity)))
+;;             ret)))))
+
+;; (luna-define-method mime-entity-buffer ((entity mime-gnus-entity))
+;;   ;; (if (with-current-buffer gnus-summary-buffer
+;;   ;;       (eq gnus-current-article (mail-header-number entity)))
+;;   ;;     ...)
+;;   (unless (mime-buffer-entity-header-end-internal entity)
+;;     (set-buffer gnus-original-article-buffer)
+;;     (mime-buffer-entity-set-header-start-internal entity (point-min))
+;;     (mime-buffer-entity-set-body-end-internal entity (point-max))
+;;     (goto-char (point-min))
+;;     (if (re-search-forward "^$" nil t)
+;;         (progn
+;;           (mime-buffer-entity-set-header-end-internal entity (match-end 0))
+;;           (mime-buffer-entity-set-body-start-internal
+;;            entity
+;;            (if (= (mime-buffer-entity-header-end-internal entity)
+;;                   (mime-buffer-entity-body-end-internal entity))
+;;                (mime-buffer-entity-body-end-internal entity)
+;;              (1+ (mime-buffer-entity-header-end-internal entity))
+;;              ))
+;;           )
+;;       (mime-buffer-entity-set-header-end-internal entity (point-min))
+;;       (mime-buffer-entity-set-body-start-internal entity (point-min))
+;;       ))
+;;   gnus-original-article-buffer)
 
 
 ;;; @ end