Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* 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