Yes, you're right, the parser didn't realize that #{} wasn't normal 
string content. This is now fixed.

- Nathan

Robin wrote:
> I suspect this patch has broken my code.  I do the following a lot:
>
> %span{:id => "more_info_#{store_item_type[:item_type_id]}"}
>
> With this new patch, the #{} content is not being evaluated at all and
> has broken many of my pages.
>
>
> On Jun 2, 6:45 am, Nathan Weizenbaum <[EMAIL PROTECTED]> wrote:
>   
>> Alright, I've modified this a bit and added it to trunk. Thanks a bunch.
>>
>> - 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