Hi Danielo Yes, it's the unencoded line breaks that look like the problem. JSON requires line breaks in strings to be encoded to `\n`, while you've got literal line breaks in there.
Best wishes Jeremy On Tue, Nov 4, 2014 at 12:02 PM, Danielo Rodríguez <rdani...@gmail.com> wrote: > Hello Jeremy, > > I'm just using the maketid widget from Matabelle,which is based on > Stephans widget. > Let me know if what I posted below is what you asked > > 1. > 2. make: > > "{"text":"$(code)$","bag":"default","revision":"0","type":"text/vnd.tiddlywiki","title":"_ipx/templates/insertCode/codeTemplate","modified":"20141031075025632","created":"20141031074930842","comments":"$(comments)$"}" > 3. makeClone: undefined > 4. modificationField: undefined > 5. newtags: undefined > 6. t: undefined > 7. tempTest: "{"text":"Now↵Try > > ↵LB","bag":"default","revision":"0","type":"text/vnd.tiddlywiki","title":"_ipx/templates/insertCode/codeTemplate","modified":"20141031075025632","created":"20141031074930842","comments":"no"}" > 8. > > > El martes, 4 de noviembre de 2014 12:58:53 UTC+1, Jeremy Ruston escribió: >> >> Hi Danielo >> >> I don't think that that code is a great approach. There's too much scope >> for variable substitution to break the JSON formatting. In particular, JSON >> needs string constants to be encoded if they include double quotes, and the >> variable substitution mechanism isn't capable of that. It would be much >> better to apply variable substitution to each field in turn. >> >> Can you log the complete original JSON string as well as the value that >> comes out of substituteVariableReferences? >> >> Best wishes >> >> Jeremy >> >> >> >> On Tue, Nov 4, 2014 at 11:54 AM, Danielo Rodríguez <rdan...@gmail.com> >> wrote: >> >>> Hello, >>> >>> I traced down the code and the problem is on the JSON.parse part. >>> After the substituteVariableReferences execution, JSON.parse will >>> receive the following string: >>> >>> "{"text":"Now↵Try ↵LB","bag":"default","revision":"0","type":"text/ >>> vnd.tiddlywiki","title" >>> >>> Which does not seems to be a valid JSON string. >>> The code that fails is like this >>> >>> // Make the clone of the template >>> var make = this.wiki.getTiddlerAsJson(this.maketidTemplate); >>> debugger; >>> var tempTest =this.substituteVariableReferences(make); >>> var makeClone = JSON.parse(tempTest); >>> >>> The problem is that substituteVariableReferences returns that string >>> with those unexpected characters. Maybe the substituteVariableReferences >>> should return \n instead? >>> >>> El martes, 4 de noviembre de 2014 12:38:07 UTC+1, Jeremy Ruston escribió: >>>> >>>> Hi Danielo >>>> >>>> There's no problem that I can see with the snippet you posted above. >>>> Can you put up a minimal test case? >>>> >>>> Best wishes >>>> >>>> Jeremy >>>> >>>> >>>> On Tue, Nov 4, 2014 at 11:27 AM, Danielo Rodríguez <rdan...@gmail.com> >>>> wrote: >>>> >>>>> The error is much more concise in firefox: >>>>> >>>>> SyntaxError: JSON.parse: bad control character in string literal at >>>>> line 1 column 13 of the JSON data >>>>> >>>>> Why? >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "TiddlyWiki" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to tiddlywiki+...@googlegroups.com. >>>>> To post to this group, send email to tiddl...@googlegroups.com. >>>>> Visit this group at http://groups.google.com/group/tiddlywiki. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> >>>> >>>> -- >>>> Jeremy Ruston >>>> mailto:jeremy...@gmail.com >>>> >>> >> >> >> -- >> Jeremy Ruston >> mailto:jeremy...@gmail.com >> > -- Jeremy Ruston mailto:jeremy.rus...@gmail.com -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+unsubscr...@googlegroups.com. To post to this group, send email to tiddlywiki@googlegroups.com. Visit this group at http://groups.google.com/group/tiddlywiki. For more options, visit https://groups.google.com/d/optout.