I'm aware that #7806 propably does too much at once. I'd like to hear  
what's in scope for 1.1 and what you believe doesn't belong in django.

Why the patch still does that/too much:

* The code shuffling is purely cosmetic, it just feels wrong to stuff  
everthing in __init__.py. It's already too big for my taste. And I  
honestly don't know how to cleanly split shuffling and functionality  
in separate patches.

* I always felt the API for custom tags is too verbose. There's almost  
no abstraction which makes parsing something like {% url %}  
unnecessarily hard - even django's builtin parser doesn't get it right  
(split(' ') and split(',')). Yes, that could be seen as a feature  
request. But builtin tags would also benefit from abstraction. Just  
comparing code length (compactness is desirable, although by no means  
the only quality measure): #7806's defaulttags contains 20% less LOC  
(not counting blank lines, comments, and docstrings).

* The bugs, obviously. As Malcolm pointed out, most are symptoms of  
the same underlying problems.

Anyway, here's a list of the tickets I tried to fix in #7806 (although  
some of them were merely side effects):

Bugs
====

#5756: Any template tag that uses Variable instead of  
parser.compile_filter does not handle filters.
http://code.djangoproject.com/ticket/5756

#5862: Filters are not applied in an include tag
Wontfixed, but it's really an instance of #5756.
http://code.djangoproject.com/ticket/5862

#5971: django.template.TokenParser inconsistent with parsing filters
http://code.djangoproject.com/ticket/5971

#6271: filter arguments with spaces break several template tags
http://code.djangoproject.com/ticket/6271

#6296: ifequal, filter and hardcoded-string doesn't work
http://code.djangoproject.com/ticket/5756

#6510: get_nodes_by_type refactor for easier extensibility (fixes an  
underlying bug for IfEqualNode)
http://code.djangoproject.com/ticket/6510

#6535: parser.compile_filter() does not support negative numbers
http://code.djangoproject.com/ticket/6535

#7295: quotes, escaping and translation of string literals handled  
inconsistently in templates
http://code.djangoproject.com/ticket/7295

#7377: "extends" and "block" tags are not available when constructing  
template from scratch
http://code.djangoproject.com/ticket/7377

#9315: Keyword arguments with spaces and the url tag
http://code.djangoproject.com/ticket/9315


Features
=======

#4746: Allow whitespace before and after filter separator
The patch goes further: whitespace is insignificant anywhere between  
tokens. That means
`{% url view foo , kw = bar | filter : arg %}`
would be valid.
http://code.djangoproject.com/ticket/4746


Threads
=======
There are a couple more I'm aware of and probably and probably dozens  
I haven't found yet - as a starting point:
http://groups.google.com/group/django-developers/browse_thread/thread/4f5b01719e497325
http://groups.google.com/group/django-developers/browse_thread/thread/ba0644b835e3ec40
http://groups.google.com/group/django-developers/browse_thread/thread/c90b6e29d20724ca

Related to the code shuffling in #7806 (although my intention was  
merely readability):
http://groups.google.com/group/django-developers/browse_thread/thread/35aae0e8da804bd9






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

Reply via email to