* Re: Current gdb python errors on python-2.4
[not found] <20130609035926.40bad3bb.jules@op59.net>
@ 2013-06-11 13:34 ` Phil Muldoon
2013-06-11 13:37 ` Phil Muldoon
0 siblings, 1 reply; 2+ messages in thread
From: Phil Muldoon @ 2013-06-11 13:34 UTC (permalink / raw)
To: Julian Smith; +Cc: gdb
On 09/06/13 03:59, Julian Smith wrote:
> I think gdb in cvs has some python that is not supported by python-2.4
> (e.g. on centos5) - code like 'except Exception as e:'.
>
> This leads to startup warnings like:
>
> [jules@vm-centos5 ~]$ ./gdb_cvs_dir/src/gdb/gdb -data-directory gdb_cvs_dir/src/gdb/data-directory
> Traceback (most recent call last):
> File "/home/jules/gdb_cvs_dir/src/gdb/data-directory/python/gdb/__init__.py", line 105, in auto_load_packages
> __import__(modname)
> File "gdb_cvs_dir/src/gdb/data-directory/python/gdb/command/frame_filters.py", line 82
> except Exception as e:
> ^
> SyntaxError: invalid syntax
> - and subsequent use of python from within gdb fails.
>
> I think simply replacing the 'as' with a comma will allow the code to
> work with all python versions ?
Unfortunately not, this is one messy area of Python. Python 2.0 - 2.5
supports only:
except Exception, e:
Python 2.6 and 2.7 support both:
except Exception, e:
and
exception Exception as e:
But Python 3 only supports:
exception Exception as e:
The only way (I know) to get exceptions to work for all versions of
Python is to do something like:
except Exception:
e = sys.exc_info[1]
> Here's a patch that works for me:
So you will have to re-factor your patch. Also, patches are sent to
gdb-patches@sourceware.org. gdb@sourceware.org is more for questions
about GDB.
Also your patch needs a ChangeLog entry, and possibly you may need
paperwork on file with the FSF (the maintainers can help you with that
if it is deemed needed).
Cheers,
Phil
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Current gdb python errors on python-2.4
2013-06-11 13:34 ` Current gdb python errors on python-2.4 Phil Muldoon
@ 2013-06-11 13:37 ` Phil Muldoon
0 siblings, 0 replies; 2+ messages in thread
From: Phil Muldoon @ 2013-06-11 13:37 UTC (permalink / raw)
To: Julian Smith; +Cc: gdb
On 11/06/13 14:34, Phil Muldoon wrote:
> The only way (I know) to get exceptions to work for all versions of
> Python is to do something like:
>
> except Exception:
> e = sys.exc_info[1]
>
Oops, typo. I mean:
except Exception:
e = sys.exc_info()[1]
Cheers,
Phil
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-06-11 13:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20130609035926.40bad3bb.jules@op59.net>
2013-06-11 13:34 ` Current gdb python errors on python-2.4 Phil Muldoon
2013-06-11 13:37 ` Phil Muldoon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox