Empty TALES path expressions now raise
Bug #143710 reported by
Tres Seaver
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Zope 2 |
Fix Released
|
Medium
|
Tres Seaver |
Bug Description
From time immemorial, the CMF has used TALES path expressions
whose expression text was empty. The old behavior of such
an expression was to be compilable, and, when evaluated, to
return the expression context itself. Such expressions in
CMF and Plone are routinely *compiled* but not evaluated,
and have a *ton* of persistent instance which have such empty
strings stored as their expression text.
After landing the changes to use the Zope3 version, such
expressions are no longer compilable. The attached patch
restores their compilability, and adds a deprecation warning
when they are compiled.
To post a comment you must log in.
Fortunately, TALES expression objects themselves aren't pickled, only a small wrapper that's provided by the CMF and simply holds a) the expression text and b) possibly a volatile handle to the compiled expression.
As far as I understand, http:// svn.zope. org/?rev= 68396&view= rev and http:// svn.zope. org/?view= rev&rev= 68424 made this container robust against compiling empty TALES expressions.