From: handa Date: Tue, 15 Sep 2009 13:08:46 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=6c4778457f528b2e8c3f1a2e47d0bf267297f25c;p=m17n%2Fm17n-lib-cs.git *** empty log message *** --- diff --git a/XmlExpr.cs b/XmlExpr.cs index f72a72e..5a696ae 100644 --- a/XmlExpr.cs +++ b/XmlExpr.cs @@ -231,7 +231,7 @@ namespace System.Xml.Expression Variable var = domain.GetVar (name); if (isdirect) - domain.Bind (var, args[i].val); + domain.Bind (var, args[i]); else domain.Bind (var, args[i].Eval (domain)); } @@ -505,11 +505,11 @@ namespace System.Xml.Expression internal Function Defun (XmlNode node) { Name name = node.Attributes[Nfname].Value; - Function.Lambda lambda; + Function func; - if (! functions.TryGetValue (name, out lambda)) - lambda = RegisterFunction (node); - lambda.Setup (node, this); + if (! functions.TryGetValue (name, out func)) + func = RegisterFunction (node); + ((Function.Lambda) func).Setup (node, this); return func; } @@ -522,7 +522,6 @@ namespace System.Xml.Expression if (node != null) { Name type = node.Name; - string val = node.Value; XmlNodeList range_list = null; int nranges = 0; @@ -980,7 +979,7 @@ namespace System.Xml.Expression private static object eval_clause (Xex[] args, Domain domain) { - return args[0].Eval (domain); + return ((Xex) args[0].val).Eval (domain); } private static object progn_clause (Xex[] args, Domain domain) diff --git a/xex.xml b/xex.xml index 5d1c839..eac6b92 100644 --- a/xex.xml +++ b/xex.xml @@ -9,10 +9,14 @@ - - x + 10 - + + 10 + 14 + + + 1