<story><title>Please do not delete this commented-out version</title><url>http://emacshorrors.com/posts/forget-me-not.html</url></story><parent_chain></parent_chain><comment><author>stcredzero</author><text>There are places in Smalltalk code where you see:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    false ifTrue: [
        &amp;quot;Some code to debug to help understand...&amp;quot;
    ].
&lt;/code&gt;&lt;/pre&gt;
In VisualWorks, you can double-click next to the 1st square bracket to select the code, then instantly execute it or debug it. The reason why it&amp;#x27;s not simply commented out, is that automated refactorings in the Smalltalk Refactoring Browser can then touch the commented-out code. (St RB used to be guaranteed to always execute strict refactorings and produce correct code.)&lt;p&gt;Often such code can even use values from the current scope, so a separate debug session can be spawned to see what it &amp;quot;would have been like&amp;quot; then dismissed with no consequences. It&amp;#x27;s stuff like that which made Smalltalk an uber-environment back in the day.</text></comment>
<story><title>Please do not delete this commented-out version</title><url>http://emacshorrors.com/posts/forget-me-not.html</url></story><parent_chain></parent_chain><comment><author>makecheck</author><text>Generally I find all copies to be bloat.&lt;p&gt;Seeing the original code will not necessarily explain old behavior.  When you make a copy, how much are you planning to copy?  To debug ancient code that calls 5 functions, you might need access to the histories of those 5 functions; and the histories of any functions &lt;i&gt;they&lt;/i&gt; call, and heck maybe you only saw correct behavior on a certain OS or with certain input (none of which you may have access to).  If you don&amp;#x27;t have all those histories, the &amp;quot;correct old code&amp;quot; you are looking at may even lie to you, as it suggests it is calling functions you &lt;i&gt;think&lt;/i&gt; you are familiar with but those functions have changed in some important way.&lt;p&gt;After enough time passes — and at the rate this industry moves, time is short — the only thing that really matters is whether or not the program currently does what its current users require.  And if it doesn&amp;#x27;t, you define what behavior you need it to have and find a way to fix it.</text></comment>