 <cfscript>
-    function strLimit( str, limit, ending = "..." ) {
-        if ( len( str ) <= limit ) {
-            return str;
+    if ( ! structKeyExists( variables, "strLimit" ) ) {
+        function strLimit( str, limit, ending = "..." ) {
+            if ( len( str ) <= limit ) {
+                return str;
+            }
+            return mid( str, 1, limit ) & ending;
         }
-        return mid( str, 1, limit ) & ending;
     }
-
-    function isScriptFile( path ) {
-        return application.wirebox.getInstance(
-            name = "File@CFMLParser",
-            initArguments = { path = path }
-        ).isScript();
+    
+    if ( ! structKeyExists( variables, "isScriptFile" ) ) {
+        function isScriptFile( path ) {
+            return application.wirebox.getInstance(
+                name = "File@CFMLParser",
+                initArguments = { path = path }
+            ).isScript();
+        }
     }
 </cfscript>
 

        <script src="#event.getModuleRoot( "whoops" )#/includes/js/whoops.js"></script>
    </body>
    </html>
</cfoutput>


                </div>
            </div>
        </div>
        <cfloop from="1" to="#arrayLen( local.e.TagContext )#" index="i">
            <cfset instance = local.e.TagContext[ i ] />
            <cfset highlighter = isScriptFile( instance.template ) ? "js" : "cf" />
            <div id="stack#stackFrames - i + 1#-code" data-highlight-line="#instance.line#" style="display: none;">
                <script type="text/syntaxhighlighter" class="brush: #highlighter#; highlight: [#instance.line#]"><![CDATA[#lTrim( fileRead( instance.template ) )#]]></script>
