Boost C++ Libraries: Ticket #7070: bcp misses some cases and does not create namespace aliases for non-boost namespaces https://svn.boost.org/trac10/ticket/7070 <p> Running all Boost 1.48.0 regressions and comparing between original and bcp'd code shows extra compile errors addressed by the enclosed patch. </p> <p> Also, the namespace alias option only creates aliases for the boost namespace but omits the top level phoenix namespace. This patch includes adstl and rapidxml even though they don't appear to be affected. The patch also preserves whitespace, which was blindly replaced by spaces in the original code. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7070 Trac 1.4.3 Mike Liang <mtliang@…> Wed, 04 Jul 2012 00:01:09 GMT attachment set https://svn.boost.org/trac10/ticket/7070 https://svn.boost.org/trac10/ticket/7070 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">copy_path.cpp.patch</span> </li> </ul> Ticket lukester_null@… Thu, 05 Jul 2012 10:30:26 GMT <link>https://svn.boost.org/trac10/ticket/7070#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7070#comment:1</guid> <description> <p> I hope I'm not thread jacking but I'd just like to say this is great - fixes something I was just about to create a ticket for. It was converting: </p> <p> <code>namespace boost{ namespace phoenix</code> </p> <p> -&gt; </p> <p> <code>namespace MyBoost { namespace MyBoostphoenix</code> </p> <p> But missing things like: </p> <pre class="wiki">BOOST_PHOENIX_DEFINE_EXPRESSION( (boost)(phoenix)(do_while) </pre><p> which ended up as </p> <pre class="wiki"> (MyBoost)(phoenix)(do_while) </pre><p> which your patch makes <code>(MyBoost)(MyBoostphoenix)(do_while)</code> </p> <p> I'm not sure I understand why it prefixes the new top-level namespace on the phoenix namespace at all, though I guess it's intentional? </p> <p> Regards </p> <p> Luke. </p> </description> <category>Ticket</category> </item> <item> <author>Mike Liang <mtliang@…></author> <pubDate>Thu, 05 Jul 2012 18:57:51 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7070#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7070#comment:2</guid> <description> <p> I wondered that too until I found the header files under boost/spirit/home/classic/phoenix . </p> </description> <category>Ticket</category> </item> <item> <author>lukester_null@…</author> <pubDate>Thu, 05 Jul 2012 19:39:02 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7070#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7070#comment:3</guid> <description> <p> Ah right, so the classic phoenix namespace gets renamed because it's not nested inside the boost namespace to avoid any potential clashes, and the new phoenix(es) namespace which are nested in boost get caught in the crossfire... or something. </p> <p> If so, I wonder if that was the desired effect? Most of the new boost::phoenix namespace declarations I've seen are all on one line so it's presumably possible to catch them. </p> </description> <category>Ticket</category> </item> <item> <author>Mike Liang <mtliang@…></author> <pubDate>Fri, 06 Jul 2012 01:43:04 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7070#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7070#comment:4</guid> <description> <p> I can see why each namespace declaration is renamed independently of any others, since extra code can show up before the embedded phoenix namespace declaration, and so you don't want to write more complicated patterns in an attempt to catch this situation. This then leads to the forced rename of the embedded phoenix namespace during namespace resolution. </p> <p> In any case, the patch to catch the other renamed namespaces should make this annoyance go away. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Tue, 10 Jul 2012 11:07:33 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7070#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7070#comment:5</guid> <description> <p> Thanks for the patch, currently testing it out. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Tue, 10 Jul 2012 17:41:14 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/7070#comment:6 https://svn.boost.org/trac10/ticket/7070#comment:6 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/79403" title="Apply patch from #7070 to fix namespace renaming. Fixes #7070.">[79403]</a>) Apply patch from <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7070" title="#7070: Bugs: bcp misses some cases and does not create namespace aliases for ... (closed: fixed)">#7070</a> to fix namespace renaming. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7070" title="#7070: Bugs: bcp misses some cases and does not create namespace aliases for ... (closed: fixed)">#7070</a>. </p> Ticket