Great! I'll look over this and probably commit it tomorrow.

Putting all the stuff in one diff is fine if the excess is caused by 
test stuff.

Single quotes actually do recognize one escape sequence: \'. Thus, 
'foo\'bar' #=> "foo'bar". Thus, that test was testing to make sure 
quotes that, when all else fails for dealing with conflicting quotes in 
attribute hashes, double quotes are escaped in the HTML and single 
quotes aren't.

- Nathan

Tom Bagby wrote:
> parsing_literal_hashes.diff handles this.  It touches more things than
> I originally intended because of finding some bugs as I went.
>
> For example:
>
> - Attribute hashes built internally all assume that keys are symbols.
> This was causing weird cases of spitting out tags with multiple class
> or id attributes.  I chose to start forcing keys to strings.  The
> alternative of interning everything is also an option.
>
> - The object ref syntax was not (still isn't quite) consistent in how
> it overrides existing classes or id's.  Have tried to fix this to an
> extent.
>
> - I'm not sure how this test is supposed to work:
> assert_equal("<p escaped=\"q'uo&quot;te\">\n</p>\n",
> render("%p{ :escaped => 'q\\'uo\"te'}", :attr_wrapper => '"'))
>
> Since the actual test code is in double quotes, the double backslash
> turns into a single backslash, but quoting the single quote should be
> left in when we actually eval this since single quotes don't do escape
> sequences, which means that the asserted result should have a
> backslash in there, so ... I changed it to what I thought it should be
> but I'm unclear on what this is even testing.
>
> As per recent comments about patching protocol, maybe this is a bunch
> of stuff in one diff, but it's all fallout from doing the literal
> hashes thing and then making tests not fail.  Can break it up into
> steps if necessary.
>
> -Tom
>
> On May 30, 8:55 pm, Nathan Weizenbaum <[EMAIL PROTECTED]> wrote:
>   
>> Very good. Committed.
>>
>> I've also been meaning to get around to making string-only attributes
>> parsed at compile-time. That'll also be useful for allowing people using
>> :suppress_eval to have attributes.
>>
>> - Nathan
>>
>> Tom Bagby wrote:
>>     
>>> Uploaded preparse_class_ids.diff
>>>       
>>> Pretty straightforward, moves processing of class and id strings to
>>> engine and not buffer.  Nice little perf boost results:
>>>       
>>> Before: Haml/ERB: 2.23403
>>> After: Haml/ERB: 1.96521
>>>       
>>> -Tom
>>>       
>
>
> >
>
>   


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Haml" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/haml?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to