Репозитории ALT
S: | 4.8.30-alt3 |
5.1: | 4.8.11-alt0.M51.1 |
4.1: | 4.6.2-alt7.pre1 |
4.0: | 4.6.1r-alt9 |
3.0: | 4.6.1r-alt3 |
Группа :: Работа с файлами
Пакет: mc
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: mc-4.7.0.2-savannah-edit-homekey.patch
Скачать
Скачать
diff --git a/src/editor/edit.c b/src/editor/edit.c
index a610e01..70739d9 100644
--- a/src/editor/edit.c
+++ b/src/editor/edit.c
@@ -1531,6 +1531,26 @@ long edit_bol (WEdit * edit, long current)
return current;
}
+/* returns index of first char on line or the first nonspace char */
+long edit_bol_var (WEdit * edit, long current)
+{
+ long tmp;
+ int b;
+
+ if (current < 0)
+ return 0;
+
+ if (edit_get_byte (edit, current - 1) != '\n') /* not at BOL */
+ return edit_bol (edit, current);
+
+ if (edit_get_byte (edit, current) == '\n') /* on an empty line */
+ return current;
+
+ for (tmp = current; (b = edit_get_byte (edit, tmp)) != '\n'; tmp++)
+ if (b != ' ' && b != '\t')
+ return tmp;
+ return current;
+}
long edit_count_lines (WEdit * edit, long current, long upto)
{
@@ -1923,7 +1943,7 @@ static void edit_move_to_bottom (WEdit * edit)
/* goto beginning of line */
static void edit_cursor_to_bol (WEdit * edit)
{
- edit_cursor_move (edit, edit_bol (edit, edit->curs1) - edit->curs1);
+ edit_cursor_move (edit, edit_bol_var (edit, edit->curs1) - edit->curs1);
edit->search_start = edit->curs1;
edit->prev_col = edit_get_col (edit);
edit->over_col = 0;