Previous: More Threading, Up: Customizing Threading [Contents][Index]

#### 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))))