Ticket #1480: mc-4.8.3-4.home-end_key.patch
File mc-4.8.3-4.home-end_key.patch, 2.8 KB (added by szaszg, 13 years ago) |
---|
-
src/editor/edit-impl.h
diff --git a/src/editor/edit-impl.h b/src/editor/edit-impl.h index 9b965fb..7d004b6 100644
a b void edit_move_down (WEdit * edit, unsigned long i, int scroll); 200 200 void edit_move_to_prev_col (WEdit * edit, long p); 201 201 int edit_get_col (WEdit * edit); 202 202 long edit_bol (WEdit * edit, long current); 203 long edit_bol_var (WEdit * edit, long current); 203 204 long edit_eol (WEdit * edit, long current); 205 long edit_eol_var (WEdit * edit, long current); 204 206 void edit_update_curs_row (WEdit * edit); 205 207 void edit_update_curs_col (WEdit * edit); 206 208 void edit_find_bracket (WEdit * edit); -
src/editor/edit.c
diff --git a/src/editor/edit.c b/src/editor/edit.c index 87791d6..f1398e4 100644
a b edit_move_to_bottom (WEdit * edit) 1044 1044 static void 1045 1045 edit_cursor_to_bol (WEdit * edit) 1046 1046 { 1047 edit_cursor_move (edit, edit_bol (edit, edit->curs1) - edit->curs1);1047 edit_cursor_move (edit, edit_bol_var (edit, edit->curs1) - edit->curs1); 1048 1048 edit->search_start = edit->curs1; 1049 1049 edit->prev_col = edit_get_col (edit); 1050 1050 edit->over_col = 0; … … edit_cursor_to_bol (WEdit * edit) 1056 1056 static void 1057 1057 edit_cursor_to_eol (WEdit * edit) 1058 1058 { 1059 edit_cursor_move (edit, edit_eol (edit, edit->curs1) - edit->curs1);1059 edit_cursor_move (edit, edit_eol_var (edit, edit->curs1) - edit->curs1); 1060 1060 edit->search_start = edit->curs1; 1061 1061 edit->prev_col = edit_get_col (edit); 1062 1062 edit->over_col = 0; … … edit_set_codeset (WEdit * edit) 2469 2469 #endif 2470 2470 } 2471 2471 2472 /* returns index of first char on line or the first nonspace char */ 2473 long edit_bol_var (WEdit * edit, long current) 2474 { 2475 long tmp; 2476 int b; 2477 2478 if (current < 0) 2479 current = 0; 2480 2481 if (edit_get_byte (edit, current - 1) != '\n') /* not at BOL */ 2482 return edit_bol (edit, current); 2483 2484 if (edit_get_byte (edit, current) == '\n') /* on an empty line */ 2485 return current; 2486 2487 for (tmp = current; (b = edit_get_byte (edit, tmp)) != '\n'; tmp++) 2488 if (b != ' ' && b != '\t') 2489 return tmp; 2490 return current; 2491 } 2492 2493 /* returns index of last char on line or the last nonspace char */ 2494 long edit_eol_var (WEdit * edit, long current) 2495 { 2496 long tmp; 2497 int b; 2498 2499 if (current >= edit->last_byte) 2500 current = edit->last_byte; 2501 2502 if (edit_get_byte (edit, current) != '\n') /* not at BOL */ 2503 return edit_eol (edit, current); 2504 2505 if (edit_get_byte (edit, current - 1) == '\n') /* on an empty line */ 2506 return current; 2507 2508 for (tmp = current - 1; (b = edit_get_byte (edit, tmp)) != '\n'; tmp--) 2509 if (b != ' ' && b != '\t') 2510 return tmp; 2511 return current; 2512 } 2472 2513 2473 2514 /* --------------------------------------------------------------------------------------------- */ 2474 2515 /**