gedit r6932 - in trunk: . plugins/modelines
- From: pborelli svn gnome org
- To: svn-commits-list gnome org
- Subject: gedit r6932 - in trunk: . plugins/modelines
- Date: Mon, 2 Mar 2009 01:05:44 +0000 (UTC)
Author: pborelli
Date: Mon Mar 2 01:05:44 2009
New Revision: 6932
URL: http://svn.gnome.org/viewvc/gedit?rev=6932&view=rev
Log:
2009-03-01 Paolo Borelli <pborelli katamail com>
* plugins/modelines/modeline-parser.c:
Fix logic use to select lines to scan for modelines to
be more careful about empty lines and end of buffer.
Modified:
trunk/ChangeLog
trunk/plugins/modelines/modeline-parser.c
Modified: trunk/plugins/modelines/modeline-parser.c
==============================================================================
--- trunk/plugins/modelines/modeline-parser.c (original)
+++ trunk/plugins/modelines/modeline-parser.c Mon Mar 2 01:05:44 2009
@@ -527,7 +527,6 @@
ModelineOptions options;
GtkTextBuffer *buffer;
GtkTextIter iter, liter;
- gint line_number;
gint line_count;
/* Default values for modeline options */
@@ -543,11 +542,12 @@
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
gtk_text_buffer_get_start_iter (buffer, &iter);
- line_number = 0;
+
line_count = gtk_text_buffer_get_line_count (buffer);
/* Parse the modelines on the 10 first lines... */
- while (line_number < 10 && line_number < line_count)
+ while ((gtk_text_iter_get_line (&iter) < 10) &&
+ !gtk_text_iter_is_end (&iter))
{
gchar *line;
@@ -555,23 +555,30 @@
gtk_text_iter_forward_to_line_end (&iter);
line = gtk_text_buffer_get_text (buffer, &liter, &iter, TRUE);
- parse_modeline (line, line_number, line_count, &options);
+ parse_modeline (line,
+ 1 + gtk_text_iter_get_line (&iter),
+ line_count,
+ &options);
+
+ gtk_text_iter_forward_line (&iter);
g_free (line);
- line_number ++;
}
/* ...and on the 10 last ones (modelines are not allowed in between) */
- if (line_number < line_count - 10)
+ if (!gtk_text_iter_is_end (&iter))
{
- guint remaining_lines = line_count - line_number - 1;
+ gint cur_line;
+ guint remaining_lines;
+
+ cur_line = gtk_text_iter_get_line (&iter);
+
+ remaining_lines = line_count - cur_line - 1;
gtk_text_buffer_get_end_iter (buffer, &iter);
- gtk_text_iter_backward_lines (&iter,
- MIN (10, remaining_lines));
- line_number = line_count - 11;
+ gtk_text_iter_backward_lines (&iter, MIN (10, remaining_lines));
}
- while (line_number < line_count)
+ while (!gtk_text_iter_is_end (&iter))
{
gchar *line;
@@ -579,10 +586,14 @@
gtk_text_iter_forward_to_line_end (&iter);
line = gtk_text_buffer_get_text (buffer, &liter, &iter, TRUE);
- parse_modeline (line, line_number, line_count, &options);
+ parse_modeline (line,
+ 1 + gtk_text_iter_get_line (&iter),
+ line_count,
+ &options);
+
+ gtk_text_iter_forward_line (&iter);
g_free (line);
- line_number ++;
}
/* Try to set language */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]