Add progspace support for Guile.
authorDoug Evans <xdje42@gmail.com>
Tue, 3 Jun 2014 06:46:27 +0000 (23:46 -0700)
committerDoug Evans <xdje42@gmail.com>
Tue, 3 Jun 2014 06:46:27 +0000 (23:46 -0700)
commitded0378278c7bbd5c6049446032b28196a5cfb38
tree783ba05381595d6a6d4f95f693848614d3671f2b
parent397998fc32a34d3c8993ef46da45c3957a4dd402
Add progspace support for Guile.

* Makefile.in (SUBDIR_GUILE_OBS): Add scm-progspace.o.
(SUBDIR_GUILE_SRCS): Add scm-progspace.c.
(scm-progspace.o): New rule.
* guile/guile-internal.h (pspace_smob): New typedef.
(psscm_pspace_smob_pretty_printers): Declare.
(psscm_pspace_smob_from_pspace): Declare.
(psscm_scm_from_pspace): Declare.
* guile/guile.c (initialize_gdb_module): Call
gdbscm_initialize_pspaces.
* guile/lib/gdb.scm: Export progspace symbols.
* guile/lib/gdb/printing.scm (prepend-pretty-printer!): Add progspace
support.
(append-pretty-printer!): Ditto.
* guile/scm-pretty-print.c (ppscm_find_pretty_printer_from_progspace):
Implement.
* guile/scm-progspace.c: New file.

doc/
* guile.texi (Guile API): Add entry for Progspaces In Guile.
(GDB Scheme Data Types): Mention <gdb:progspace> object.
(Progspaces In Guile): New node.

testsuite/
* gdb.guile/scm-pretty-print.exp: Add tests for objfile and progspace
pretty-printer lookup.
* gdb.guile/scm-pretty-print.scm (pp_s-printer): New function.
(make-pp_s-printer): Call it.
(make-pretty-printer-from-dict): New function.
(lookup-pretty-printer-maker-from-dict): New function.
(*pretty-printer*): Simplify.
(make-objfile-pp_s-printer): New function.
(install-objfile-pretty-printers!): New function.
(make-progspace-pp_s-printer): New function.
(install-progspace-pretty-printers!): New function.
* gdb.guile/scm-progspace.c: New file.
* gdb.guile/scm-progspace.exp: New file.
15 files changed:
gdb/ChangeLog
gdb/Makefile.in
gdb/doc/ChangeLog
gdb/doc/guile.texi
gdb/guile/guile-internal.h
gdb/guile/guile.c
gdb/guile/lib/gdb.scm
gdb/guile/lib/gdb/printing.scm
gdb/guile/scm-pretty-print.c
gdb/guile/scm-progspace.c [new file with mode: 0644]
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.guile/scm-pretty-print.exp
gdb/testsuite/gdb.guile/scm-pretty-print.scm
gdb/testsuite/gdb.guile/scm-progspace.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-progspace.exp [new file with mode: 0644]