Hi devs,<div><br></div><div><div>How hard is to rename all the C++ namespaces to most comprehensive and consistent names with the project?</div><div><br></div><div>It would help us, external contributors, to understand the code and make substantial changes. I&#39;m trying to get familiar, but there is a complex mix of namespaces from StarOffice/OpenOffice and other previous versions. This really don&#39;t helps.</div>

<div><br></div><div>I know, sounds crazy to rename everything, but you could pass this task for us, Easy Hackers.</div><div><br></div><div>And what i have in mind?</div><div><br></div><div>You could map the old namespaces to the names you want putting in a single header file:</div>
<div><br></div><div>$ cat changingNames.hpp</div>
<div><br></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: &#39;Times New Roman&#39;; font-size: medium; "><pre style="color: rgb(0, 0, 0); background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; ">
<span style="color: rgb(105, 105, 105); ">// this map should list all namespace trees:</span>
<span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> oldNameLevel_0 <span style="color: rgb(128, 0, 128); ">{</span>
    <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> oldNameLevel_1 <span style="color: rgb(128, 0, 128); ">{</span>

    <span style="color: rgb(128, 0, 128); ">}</span>
<span style="color: rgb(128, 0, 128); ">}</span>

<span style="color: rgb(105, 105, 105); ">// and you developers choose the better names:</span>
<span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> newNameLevel_0 <span style="color: rgb(128, 0, 128); ">{</span>
    <span style="color: rgb(128, 0, 0); font-weight: bold; ">using</span> <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> oldNameLevel_0<span style="color: rgb(128, 0, 128); ">;</span>
    <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> newNameLevel_1 <span style="color: rgb(128, 0, 128); ">{</span>
        <span style="color: rgb(128, 0, 0); font-weight: bold; ">using</span> <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> oldNameLevel_1<span style="color: rgb(128, 0, 128); ">;</span>
    <span style="color: rgb(128, 0, 128); ">}</span>
<span style="color: rgb(128, 0, 128); ">}</span>

<span style="color: rgb(105, 105, 105); ">// -----------------------------------------------</span>

<span style="color: rgb(105, 105, 105); ">// another example</span>
<span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> com <span style="color: rgb(128, 0, 128); ">{</span> <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> sun <span style="color: rgb(128, 0, 128); ">{</span> <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> star <span style="color: rgb(128, 0, 128); ">{</span> <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> uno <span style="color: rgb(128, 0, 128); ">{</span><span style="color: rgb(128, 0, 128); ">}</span> <span style="color: rgb(128, 0, 128); ">}</span> <span style="color: rgb(128, 0, 128); ">}</span> <span style="color: rgb(128, 0, 128); ">}</span>

<span style="color: rgb(105, 105, 105); ">// defining the new names for LibreOffice!</span>
<span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> libre <span style="color: rgb(128, 0, 128); ">{</span>
    <span style="color: rgb(128, 0, 0); font-weight: bold; ">using</span> <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> com<span style="color: rgb(128, 0, 128); ">::</span>sun<span style="color: rgb(128, 0, 128); ">;</span>
    <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> writer <span style="color: rgb(128, 0, 128); ">{</span>
        <span style="color: rgb(128, 0, 0); font-weight: bold; ">using</span> <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> star<span style="color: rgb(128, 0, 128); ">;</span>
        <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> writerSomething <span style="color: rgb(128, 0, 128); ">{</span>
            <span style="color: rgb(128, 0, 0); font-weight: bold; ">using</span> <span style="color: rgb(128, 0, 0); font-weight: bold; ">namespace</span> uno<span style="color: rgb(128, 0, 128); ">;</span>
        <span style="color: rgb(128, 0, 128); ">}</span>
    <span style="color: rgb(128, 0, 128); ">}</span>
<span style="color: rgb(128, 0, 128); ">}</span></pre></span></div></div><div><br></div><div>This file would be added in all LibreOffice source code by regexp, then even we change the names to the new ones gradually, the build would not break. In a far future, when someone remove the last trace, we done.</div>

<div><br></div><div>I think this Easy Hack is an important step for LibreOffice growth.</div><div><br></div><div>Regards,</div><div>Júlio.</div>