diff --git a/Source/makenssi.cpp b/Source/makenssi.cpp
index b5174638..9cd31941 100644
--- a/Source/makenssi.cpp
+++ b/Source/makenssi.cpp
@@ -1,4 +1,4 @@
-const char *NSIS_VERSION="v2.0b2 (CVS)";
+const char *NSIS_VERSION="v2.0b2";
/*
Nullsoft "SuperPimp" Installation System - makensis.cpp - installer compiler code
diff --git a/Source/script.cpp b/Source/script.cpp
index 3674e826..e87d6a5a 100644
--- a/Source/script.cpp
+++ b/Source/script.cpp
@@ -49,6 +49,7 @@ int CEXEBuild::process_script(FILE *fp, char *curfilename, int *lineptr)
int CEXEBuild::doParse(const char *str, FILE *fp, const char *curfilename, int *lineptr)
{
static int ignore;
+ static int last_line_had_slash;
static int ignored_if_count;
static int wait_for_endif;
@@ -58,14 +59,18 @@ int CEXEBuild::doParse(const char *str, FILE *fp, const char *curfilename, int *
while (*str == ' ' || *str == '\t') str++;
// if ignoring, ignore all lines that don't begin with !.
- if (ignore && *str!='!') return PS_OK;
+ if (ignore && *str!='!' && !last_line_had_slash) return PS_OK;
if (m_linebuild.getlen()>1) m_linebuild.resize(m_linebuild.getlen()-2);
m_linebuild.add(str,strlen(str)+1);
// remove trailing slash and null
- if (str[0] && CharPrev(str,str+strlen(str))[0] == '\\') return PS_OK;
+ if (str[0] && CharPrev(str,str+strlen(str))[0] == '\\') {
+ last_line_had_slash = 1;
+ return PS_OK;
+ }
+ else last_line_had_slash = 0;
res=line.parse((char*)m_linebuild.get(),!strnicmp(str,"!define",7));
@@ -128,8 +133,9 @@ parse_again:
if (tkid == TOK_P_ELSE)
{
- if (ignored_if_count)
+ if (ignored_if_count) {
return PS_OK;
+ }
if (line.getnumtokens() == 1) {
ignore=!ignore;
@@ -1304,7 +1310,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line, FILE *fp, const char
if (k == -1) PRINTHELP()
SCRIPT_MSG("XPStyle: %s\n", line.gettoken_str(1));
init_res_editor();
- char* szXPManifest = k ? 0 : "Nullsoft Install System v2.0b2 (CVS)";
+ char* szXPManifest = k ? 0 : "Nullsoft Install System v2.0b2";
res_editor->UpdateResource(MAKEINTRESOURCE(24), MAKEINTRESOURCE(1), MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), (unsigned char*)szXPManifest, k ? 0 : lstrlen(szXPManifest));
}
catch (exception& err) {