From: Phil Muldoon <pmuldoon@redhat.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Cc: Tom Tromey <tromey@redhat.com>,
"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: Re: python-2.4 compat. [Re: [patch][python] 1 of 5 - Frame filter Python C code changes.]
Date: Thu, 12 Sep 2013 07:57:00 -0000 [thread overview]
Message-ID: <523173C4.4060906@redhat.com> (raw)
In-Reply-To: <20130912073646.GB13948@host2.jankratochvil.net>
On 12/09/13 08:36, Jan Kratochvil wrote:
> On Fri, 10 May 2013 12:42:20 +0200, Phil Muldoon wrote:
> [...]
>> --- /dev/null
>> +++ b/gdb/python/lib/gdb/command/frame_filters.py
>> @@ -0,0 +1,461 @@
> [...]
>> + for frame_filter in sorted_frame_filters:
>> + name = frame_filter[0]
>> + try:
>> + priority = '{:<8}'.format(
>> + str(gdb.frames.get_priority(frame_filter[1])))
>> + enabled = '{:<7}'.format(
>> + self.enabled_string(gdb.frames.get_enabled(frame_filter[1])))
>> + except Exception as e:
>> + print(" Error printing filter '"+name+"': "+str(e))
>> + else:
>> + print(" %s %s %s" % (priority, enabled, name))
> (plus it is there once again later)
>
> CentOS-5 python-2.4.3-56.el5.x86_64:
>
> ./gdb -nx -data-directory ./data-directoryTraceback (most recent call last):
> File ".../gdb/testsuite/../data-directory/python/gdb/__init__.py", line 105, in auto_load_packages
> __import__(modname)
> File "./data-directory/python/gdb/command/frame_filters.py", line 82
> except Exception as e:
> ^
> SyntaxError: invalid syntax
>
> GNU gdb (GDB) 7.6.50.20130912-cvs
>
> IIRC it was agreed upon upstream FSF GDB should support python-2.4, could you
> code it in a compatible way?
To write this so it works in Python 2.4 -> Python 3.x I will have to
write it as:
except Exception:
e = sys.exc_info()[1]
....
That's fine - I will do that. But I think it is kind of silly to do
stuff like this in Python - we are just circumventing how Exceptions
should be written to support a broad subset of Python versions.
The differences between 2.4 and 2.7, and 3.x and everything in-between
are just becoming a major pain to maintain, and harder to review. At
some point we should discuss, for future GDB releases, our strategy
for Python versions. I just see in the future incompatibilities we
can't write around being replaced with:
if sys.version >= 2.4 and sys.version <= 2.7:
....
else if sys.version > 2.7:
....
Which is just the moral equivalent of #ifdef'ness in C. Not to
mention the same equivalent in the Python C code in GDB.
Cheers,
Phil
prev parent reply other threads:[~2013-09-12 7:57 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-06 8:23 [patch][python] 1 of 5 - Frame filter Python C code changes Phil Muldoon
2013-05-06 20:39 ` Tom Tromey
2013-05-09 13:23 ` Phil Muldoon
2013-05-09 15:14 ` Tom Tromey
2013-05-10 10:42 ` Phil Muldoon
2013-09-12 7:36 ` python-2.4 compat. [Re: [patch][python] 1 of 5 - Frame filter Python C code changes.] Jan Kratochvil
2013-09-12 7:57 ` Phil Muldoon [this message]
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=523173C4.4060906@redhat.com \
--to=pmuldoon@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=jan.kratochvil@redhat.com \
--cc=tromey@redhat.com \
/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