Edgewall Software

Ticket #127 (closed defect: fixed)

Opened 7 years ago

Last modified 3 years ago

Strip whitespace at the end of <?python ?> blocks

Reported by: Dale Sedivec <dale-keyword-genshi.e8bcba@…> Owned by: cmlenz
Priority: minor Milestone: 0.4.2
Component: Parsing Version: 0.4
Keywords: python processing instruction pi code block space whitespace Cc:

Description

A line containing nothing but whitespace at the end of a <?python> PI raises a syntax error:

>>> from genshi.template import MarkupTemplate
>>> tmpl = MarkupTemplate("<foo><?python print 'hi'\n ?></foo>")
Traceback (most recent call last):
  ...
genshi.template.base.TemplateSyntaxError: invalid syntax (None, line 2)

This exception is present in 0.4.1 as well as SVN head. It seems to me that whitespace at the end of a python PI should be permitted, since it seems typical to indent the block. For example:

<foo>
    <?python
        bar = 42
    ?>
</foo>

I threw an rstrip in the PI parsing code: all tests pass (Python 2.4), as well as my above snippet. Patch against SVN head attached.

Attachments

genshi-python-pi-whitespace.patch Download (0.7 KB) - added by Dale Sedivec <dale-keyword-genshi.e8bcba@…> 7 years ago.
Trivial patch to rstrip source code in a <?python?> code block

Change History

Changed 7 years ago by Dale Sedivec <dale-keyword-genshi.e8bcba@…>

Trivial patch to rstrip source code in a <?python?> code block

Changed 7 years ago by cmlenz

  • status changed from new to closed
  • resolution set to fixed
  • milestone changed from 0.5 to 0.4.2

Patch applied in [624], ported to 0.4.x in [625]. Many thanks!

Add/Change #127 (Strip whitespace at the end of <?python ?> blocks)

Author


E-mail address and user name can be saved in the Preferences.


Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.