[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

My GNU Emacs RMAIL comment



    Date: Thu, 6 Sep 1990 13:36 EDT
    From: barmar@Think.COM (Barry Margolin)

    A couple of days ago I mentioned setting the GNU Emacs variable
    rmail-babyl-compatibility so that it will write its RMAIL file in a
    format that Zmail can understand.  Unfortunately, this variable is a
    local enhancement to RMAIL.

    The incompatibility with GNU RMAIL is in the lines that begin with
    "0," or "1,", called the status line.  Here are the comments in Zmail
    that describe the format of this line:

    ;;; Handling of babyl status line at start of message.  Format is:
    ;;; <status-line>  ::= <reformed-bit> "," <basic-labels> "," <user-labels>
    ;;; <basic-labels> ::= (<Space> <label-name> ",")*
    ;;; <user-labels>  ::= (<Space> <label-name> ",")*

    Zmail requires those <Space>s to be there, but RMAIL normally doesn't
    put them in (our modified RMAIL puts the value of of
    rmail-babyl-compatibility after the comma, which is why it is set to " "
    for compatibility mode).

    Instead of requiring exactly one space it should just skip over any
    whitespace.  If you have Zmail sources, the function that parses this
    line is ZWEI:PARSE-MSG-NEW-BABYL-STATUS-LINE, and it should be pretty
    straightforward to patch it to be more flexible in the parsing.  If you
    want to support only zero or one space, just change the OTHERWISE clause
    in the second SELECTQ to decrement J instead of signalling an error.

The minimal change (i.e., allow zero or one space) will be included in
the next release (Genera 8.1).  Skipping over arbitrary whitespace would
cause problems for someone who has keywords whose name have leading
whitespace.  

  - Gary