gnus: Low-Level Threading

 
 3.9.1.4 Low-Level Threading
 ...........................
 
 ‘gnus-parse-headers-hook’
      Hook run before parsing any headers.
 
 ‘gnus-alter-header-function’
      If non-‘nil’, this function will be called to allow alteration of
      article header structures.  The function is called with one
      parameter, the article header vector, which it may alter in any
      way.  For instance, if you have a mail-to-news gateway which alters
      the ‘Message-ID’s in systematic ways (by adding prefixes and such),
      you can use this variable to un-scramble the ‘Message-ID’s so that
      they are more meaningful.  Here’s one example:
 
           (setq gnus-alter-header-function 'my-alter-message-id)
 
           (defun my-alter-message-id (header)
             (let ((id (mail-header-id header)))
               (when (string-match
                      "\\(<[^<>@]*\\)\\.?cygnus\\..*@\\([^<>@]*>\\)" id)
                 (mail-header-set-id
                  (concat (match-string 1 id) "@" (match-string 2 id))
                  header))))