diff --git a/src/debug.c b/src/debug.c index 46c81a59ca..b08d0a58c7 100644 --- a/src/debug.c +++ b/src/debug.c @@ -3203,6 +3203,8 @@ PDB_assign(PARROT_INTERP, ARGIN(const char *command)) // TODO check validity of these register_num = get_ulong(&command, 0); + // Currently we can only assign to registers that already have + // been brought into existence by the debuggee, why? switch (reg_type) { case 'I': t = REGNO_INT; @@ -3212,6 +3214,7 @@ PDB_assign(PARROT_INTERP, ARGIN(const char *command)) break; case 'N': t = REGNO_NUM; + value_float = atof(command); REG_NUM(interp,register_num) = value_float; break; case 'S': diff --git a/t/tools/parrot_debugger.t b/t/tools/parrot_debugger.t index b294ea4561..4bfc92314e 100644 --- a/t/tools/parrot_debugger.t +++ b/t/tools/parrot_debugger.t @@ -240,7 +240,13 @@ pdb_output_like( < $tests; }