(std11-analyze-atom): New function.
[elisp/mu-cite.git] / tl-822.el
index 8fa39a5..d5ae038 100644 (file)
--- a/tl-822.el
+++ b/tl-822.el
 
 
 (defconst rfc822/RCS-ID
-  "$Id: tl-822.el,v 7.38 1996-08-28 12:50:12 morioka Exp $")
+  "$Id: tl-822.el,v 7.49 1996-08-28 17:06:26 morioka Exp $")
 (defconst rfc822/version (get-version-string rfc822/RCS-ID))
 
 
 ;;; @ header
 ;;;
 
-(defalias 'rfc822/narrow-to-header 'std11-narrow-to-header)
-(defalias 'rfc822/get-header-string 'std11-header-string)
+(defalias 'rfc822/narrow-to-header     'std11-narrow-to-header)
+(defalias 'rfc822/get-header-string    'std11-header-string)
 (defalias 'rfc822/get-header-string-except 'std11-header-string-except)
+(defalias 'rfc822/get-field-names      'std11-collect-field-names)
 
 
 ;;; @ field
 ;;;
 
-(defconst rfc822/field-name-regexp "[!-9;-~]+")
-
-(defconst rfc822/field-top-regexp
-  (concat "\\(" rfc822/field-name-regexp "\\):"))
-
-(defun rfc822/get-field-names (&optional boundary)
-  (save-excursion
-    (save-restriction
-      (rfc822/narrow-to-header boundary)
-      (goto-char (point-min))
-      (let ((pat (concat "^\\(" rfc822/field-name-regexp "\\):"))
-           dest name)
-       (while (re-search-forward pat nil t)
-         (setq name (buffer-substring (match-beginning 1)(match-end 1)))
-         (or (member name dest)
-             (setq dest (cons name dest))
-             )
-         )
-       dest))))
-
-(defalias `rfc822/field-end 'std11-field-end)
-
-(defalias 'rfc822/get-field-body 'std11-field-body)
-
-(defun rfc822/get-field-bodies (field-names &optional default-value boundary)
-  (let ((case-fold-search t))
-    (save-excursion
-      (save-restriction
-       (rfc822/narrow-to-header boundary)
-       (let* ((dest (make-list (length field-names) default-value))
-              (s-rest field-names)
-              (d-rest dest)
-              field-name)
-         (while (setq field-name (car s-rest))
-           (goto-char (point-min))
-           (if (re-search-forward (concat "^" field-name ":[ \t]*") nil t)
-               (setcar d-rest
-                       (buffer-substring-no-properties
-                        (match-end 0)
-                        (rfc822/field-end))))
-           (setq s-rest (cdr s-rest)
-                 d-rest (cdr d-rest))
-           )
-         dest)))))
+(defalias `rfc822/field-end            'std11-field-end)
+(defalias 'rfc822/get-field-body       'std11-find-field-body)
+(defalias 'rfc822/get-field-bodies     'std11-find-field-bodies)
 
 
 ;;; @ quoting
 ;;; @ unfolding
 ;;;
 
-(defun rfc822/unfolding-string (str)
-  (let ((dest ""))
-    (while (string-match "\n\\s +" str)
-      (setq dest (concat dest (substring str 0 (match-beginning 0)) " "))
-      (setq str (substring str (match-end 0)))
-      )
-    (concat dest str)
-    ))
+(defalias 'rfc822/unfolding-string 'std11-unfold-string)
 
 
 ;;; @ lexical analyze
 (defconst rfc822/non-dtext-chars "][")
 (defconst rfc822/non-ctext-chars "()")
 
-(defun rfc822/analyze-spaces (str)
-  (let ((i (string-match (concat "[^" rfc822/space-chars "]") str)))
-    (if i
-       (if (> i 0)
-           (cons (cons 'spaces (substring str 0 i))
-                 (substring str i)
-                 ))
-      (if (not (string-equal str ""))
-         (cons (cons 'spaces str) "")
-       ))))
-
-(defun rfc822/analyze-special (str)
-  (if (and (> (length str) 0)
-          (find (elt str 0) rfc822/special-chars)
-          )
-      (cons (cons 'specials (substring str 0 1))
-           (substring str 1)
-           ))
-  )
+(defalias 'rfc822/analyze-spaces       'std11-analyze-spaces)
+(defalias 'rfc822/analyze-special      'std11-analyze-special)
 
 (defun rfc822/analyze-atom (str)
   (let ((i (string-match (concat "[" rfc822/non-atom-chars "]") str)))