I found the BUG in <CFSETTING
ENABLECFOUTPUTONLY="yes">!!
<cfoutput> does not propagate to the code inside a
<cfinclude> (thank goodness).
However, <CFSETTING ENABLECFOUTPUTONLY="yes"> thinks
they do!
To demonstrate exactly how insidious this is, I have created
three simple files to demonstrate the bug. This shows that
"cleaning up" the <cfoutput> before a single
<cfinclude> doesn't work. The middle file, "testinc.cfm"
carefully does not surround the important <cfinclude> with
<cfoutput>, but this is not enough! You would have to find
EVERY occurrence and clean them all up, even inside modules you may
not control, to get around the bug!!!
test.cfm:
------------------------
<cfoutput>
Works:<br>
</cfoutput>
<cfinclude template="testinc.cfm"><br>
<cfoutput>
<br>
Fails:<br>
<cfinclude template="testinc.cfm"><br>
</cfoutput>
------------------------
testinc.cfm:
-----------------------
<cfoutput>code<br></cfoutput>
<cfinclude template="testinc2.cfm">
-----------------------
testinc2.cfm:
-----------------------
<cfset
NoCfoutput="YesCfoutput">Before:#NoCfoutput#<br><CFSETTING
ENABLECFOUTPUTONLY="yes">
**** BEGIN INSIDE ENABLECFOUTPUTONLY="yes" ****<br>
Variable NoCfoutput is #NoCfoutput#<br>
**** END INSIDE ENABLECFOUTPUTONLY="yes" ****<br>
<CFSETTING
ENABLECFOUTPUTONLY="no">After:#NoCfoutput#<br>
-----------------------