diff -up pydot-1.0.3/pydot.py.BAD pydot-1.0.3/pydot.py --- pydot-1.0.3/pydot.py.BAD 2010-11-03 11:02:36.572752008 -0400 +++ pydot-1.0.3/pydot.py 2010-11-03 11:04:29.832752009 -0400 @@ -153,28 +153,17 @@ def needs_quotes( s ): need quotes too. """ + # All keywords must be quoted if s in dot_keywords: - return False - - chars = [ord(c) for c in s if ord(c)>0x7f or ord(c)==0] - if chars and not id_re_dbl_quoted.match(s): - return True - - res = id_re_alpha_nums.match(s) - if not res: - res = id_re_num.match(s) - if not res: - res = id_re_dbl_quoted.match(s) - if not res: - res = id_re_html.match(s) - if not res: - res = id_re_with_port.match(s) - - if not res: return True - return False + # If any of these regexes match, then the string does not need quoting + if (id_re_alpha_nums.match(s) or id_re_num.match(s) or + id_re_dbl_quoted.match(s) or id_re_html.match(s) or + id_re_with_port.match(s)): + return False + return True def quote_if_necessary(s):