diff -r 5c9d6eba65bc -r 5b24d66365ec csv.lua --- a/csv.lua Sat Mar 31 22:13:32 2012 +0100 +++ b/csv.lua Sun Apr 01 01:56:09 2012 +0100 @@ -12,7 +12,8 @@ local numeric_escape = (lpeg.R"09"^1)^-3; local escape = (lpeg.P"\\" * (char_escape + numeric_escape)); -local value = (escape + (1-delim))^0; +local quoted_value = lpeg.P"\"" * ((1-lpeg.P"\"")^0) * lpeg.P"\""; +local value = quoted_value + (escape + (1-delim))^0; local escape_map = setmetatable({ t = "\t", b = "\b", f = "\f";