Alexander Belopolsky added the comment: I would say filename/lineno are excluded from hash on purpose because they are ignored in comparisons:
>>> compile("0", "a", "eval") == compile("0", "b", "eval") True Include/code.h has the following comment: /* The rest doesn't count for hash/cmp */ PyObject *co_filename; /* string (where it was loaded from) */ PyObject *co_name; /* string (name, for reference) */ int co_firstlineno; /* first source line number */ .. Can you describe your specific problem in more detail? Why does your debugger need to hash/compare code objects? ---------- nosy: +belopolsky __________________________________ Tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue2198> __________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com