(rfc822/analyze-quoted-string): New alias for
[elisp/mu-cite.git] / tl-822.el
index 8fa39a5..bb7f9cc 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.51 1996-08-28 17:25:39 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/special-chars "][()<>@,;:\\<>.\"")
-(defconst rfc822/space-chars " \t\n")
-(defconst rfc822/non-atom-chars
-  (concat rfc822/special-chars rfc822/space-chars))
 (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)
-           ))
-  )
-
-(defun rfc822/analyze-atom (str)
-  (let ((i (string-match (concat "[" rfc822/non-atom-chars "]") str)))
-    (if i
-       (if (> i 0)
-           (cons (cons 'atom (substring str 0 i))
-                 (substring str i)
-                 ))
-      (if (not (string-equal str ""))
-         (cons (cons 'spaces str) "")
-       ))))
-
-(defun rfc822/analyze-quoted-string (str)
-  (let ((len (length str)))
-    (if (and (> len 0)
-            (eq (elt str 0) ?\")
-            )
-       (let ((i 1) chr dest)
-         (catch 'tag
-           (while (< i len)
-             (setq chr (aref str i))
-             (cond ((eq chr ?\\)
-                    (setq i (1+ i))
-                    (if (>= i len)
-                        (throw 'tag nil)
-                      )
-                    (setq dest (concat dest (char-to-string (aref str i))))
-                    )
-                   ((eq chr ?\")
-                    (throw 'tag
-                           (cons (cons 'quoted-string dest)
-                                 (substring str (1+ i)))
-                           )
-                    )
-                   (t
-                    (setq dest (concat dest (char-to-string (aref str i))))
-                    ))
-             (setq i (1+ i))
-             ))))))
+(defalias 'rfc822/analyze-spaces       'std11-analyze-spaces)
+(defalias 'rfc822/analyze-special      'std11-analyze-special)
+(defalias 'rfc822/analyze-atom         'std11-analyze-atom)
+(defalias 'rfc822/analyze-quoted-string        'std11-analyze-quoted-string)
 
 (defun rfc822/analyze-domain-literal (str)
   (if (and (> (length str) 0)