Files
quickbook/test/code-block-3.quickbook
Daniel James ed6ff64dcc Fix bug handling python and C++ strings.
Fixes #2860.

Merged revisions 51949 via svnmerge from 
https://svn.boost.org/svn/boost/trunk

........
  r51949 | danieljames | 2009-03-24 08:34:09 +0000 (Tue, 24 Mar 2009) | 21 lines
  
  Use our own escape character parser.
  
  We're currently using the spirit escaped character parser. This is a
  strict C parser and causes parse errors for code that we probably should
  accept, such as any hexadecimal encoded characters with a value greater
  than the maximum value of the current platform's 'char'.  This is \x7F
  on some platforms so it rejects '\x80' upwards. As well as rejecting
  characters that might be valid, it also means that quickbook will act
  differently on different platforms.
  
  In python strings, '\xaaa' is equivalent to '\xaa' + 'a', but the spirit
  parser interprets this as a character with value '0xaaa'. So we probably
  should accept these.
  
  I also think we should be liberal about what we accept. IMO it isn't our
  job to enforce correct C++/python, just to create a reasonable
  rendering of our input. So rather than write a parser which understands
  the various types of escapes, I just wrote one that ignores any
  character following a backslash.
  
  Refs #2860.
........


[SVN r52064]
2009-03-30 17:49:15 +00:00

22 lines
246 B
Plaintext

[article Code Block 3]
[section Python code block]
[python]
``
print "\xfabln\xeck"
``
[endsect]
[section C++ code block]
This isn't valid C++ but I think we should accept it;
[cpp]
``
std::cout<<"\xfabln\xeck"<<"\n";
``
[endsect]