summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2012-12-14 11:28:28 +0100
committerUlf Magnusson <ulfalizer@gmail.com>2012-12-14 11:29:41 +0100
commit6a26a1371cfaa84b6cb664d4b48b102fcb4a7996 (patch)
treea56a2dc0ae8e58af525466ac804074084b43f8dd
parent91d9c7cb3f27bcb9ddf0111ec0589b14c79f101d (diff)
Make _comment() preserve trailing newlines.
-rw-r--r--kconfiglib.py7
-rw-r--r--testsuite.py5
2 files changed, 10 insertions, 2 deletions
diff --git a/kconfiglib.py b/kconfiglib.py
index c6d2a07..fa98855 100644
--- a/kconfiglib.py
+++ b/kconfiglib.py
@@ -3644,10 +3644,13 @@ def _sep_lines(*args):
return "\n".join(args)
def _comment(s):
- """Returns a new string with "# " inserted before each line in 's'."""
+ """Returns a new string with "#" inserted before each line in 's'."""
if not s:
return "#"
- return "\n".join(["#" + line for line in s.splitlines()])
+ res = "".join(["#" + line for line in s.splitlines(True)])
+ if s.endswith("\n"):
+ return res + "#"
+ return res
def _get_lines(filename):
"""Returns a list of lines from 'filename', joining any line ending in \\
diff --git a/testsuite.py b/testsuite.py
index dd69ffe..f9378f9 100644
--- a/testsuite.py
+++ b/testsuite.py
@@ -996,8 +996,13 @@ def run_selftests():
format(read_header))
write_and_verify_header("")
+ write_and_verify_header(" ")
+ write_and_verify_header("\n")
+ write_and_verify_header("\n\n")
write_and_verify_header("#")
write_and_verify_header("a")
+ write_and_verify_header("a\n")
+ write_and_verify_header("a\n\n")
write_and_verify_header("abcdef")
write_and_verify_header("foo\nbar baz\n\n\n qaz#")