Add command support for Guile.
authorDoug Evans <xdje42@gmail.com>
Tue, 3 Jun 2014 07:29:49 +0000 (00:29 -0700)
committerDoug Evans <xdje42@gmail.com>
Tue, 3 Jun 2014 07:29:49 +0000 (00:29 -0700)
commite698b8c41cbb2648a11a2ae806922c44d1482aed
tree4a3ded90e95596c985b7940cb82e50abd773d194
parentfb1f94b09a3d12a231f6be8fadf421ab578dc4ba
Add command support for Guile.

* Makefile.in (SUBDIR_GUILE_OBS): Add scm-cmd.o.
(SUBDIR_GUILE_SRCS): Add scm-cmd.c.
(scm-cmd.o): New rule.
* guile/guile-internal.h (gdbscm_gc_xstrdup): Declare.
(gdbscm_user_error_p): Declare.
(gdbscm_parse_command_name): Declare.
(gdbscm_valid_command_class_p): Declare.
(gdbscm_initialize_commands): Declare.
* guile/guile.c (initialize_gdb_module): Call
gdbscm_initialize_commands.
* guile/lib/gdb.scm: Export command symbols.
* guile/lib/gdb/init.scm (%exception-keys): Add gdb:user-error.
(throw-user-error): New function.
* guile/scm-cmd.c: New file.
* guile/scm-exception.c (user_error_symbol): New static global.
(gdbscm_user_error_p): New function.
(gdbscm_initialize_exceptions): Set user_error_symbol.
* scm-utils.c (gdbscm_gc_xstrdup): New function.

testsuite/
* gdb.guile/scm-cmd.c: New file.
* gdb.guile/scm-cmd.exp: New file.

doc/
* guile.texi (Guile API): Add entry for Commands In Guile.
(Basic Guile) <parse-and-eval>: Add reference.
(Basic Guile) <string->argv>: Move definition to Commands In Guile.
(GDB Scheme Data Types): Mention <gdb:command> object.
(Commands In Guile): New node.
14 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/init.scm
gdb/guile/scm-cmd.c [new file with mode: 0644]
gdb/guile/scm-exception.c
gdb/guile/scm-utils.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.guile/scm-cmd.c [new file with mode: 0644]
gdb/testsuite/gdb.guile/scm-cmd.exp [new file with mode: 0644]