diff options
author | Doug Evans <xdje42@gmail.com> | 2014-06-06 15:57:03 -0700 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2014-06-06 15:57:03 -0700 |
commit | d2929fdcf05bb14dc2484ee6918dbf67c5b46d75 (patch) | |
tree | 031eb52397389646d26efdefa250bc0aa1157334 /gdb/guile/scm-string.c | |
parent | 6da01dbef2535e333e2b26547d61e4684b8e4da7 (diff) | |
download | fsf-binutils-gdb-d2929fdcf05bb14dc2484ee6918dbf67c5b46d75.zip fsf-binutils-gdb-d2929fdcf05bb14dc2484ee6918dbf67c5b46d75.tar.gz fsf-binutils-gdb-d2929fdcf05bb14dc2484ee6918dbf67c5b46d75.tar.bz2 |
Add support for guile 2.0.5.
* guile/guile-internal.h (gdbscm_guile_major_version): Declare.
(gdbscm_guile_minor_version, gdbscm_guile_micro_version): Declare.
(gdbscm_guile_version_is_at_least): Declare.
(gdbscm_scm_string_to_int): Declare.
* guile/guile.c (gdbscm_guile_major_version): New global.
(gdbscm_guile_minor_version, gdbscm_guile_micro_version): New globals.
(guile_datadir): New static global.
(gdbscm_guile_data_directory): New function.
(initialize_scheme_side): Update.
(misc_guile_functions): Add guile-data-directory.
(initialize_gdb_module): Fetch guile version number.
* guile/lib/gdb.scm: Remove call to add-to-load-path.
* guile/lib/gdb/init.scm (%initialize!): Ditto.
* guile/lib/gdb/boot.scm: Use guile-data-directory.
* guile/scm-exception.c (gdbscm_print_exception_with_stack): Fix
comments.
* guile/scm-string.c (gdbscm_scm_string_to_int): New function.
* guile/scm-utils.c (gdbscm_guile_version_is_at_least): New function.
* guile/scm-value.c (gdbscm_value_to_string): Only call
scm_port_conversion_strategy if Guile version >= 2.0.6.
doc/
* guile.texi (Guile Configuration): Document guile-data-directory.
Diffstat (limited to 'gdb/guile/scm-string.c')
-rw-r--r-- | gdb/guile/scm-string.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/guile/scm-string.c b/gdb/guile/scm-string.c index 25f1d67..3e3e015 100644 --- a/gdb/guile/scm-string.c +++ b/gdb/guile/scm-string.c @@ -25,6 +25,19 @@ #include "charset.h" #include "guile-internal.h" +/* Convert STRING to an int. + STRING must be a valid integer. */ + +int +gdbscm_scm_string_to_int (SCM string) +{ + char *s = scm_to_latin1_string (string); + int r = atoi (s); + + free (s); + return r; +} + /* Convert a C (latin1) string to an SCM string. "latin1" is chosen because Guile won't throw an exception. */ |