Next: , Previous: Article Display, Up: Article Treatment

3.18.10 Article Signature

Each article is divided into two parts—the head and the body. The body can be divided into a signature part and a text part. The variable that says what is to be considered a signature is gnus-signature-separator. This is normally the standard ‘^-- $’ as mandated by RFC 5536. However, many people use non-standard signature separators, so this variable can also be a list of regular expressions to be tested, one by one. (Searches are done from the end of the body towards the beginning.) One likely value is:

     (setq gnus-signature-separator
           '("^-- $"         ; The standard
             "^-- *$"        ; A common mangling
             "^-------*$"    ; Many people just use a looong
                             ; line of dashes.  Shame!
             "^ *--------*$" ; Double-shame!
             "^________*$"   ; Underscores are also popular
             "^========*$")) ; Pervert!

The more permissive you are, the more likely it is that you'll get false positives.

gnus-signature-limit provides a limit to what is considered a signature when displaying articles.

  1. If it is an integer, no signature may be longer (in characters) than that integer.
  2. If it is a floating point number, no signature may be longer (in lines) than that number.
  3. If it is a function, the function will be called without any parameters, and if it returns nil, there is no signature in the buffer.
  4. If it is a string, it will be used as a regexp. If it matches, the text in question is not a signature.

This variable can also be a list where the elements may be of the types listed above. Here's an example:

     (setq gnus-signature-limit
           '(200.0 "^---*Forwarded article"))

This means that if there are more than 200 lines after the signature separator, or the text after the signature separator is matched by the regular expression ‘^---*Forwarded article’, then it isn't a signature after all.