diff options
author | Doug Evans <xdje42@gmail.com> | 2014-06-03 01:58:15 -0700 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2014-06-03 01:58:15 -0700 |
commit | 06eb158633faa8746dd39f19ce784448bb7ece00 (patch) | |
tree | af106d0dafb2da97a959d2008a02abe3b0e61e4d /gdb/guile/guile-internal.h | |
parent | aef392c4aee243fe0fe2897d8847aebbbff6abdb (diff) | |
download | fsf-binutils-gdb-06eb158633faa8746dd39f19ce784448bb7ece00.zip fsf-binutils-gdb-06eb158633faa8746dd39f19ce784448bb7ece00.tar.gz fsf-binutils-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/guile-internal.h')
-rw-r--r-- | gdb/guile/guile-internal.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/guile/guile-internal.h b/gdb/guile/guile-internal.h index 042ece9..03a2b1e 100644 --- a/gdb/guile/guile-internal.h +++ b/gdb/guile/guile-internal.h @@ -166,6 +166,8 @@ extern void gdbscm_dynwind_xfree (void *ptr); extern int gdbscm_is_procedure (SCM proc); extern char *gdbscm_gc_xstrdup (const char *); + +extern const char * const *gdbscm_gc_dup_argv (char **argv); /* GDB smobs, from scm-gsmob.c */ @@ -301,6 +303,10 @@ extern void gdbscm_out_of_range_error (const char *subr, int arg_pos, extern SCM gdbscm_make_misc_error (const char *subr, int arg_pos, SCM bad_value, const char *error); +extern void gdbscm_misc_error (const char *subr, int arg_pos, + SCM bad_value, const char *error) + ATTRIBUTE_NORETURN; + extern void gdbscm_throw (SCM exception) ATTRIBUTE_NORETURN; extern SCM gdbscm_scm_from_gdb_exception (struct gdb_exception exception); @@ -388,6 +394,9 @@ extern char *gdbscm_parse_command_name (const char *name, extern int gdbscm_valid_command_class_p (int command_class); +extern char *gdbscm_canonicalize_command_name (const char *name, + int want_trailing_space); + /* scm-frame.c */ typedef struct _frame_smob frame_smob; @@ -476,6 +485,10 @@ extern char *gdbscm_scm_to_string (SCM string, size_t *lenp, extern SCM gdbscm_scm_from_string (const char *string, size_t len, const char *charset, int strict); +extern char *gdbscm_scm_to_host_string (SCM string, size_t *lenp, SCM *except); + +extern SCM gdbscm_scm_from_host_string (const char *string, size_t len); + /* scm-symbol.c */ extern int syscm_is_symbol (SCM scm); @@ -565,6 +578,7 @@ extern void gdbscm_initialize_lazy_strings (void); extern void gdbscm_initialize_math (void); extern void gdbscm_initialize_objfiles (void); extern void gdbscm_initialize_pretty_printers (void); +extern void gdbscm_initialize_parameters (void); extern void gdbscm_initialize_ports (void); extern void gdbscm_initialize_pspaces (void); extern void gdbscm_initialize_smobs (void); |