[svn] r5833: nemerle/trunk: macros/io.n
ncc/testsuite/positive/printf.n
tools/msbuild-task/Nemerle.MSBuild...
nazgul
svnadmin at nemerle.org
Wed Oct 19 22:38:34 CEST 2005
Log:
Handle non-variable char after $ in splice string
Author: nazgul
Date: Wed Oct 19 22:38:29 2005
New Revision: 5833
Modified:
nemerle/trunk/macros/io.n
nemerle/trunk/ncc/testsuite/positive/printf.n
nemerle/trunk/tools/msbuild-task/Nemerle.MSBuild.targets
Modified: nemerle/trunk/macros/io.n
==============================================================================
--- nemerle/trunk/macros/io.n (original)
+++ nemerle/trunk/macros/io.n Wed Oct 19 22:38:29 2005
@@ -316,7 +316,7 @@
}
- /** we could extend it to $(..) expressions - in such a case:
+ /** for $(..) expressions:
- first evaluate expressions
- store intermediate results in variables
- return list of evaluators and reference variables in reverse order
@@ -377,11 +377,18 @@
else {
def end = find_end_normal (idx + 1);
def variable_name = str.Substring (idx + 1, end - idx - 1);
+
+ if (variable_name == "") {
+ Message.Warning ("expected variable name or expression enclosed with (..) after $ in splice string");
+ loop (<[$("$" : string)]> :: res, idx + 1)
+ }
+ else {
def expr =
if (variable_name == "this") <[ this ]>
else <[ $(variable_name : usesite) ]>;
loop (expr :: res, end)
}
+ }
} else {
def next_idx = str.IndexOf ('$', idx);
def next_str =
Modified: nemerle/trunk/ncc/testsuite/positive/printf.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/printf.n (original)
+++ nemerle/trunk/ncc/testsuite/positive/printf.n Wed Oct 19 22:38:29 2005
@@ -115,6 +115,7 @@
def quxx = 3;
def mux' = 42;
print ("$quxx' $(T().a()) $(mux')\n");
+ print ("wrong ${1} splicing\n"); // W: expected variable name or expression.* after
}
}
@@ -144,5 +145,6 @@
dream 7
bla 2 bal
3' some T 42
+wrong ${1} splicing
END-OUTPUT
*/
Modified: nemerle/trunk/tools/msbuild-task/Nemerle.MSBuild.targets
==============================================================================
--- nemerle/trunk/tools/msbuild-task/Nemerle.MSBuild.targets (original)
+++ nemerle/trunk/tools/msbuild-task/Nemerle.MSBuild.targets Wed Oct 19 22:38:29 2005
@@ -7,7 +7,7 @@
<PropertyGroup>
- <MSBuildAllProjects>$(MSBuildAllProjects);Nemerle.targets</MSBuildAllProjects>
+ <MSBuildAllProjects>$(MSBuildAllProjects);Nemerle.MSBuild.targets</MSBuildAllProjects>
<DefaultLanguageSourceExtension>.n</DefaultLanguageSourceExtension>
<Language>Nemerle</Language>
</PropertyGroup>
More information about the svn
mailing list