Web Software Architecture and Engineering – Life on the Bleeding Edge

I have submitted comments from the previous post detailing the issue as Bug # 80552 inside Adobe’s Bug Tracker. To get this fixed, please vote!


Comments on: "Major Flaw in CF9 – May Break Code! (Part 2)" (10)

  1. An on/off option in CFADMIN might be a solution? Or some way of merging the result of back into the local scope.

    Any other possible solutions?

  2. Paul,

    Yup, the only option I see to have it automatically append values to the “local” scope. What you refer to as merging basically.

  3. Personally I think that a per-application setting would be a better way to go, server wide settings that change the way code executes scare me – and halloween was yesterday 😀

  4. A per app setting would be a good idea better then server wide.

  5. Having said, that I don’t see why it shouldn’t just work without the need for any server/application settings!

  6. Yeah,

    I believe this to be a critical bug, and in no need of settings, server or app wide. It should just be fixed. Why a new feature would ignore code in existing apps is beyond me.

  7. @Sami, fortunately this issue doesn’t affect any of my code, but I agree with you, voted added. 🙂

  8. Andrew Scott said:

    Everyone seems to have forgotten that

    Is actually not stored in the local scope, I ran some serious tests in the debugger, and tried to explain this on my blog.

    The point is that it is not at this point using the local scope, and the fact that it has a var keyword in front of it is telling ColdFusion that it is not the local scope.

    The problem is that if you call a function on that same line to return a struct, it is not called. That is a bug and should be reported as such.

    I think the major problem later in my tests also indicates the search order of the scopes as well.

    And as far as Adobe saying well we know this will break some code is bullshit.

    Adobe had a discussion on Dump(); and Abort(); as script but becuase it would break existing code they chose to give them a new name and the other as a statement rather than a function.

    So if Adobe are to be listened to about backward compatability, why do they do one thing with one hand and the complete opposite with the other?

    This local scope and variable local is a major issue that Adobe have taken the easy way out, it is a bug and that needs to be fixed because of the amount of applications that use it.

    So far my applications still work, but that is because I actually use

    but there are applications that I have seen that have refactored in the manner that I have blogged about, this is deliberate by Adobe and shows that they are willing to release code that is not backward compatible, so why is this one an exception to the rule Adobe try to live by?

  9. Andrew,

    Please do vote. Couldn’t agree more about being backward compatible!

  10. Just received word this bug has been fixed from Adobe. Will be available in Updater 1. Thanks folks for voting!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: