>Consider this code:
>
>LOCAL lcTest
>lcTest = "<<lcTest2>>"
>*
>LOCAL lcTest2
>lcTest2 = "Hello World"
>
>TEXT TO lcOutput1 TEXTMERGE NOSHOW
>What I say:
><<lcTest>>
>Good bye.
>ENDTEXT
>
>MESSAGEBOX(lcOutput1)
>
>LOCAL lcOutput2
>lcOutput2 = TEXTMERGE(lcOutput1,.T.,"<<",">>")
>
>MESSAGEBOX(lcOutput2)
>
>
>I wonder if there a way to have the first Textmerge evaluate the string lcTest recursively?
If you prefer the multiline layout, then omit the textmerge clause when creating lcOutput1, and then call textmerge() with recursion. I think you can even expand a function call which may return a text with embedded merge placeholders... you can do pretty much anything except doing textmerge within textmerge (because there seems to be some kind of handle and there's only one of it). The only way to recurse is to call textmerge() function with the recursive parameter.