#include "eval.h"
#include "chars.h"
#include "modules.h"
+#include "ports.h"
+#include "root.h"
+#include "strings.h"
#include "gdbint.h"
\f
* debugger.
*/
#define SCM_BEGIN_FOREIGN_BLOCK \
-{ \
+do { \
old_ints = scm_ints_disabled; scm_ints_disabled = 1; \
old_gc = scm_block_gc; scm_block_gc = 1; \
scm_print_carefully_p = 1; \
-} \
+} while (0)
#define SCM_END_FOREIGN_BLOCK \
-{ \
+do { \
scm_print_carefully_p = 0; \
scm_block_gc = old_gc; \
scm_ints_disabled = old_ints; \
-} \
+} while (0)
#define RESET_STRING { gdb_output_length = 0; }
#define SEND_STRING(str) \
-{ \
+do { \
gdb_output = str; \
gdb_output_length = strlen (str); \
-} \
+} while (0)
/* {Gdb interface}
int
-gdb_maybe_valid_type_p (value)
- SCM value;
+gdb_maybe_valid_type_p (SCM value)
{
if (SCM_IMP (value) || scm_cellp (value))
return scm_tag (value) != SCM_MAKINUM (-1);
int
-gdb_read (str)
- char *str;
+gdb_read (char *str)
{
SCM ans;
int status = 0;
int
-gdb_eval (exp)
- SCM exp;
+gdb_eval (SCM exp)
{
RESET_STRING;
if (SCM_IMP (exp))
int
-gdb_print (obj)
- SCM obj;
+gdb_print (SCM obj)
{
RESET_STRING;
SCM_BEGIN_FOREIGN_BLOCK;
int
-gdb_binding (name, value)
- SCM name;
- SCM value;
+gdb_binding (SCM name, SCM value)
{
RESET_STRING;
if (SCM_GC_P)