07-29-06 12:12 PM
[ http://issues.apache.org/jira/brows...ON-168?page=all ]
Jim Gallacher resolved MODPYTHON-168.
-------------------------------------
Fix Version/s: 3.3
Resolution: Fixed
> psp_parser fails when CR is used as a line terminator
> -----------------------------------------------------
>
> Key: MODPYTHON-168
> URL: http://issues.apache.org/jira/browse/MODPYTHON-168
> Project: mod_python
> Issue Type: Bug
> Components: core
> Affects Versions: 3.3
> Environment: Mac OS X using older GoLive editor
> Reporter: Jim Gallacher
> Assigned To: Jim Gallacher
> Priority: Minor
> Fix For: 3.3
>
>
> As reported by Jeff Zelt:
> """
> On Mac OS X, make sure that your HTML files are terminated by :
> a line feed (ascii 10) and NOT a carriage return (ascii 13).
> PSP does *not* like lines terminated by only a carriage return.
> The problem was that I was using Adobe GoLive to edit my web pages and to insert t
he Python code in the page (I am talking about the source view, not the WYSIWYG/Layo
ut view). My version of GoLive is a little old and still prefers to write files wit
h c
arriage return line endings. This was the default for the Mac OS before Mac
OS X. Everything *looks* OK in the GoLive editor and it also looked OK in
the other editors I chose to check the code (other editors would have tipped
me off, but I did not use
one of those).
> However, it seems that the PSP engine, or whatever you want to call it, do
es not treat carriage returns as line endings, and therefore chokes badly wh
en encountering code written this way.
> GoLive has a menu item where you can select the desired line terminator.
I selected "Unix (LF)". This made no visible change to the document when v
iewed in GoLive, but then suddenly the <% ... %> PSP parts of the document w
orked perfectly.
> """
> I've confirmed that psp_parser.l expects lines of Python code to be termin
ated with: "\r\n | \n | %>" so the fix should be a one liner.
> Index: src/psp_parser.l
> ========================================
===========================
> --- src/psp_parser.l (revision 398185)
> +++ src/psp_parser.l (working copy)
> @@ -119,7 +119,7 @@
> }
> }
>
> -<PYCODE>\r\n|\n {
> +<PYCODE>\r\n|\n|\r {
> psp_string_appendc(&PSP_PG(pycode), '\n');
>
> PSP_PG(seen_newline) = 1;
[ Post a follow-up to this message ]
|