Author: aaugustin Date: 2011-12-09 14:10:52 -0800 (Fri, 09 Dec 2011) New Revision: 17186
Modified: django/trunk/django/template/base.py django/trunk/django/template/loader_tags.py Log: Fixed #3100 -- Added support for arguments on intermediate tag tokens. Modified: django/trunk/django/template/base.py =================================================================== --- django/trunk/django/template/base.py 2011-12-09 22:10:03 UTC (rev 17185) +++ django/trunk/django/template/base.py 2011-12-09 22:10:52 UTC (rev 17186) @@ -250,15 +250,15 @@ var_node = self.create_variable_node(filter_expression) self.extend_nodelist(nodelist, var_node, token) elif token.token_type == TOKEN_BLOCK: - if token.contents in parse_until: + try: + command = token.contents.split()[0] + except IndexError: + self.empty_block_tag(token) + if command in parse_until: # put token back on token list so calling # code knows why it terminated self.prepend_token(token) return nodelist - try: - command = token.contents.split()[0] - except IndexError: - self.empty_block_tag(token) # execute callback function for this tag and append # resulting node self.enter_command(command, token) Modified: django/trunk/django/template/loader_tags.py =================================================================== --- django/trunk/django/template/loader_tags.py 2011-12-09 22:10:03 UTC (rev 17185) +++ django/trunk/django/template/loader_tags.py 2011-12-09 22:10:52 UTC (rev 17186) @@ -189,8 +189,14 @@ parser.__loaded_blocks.append(block_name) except AttributeError: # parser.__loaded_blocks isn't a list yet parser.__loaded_blocks = [block_name] - nodelist = parser.parse(('endblock', 'endblock %s' % block_name)) - parser.delete_first_token() + nodelist = parser.parse(('endblock',)) + + # This check is kept for backwards-compatibility. See #3100. + endblock = parser.next_token() + acceptable_endblocks = ('endblock', 'endblock %s' % block_name) + if endblock.contents not in acceptable_endblocks: + parser.invalid_block_tag(endblock, 'endblock', acceptable_endblocks) + return BlockNode(block_name, nodelist) @register.tag('extends') -- You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com. To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-updates?hl=en.