From 7f072959a42a1021210d7f866b89c3934ede8943 Mon Sep 17 00:00:00 2001 From: Pavel Roskin Date: Sun, 20 Oct 2002 17:08:11 +0000 Subject: [PATCH] * wordproc.c (line_start): Remove incorrect optimization abusing static varaibles. Internal formatting should be usable now. --- edit/ChangeLog | 5 +++++ edit/wordproc.c | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/edit/ChangeLog b/edit/ChangeLog index 71c605aa5..730650961 100644 --- a/edit/ChangeLog +++ b/edit/ChangeLog @@ -1,3 +1,8 @@ +2002-10-20 Pavel Roskin + + * wordproc.c (line_start): Remove incorrect optimization abusing + static varaibles. Internal formatting should be usable now. + 2002-10-18 Pavel Roskin * wordproc.c (begin_paragraph): Fix the same off-by-one error as diff --git a/edit/wordproc.c b/edit/wordproc.c index a17131380..d8674c2b1 100644 --- a/edit/wordproc.c +++ b/edit/wordproc.c @@ -27,21 +27,21 @@ int line_is_blank (WEdit * edit, long line); #define NO_FORMAT_CHARS_START "-+*\\,.;:&>" -static long line_start (WEdit * edit, long line) +static long +line_start (WEdit *edit, long line) { - static long p = -1, l = 0; - int c; - if (p == -1 || abs (l - line) > abs (edit->curs_line - line)) { - l = edit->curs_line; - p = edit->curs1; - } + long p, l; + + l = edit->curs_line; + p = edit->curs1; + if (line < l) p = edit_move_backward (edit, p, l - line); else if (line > l) p = edit_move_forward (edit, p, line - l, 0); - l = line; + p = edit_bol (edit, p); - while (strchr ("\t ", c = edit_get_byte (edit, p))) + while (strchr ("\t ", edit_get_byte (edit, p))) p++; return p; }