We're updating the issue view to help you get more done. 

cfhtmlhead output is not rendered when buffer output is false

Description

In Lucee 5.2.9.31 and prior versions, cfhtmlhead works when used in OnRequestEnd where the output attribute is set to false.

In Lucee 5.3.1.95 the same code fails to output anything in the HTML head element;

There are two ways to work around the issue in Lucee 5.3.1.95;

1. Leave output="false" in OnRequestEnd, but set Buffer Tag Body Output to "true" in the Lucee admin
2. Use output="true" in OnRequestEnd, and leave Buffer Tag Body Output set to "false" (which is the new default in 5.3)

This seems like a regression in Lucee 5.3.x related to the new default value for Buffer Tag Body Output.

Test case to reproduce the issue;

Application.cfc

1 2 3 4 5 6 7 8 <cfcomponent output="false"> <cfset this.namme = "cfhtmlhead"> <cffunction name="OnRequestEnd" output="false"> <cfhtmlhead text="<title>this works?</title>" /> </cffunction> </cfcomponent>

test.cfm

1 2 3 4 5 6 7 8 9 10 <!DOCTYPE html> <html> <head> </head> <body> <h1>testing cfhtmlhead</h1> </body> </html>

Expected output:

1 2 3 4 5 6 7 8 9 10 <!DOCTYPE html> <html> <head> <title>this works?</title></head> <body> <h1>testing cfhtmlhead</h1> </body> </html>

Environment

JRE 8u201

Status

Assignee

Pothys - MitrahSoft

Reporter

Justin Carter

Fix versions

Affects versions

5.3.1.100

Priority

Critical