Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37335823
en ru br
Репозитории ALT
4.1: 4.7.5.3-alt0.M41.2
4.0: 4.7.5.3-alt0.M40.2
www.altlinux.org/Changes

Группа :: Работа с файлами
Пакет: mc47

 Главная   Изменения   Спек   Патчи   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;
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin