id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 11224,Pre-processing / Pre-generating MPL-containers stopped working,Deniz Bahadir ,Aleksey Gurtovoy," == Background == Boost.MPL allows to pre-process / pre-generate headers for MPL-containers (`vector`, `list`, `set`, `map`). In particular, headers for containers in ''variadic'' and ''numbered'' form can be pre-generated. For that, Boost.MPL comes with some python-scripts, located in subdirectory ""libs/mpl/preprocessed/"" of the Boost-source directory. (As a side-note: Documentation for these python-scripts is missing.) By default, Boost comes with pre-generated headers for MPL-containers that are able to hold up to 50 elements. Using the mentioned python-files it is possible to generate MPL-containers that can hold even more elements. == Problem == Since release of Boost 1.56.0 the pre-generation of headers for MPL-containers does not work anymore. == Explanation == One of the python-scripts used for pre-generation (""`pp.py`"") requires certain information to be found in the header-comments of input-headers. In particular, it required the field `$Id$` in the header-comment to contain the filename (followed by some additional non-whitespace characters), which it no longer does in release 1.56.0 and newer Boost releases. `$Id$` is a Subversion substitution-keyword. (See: `[http]://svnbook.red-bean.com/en/1.7/svn-book.html#svn.advanced.props.special.keywords`) I assume, Boost switched from Subversion to Git before releasing Boost 1.56.0. That would explain why the keyword-substition did no longer work. == Solution == To make the python-scripts work again, the best solution would be to also make the keyword-substitution work together with Git. However, as this is neither simple nor recommended (see: `[https]://git.wiki.kernel.org/index.php/Git_FAQ#Does_Git_have_keyword_expansion.3F`) one should probably add the missing information into the header-comments directly before pre-generation. The attached python-script ""`fix_boost_mpl_preprocess.py`"" is able to do that. The attached python-script ""`boost_mpl_preprocess.py`"" can then be used as a comfortable helper-script for pre-generating. == Additional Information == Explanation for both scripts on Stackoverflow:[[BR]] `[http]://stackoverflow.com/a/29627158/3115457` Discussion regarding this problem on the boost-users mailing-list:[[BR]] `[http]://thread.gmane.org/gmane.comp.lib.boost.user/83794` ",Bugs,new,To Be Determined,mpl,Boost 1.56.0,Regression,,,