--- lbbs/src/editor.c 2025/06/27 10:14:47 1.32 +++ lbbs/src/editor.c 2025/06/27 14:09:50 1.35 @@ -675,8 +675,7 @@ int editor_display(EDITOR_DATA *p_editor return ch; } - loop = 1; - while (!SYS_server_exit && loop) + for (loop = 1; !SYS_server_exit && loop;) { if (line_current >= p_editor_data->display_line_total || output_current_row > output_end_row) { @@ -706,9 +705,8 @@ int editor_display(EDITOR_DATA *p_editor iflush(); str_len = 0; - input_ok = 0; ch = igetch_t(MAX_DELAY_TIME); - while (!SYS_server_exit && !input_ok) + while (!SYS_server_exit) { // extended key handler if (editor_display_key_handler(&ch, &ctx) != 0) @@ -813,8 +811,7 @@ int editor_display(EDITOR_DATA *p_editor { if (line_current - output_current_row + row_pos <= 0 && col_pos <= 1) // Forbidden { - ch = igetch_t(MAX_DELAY_TIME); - continue; + break; // force output prior operation result if any } col_pos--;