From: Siva Chandra <sivachandra@google.com>
To: gdb-patches <gdb-patches@sourceware.org>
Subject: [PATCH] Fix xmethod Python so that it works with Python 3
Date: Tue, 05 Aug 2014 15:43:00 -0000 [thread overview]
Message-ID: <CAGyQ6gxsj1g_C3f87YJSj7VGZZeuob58qZhTbBXDuD3LB6AgvA@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 633 bytes --]
Attached is a patch which fixes few misses in my original xmethods
patch which do not work with Python 3.
Tested with Python 2.7.3 and Python 3.2.3.
ChangeLog
2014-08-05 Siva Chandra Reddy <sivachandra@google.com>
gdb/
* python/lib/gdb/command/xmethods.py (set_xm_status1): Use the
'items' methods instead of 'iteritems' method on dictionaries.
gdb/testsuite/
* gdb.python/py-xmethods.py (A_getarrayind)
(E_method_char_worker.__call__, E_method_int_worker.__call__):
Use 'print' with function call syntax.
(E_method_matcher.match): Fix tab vs space indentation mixup.
[-- Attachment #2: fix_xmethods_for_python3.txt --]
[-- Type: text/plain, Size: 1905 bytes --]
diff --git a/gdb/python/lib/gdb/command/xmethods.py b/gdb/python/lib/gdb/command/xmethods.py
index 55cc81f..206313e 100644
--- a/gdb/python/lib/gdb/command/xmethods.py
+++ b/gdb/python/lib/gdb/command/xmethods.py
@@ -140,7 +140,7 @@ def print_xm_info(xm_dict, name_re):
def set_xm_status1(xm_dict, name_re, status):
"""Set the status (enabled/disabled) of a dictionary of xmethods."""
- for locus_str, matchers in xm_dict.iteritems():
+ for locus_str, matchers in xm_dict.items():
for matcher in matchers:
if not name_re:
# If the name regex is missing, then set the status of the
diff --git a/gdb/testsuite/gdb.python/py-xmethods.py b/gdb/testsuite/gdb.python/py-xmethods.py
index 6fecf2b..26df3de 100644
--- a/gdb/testsuite/gdb.python/py-xmethods.py
+++ b/gdb/testsuite/gdb.python/py-xmethods.py
@@ -40,7 +40,7 @@ def A_geta(obj):
def A_getarrayind(obj, index):
- print 'From Python <A_getarrayind>:'
+ print ('From Python <A_getarrayind>:')
return obj['array'][index]
@@ -61,7 +61,7 @@ class E_method_char_worker(XMethodWorker):
return gdb.lookup_type('char')
def __call__(self, obj, arg):
- print 'From Python <E_method_char>'
+ print ('From Python <E_method_char>')
return None
@@ -73,7 +73,7 @@ class E_method_int_worker(XMethodWorker):
return gdb.lookup_type('int')
def __call__(self, obj, arg):
- print 'From Python <E_method_int>'
+ print ('From Python <E_method_int>')
return None
@@ -86,7 +86,7 @@ class E_method_matcher(XMethodMatcher):
class_tag = class_type.unqualified().tag
if not re.match('^dop::E$', class_tag):
return None
- if not re.match('^method$', method_name):
+ if not re.match('^method$', method_name):
return None
workers = []
if self.methods[0].enabled:
next reply other threads:[~2014-08-05 15:43 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-05 15:43 Siva Chandra [this message]
2014-08-05 17:30 ` Joel Brobecker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAGyQ6gxsj1g_C3f87YJSj7VGZZeuob58qZhTbBXDuD3LB6AgvA@mail.gmail.com \
--to=sivachandra@google.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox