Frank Lichtenheld <frank@xxxxxxxxxxxxxx> writes: > This option will enclose key names in quotes (") if they > contain a subsection and then escape " and \. It will also > escape line breaks in values. Together this should produce > an easily parsable output. > > Affects --list and --get-* > > Signed-off-by: Frank Lichtenheld <frank@xxxxxxxxxxxxxx> > --- > builtin-config.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++++----- > 1 files changed, 83 insertions(+), 9 deletions(-) > > Will add asciidoc documentation and test cases if people think that this is > a good idea. > > I'm writing C about once a year, so I really don't mind being told if it's > crap ;) We probably would want to make this compatible with the quoting rules various fo "host" language have. quote.c has host language support to implement {perl,python,tcl}_quote_print() for single string values or keys, so we should extend that idea. In your application, what you are trying to do is to show a "hash" (key => value) in a notation that is friendly to the host language. Git.pm could simply do: my $eval = `git config --perl --get-regexp 'gitcvs\..*'`; my $cfg = eval "$eval"; if you code your "perl" notation to produce: +{ 'gitcvs.ext.enabled' => 'false', 'gitcvs.logfile' => '/var/log/gitcvs.log', } in order to read things in. Hmm? - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html