This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Registering pretty-printers


On Friday 12 June 2009 Tom Tromey wrote:

> I would like to solve the remaining problems.  I just don't know how
> to do it, in a way that preserves the qualities I care about.  What I
> care about is, more or less, embedded in what I implemented: make it
> super easy for printers to be developed alongside applications and
> libraries, and be made available automatically without user
> intervention.

Probably the cases I have described are too tricky to allow for automatic
setup of pretty-printers. E.g. header-only-library case is pretty much
impossible to handle.

> Vladimir> Therefore, we should make up some conventions how a
> Vladimir> pretty-printer can be packaged separately, preferably as a
> Vladimir> single file, and how IDE, given name of the file and nothing
> Vladimir> else, can enable pretty printing.
> 
> That would be fine by me.
> 
> Vladimir> Say, how about tar.gz, which is unpacked by IDE, whose top-level
> Vladimir> directory is added to PYTHONPATH, and which should have top-level
> Vladimir> file called init.py, with a function 'init_pretty_printers'?
> 
> I don't see how it is better than the hook file approach we already
> have.  Your IDE could easily send "python execfile" to load any given
> hook file.  Defining a function in that file doesn't add anything that
> I can see.

There are two important points I propose:

1. Having a file at top-level, as opposed in some subdir which name
differs.
2. Having a file with fixed name. 

I am probably wrong, but neither of this is true with the current
recommended approach.

> It seems to me that you could make a .tar holding all the files from
> libstdc++/python, then have your IDE unpack these somewhere, update
> sys.path, and execfile the file(s) in the topmost directory.  Assuming
> these files follow the "None convention", it will work fine.

I did not notice any files on top-level. Have I missed something?

- Volodya


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]