<div dir="ltr">Since the beginning of OpenStack we have had vim modelines all over the codebase, but after seeing this patch <a href="https://review.openstack.org/#/c/50891/">https://review.opeenstack.org/#/c/50891/</a> I took a further look into vim modelines and think we should remove them. Before going any further, I should point out these lines don't bother me too much but I figured if we could get consensus, then we could shrink our codebase by a little bit.<div>

<br></div><div>Sidenote: This discussion is being moved to the mailing list because it 'w<span style="color:rgb(0,0,0);font-family:'Arial Unicode MS',Arial,sans-serif">ould be better to have a mailing list thread about this rather than bits and pieces of discussion in gerrit</span>' as this change requires multiple patches.  <a href="https://review.openstack.org/#/c/51295/">https://review.openstack.org/#/c/51295/</a>.</div>

<div><br></div><div><br></div><div>Why remove them?</div><div><br></div><div>* Modelines aren't supported by default in debian or ubuntu due to security reasons: <a href="https://wiki.python.org/moin/Vim">https://wiki.python.org/moin/Vim</a></div>

<div>* Having modelines for vim means if someone wants we should support modelines for emacs (<a href="http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables">http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables</a>) etc. as well.  And having a bunch of headers for different editors in each file seems like extra overhead.</div>

<div>* There are other ways of making sure tabstop is set correctly for python files, see  <a href="https://wiki.python.org/moin/Vim">https://wiki.python.org/moin/Vim</a>.  I am a vIm user myself and have never used modelines.</div>

<div>* We have vim modelines in only 828 out of 1213 python files in nova (68%), so if anyone is using modelines today, then it only works 68% of the time in nova</div><div>* Why have the same config 828 times for one repo alone?  This violates the DRY principle (Don't Repeat Yourself).</div>

<div><br></div><div><br></div><div>Related Patches:</div><div><a href="https://review.openstack.org/#/c/51295/">https://review.openstack.org/#/c/51295/</a><br></div><div><a href="https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z">https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z</a><br>

</div><div><br></div><div>best,</div><div>Joe</div></div>