+<p>
+It is possible to apply a filter to the names of directories that will be
+committed to the persistent dirstack file. There are two ways to configure this
+filter: A general function based filter and a pattern based filter. Both are
+setup via styles in the <b>':grml:chpwd:dirstack'</b> context.
+</p>
+<p>
+To use a function based filter set the <i>filter</i> style for that context to the
+name of a function to call every time a directory name is to be added to the
+persistent dirstack. If the function's return value signals success (ie. return
+value "0"), the directory name is filtered out and <b>not</b> added to the
+persistent stack. Example:
+
+</p>
+<pre>
+function my_dirstack_filter() { [[ $1 == /tmp(|/*) ]] }
+zstyle ':grml:chpwd:dirstack' filter my_dirstack_filter
+</pre>
+<p>
+The pattern based filter uses a list of patterns passed to the <i>exclude</i>
+style in the aforementioned context. Each pattern is tested and the first that
+matches will keep the directory name from being added to the persistent stack.
+If none of the patterns matches, the name is added. example:
+
+</p>
+<pre>
+zstyle ':grml:chpwd:dirstack' exclude "/tmp(|/*)" "$HOME/tmp(|/*)"
+</pre>
+<p>
+The function based filter is more general, the pattern based filter easier to
+set up. If both filter variants are used at the same time, the function based
+filter will be executed <i>before</i> the pattern based one.
+</p>
+<p>
+If you would like to apply your filters while <i>loading</i> the persistent
+dirstack file, set the <i>filter-on-load</i> boolean style (the default is
+<i>false</i>):
+
+</p>
+<pre>
+zstyle ':grml:chpwd:dirstack' filter-on-load true
+</pre>
+<p>
+Setting the <i>filter-on-load</i> needs to be done in ".zshrc.pre" because the
+style needs to be set when the main setup is executing! The other styles do not
+have this limitation, but the initial filtering will obviously be done using
+the filters that are configured <b>at</b> <b>that</b> <b>point</b>. The rule of thumb
+is: If you want to filter on load, setup everything in ".zshrc.pre" otherwise
+".zshrc.local" works just as well.
+</p>