aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/qregisters.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qregisters.cpp')
-rw-r--r--src/qregisters.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/qregisters.cpp b/src/qregisters.cpp
index 17be046..e65365d 100644
--- a/src/qregisters.cpp
+++ b/src/qregisters.cpp
@@ -49,6 +49,7 @@ namespace States {
StateSetQRegInteger setqreginteger;
StateIncreaseQReg increaseqreg;
StateMacro macro;
+ StateMacroFile macro_file;
StateCopyToQReg copytoqreg;
}
@@ -591,6 +592,18 @@ StateMacro::got_register(QRegister &reg) throw (Error, ReplaceCmdline)
}
State *
+StateMacroFile::done(const gchar *str) throw (Error)
+{
+ BEGIN_EXEC(&States::start);
+
+ /* don't create new local Q-Registers if colon modifier is given */
+ if (!Execute::file(str, !eval_colon()))
+ throw Error("Cannot execute macro from file \"%s\"", str);
+
+ return &States::start;
+}
+
+State *
StateCopyToQReg::got_register(QRegister &reg) throw (Error)
{
tecoInt from, len;