Deprecate mail attributes with cferror

Deprecate mail related attributes with the tag cferror in the CFML dialect and remove the same attributes with no replacement in the Lucee dialect.

I am fine with these changes. The idea of this function does one thing is a good practice to follow.

Andrew Penhorwood

How about simply deprecating <cferror> entirely? (provided we’re using @agentK’s version of “deprecated” meaning “not recommended”, as opposed to ‘might remove’).

I’ve never used <cferror>, but does it do anything that one wouldn’t these days cover with an onError() handler? And if it could be flagged for deprecation in the CFML engine, then simply never providing it in the .lucee engine would perhaps make sense?


I don’t use it, but to answer your question: I do think the <cferror> has access to the variables scope, whereas onError() does not?

That rings a vague bell. Whilst true, I wonder whether - in this day and age - access to the running request’s variables scope is really that important? It is certainly a consideration though!


In short: yes :slight_smile:

that is right if you are using application.cfc but a lot of people still using application.cfm, so deprecate cferror entirely also mean to deprecate application.cfm

Ah right, sorry… I was personally only framing this in the context of .lucee enhancements.

My position on anything on the CFML side of things would be “leave it be”. IMO you should only deprecate things on the CFML side of the fence when Adobe do.

From a .lucee perspective, I just ass-u-me`d you’d be getting rid of Application.cfm (and everything that goes with it) entirely anyhow. I don’t think it’s been explicitly stated by Adobe, but the impression I get is that it’s a bit of an obsolete concept maintained for backwards compat of existing code, and new code (so: code written after 2005) should not use it in favour of Application.cfc

Actually they do say not to use Application.cfm, here: “Elements of a ColdFusion application: Other application-level settings and functions”:

Adobe recommends that when defining application-level settings, variables, and functions in new code, you do not use the techniques used previous to ColdFusion MX 7. Instead, use the Application.cfc[…]

(just FYI and for the sake of completeness, really)


FYI: the Lucee dialect does not support application.cfm nor the tag cferror.
BTW: This was also a decision made by the Iris comitee