aboutsummaryrefslogtreecommitdiffstats
path: root/becommands
diff options
context:
space:
mode:
Diffstat (limited to 'becommands')
-rw-r--r--becommands/set.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/becommands/set.py b/becommands/set.py
index 287ceb4..0085f0f 100644
--- a/becommands/set.py
+++ b/becommands/set.py
@@ -46,7 +46,17 @@ def execute(args):
print bd.settings.get(args[0])
else:
if args[1] != "none":
+ old_setting = bd.settings[args[0]]
bd.settings[args[0]] = args[1]
+
+ # attempt to get the new value
+ bd.save()
+ try:
+ bd.load()
+ except bugdir.InvalidValue, e:
+ bd.settings[args[0]] = old_setting
+ bd.save()
+ raise cmdutil.UserError(e)
else:
del bd.settings[args[0]]
bd.save()