aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/qreg.c2
-rw-r--r--tests/testsuite.at5
2 files changed, 7 insertions, 0 deletions
diff --git a/src/qreg.c b/src/qreg.c
index 9e19202..d0f3e6b 100644
--- a/src/qreg.c
+++ b/src/qreg.c
@@ -443,6 +443,8 @@ teco_qreg_radix_set_integer(teco_qreg_t *qreg, teco_int_t value, GError **error)
return FALSE;
}
+ if (qreg->must_undo) // FIXME
+ teco_undo_int(qreg->integer);
qreg->integer = value;
return TRUE;
}
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 293bc9b..587c3a3 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -693,6 +693,11 @@ TE_CHECK_CMDLINE([[0@W{-D}C]], 0, ignore, stderr)
AT_FAIL_IF([! $GREP "^Error:" stderr])
AT_CLEANUP
+AT_SETUP([Rub out radix change])
+TE_CHECK_CMDLINE([[10Ur ^O{-2D} ^R-Qr"N(0/0)']], 0, ignore, stderr)
+AT_FAIL_IF([$GREP "^Error:" stderr])
+AT_CLEANUP
+
AT_SETUP([Rub out stack operations in macro calls])
# This was causing memory corruptions, that would at least show up under Valgrind.
TE_CHECK_CMDLINE([[@^Um{[.a].b}Mm{-2D}]], 0, ignore, stderr)