diff options
author | Colin Watson <cjwatson@debian.org> | 2022-10-06 22:44:08 +0100 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2022-10-06 22:44:08 +0100 |
commit | 744211530e1fd1acdf0d8c846beb131b731a6c5a (patch) | |
tree | a39a1086398842daf188c9366a42ed36ee8e2b56 /NEWS.md | |
parent | 6c03f58be7e245c3d8991b4b60b4cf4dcadc4f51 (diff) |
Run preprocessors in the correct order
We have no particular reason to trust the order of filters in a
preprocessor string specified in a page; it's easy for authors to get
this wrong by accident. Do as groff(1) does and run them in a
canonicalized order.
Fixes Debian bug #1012078.
* src/man.c (add_filter): New function, split out from
`make_roff_command`.
(make_roff_command): Iterate through possible preprocessors and add each
one depending on whether it's present in the preprocessor string, rather
than iterating through the preprocessor string and acting on each of its
characters. Turn several `int` variables into `bool` variables in
passing.
* NEWS.md: Document this.
Diffstat (limited to 'NEWS.md')
-rw-r--r-- | NEWS.md | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -16,6 +16,9 @@ Fixes: * Consider pages for adding to the database even if they seem to already exist; this performance optimization is no longer needed due to caching, and it produced inconsistent results in some unusual cases. + * `man` now runs any required preprocessors in the same order that `groff` + does, rather than trusting the order of filters in a page's preprocessor + string. Improvements: |