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.
This commit is contained in:
parent
aef392c4ae
commit
06eb158633
14 changed files with 1663 additions and 4 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue