76 if (p_smob->
pspace != NULL)
86 scm_puts (
"{invalid}", port);
89 scm_remember_upto_here_1 (
self);
109 p_smob->containing_scm = p_scm;
203 const char *func_name)
216 return p_smob->
pspace != NULL;
225 const char *func_name)
233 _(
"<gdb:progspace>"));
250 return scm_from_bool (p_smob->
pspace != NULL);
299 result = scm_cons (item, result);
306 return scm_reverse_x (result, SCM_EOL);
330 SCM_ASSERT_TYPE (
gdbscm_is_true (scm_list_p (printers)), printers,
335 return SCM_UNSPECIFIED;
366 result = scm_cons (item, result);
369 return scm_reverse_x (result, SCM_EOL);
378 Return #t if the object is a <gdb:objfile> object." },
382 Return #t if the progspace is valid (hasn't been deleted from gdb)." },
386 Return the name of the main symbol file of the progspace." },
390 Return the list of objfiles associated with the progspace.\n\
391 Objfiles that are separate debug objfiles are not included in the result.\n\
392 The order of appearance of objfiles in the result is arbitrary." },
396 Return a list of pretty-printers of the progspace." },
398 {
"set-progspace-pretty-printers!", 2, 0, 0,
401 Set the list of pretty-printers of the progspace." },
405 Return the current program space if there is one or #f if there isn't one." },
409 Return a list of all program spaces." },
424 = register_program_space_data_with_cleanup (NULL,
static int psscm_is_valid(pspace_smob *p_smob)
static void psscm_release_pspace(pspace_smob *p_smob)
static SCM scm_new_smob(scm_t_bits tc, scm_t_bits data)
void gdbscm_define_functions(const scheme_function *, int is_public)
SCM psscm_scm_from_pspace(struct program_space *pspace)
struct objfile * separate_debug_objfile_backlink
static SCM gdbscm_progspace_valid_p(SCM self)
struct objfile * symfile_object_file
struct program_space * pspace
static scm_t_bits pspace_smob_tag
static SCM psscm_get_pspace_arg_unsafe(SCM self, int arg_pos, const char *func_name)
void gdbscm_initialize_pspaces(void)
static SCM gdbscm_progspaces(void)
scm_t_bits gdbscm_make_smob_type(const char *name, size_t size)
SCM psscm_pspace_smob_pretty_printers(const pspace_smob *p_smob)
#define gdbscm_is_true(scm)
static const char pspace_smob_name[]
static SCM gdbscm_progspace_p(SCM scm)
void gdbscm_init_gsmob(gdb_smob *base)
static struct parser_state * pstate
SCM gdbscm_scm_from_c_string(const char *string)
struct program_space * pspace
static SCM gdbscm_current_progspace(void)
static SCM gdbscm_progspace_objfiles(SCM self)
static SCM gdbscm_set_progspace_pretty_printers_x(SCM self, SCM printers)
static const struct program_space_data * psscm_pspace_data_key
static int psscm_print_pspace_smob(SCM self, SCM port, scm_print_state *pstate)
static int psscm_is_pspace(SCM scm)
const char * objfile_name(const struct objfile *objfile)
void gdbscm_printf(SCM port, const char *format,...) ATTRIBUTE_PRINTF(2
void gdbscm_invalid_object_error(const char *subr, int arg_pos, SCM bad_value, const char *error) ATTRIBUTE_NORETURN
static pspace_smob * psscm_get_pspace_smob_arg_unsafe(SCM self, int arg_pos, const char *func_name)
#define ALL_PSPACES(pspace)
static SCM psscm_make_pspace_smob(void)
static SCM gdbscm_progspace_filename(SCM self)
static SCM gdbscm_progspace_pretty_printers(SCM self)
struct program_space * current_program_space
static pspace_smob * psscm_get_valid_pspace_smob_arg_unsafe(SCM self, int arg_pos, const char *func_name)
SCM ofscm_scm_from_objfile(struct objfile *objfile)
#define ALL_PSPACE_OBJFILES(ss, obj)
pspace_smob * psscm_pspace_smob_from_pspace(struct program_space *pspace)
static void psscm_handle_pspace_deleted(struct program_space *pspace, void *datum)