I am writing code to generate Tcl script, it generates script that includes "puts {blah}".

But the script will fail if I try to puts `{` or `}`. I thought the escape is '\' but it didn't work:

```
% puts {}}
extra characters after close-brace
% puts {\}}
\}
% puts {\{}
\{

```

`puts{{}` also does not work but `puts{{}}` works. 

Similarly, if `\` is the last character of the string, the command will not complete.

I have checked the 12 rules of Tcl (<http://www.tcl.tk/man/tcl8.5/TclCmd/Tcl.htm>) but I don't see a solution to my problem.