Previous: Topic Topology, Up: Group Topics

#### 2.16.5 Topic Parameters

All groups in a topic will inherit group parameters from the parent (and ancestor) topic parameters. All valid group parameters are valid topic parameters (see Group Parameters). When the agent is enabled, all agent parameters (See Agent Parameters in Category Syntax) are also valid topic parameters.

In addition, the following parameters are only valid as topic parameters:

`subscribe`
  When subscribing new groups by topic (see Subscription Methods), the `subscribe` topic parameter says what groups go in what topic. Its value should be a regexp to match the groups that should go in that topic.
`subscribe-level`
  When subscribing new groups by topic (see the `subscribe` parameter), the group will be subscribed with the level specified in the `subscribe-level` instead of `gnus-level-default-subscribed`.

Group parameters (of course) override topic parameters, and topic parameters in sub-topics override topic parameters in super-topics. You know. Normal inheritance rules. (Rules is here a noun, not a verb, although you may feel free to disagree with me here.)

         Gnus
           Emacs
              3: comp.emacs
              2: alt.religion.emacs
            452: alt.sex.emacs
             Relief
              452: alt.sex.emacs
                0: comp.talk.emacs.recovery
           Misc
              8: comp.binaries.fractals
             13: comp.sources.unix
            452: alt.sex.emacs

The ‘`Emacs`’ topic has the topic parameter `(score-file . "emacs.SCORE")`; the ‘`Relief`’ topic has the topic parameter `(score-file . "relief.SCORE")`; and the ‘`Misc`’ topic has the topic parameter `(score-file . "emacs.SCORE")`. In addition,
‘`alt.religion.emacs`’ has the group parameter `(score-file . "religion.SCORE")`.

Now, when you enter ‘`alt.sex.emacs`’ in the ‘`Relief`’ topic, you will get the `relief.SCORE` home score file. If you enter the same group in the ‘`Emacs`’ topic, you'll get the `emacs.SCORE` home score file. If you enter the group ‘`alt.religion.emacs`’, you'll get the `religion.SCORE` home score file.

This seems rather simple and self-evident, doesn't it? Well, yes. But there are some problems, especially with the `total-expiry` parameter. Say you have a mail group in two topics; one with `total-expiry` and one without. What happens when you do `M-x gnus-expire-all-expirable-groups`? Gnus has no way of telling which one of these topics you mean to expire articles from, so anything may happen. In fact, I hereby declare that it is undefined what happens. You just have to be careful if you do stuff like that.