tm 6.22
[elisp/tm.git] / tm-view.el
index e8b3405..4cd8b6f 100644 (file)
@@ -12,6 +12,7 @@
 
 (require 'tl-str)
 (require 'tl-list)
+(require 'tl-misc)
 (require 'tl-header)
 (require 'tiny-mime)
 (require 'tm-misc)
@@ -21,7 +22,7 @@
 ;;;
 
 (defconst mime-viewer/RCS-ID
-  "$Id: tm-view.el,v 6.21 1995/05/16 12:07:52 morioka Exp $")
+  "$Id: tm-view.el,v 6.22 1995/05/17 08:02:31 morioka Exp $")
 
 (defconst mime-viewer/version (get-version-string mime-viewer/RCS-ID))
 (defconst mime/viewer-version mime-viewer/version)
 (defvar mime-viewer/decoding-mode "play" "MIME body decoding mode")
 
 
+;;; @@ buffer local variables
+;;;
+
+(defvar mime::article/content-info)
+(defvar mime::article/preview-buffer)
+
+(defvar mime::preview/content-list nil)
+(defvar mime::preview/original-major-mode nil)
+
+
 ;;; @@ quitting
 ;;;
 
     ))
 
 
-;;; @ data structure
+;;; @ data structures
 ;;;
 
 ;;; @@ content-info
 ;;;
-
-(defun mime::make-content-info (beg end ctype params encoding children)
-  (vector beg end ctype params encoding children)
-  )
-
-(defun mime::content-info/point-min (cinfo)
-  (elt cinfo 0)
-  )
-
-(defun mime::content-info/point-max (cinfo)
-  (elt cinfo 1)
-  )
-
-(defun mime::content-info/type (cinfo)
-  (elt cinfo 2)
-  )
-
-(defun mime::content-info/parameters (cinfo)
-  (elt cinfo 3)
-  )
-
-(defun mime::content-info/encoding (cinfo)
-  (elt cinfo 4)
-  )
-
-(defun mime::content-info/children (cinfo)
-  (elt cinfo 5)
-  )
+(define-structure mime::content-info
+  point-min point-max type parameters encoding children)
 
 ;;; @@ preview-content-info
 ;;;
-
-(defun mime::make-preview-content-info (beg end buf cinfo)
-  (vector beg end buf cinfo)
-  )
-
-(defun mime::preview-content-info/point-min (pcinfo)
-  (elt pcinfo 0)
-  )
-
-(defun mime::preview-content-info/point-max (pcinfo)
-  (elt pcinfo 1)
-  )
-
-(defun mime::preview-content-info/buffer (pcinfo)
-  (elt pcinfo 2)
-  )
-
-(defun mime::preview-content-info/content-info (pcinfo)
-  (elt pcinfo 3)
-  )
-
-
-;;; @ buffer local variables
-;;;
-
-(defvar mime::article/content-info)
-(defvar mime::article/preview-buffer)
-
-(defvar mime::preview/content-list nil)
-(defvar mime::preview/original-major-mode nil)
+(define-structure mime::preview-content-info
+  point-min point-max buffer content-info)
 
 
 ;;; @ parser
                      boundary ctype params encoding)
                     )))
                ((string= ctype "message/rfc822")
-                (mime::make-content-info
+                (mime::content-info/create
                  (point-min) (point-max)
                  ctype params encoding
                  (save-excursion
                  )
                 )
                (t 
-                (mime::make-content-info (point-min) (point-max)
+                (mime::content-info/create (point-min) (point-max)
                                          ctype params encoding nil)
                 ))
          )))))
        ))
     (setq beg (point-min))
     (goto-char beg)
-    (mime::make-content-info beg end ctype params encoding children)
+    (mime::content-info/create beg end ctype params encoding children)
     ))
 
 (defun mime::parse-parameter (str)
@@ -558,7 +515,7 @@ it is regarded as current-buffer. [tm-view]"
                        (funcall mime-viewer/content-subject-function
                                 cnum subj ctype params)
                        (setq ne (point-max))
-                       (mime::make-preview-content-info nb (- ne 1)
+                       (mime::preview-content-info/create nb (- ne 1)
                                                         buf cell)
                        ))
                  (goto-char ne)