[anjuta-extras] scintilla: bgo#610371 - Scite adds a trailing white space after pressing enter for aligning variable
- From: Sebastien Granjoux <sgranjoux src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [anjuta-extras] scintilla: bgo#610371 - Scite adds a trailing white space after pressing enter for aligning variable
- Date: Sat, 1 Oct 2011 07:07:36 +0000 (UTC)
commit 901edc9c6451d7b7a1d0d9dfa7436d780128bf23
Author: SÃbastien Granjoux <seb sfo free fr>
Date: Sat Oct 1 09:05:18 2011 +0200
scintilla: bgo#610371 - Scite adds a trailing white space after pressing enter for aligning variables
plugins/scintilla/text_editor.c | 39 +++++++++++++++++++++++++++++++++++++--
1 files changed, 37 insertions(+), 2 deletions(-)
---
diff --git a/plugins/scintilla/text_editor.c b/plugins/scintilla/text_editor.c
index 62f0c6a..0c54c42 100644
--- a/plugins/scintilla/text_editor.c
+++ b/plugins/scintilla/text_editor.c
@@ -1588,6 +1588,42 @@ load_from_file (TextEditor *te, gchar *uri, gchar **err)
return TRUE;
}
+static void
+strip_trailing_space (gchar *data, gsize *size)
+{
+ gchar *space;
+ gsize len;
+
+ /* Search first trailing space */
+ for (len = 0;;len++)
+ {
+ while ((len != *size) && (data[len] != ' ') && (data[len] != '\t')) len++;
+ if (len == *size) break;
+ space = &data[len];
+ while ((len != *size) && ((data[len] == ' ') || (data[len] == '\t'))) len++;
+ if ((len == *size) || (data[len] == '\n') || (data[len] == '\r'))
+ {
+ gchar *strip = space;
+
+ /* Search next trailing space */
+ for (;;)
+ {
+ while ((len != *size) && (data[len] != ' ') && (data[len] != '\t')) *strip++ = data[len++];
+ if (len == *size) break;
+ space = &data[len];
+ while ((len != *size) && ((data[len] == ' ') || (data[len] == '\t'))) *strip++ = data[len++];
+ if ((len == *size) || (data[len] == '\n') || (data[len] == '\r'))
+ {
+ strip -= (&data[len] - space);
+ }
+ }
+ *size -= (&data[len] - strip);
+ break;
+ }
+ }
+
+}
+
static gboolean
save_to_file (TextEditor *te, gchar *uri, GError **error)
{
@@ -1655,8 +1691,7 @@ save_to_file (TextEditor *te, gchar *uri, GError **error)
STRIP_TRAILING_SPACES);
if (strip)
{
- while (size > 0 && isspace(data[size - 1]))
- -- size;
+ strip_trailing_space (data, &size);
}
if ((size > 1) && ('\n' != data[size-1]))
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]