From 00ab4e59a8e812986c17fbc09275cfe0583286dc Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Fri, 16 Nov 2012 15:16:48 +0100 Subject: support EF and EX arguments. FALSE (>= 0) means to refuse closing/exiting if the current file / any file is dirty (modified) -EF and -EX may be used to enforce a close/quit without saving --- parser.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'parser.cpp') diff --git a/parser.cpp b/parser.cpp index 103ae66..59c5df2 100644 --- a/parser.cpp +++ b/parser.cpp @@ -1058,11 +1058,21 @@ StateECommand::custom(gchar chr) BEGIN_EXEC(&States::start); if (!ring.current) return NULL; /* FIXME */ + + if (IS_FAILURE(expressions.pop_num_calc()) && + ring.current->dirty) + return NULL; /* FIXME */ + ring.close(); break; case 'X': BEGIN_EXEC(&States::start); + + if (IS_FAILURE(expressions.pop_num_calc()) && + ring.is_any_dirty()) + return NULL; /* FIXME */ + undo.push_var(quit_requested); quit_requested = true; break; -- cgit v1.2.3