Edgewall Software

Ticket #396: select_added_too_late.3.patch

File select_added_too_late.3.patch, 1.5 KB (added by Carsten Klein <carsten.klein@…>, 5 years ago)

*sigh* this time for real

  • genshi/template/markup.py

     
    343343                        del match_templates[idx]
    344344                        idx -= 1
    345345
     346                    # Make the select() function available in the body of the
     347                    # match template
     348                    selected = [False]
     349                    def select(path):
     350                        selected[0] = True
     351                        return content.select(path, namespaces, ctxt)
     352                    vars['select'] = select
     353
    346354                    # Let the remaining match templates know about the event so
    347355                    # they get a chance to update their internal state
    348356                    for test in [mt[0] for mt in match_templates[idx + 1:]]:
     
    362370                        content = list(content)
    363371                    content = Stream(content)
    364372
    365                     # Make the select() function available in the body of the
    366                     # match template
    367                     selected = [False]
    368                     def select(path):
    369                         selected[0] = True
    370                         return content.select(path, namespaces, ctxt)
    371                     vars = dict(select=select)
    372 
    373373                    # Recursively process the output
    374374                    template = _apply_directives(template, directives, ctxt,
    375375                                                 vars)