summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/externs.h3
-rw-r--r--crawl-ref/source/initfile.cc10
-rw-r--r--crawl-ref/source/initfile.h3
3 files changed, 10 insertions, 6 deletions
diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h
index 14707eeeb2..0e664b8447 100644
--- a/crawl-ref/source/externs.h
+++ b/crawl-ref/source/externs.h
@@ -1485,7 +1485,8 @@ public:
void reset_options();
void read_option_line(const std::string &s, bool runscripts = false);
- void read_options(InitLineInput &, bool runscripts);
+ void read_options(InitLineInput &, bool runscripts,
+ bool clear_aliases = true);
public:
// View options
diff --git a/crawl-ref/source/initfile.cc b/crawl-ref/source/initfile.cc
index ea53949930..e6cd2746e1 100644
--- a/crawl-ref/source/initfile.cc
+++ b/crawl-ref/source/initfile.cc
@@ -1139,10 +1139,10 @@ void read_options(FILE *f, bool runscript)
Options.read_options(fl, runscript);
}
-void read_options(const std::string &s, bool runscript)
+void read_options(const std::string &s, bool runscript, bool clear_aliases)
{
StringLineInput st(s);
- Options.read_options(st, runscript);
+ Options.read_options(st, runscript, clear_aliases);
}
game_options::game_options()
@@ -1150,7 +1150,8 @@ game_options::game_options()
reset_options();
}
-void game_options::read_options(InitLineInput &il, bool runscript)
+void game_options::read_options(InitLineInput &il, bool runscript,
+ bool clear_aliases)
{
unsigned int line = 0;
@@ -1160,7 +1161,8 @@ void game_options::read_options(InitLineInput &il, bool runscript)
bool l_init = false;
- aliases.clear();
+ if (clear_aliases)
+ aliases.clear();
std::string luacond;
std::string luacode;
diff --git a/crawl-ref/source/initfile.h b/crawl-ref/source/initfile.h
index 5536d4bcca..c700be59ef 100644
--- a/crawl-ref/source/initfile.h
+++ b/crawl-ref/source/initfile.h
@@ -38,7 +38,8 @@ std::string read_init_file(bool runscript = false);
void read_startup_prefs();
void read_options(FILE *f, bool runscript = false);
-void read_options(const std::string &s, bool runscript = false);
+void read_options(const std::string &s, bool runscript = false,
+ bool clear_aliases = false);
void parse_option_line(const std::string &line, bool runscript = false);