Changing what's escaped when printing.

With this patch the model is:

    - "print" cleans the data so that non-printable characters get
      escaped. This is not necessarily reversible.

    - to print in a reversible way, one can go through
      escape_string(); this escapes backslashes as well to make the
      decoding non-ambigious.

    - Logging always escapes similar to escape_string(), making it
      reversible.

Compared to master, we also change the escaping as follows:

    - We now only escape with "\xXX", no more "^X" or "\0". Exception:
      backslashes.

    - We escape backlashes as "\\".

    - There's no "alternative" output style anymore, i.e., fmt() '%A'
      qualifier is gone.

Baselines in testing/btest are updated, external tests not yet.

Addresses BIT-1333.
This commit is contained in:
Robin Sommer 2015-04-15 09:59:09 -07:00
parent e41c623ad0
commit 7344052b50
66 changed files with 397 additions and 349 deletions

View file

@ -1,20 +1,20 @@
Input::EVENT_NEW, cat |, input0
hello
Input::EVENT_NEW, cat |, input0
there^A^B^C^D^E^A^B^Cyay0
there\x01\x02\x03\x04\x05\x01\x02\x03yay0
Input::EVENT_NEW, cat |, input1
hello
Input::EVENT_NEW, cat |, input1
there^A^B^C^D^E^A^B^Cyay01
there\x01\x02\x03\x04\x05\x01\x02\x03yay01
Input::EVENT_NEW, cat |, input2
hello
Input::EVENT_NEW, cat |, input2
there^A^B^C^D^E^A^B^Cyay012
there\x01\x02\x03\x04\x05\x01\x02\x03yay012
Input::EVENT_NEW, cat |, input3
hello
Input::EVENT_NEW, cat |, input3
there^A^B^C^D^E^A^B^Cyay0123
there\x01\x02\x03\x04\x05\x01\x02\x03yay0123
Input::EVENT_NEW, cat |, input4
hello
Input::EVENT_NEW, cat |, input4
there^A^B^C^D^E^A^B^Cyay01234
there\x01\x02\x03\x04\x05\x01\x02\x03yay01234