SF.net SVN: geany:[5388] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Tue Nov 9 18:14:33 UTC 2010


Revision: 5388
          http://geany.svn.sourceforge.net/geany/?rev=5388&view=rev
Author:   ntrel
Date:     2010-11-09 18:14:33 +0000 (Tue, 09 Nov 2010)

Log Message:
-----------
Convert line endings for file templates.
Fix line endings when using file header template in a file template
(oops).

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/templates.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2010-11-09 15:34:24 UTC (rev 5387)
+++ trunk/ChangeLog	2010-11-09 18:14:33 UTC (rev 5388)
@@ -4,6 +4,10 @@
    Save build commands for filetype None (patch by Lex, thanks).
    Make filetypes_get_conf_extension() return "common" for filetype
    None.
+ * src/templates.c:
+   Convert line endings for file templates.
+   Fix line endings when using file header template in a file template
+   (oops).
 
 
 2010-11-08  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: trunk/src/templates.c
===================================================================
--- trunk/src/templates.c	2010-11-09 15:34:24 UTC (rev 5387)
+++ trunk/src/templates.c	2010-11-09 18:14:33 UTC (rev 5388)
@@ -84,16 +84,12 @@
 
 	TEMPLATES_READ_FILE(fname, &templates[id]);
 
-	/* FIXME: we should replace the line ends on insertion with doc pref, not on loading */
 	{
 		GString *tmp = g_string_new(templates[id]);
-		const gchar *eol_str = (file_prefs.default_eol_character == SC_EOL_CR) ? "\r" : "\r\n";
 
-		/* first convert data to LF only */
-		utils_string_replace_all(tmp, "\r\n", "\n");
-		utils_string_replace_all(tmp, "\r", "\n");
-		/* now convert to desired line endings */
-		utils_string_replace_all(tmp, "\n", eol_str);
+		/* Convert to default line endings e.g. for file header use in a file template.
+		 * When inserting separately we replace line endings with the document setting. */
+		utils_ensure_same_eol_characters(tmp, file_prefs.default_eol_character);
 		setptr(templates[id], tmp->str);
 		g_string_free(tmp, FALSE);
 	}
@@ -264,6 +260,7 @@
 		gchar *file_header;
 
 		template = g_string_new(content);
+		utils_ensure_same_eol_characters(template, file_prefs.default_eol_character);
 
 		file_header = get_template_fileheader(ft);
 		templates_replace_valist(template,


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list