﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
589	Backslash newline handling in Windows regression	anonymous	cmlenz	"I think an issue was introduced with the following change that loads files in binary mode:
http://genshi.edgewall.org/changeset/1190

I'm using a software package on Windows that had originally worked with Genshi 0.5 (before change #1190).  The templates in this package has many directives followed by newlines, like so:
{% directive %]\

On my mac, using Genshi 0.7, those lines are completely stripped out of the resulting output files.  On my windows machine, however, those lines become a single backslash.

I think this is because the following regex in text.py:
    _ESCAPE_RE = r'\\\n|\\(\\)|\\(%s)|\\(%s)'

was working previously because the '\\\n' was matching these lines in windows when files were opened with 'rU', but now that they're opened with 'rb', the lines have the Windows \r\n line ending.


This is the test code I'm using, with an input file

# genshi test
# input file should be:
# {% end %}\
# hello

from genshi.template import NewTextTemplate, TemplateLoader
from os import path
import shutil

srcfile = 'testtemplate-in.json'
dstfile = 'testtemplate-out.json'
loader = TemplateLoader(path.dirname(srcfile))
tmpl = loader.load(path.basename(srcfile), cls=NewTextTemplate)
stream = tmpl.generate()
tmp_file = srcfile+'-tmp'
with open(tmp_file, 'w') as out_file:
  out_file.write(stream.render('text'))
from_to = (tmp_file, dstfile)
shutil.move(*from_to)

"	defect	new	major	0.9	General	devel			
