diff --git a/toml.cm b/toml.cm index bcea35fc..1ba4ba3c 100644 --- a/toml.cm +++ b/toml.cm @@ -211,8 +211,13 @@ function encode_toml(obj) { } function quote_key(k) { - if (search(k, '.') != null || search(k, '"') != null || search(k, ' ') != null) { - return '"' + toml_escape(k) + '"' + var i = 0 + var c = null + for (i = 0; i < length(k); i++) { + c = k[i] + if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_' || c == '-')) { + return '"' + toml_escape(k) + '"' + } } return k }