/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/lockable_files.py

  • Committer: John Arbash Meinel
  • Date: 2009-10-14 15:53:34 UTC
  • mto: This revision was merged to the branch mainline in revision 4746.
  • Revision ID: john@arbash-meinel.com-20091014155334-dxdm0ns610scz5c9
Add a test case for the bug w/ NotImplemented.

Basically, bool(NotImplemented) == True, which means that you have to
check for 'result == Py_NotImplemented' before you check PyObject_IsTrue().
Going further, though, I simplified the _is_equal a lot by switching to
using object definitions (rather than PyObject *).
This now handles exceptions and refcounts properly, and the code is cleaner
to boot. (Exceptions will now include these lines in the traceback, etc.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
 
17
from cStringIO import StringIO
 
18
 
17
19
from bzrlib.lazy_import import lazy_import
18
20
lazy_import(globals(), """
19
21
import codecs
32
34
from bzrlib.decorators import (
33
35
    only_raises,
34
36
    )
 
37
from bzrlib.symbol_versioning import (
 
38
    deprecated_in,
 
39
    deprecated_method,
 
40
    )
35
41
 
36
42
 
37
43
# XXX: The tracking here of lock counts and whether the lock is held is