#3373: TracLink 'query:' leads to a Trac IndexError
---------------------------------+------------------------------------------
 Reporter:  [EMAIL PROTECTED]  |       Owner:  jonas
     Type:  defect               |      Status:  new  
 Priority:  normal               |   Milestone:  0.10 
Component:  wiki                 |     Version:  devel
 Severity:  normal               |    Keywords:       
---------------------------------+------------------------------------------
 If the following TracLink is inserted in a page :
 {{{
 [query: Query]
 }}}

 this leads to the Python error below. A workaround is :
 {{{
 [query:? Query]
 }}}

 IMO, Trac should take care of adding the `?` in case the query string is
 empty.



 {{{
 Traceback (most recent call last):
   File "/www/Web/servers/trac/0.10dev-3507/lib/python2.4/site-
 packages/trac/web/main.py", line 314, in dispatch_request
     dispatcher.dispatch(req)
   File "/www/Web/servers/trac/0.10dev-3507/lib/python2.4/site-
 packages/trac/web/main.py", line 199, in dispatch
     resp = chosen_handler.process_request(req)
   File "build/bdist.osf1-V5.1-alpha/egg/tractags/web_ui.py", line 64, in
 process_request
   File "/www/Web/servers/trac/0.10dev-3507/lib/python2.4/site-
 packages/trac/wiki/web_ui.py", line 133, in process_request
     self._render_view(req, db, page)
   File "/www/Web/servers/trac/0.10dev-3507/lib/python2.4/site-
 packages/trac/wiki/web_ui.py", line 445, in _render_view
     req.hdf['wiki'] = {
   File "/www/Web/servers/trac/0.10dev-3507/lib/python2.4/site-
 packages/trac/wiki/formatter.py", line 987, in wiki_to_html
     Formatter(env, req, absurls, db).format(wikitext, out,
 escape_newlines)
   File "/www/Web/servers/trac/0.10dev-3507/lib/python2.4/site-
 packages/trac/wiki/formatter.py", line 813, in format
     result = re.sub(self.wiki.rules, self.replace, line)
   File "/usr/local/Python/2.4.1/lib/python2.4/sre.py", line 142, in sub
     return _compile(pattern, 0).sub(repl, string, count)
   File "/www/Web/servers/trac/0.10dev-3507/lib/python2.4/site-
 packages/trac/wiki/formatter.py", line 759, in replace
     replacement = self.handle_match(fullmatch)
   File "/www/Web/servers/trac/0.10dev-3507/lib/python2.4/site-
 packages/trac/wiki/formatter.py", line 755, in handle_match
     return internal_handler(match, fullmatch)
   File "/www/Web/servers/trac/0.10dev-3507/lib/python2.4/site-
 packages/trac/wiki/formatter.py", line 362, in _lhref_formatter
     return self._make_link(ns, target, match, label)
   File "/www/Web/servers/trac/0.10dev-3507/lib/python2.4/site-
 packages/trac/wiki/formatter.py", line 369, in _make_link
     escape(label, False))
   File "/www/Web/servers/trac/0.10dev-3507/lib/python2.4/site-
 packages/trac/ticket/query.py", line 662, in _format_link
     if query[0] == '?':
 IndexError: string index out of range
 }}}

-- 
Ticket URL: <http://trac.edgewall.org/ticket/3373>
The Trac Project <http://trac.edgewall.com/>
_______________________________________________
Trac-Tickets mailing list
[email protected]
http://lists.edgewall.com/mailman/listinfo/trac-tickets

Reply via email to