Okay,  I have encountered one problem with eager_eval: recursive embed
evaluation.

If I have templateA.html:

<lift:MySnippet eager_eval="true">
   <lift:embed what="templateB">
</lift:MySnippet>

and templateB.html:

<div class="foobar">
  ...
  <lift:embed what="templateC">
  ...
</div>

then I get a somewhat opaque error from deep inside Scala's XML stack:

Exception occured while processing /orders/list

Message: java.lang.IllegalArgumentException: line 32 does not exist
        scala.io.Source.getLine(Source.scala:280)
        scala.io.Source.report(Source.scala:368)
        scala.io.Source.reportError(Source.scala:355)
        scala.io.Source.reportError(Source.scala:344)
        
scala.xml.parsing.MarkupParser$class.reportSyntaxError(MarkupParser.scala:1113)
        
net.liftweb.util.PCDataXmlParser.reportSyntaxError(PCDataMarkupParser.scala:77)
        
scala.xml.parsing.MarkupParser$class.reportSyntaxError(MarkupParser.scala:1117)
        
net.liftweb.util.PCDataXmlParser.reportSyntaxError(PCDataMarkupParser.scala:77)
        scala.xml.parsing.MarkupParser$class.document(MarkupParser.scala:226)
        net.liftweb.util.PCDataXmlParser.document(PCDataMarkupParser.scala:77)
        net.liftweb.util.PCDataXmlParser$.apply(PCDataMarkupParser.scala:88)
        
net.liftweb.http.TemplateFinder$$anonfun$findAnyTemplate$1$$anonfun$apply$49.apply(LiftSession.scala:896)
        
net.liftweb.http.TemplateFinder$$anonfun$findAnyTemplate$1$$anonfun$apply$49.apply(LiftSession.scala:896)
        net.liftweb.util.Full.flatMap(Can.scala:266)
        
net.liftweb.http.TemplateFinder$$anonfun$findAnyTemplate$1.apply(LiftSession.scala:896)
        
net.liftweb.http.TemplateFinder$$anonfun$findAnyTemplate$1.apply(LiftSession.scala:896)
        scala.Function1$$anonfun$andThen$1.apply(Function1.scala:48)
        scala.Stream$class.flatMap(Stream.scala:430)
        scala.List$$anon$1.flatMap(List.scala:1307)
        scala.Stream$$anonfun$flatMap$1.apply(Stream.scala:435)
        scala.Stream$$anonfun$flatMap$1.apply(Stream.scala:435)
        scala.Stream$class.append(Stream.scala:255)
        scala.List$$anon$1.append(List.scala:1307)
        scala.Stream$class.flatMap(Stream.scala:435)
        scala.List$$anon$1.flatMap(List.scala:1307)
        scala.Stream$$anonfun$flatMap$1.apply(Stream.scala:435)
        scala.Stream$$anonfun$flatMap$1.apply(Stream.scala:435)
        scala.Stream$class.append(Stream.scala:255)
        scala.List$$anon$1.append(List.scala:1307)
        scala.Stream$class.flatMap(Stream.scala:435)
        scala.List$$anon$1.flatMap(List.scala:1307)
        scala.Stream$$anonfun$flatMap$1.apply(Stream.scala:435)
        scala.Stream$$anonfun$flatMap$1.apply(Stream.scala:435)
        scala.Stream$class.append(Stream.scala:255)
        scala.List$$anon$1.append(List.scala:1307)
        scala.Stream$class.flatMap(Stream.scala:435)
        scala.List$$anon$1.flatMap(List.scala:1307)
        scala.Stream$$anonfun$flatMap$1.apply(Stream.scala:435)
        scala.Stream$$anonfun$flatMap$1.apply(Stream.scala:435)
        scala.Stream$class.append(Stream.scala:255)
        scala.List$$anon$1.append(List.scala:1307)
        scala.Stream$class.flatMap(Stream.scala:435)
        scala.List$$anon$1.flatMap(List.scala:1307)
        scala.Stream$$anonfun$flatMap$1.apply(Stream.scala:435)
        scala.Stream$$anonfun$flatMap$1.apply(Stream.scala:435)
        scala.Stream$class.append(Stream.scala:255)
        scala.List$$anon$1.append(List.scala:1307)
        scala.Stream$class.flatMap(Stream.scala:435)
        scala.List$$anon$1.flatMap(List.scala:1307)
        scala.List$$anon$1.flatMap(List.scala:1307)
        net.liftweb.util.ListHelpers$class.first(ListHelpers.scala:35)
        net.liftweb.util.Helpers$.first(Helpers.scala:26)
        net.liftweb.http.TemplateFinder$.findAnyTemplate(LiftSession.scala:896)
        net.liftweb.http.LiftSession.findTemplate(LiftSession.scala:506)
        
net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$$findAndEmbed(LiftSession.scala:520)
        
net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:652)
        
net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:645)
        scala.PartialFunction$$anon$1.apply(PartialFunction.scala:38)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$35.apply(LiftSession.scala:669)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$35.apply(LiftSession.scala:669)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        net.liftweb.http.S$.setVars(S.scala:518)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:669)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:666)
        scala.Seq$class.flatMap(Seq.scala:267)
        scala.xml.NodeSeq.flatMap(NodeSeq.scala:34)
        
net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:665)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:670)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:666)
        scala.Seq$class.flatMap(Seq.scala:267)
        scala.xml.NodeSeq.flatMap(NodeSeq.scala:34)
        
net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:665)
        
net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$$processSnippet(LiftSession.scala:573)
        
net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:659)
        
net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:645)
        scala.PartialFunction$$anon$1.apply(PartialFunction.scala:38)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$35.apply(LiftSession.scala:669)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$35.apply(LiftSession.scala:669)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        net.liftweb.http.S$.setVars(S.scala:518)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:669)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:666)
        scala.Seq$class.flatMap(Seq.scala:267)
        scala.xml.NodeSeq.flatMap(NodeSeq.scala:34)
        
net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:665)
        
net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$$processSurroundElement(LiftSession.scala:804)
        
net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:651)
        
net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply(LiftSession.scala:645)
        scala.PartialFunction$$anon$1.apply(PartialFunction.scala:38)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$35.apply(LiftSession.scala:669)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$$anonfun$apply$35.apply(LiftSession.scala:669)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        net.liftweb.http.S$.setVars(S.scala:518)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:669)
        
net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply(LiftSession.scala:666)
        scala.Seq$class.flatMap(Seq.scala:267)
        scala.xml.NodeSeq.flatMap(NodeSeq.scala:34)
        
net.liftweb.http.LiftSession.processSurroundAndInclude(LiftSession.scala:665)
        net.liftweb.http.LiftSession$$anonfun$8.apply(LiftSession.scala:343)
        net.liftweb.http.LiftSession$$anonfun$8.apply(LiftSession.scala:343)
        net.liftweb.util.Full.map(Can.scala:264)
        net.liftweb.http.LiftSession.processRequest(LiftSession.scala:343)
        
net.liftweb.http.LiftServlet.net$liftweb$http$LiftServlet$$dispatchStatefulRequest(LiftServlet.scala:219)
        net.liftweb.http.LiftServlet$$anonfun$1.apply(LiftServlet.scala:161)
        net.liftweb.http.LiftServlet$$anonfun$1.apply(LiftServlet.scala:161)
        net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:379)
        
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$$anonfun$apply$18.apply(S.scala:419)
        net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:359)
        
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1.apply(S.scala:417)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit(S.scala:416)
        
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$21$$anonfun$apply$22$$anonfun$apply$23$$anonfun$apply$24$$anonfun$apply$25.apply(S.scala:436)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$21$$anonfun$apply$22$$anonfun$apply$23$$anonfun$apply$24.apply(S.scala:435)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$21$$anonfun$apply$22$$anonfun$apply$23.apply(S.scala:434)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$21$$anonfun$apply$22.apply(S.scala:433)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun$apply$21.apply(S.scala:432)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        
net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1.apply(S.scala:431)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala:430)
        
net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$28$$anonfun$apply$29$$anonfun$apply$30$$anonfun$apply$31.apply(S.scala:459)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        
net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$28$$anonfun$apply$29$$anonfun$apply$30.apply(S.scala:458)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        
net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$28$$anonfun$apply$29.apply(S.scala:457)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$28.apply(S.scala:456)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        net.liftweb.http.S$$anonfun$_init$1.apply(S.scala:455)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        net.liftweb.http.S$._init(S.scala:454)
        net.liftweb.http.S$.init(S.scala:322)
        net.liftweb.http.LiftServlet.doService(LiftServlet.scala:160)
        
net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala:105)
        
net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala:105)
        net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:227)
        net.liftweb.util.Helpers$.calcTime(Helpers.scala:26)
        net.liftweb.util.TimeHelpers$class.logTime(TimeHelpers.scala:236)
        net.liftweb.util.Helpers$.logTime(Helpers.scala:26)
        net.liftweb.http.LiftServlet.doIt$1(LiftServlet.scala:104)
        net.liftweb.http.LiftServlet.service(LiftServlet.scala:109)
        
net.liftweb.http.LiftFilter$$anonfun$doFilter$3.apply(LiftServlet.scala:476)
        
net.liftweb.http.LiftFilter$$anonfun$doFilter$3.apply(LiftServlet.scala:476)
        net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:24)
        net.liftweb.http.URLRewriter$.doWith(RequestState.scala:341)
        net.liftweb.http.LiftFilter.doFilter(LiftServlet.scala:475)

On Thu, Sep 11, 2008 at 4:10 PM, David Pollak <[EMAIL PROTECTED]> wrote:
> <lift:MySnippet eager_eval="true">
>   <lift:embed...>
> </lift:MySnippet>
>
> will do the right thing (give Hudson about 2 hours to get the code into the
> Lift Maven respository).
>
> Kris Nuttycombe wrote:
>
> On Thu, Sep 11, 2008 at 3:49 PM, David Pollak <[EMAIL PROTECTED]> wrote:
>
>
> If you are trying to embed a <lift:embed .../> in the body of a snippet...
> e.g.:
>
> <lift:MySnippet>
>   <lift:embed .../>
> </lift:MySnippet>
>
>
> That is indeed essentially what I was trying to do; in the application
> I'm building I have a number of snippets that will contain common
> chunks of HTML (with tags that I want to bind to), and am simply
> trying to figure out what the standard way reusing those chunks in the
> various snippets would be.
>
> Thanks,
>
> Kris
>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to