Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Siva Chandra <sivachandra@google.com>
To: gdb-patches <gdb-patches@sourceware.org>
Cc: Doug Evans <dje@google.com>
Subject: [PATCH v2] Fix xmethod Python so that it works with Python 3
Date: Thu, 14 Aug 2014 13:53:00 -0000	[thread overview]
Message-ID: <CAGyQ6gwQF17FXajAbgyQFhWSS2ymwRxMdPNY3y-AJZmfcwc4qg@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 805 bytes --]

The attached patch fixes the "no space before parenthesis in Python"
comment by Joel. The comment was for the changes in the test suite.
Going by examples, I thought the test case code (but not the .exp
files) did not require adherence to coding style.

I also agree with Joel that this patch should also pushed to the 7.8 branch.

ChangeLog:
2014-08-14  Siva Chandra Reddy  <sivachandra@gmail.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_v2.txt --]
[-- Type: text/plain, Size: 3144 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..47fb00b 100644
--- a/gdb/testsuite/gdb.python/py-xmethods.py
+++ b/gdb/testsuite/gdb.python/py-xmethods.py
@@ -25,22 +25,22 @@ from gdb.xmethod import SimpleXMethodMatcher
 
 
 def A_plus_A(obj, opr):
-  print ('From Python <A_plus_A>:')
+  print('From Python <A_plus_A>:')
   return obj['a'] + opr['a']
 
 
 def plus_plus_A(obj):
-  print ('From Python <plus_plus_A>:')
+  print('From Python <plus_plus_A>:')
   return obj['a'] + 1
 
 
 def A_geta(obj):
-  print ('From Python <A_geta>:')
+  print('From Python <A_geta>:')
   return obj['a']
 
 
 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:
@@ -109,7 +109,7 @@ class G_size_diff_worker(XMethodWorker):
         pass
 
     def __call__(self, obj):
-        print ('From Python G<>::size_diff()')
+        print('From Python G<>::size_diff()')
         return (self._method_template_type.sizeof -
                 self._class_template_type.sizeof)
 
@@ -123,7 +123,7 @@ class G_size_mul_worker(XMethodWorker):
         pass
 
     def __call__(self, obj):
-        print ('From Python G<>::size_mul()')
+        print('From Python G<>::size_mul()')
         return self._class_template_type.sizeof * self._method_template_val
 
 
@@ -136,7 +136,7 @@ class G_mul_worker(XMethodWorker):
         return self._method_template_type
 
     def __call__(self, obj, arg):
-        print ('From Python G<>::mul()')
+        print('From Python G<>::mul()')
         return obj['t'] * arg
 
 

             reply	other threads:[~2014-08-14 13:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-14 13:53 Siva Chandra [this message]
2014-08-14 22:35 ` Doug Evans
2014-08-16  1:16   ` Siva Chandra
2014-08-30 13:48     ` Siva Chandra
2014-09-01  6:30       ` Joel Brobecker
2014-09-02 13:23         ` Siva Chandra
2014-09-02 14:37           ` 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=CAGyQ6gwQF17FXajAbgyQFhWSS2ymwRxMdPNY3y-AJZmfcwc4qg@mail.gmail.com \
    --to=sivachandra@google.com \
    --cc=dje@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