>> Does groff's -V option help? It shows the constructed pipeline. >> >> $ groff -V -Kcp1251 -t -Tutf8 >> preconv -ecp1251 | tbl | troff -Tutf8 | grotty >> $ groff -V -s -Kcp1251 -t -Tutf8 >> preconv -ecp1251 | soelim | tbl | troff -Tutf8 | grotty >> >> The preconv has happened before soelim if -s is used whereas when >> you run it manually, it's after. > > Thank you, Ralph. I forgot about the -V option. Now the question > is whether this sequence is correct or should be changed so that > soelim will be called before all other preprocessors. After all, > soelim's very purpose is to preprocess included files...
This has been discussed a few months ago on the list, IIRC, and then I stated that I no longer remembered why soelim comes after preconv. Unfortunately, this comment is still true: I can't remember the exact cause. It's easy to change that behaviour, and you might experiment with the patch below. I don't object if you want to apply it (together with improved groff documentation and a proper ChangeLog entry :-). $ groff -V -s -Kcp1251 -t -Tutf8 soelim | preconv -ecp1251 | tbl | troff -Tutf8 | grotty Werner ====================================================================== --- groff.cpp.orig 2011-01-22 16:00:20.000000000 +0100 +++ groff.cpp 2012-12-06 14:00:58.000000000 +0100 @@ -53,9 +53,9 @@ // grap and chem must come before pic; // tbl must come before eqn -const int PRECONV_INDEX = 0; -const int SOELIM_INDEX = PRECONV_INDEX + 1; -const int REFER_INDEX = SOELIM_INDEX + 1; +const int SOELIM_INDEX = 0; +const int PRECONV_INDEX = SOELIM_INDEX + 1; +const int REFER_INDEX = PRECONV_INDEX + 1; const int GRAP_INDEX = REFER_INDEX + 1; const int CHEM_INDEX = GRAP_INDEX + 1; const int PIC_INDEX = CHEM_INDEX + 1;