aboutsummaryrefslogtreecommitdiff
path: root/gdb/guile/scm-exception.c
diff options
context:
space:
mode:
authorDoug Evans <xdje42@gmail.com>2014-06-03 01:58:15 -0700
committerDoug Evans <xdje42@gmail.com>2014-06-03 01:58:15 -0700
commit06eb158633faa8746dd39f19ce784448bb7ece00 (patch)
treeaf106d0dafb2da97a959d2008a02abe3b0e61e4d /gdb/guile/scm-exception.c
parentaef392c4aee243fe0fe2897d8847aebbbff6abdb (diff)
downloadgdb-06eb158633faa8746dd39f19ce784448bb7ece00.zip
gdb-06eb158633faa8746dd39f19ce784448bb7ece00.tar.gz
gdb-06eb158633faa8746dd39f19ce784448bb7ece00.tar.bz2
Add parameter support for Guile.
* Makefile.in (SUBDIR_GUILE_OBS): Add scm-param.o. (SUBDIR_GUILE_SRCS): Add scm-param.c. (scm-param.o): New rule. * guile/guile-internal.h (gdbscm_gc_dup_argv): Declare. (gdbscm_misc_error): Declare. (gdbscm_canonicalize_command_name): Declare. (gdbscm_scm_to_host_string): Declare. (gdbscm_scm_from_host_string): Declare. (gdbscm_initialize_parameters): Declare. * guile/guile.c (initialize_gdb_module): Call gdbscm_initialize_parameters. * guile/lib/gdb.scm: Export parameter symbols. * guile/scm-cmd.c (gdbscm_canonicalize_command_name): Renamed from cmdscm_canonicalize_name and made public. All callers updated. * guile/scm-exception.c (gdbscm_misc_error): New function. * guile/scm-param.c: New file. * guile/scm-string.c (gdbscm_scm_to_string): Add comments. (gdbscm_scm_to_host_string): New function. (gdbscm_scm_from_host_string): New function. * scm-utils.c (gdbscm_gc_dup_argv): New function. testsuite/ * gdb.guile/scm-parameter.exp: New file. doc/ * guile.texi (Guile API): Add entry for Parameters In Guile. (GDB Scheme Data Types): Mention <gdb:parameter> object. (Parameters In Guile): New node.
Diffstat (limited to 'gdb/guile/scm-exception.c')
-rw-r--r--gdb/guile/scm-exception.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/gdb/guile/scm-exception.c b/gdb/guile/scm-exception.c
index 0f3c875..05f9617 100644
--- a/gdb/guile/scm-exception.c
+++ b/gdb/guile/scm-exception.c
@@ -360,12 +360,23 @@ gdbscm_out_of_range_error (const char *subr, int arg_pos, SCM bad_value,
SCM
gdbscm_make_misc_error (const char *subr, int arg_pos, SCM bad_value,
- const char *error)
+ const char *error)
{
return gdbscm_make_arg_error (scm_misc_error_key,
subr, arg_pos, bad_value, NULL, error);
}
+/* Throw a misc-error error. */
+
+void
+gdbscm_misc_error (const char *subr, int arg_pos, SCM bad_value,
+ const char *error)
+{
+ SCM exception = gdbscm_make_misc_error (subr, arg_pos, bad_value, error);
+
+ gdbscm_throw (exception);
+}
+
/* Return a <gdb:exception> object for gdb:memory-error. */
SCM