1 ;;; ietf-drums.el --- Functions for parsing RFC822bis headers
2 ;; Copyright (C) 1998, 1999, 2000
3 ;; Free Software Foundation, Inc.
5 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
6 ;; This file is part of GNU Emacs.
8 ;; GNU Emacs is free software; you can redistribute it and/or modify
9 ;; it under the terms of the GNU General Public License as published by
10 ;; the Free Software Foundation; either version 2, or (at your option)
13 ;; GNU Emacs is distributed in the hope that it will be useful,
14 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;; GNU General Public License for more details.
18 ;; You should have received a copy of the GNU General Public License
19 ;; along with GNU Emacs; see the file COPYING. If not, write to the
20 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 ;; Boston, MA 02111-1307, USA.
25 ;; DRUMS is an IETF Working Group that works (or worked) on the
26 ;; successor to RFC822, "Standard For The Format Of Arpa Internet Text
27 ;; Messages". This library is based on
28 ;; draft-ietf-drums-msg-fmt-05.txt, released on 1998-08-05.
32 (eval-when-compile (require 'cl))
36 (defvar ietf-drums-no-ws-ctl-token "\001-\010\013\014\016-\037\177"
37 "US-ASCII control characters excluding CR, LF and white space.")
38 (defvar ietf-drums-text-token "\001-\011\013\014\016-\177"
39 "US-ASCII characters exlcuding CR and LF.")
40 (defvar ietf-drums-specials-token "()<>[]:;@\\,.\""
41 "Special characters.")
42 (defvar ietf-drums-quote-token "\\"
44 (defvar ietf-drums-wsp-token " \t"
46 (defvar ietf-drums-fws-regexp
47 (concat "[" ietf-drums-wsp-token "]*\n[" ietf-drums-wsp-token "]+")
48 "Folding white space.")
49 (defvar ietf-drums-atext-token "-^a-zA-Z0-9!#$%&'*+/=?_`{|}~"
51 (defvar ietf-drums-dot-atext-token "-^a-zA-Z0-9!#$%&'*+/=?_`{|}~."
52 "Textual token including full stop.")
53 (defvar ietf-drums-qtext-token
54 (concat ietf-drums-no-ws-ctl-token "\041\043-\133\135-\177")
55 "Non-white-space control characaters, plus the rest of ASCII excluding backslash and doublequote.")
56 (defvar ietf-drums-tspecials "][()<>@,;:\\\"/?="