summaryrefslogtreecommitdiffstats
path: root/src/testdir/dumps
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir/dumps')
-rw-r--r--src/testdir/dumps/Test_Xcursorline_1.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_10.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_11.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_12.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_13.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_14.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_15.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_16.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_17.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_18.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_19.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_2.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_20.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_21.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_22.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_23.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_24.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_3.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_4.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_5.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_6.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_7.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_8.dump20
-rw-r--r--src/testdir/dumps/Test_Xcursorline_9.dump20
-rw-r--r--src/testdir/dumps/Test_appendbufline_1.dump10
-rw-r--r--src/testdir/dumps/Test_autocmd_nested_switch.dump10
-rw-r--r--src/testdir/dumps/Test_balloon_eval_term_01.dump10
-rw-r--r--src/testdir/dumps/Test_balloon_eval_term_01a.dump10
-rw-r--r--src/testdir/dumps/Test_balloon_eval_term_02.dump10
-rw-r--r--src/testdir/dumps/Test_changing_cmdheight_1.dump8
-rw-r--r--src/testdir/dumps/Test_changing_cmdheight_2.dump8
-rw-r--r--src/testdir/dumps/Test_changing_cmdheight_3.dump8
-rw-r--r--src/testdir/dumps/Test_changing_cmdheight_4.dump8
-rw-r--r--src/testdir/dumps/Test_changing_cmdheight_5.dump8
-rw-r--r--src/testdir/dumps/Test_changing_cmdheight_6.dump8
-rw-r--r--src/testdir/dumps/Test_cmdheight_tabline_1.dump6
-rw-r--r--src/testdir/dumps/Test_cmdlineclear_tabenter.dump10
-rw-r--r--src/testdir/dumps/Test_cmdwin_interrupted.dump18
-rw-r--r--src/testdir/dumps/Test_cmdwin_no_terminal.dump12
-rw-r--r--src/testdir/dumps/Test_cmdwin_restore_1.dump12
-rw-r--r--src/testdir/dumps/Test_cmdwin_restore_2.dump12
-rw-r--r--src/testdir/dumps/Test_cmdwin_restore_3.dump18
-rw-r--r--src/testdir/dumps/Test_cmdwin_wrong_command_1.dump12
-rw-r--r--src/testdir/dumps/Test_cmdwin_wrong_command_2.dump12
-rw-r--r--src/testdir/dumps/Test_colorcolumn_1.dump10
-rw-r--r--src/testdir/dumps/Test_colorcolumn_2.dump10
-rw-r--r--src/testdir/dumps/Test_colorcolumn_3.dump10
-rw-r--r--src/testdir/dumps/Test_conceal_cuc_01.dump10
-rw-r--r--src/testdir/dumps/Test_conceal_cuc_02.dump10
-rw-r--r--src/testdir/dumps/Test_conceal_cul_01.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_cul_02.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_cul_03.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_linebreak_1.dump8
-rw-r--r--src/testdir/dumps/Test_conceal_resize_01.dump6
-rw-r--r--src/testdir/dumps/Test_conceal_resize_02.dump7
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_01.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_02.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_03.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_04.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_05.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_06c.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_06i.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_06n.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_06v.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_07c.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_07i.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_07in.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_07n.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_07v.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_08c.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_08i.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_08n.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_08v.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_09c.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_09i.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_09n.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_09v.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_10.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_11.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_12.dump20
-rw-r--r--src/testdir/dumps/Test_conceal_two_windows_13.dump20
-rw-r--r--src/testdir/dumps/Test_cursor_position_with_showbreak.dump6
-rw-r--r--src/testdir/dumps/Test_cursorcolumn_callback_1.dump8
-rw-r--r--src/testdir/dumps/Test_cursorcolumn_insert_on_tab_1.dump8
-rw-r--r--src/testdir/dumps/Test_cursorcolumn_insert_on_tab_2.dump8
-rw-r--r--src/testdir/dumps/Test_cursorcolumn_insert_on_tab_3.dump8
-rw-r--r--src/testdir/dumps/Test_cursorline_callback_1.dump8
-rw-r--r--src/testdir/dumps/Test_cursorline_redraw_1.dump20
-rw-r--r--src/testdir/dumps/Test_cursorline_redraw_2.dump20
-rw-r--r--src/testdir/dumps/Test_cursorline_screenline_1.dump8
-rw-r--r--src/testdir/dumps/Test_cursorline_screenline_2.dump8
-rw-r--r--src/testdir/dumps/Test_cursorline_with_visualmode_01.dump12
-rw-r--r--src/testdir/dumps/Test_cursorline_yank_01.dump8
-rw-r--r--src/testdir/dumps/Test_diff_01.dump20
-rw-r--r--src/testdir/dumps/Test_diff_02.dump20
-rw-r--r--src/testdir/dumps/Test_diff_03.dump20
-rw-r--r--src/testdir/dumps/Test_diff_04.dump20
-rw-r--r--src/testdir/dumps/Test_diff_05.dump20
-rw-r--r--src/testdir/dumps/Test_diff_06.0.dump20
-rw-r--r--src/testdir/dumps/Test_diff_06.1.dump20
-rw-r--r--src/testdir/dumps/Test_diff_06.2.dump20
-rw-r--r--src/testdir/dumps/Test_diff_06.dump20
-rw-r--r--src/testdir/dumps/Test_diff_07.dump20
-rw-r--r--src/testdir/dumps/Test_diff_08.dump20
-rw-r--r--src/testdir/dumps/Test_diff_09.dump20
-rw-r--r--src/testdir/dumps/Test_diff_10.dump20
-rw-r--r--src/testdir/dumps/Test_diff_11.dump20
-rw-r--r--src/testdir/dumps/Test_diff_12.dump20
-rw-r--r--src/testdir/dumps/Test_diff_13.dump20
-rw-r--r--src/testdir/dumps/Test_diff_14.dump20
-rw-r--r--src/testdir/dumps/Test_diff_15.dump20
-rw-r--r--src/testdir/dumps/Test_diff_16.dump20
-rw-r--r--src/testdir/dumps/Test_diff_17.dump20
-rw-r--r--src/testdir/dumps/Test_diff_18.dump20
-rw-r--r--src/testdir/dumps/Test_diff_19.dump20
-rw-r--r--src/testdir/dumps/Test_diff_20.dump20
-rw-r--r--src/testdir/dumps/Test_diff_bin_01.dump20
-rw-r--r--src/testdir/dumps/Test_diff_bin_02.dump20
-rw-r--r--src/testdir/dumps/Test_diff_bin_03.dump20
-rw-r--r--src/testdir/dumps/Test_diff_bin_04.dump20
-rw-r--r--src/testdir/dumps/Test_diff_cuc_01.dump20
-rw-r--r--src/testdir/dumps/Test_diff_cuc_02.dump20
-rw-r--r--src/testdir/dumps/Test_diff_cuc_03.dump20
-rw-r--r--src/testdir/dumps/Test_diff_cuc_04.dump20
-rw-r--r--src/testdir/dumps/Test_diff_of_diff_01.dump20
-rw-r--r--src/testdir/dumps/Test_diff_of_diff_02.dump20
-rw-r--r--src/testdir/dumps/Test_diff_rnu_01.dump20
-rw-r--r--src/testdir/dumps/Test_diff_rnu_02.dump20
-rw-r--r--src/testdir/dumps/Test_diff_rnu_03.dump20
-rw-r--r--src/testdir/dumps/Test_diff_scroll_1.dump12
-rw-r--r--src/testdir/dumps/Test_diff_scroll_2.dump12
-rw-r--r--src/testdir/dumps/Test_diff_scroll_change_01.dump20
-rw-r--r--src/testdir/dumps/Test_diff_scroll_change_02.dump20
-rw-r--r--src/testdir/dumps/Test_diff_scroll_change_03.dump20
-rw-r--r--src/testdir/dumps/Test_diff_syntax_1.dump20
-rw-r--r--src/testdir/dumps/Test_diff_with_cul_bri_01.dump20
-rw-r--r--src/testdir/dumps/Test_diff_with_cul_bri_02.dump20
-rw-r--r--src/testdir/dumps/Test_diff_with_cul_bri_03.dump20
-rw-r--r--src/testdir/dumps/Test_diff_with_cul_bri_04.dump20
-rw-r--r--src/testdir/dumps/Test_diff_with_cursorline_01.dump20
-rw-r--r--src/testdir/dumps/Test_diff_with_cursorline_02.dump20
-rw-r--r--src/testdir/dumps/Test_diff_with_cursorline_03.dump20
-rw-r--r--src/testdir/dumps/Test_diff_with_cursorline_number_01.dump20
-rw-r--r--src/testdir/dumps/Test_diff_with_cursorline_number_02.dump20
-rw-r--r--src/testdir/dumps/Test_display_fillchars_1.dump12
-rw-r--r--src/testdir/dumps/Test_display_fillchars_2.dump12
-rw-r--r--src/testdir/dumps/Test_display_lastline_1.dump10
-rw-r--r--src/testdir/dumps/Test_display_lastline_2.dump10
-rw-r--r--src/testdir/dumps/Test_display_lastline_3.dump10
-rw-r--r--src/testdir/dumps/Test_display_lastline_4.dump10
-rw-r--r--src/testdir/dumps/Test_display_lastline_5.dump10
-rw-r--r--src/testdir/dumps/Test_display_lastline_6.dump10
-rw-r--r--src/testdir/dumps/Test_display_lastline_euro_1.dump10
-rw-r--r--src/testdir/dumps/Test_display_lastline_euro_2.dump10
-rw-r--r--src/testdir/dumps/Test_display_lastline_euro_3.dump10
-rw-r--r--src/testdir/dumps/Test_display_lastline_euro_4.dump10
-rw-r--r--src/testdir/dumps/Test_display_lastline_euro_5.dump10
-rw-r--r--src/testdir/dumps/Test_display_lastline_euro_6.dump10
-rw-r--r--src/testdir/dumps/Test_display_scroll_at_topline.dump4
-rw-r--r--src/testdir/dumps/Test_display_scroll_update_visual.dump8
-rw-r--r--src/testdir/dumps/Test_display_unprintable_01.dump9
-rw-r--r--src/testdir/dumps/Test_display_unprintable_02.dump9
-rw-r--r--src/testdir/dumps/Test_display_visual_block_scroll.dump7
-rw-r--r--src/testdir/dumps/Test_echowin_eval.dump8
-rw-r--r--src/testdir/dumps/Test_echowin_showmode.dump8
-rw-r--r--src/testdir/dumps/Test_echowindow_1.dump8
-rw-r--r--src/testdir/dumps/Test_echowindow_2.dump8
-rw-r--r--src/testdir/dumps/Test_echowindow_3.dump8
-rw-r--r--src/testdir/dumps/Test_echowindow_4.dump8
-rw-r--r--src/testdir/dumps/Test_echowindow_5.dump8
-rw-r--r--src/testdir/dumps/Test_echowindow_6.dump8
-rw-r--r--src/testdir/dumps/Test_echowindow_7.dump8
-rw-r--r--src/testdir/dumps/Test_echowindow_8.dump8
-rw-r--r--src/testdir/dumps/Test_echowindow_9.dump8
-rw-r--r--src/testdir/dumps/Test_fileinfo_after_echo.dump6
-rw-r--r--src/testdir/dumps/Test_folds_with_rnu_01.dump20
-rw-r--r--src/testdir/dumps/Test_folds_with_rnu_02.dump20
-rw-r--r--src/testdir/dumps/Test_functions_echoraw.dump5
-rw-r--r--src/testdir/dumps/Test_hlsearch_1.dump6
-rw-r--r--src/testdir/dumps/Test_hlsearch_2.dump6
-rw-r--r--src/testdir/dumps/Test_hlsearch_block_visual_match.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_ctrlr_1.dump6
-rw-r--r--src/testdir/dumps/Test_hlsearch_cursearch_changed_1.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_1.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_2.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_3.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_4.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_5.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_cursearch_single_line_1.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_cursearch_single_line_2.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_cursearch_single_line_2a.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_cursearch_single_line_2b.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_cursearch_single_line_3.dump9
-rw-r--r--src/testdir/dumps/Test_hlsearch_visual_1.dump6
-rw-r--r--src/testdir/dumps/Test_hor_scroll_1.dump8
-rw-r--r--src/testdir/dumps/Test_hor_scroll_2.dump8
-rw-r--r--src/testdir/dumps/Test_hor_scroll_3.dump8
-rw-r--r--src/testdir/dumps/Test_hor_scroll_4.dump8
-rw-r--r--src/testdir/dumps/Test_hor_scroll_5.dump8
-rw-r--r--src/testdir/dumps/Test_incsearch_change_01.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_newline1.dump5
-rw-r--r--src/testdir/dumps/Test_incsearch_newline2.dump5
-rw-r--r--src/testdir/dumps/Test_incsearch_newline3.dump5
-rw-r--r--src/testdir/dumps/Test_incsearch_newline4.dump5
-rw-r--r--src/testdir/dumps/Test_incsearch_newline5.dump5
-rw-r--r--src/testdir/dumps/Test_incsearch_scrolling_01.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_search_01.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_search_02.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_sort_01.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_sort_02.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_sub_01.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_sub_02.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_01.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_02.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_03.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_04.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_05.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_06.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_07.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_08.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_09.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_10.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_11.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_12.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_13.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_14.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_substitute_15.dump4
-rw-r--r--src/testdir/dumps/Test_incsearch_vimgrep_01.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_vimgrep_02.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_vimgrep_03.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_vimgrep_04.dump9
-rw-r--r--src/testdir/dumps/Test_incsearch_vimgrep_05.dump9
-rw-r--r--src/testdir/dumps/Test_job_buffer_scroll_1.dump10
-rw-r--r--src/testdir/dumps/Test_keytyped_in_nested_func.dump6
-rw-r--r--src/testdir/dumps/Test_linebreak_reset_restore_1.dump8
-rw-r--r--src/testdir/dumps/Test_listchars_01.dump10
-rw-r--r--src/testdir/dumps/Test_listchars_02.dump10
-rw-r--r--src/testdir/dumps/Test_listchars_03.dump10
-rw-r--r--src/testdir/dumps/Test_listchars_04.dump10
-rw-r--r--src/testdir/dumps/Test_listchars_05.dump10
-rw-r--r--src/testdir/dumps/Test_listchars_06.dump10
-rw-r--r--src/testdir/dumps/Test_listchars_07.dump10
-rw-r--r--src/testdir/dumps/Test_long_file_name_1.dump8
-rw-r--r--src/testdir/dumps/Test_long_text_with_padding_1.dump8
-rw-r--r--src/testdir/dumps/Test_long_text_with_padding_2.dump8
-rw-r--r--src/testdir/dumps/Test_map_expr_1.dump10
-rw-r--r--src/testdir/dumps/Test_map_expr_2.dump10
-rw-r--r--src/testdir/dumps/Test_map_expr_3.dump10
-rw-r--r--src/testdir/dumps/Test_map_expr_4.dump10
-rw-r--r--src/testdir/dumps/Test_map_list_1.dump6
-rw-r--r--src/testdir/dumps/Test_match_linebreak.dump10
-rw-r--r--src/testdir/dumps/Test_match_tab_linebreak.dump10
-rw-r--r--src/testdir/dumps/Test_match_with_incsearch_1.dump6
-rw-r--r--src/testdir/dumps/Test_match_with_incsearch_2.dump6
-rw-r--r--src/testdir/dumps/Test_matchadd_1.dump12
-rw-r--r--src/testdir/dumps/Test_matchaddpos_1.dump14
-rw-r--r--src/testdir/dumps/Test_matchclear_1.dump12
-rw-r--r--src/testdir/dumps/Test_matchdelete_1.dump12
-rw-r--r--src/testdir/dumps/Test_matchparen_clear_highlight_1.dump5
-rw-r--r--src/testdir/dumps/Test_matchparen_clear_highlight_2.dump5
-rw-r--r--src/testdir/dumps/Test_misplaced_type.dump6
-rw-r--r--src/testdir/dumps/Test_mode_updated_1.dump5
-rw-r--r--src/testdir/dumps/Test_more_scrollback_1.dump10
-rw-r--r--src/testdir/dumps/Test_more_scrollback_2.dump10
-rw-r--r--src/testdir/dumps/Test_move_undo_1.dump10
-rw-r--r--src/testdir/dumps/Test_move_undo_2.dump10
-rw-r--r--src/testdir/dumps/Test_popup_and_previewwindow_01.dump20
-rw-r--r--src/testdir/dumps/Test_popup_command_01.dump20
-rw-r--r--src/testdir/dumps/Test_popup_command_02.dump20
-rw-r--r--src/testdir/dumps/Test_popup_command_03.dump20
-rw-r--r--src/testdir/dumps/Test_popup_command_04.dump20
-rw-r--r--src/testdir/dumps/Test_popup_command_05.dump20
-rw-r--r--src/testdir/dumps/Test_popup_position_01.dump8
-rw-r--r--src/testdir/dumps/Test_popup_position_02.dump8
-rw-r--r--src/testdir/dumps/Test_popup_position_03.dump8
-rw-r--r--src/testdir/dumps/Test_popup_position_04.dump10
-rw-r--r--src/testdir/dumps/Test_popup_prop_not_visible_01.dump10
-rw-r--r--src/testdir/dumps/Test_popup_prop_not_visible_01a.dump10
-rw-r--r--src/testdir/dumps/Test_popup_prop_not_visible_01b.dump10
-rw-r--r--src/testdir/dumps/Test_popup_prop_not_visible_02.dump10
-rw-r--r--src/testdir/dumps/Test_popup_prop_not_visible_03.dump10
-rw-r--r--src/testdir/dumps/Test_popup_settext_01.dump10
-rw-r--r--src/testdir/dumps/Test_popup_settext_02.dump10
-rw-r--r--src/testdir/dumps/Test_popup_settext_03.dump10
-rw-r--r--src/testdir/dumps/Test_popup_settext_04.dump10
-rw-r--r--src/testdir/dumps/Test_popup_settext_05.dump10
-rw-r--r--src/testdir/dumps/Test_popup_settext_06.dump10
-rw-r--r--src/testdir/dumps/Test_popup_settext_07.dump10
-rw-r--r--src/testdir/dumps/Test_popup_textprop_01.dump10
-rw-r--r--src/testdir/dumps/Test_popup_textprop_02.dump10
-rw-r--r--src/testdir/dumps/Test_popup_textprop_03.dump10
-rw-r--r--src/testdir/dumps/Test_popup_textprop_04.dump10
-rw-r--r--src/testdir/dumps/Test_popup_textprop_05.dump10
-rw-r--r--src/testdir/dumps/Test_popup_textprop_06.dump10
-rw-r--r--src/testdir/dumps/Test_popup_textprop_07.dump10
-rw-r--r--src/testdir/dumps/Test_popup_textprop_corn_1.dump12
-rw-r--r--src/testdir/dumps/Test_popup_textprop_corn_2.dump12
-rw-r--r--src/testdir/dumps/Test_popup_textprop_corn_3.dump12
-rw-r--r--src/testdir/dumps/Test_popup_textprop_corn_4.dump12
-rw-r--r--src/testdir/dumps/Test_popup_textprop_corn_5.dump12
-rw-r--r--src/testdir/dumps/Test_popup_textprop_corn_6.dump12
-rw-r--r--src/testdir/dumps/Test_popup_textprop_off_1.dump12
-rw-r--r--src/testdir/dumps/Test_popup_textprop_off_2.dump12
-rw-r--r--src/testdir/dumps/Test_popupwin_01.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_02.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_03.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_04.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_04a.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_05.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_06.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_07.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_08.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_10.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_11.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_20.dump15
-rw-r--r--src/testdir/dumps/Test_popupwin_21.dump15
-rw-r--r--src/testdir/dumps/Test_popupwin_22.dump12
-rw-r--r--src/testdir/dumps/Test_popupwin_23.dump12
-rw-r--r--src/testdir/dumps/Test_popupwin_24.dump12
-rw-r--r--src/testdir/dumps/Test_popupwin_atcursor_pos.dump12
-rw-r--r--src/testdir/dumps/Test_popupwin_behind.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_beval_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_beval_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_beval_3.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_close_01.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_close_02.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_close_03.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_close_04.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_close_05.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_corners.dump12
-rw-r--r--src/testdir/dumps/Test_popupwin_ctrl_c.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_cursorline_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_cursorline_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_cursorline_3.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_cursorline_4.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_cursorline_5.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_cursorline_6.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_cursorline_7.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_cursorline_8.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_doublewidth_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_drag_01.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_drag_02.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_drag_03.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_drag_04.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_drag_05.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_drag_06.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_drag_minwidth_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_drag_minwidth_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_drag_minwidth_3.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_firstline_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_firstline_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_1.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_2.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_3.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_4.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_5.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_6.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_7.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_8.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_9.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_align_1.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_align_2.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_align_3.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_hidden_1.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_hidden_2.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_hidden_3.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_nb_1.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_infopopup_wide_1.dump8
-rw-r--r--src/testdir/dumps/Test_popupwin_longtitle_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_longtitle_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_longtitle_3.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_longtitle_4.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_mask_1.dump13
-rw-r--r--src/testdir/dumps/Test_popupwin_mask_2.dump13
-rw-r--r--src/testdir/dumps/Test_popupwin_mask_3.dump13
-rw-r--r--src/testdir/dumps/Test_popupwin_mask_4.dump13
-rw-r--r--src/testdir/dumps/Test_popupwin_mask_5.dump13
-rw-r--r--src/testdir/dumps/Test_popupwin_matches.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_01.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_02.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_03.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_04.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_filter_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_filter_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_filter_3.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_filter_4.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_filter_5.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_maxwidth_1.dump13
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_scroll_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_scroll_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_scroll_3.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_scroll_4.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_scroll_5.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_menu_scroll_6.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_multibytetitle.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_normal_cmd.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_nospace.dump12
-rw-r--r--src/testdir/dumps/Test_popupwin_notify_01.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_notify_02.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_nowrap.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_poptermscroll_1.dump15
-rw-r--r--src/testdir/dumps/Test_popupwin_poptermscroll_2.dump15
-rw-r--r--src/testdir/dumps/Test_popupwin_poptermscroll_3.dump15
-rw-r--r--src/testdir/dumps/Test_popupwin_poptermscroll_4.dump15
-rw-r--r--src/testdir/dumps/Test_popupwin_popupmenu_masking_1.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_popupmenu_masking_2.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_previewpopup_1.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_previewpopup_10.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_previewpopup_2.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_previewpopup_3.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_previewpopup_4.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_previewpopup_5.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_previewpopup_6.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_previewpopup_7.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_previewpopup_8.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_previewpopup_9.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_10.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_11.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_12.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_13.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_3.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_4.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_5.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_6.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_7.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_8.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_scroll_9.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_select_01.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_select_02.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_set_firstline_1.dump16
-rw-r--r--src/testdir/dumps/Test_popupwin_set_firstline_2.dump16
-rw-r--r--src/testdir/dumps/Test_popupwin_showbreak.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_sign_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_sign_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_term_01.dump16
-rw-r--r--src/testdir/dumps/Test_popupwin_term_02.dump16
-rw-r--r--src/testdir/dumps/Test_popupwin_term_03.dump16
-rw-r--r--src/testdir/dumps/Test_popupwin_term_04.dump16
-rw-r--r--src/testdir/dumps/Test_popupwin_three_errors_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_three_errors_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_title.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_toohigh_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_toohigh_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_toohigh_3.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_win_execute.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_win_execute_cursorline.dump14
-rw-r--r--src/testdir/dumps/Test_popupwin_wrap.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_wrap_1.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_wrap_2.dump10
-rw-r--r--src/testdir/dumps/Test_popupwin_wrong_name.dump10
-rw-r--r--src/testdir/dumps/Test_prop_above_below_empty_1.dump16
-rw-r--r--src/testdir/dumps/Test_prop_above_below_empty_2.dump16
-rw-r--r--src/testdir/dumps/Test_prop_above_below_empty_3.dump16
-rw-r--r--src/testdir/dumps/Test_prop_above_below_empty_4.dump16
-rw-r--r--src/testdir/dumps/Test_prop_above_below_empty_5.dump16
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_10.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_11.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_12.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_13.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_14.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_15.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_16.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_3.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_4.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_5.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_6.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_7.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_8.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_below_smoothscroll_9.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_empty_1.dump16
-rw-r--r--src/testdir/dumps/Test_prop_above_empty_2.dump16
-rw-r--r--src/testdir/dumps/Test_prop_above_number_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_above_number_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_after_linebreak.dump10
-rw-r--r--src/testdir/dumps/Test_prop_after_tab.dump10
-rw-r--r--src/testdir/dumps/Test_prop_at_same_pos.dump5
-rw-r--r--src/testdir/dumps/Test_prop_before_tab_01.dump8
-rw-r--r--src/testdir/dumps/Test_prop_before_tab_02.dump8
-rw-r--r--src/testdir/dumps/Test_prop_before_tab_03.dump8
-rw-r--r--src/testdir/dumps/Test_prop_before_tab_04.dump8
-rw-r--r--src/testdir/dumps/Test_prop_before_tab_05.dump8
-rw-r--r--src/testdir/dumps/Test_prop_before_tab_06.dump8
-rw-r--r--src/testdir/dumps/Test_prop_before_tab_07.dump8
-rw-r--r--src/testdir/dumps/Test_prop_before_tab_08.dump8
-rw-r--r--src/testdir/dumps/Test_prop_before_tab_09.dump8
-rw-r--r--src/testdir/dumps/Test_prop_before_tab_10.dump8
-rw-r--r--src/testdir/dumps/Test_prop_below_after_empty_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_below_after_empty_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_below_after_empty_3.dump8
-rw-r--r--src/testdir/dumps/Test_prop_below_split_line_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_below_split_line_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_below_split_line_3.dump8
-rw-r--r--src/testdir/dumps/Test_prop_delete_updates_1.dump10
-rw-r--r--src/testdir/dumps/Test_prop_delete_updates_2.dump10
-rw-r--r--src/testdir/dumps/Test_prop_delete_updates_3.dump10
-rw-r--r--src/testdir/dumps/Test_prop_diff_mode_1.dump10
-rw-r--r--src/testdir/dumps/Test_prop_diff_mode_2.dump10
-rw-r--r--src/testdir/dumps/Test_prop_insert_list_mode_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_insert_list_mode_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_insert_list_mode_3.dump8
-rw-r--r--src/testdir/dumps/Test_prop_insert_start_incl_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_insert_start_incl_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_insert_start_incl_3.dump8
-rw-r--r--src/testdir/dumps/Test_prop_insert_start_incl_4.dump8
-rw-r--r--src/testdir/dumps/Test_prop_insert_start_incl_5.dump8
-rw-r--r--src/testdir/dumps/Test_prop_insert_start_incl_6.dump8
-rw-r--r--src/testdir/dumps/Test_prop_insert_start_incl_7.dump8
-rw-r--r--src/testdir/dumps/Test_prop_insert_start_incl_8.dump8
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_3.dump8
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_4.dump8
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_5.dump8
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_6.dump8
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_hi_1.dump6
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_hi_2.dump6
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_hi_3.dump6
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_hi_4.dump6
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_hi_5.dump6
-rw-r--r--src/testdir/dumps/Test_prop_inserts_text_hi_6.dump6
-rw-r--r--src/testdir/dumps/Test_prop_linebreak_1.dump10
-rw-r--r--src/testdir/dumps/Test_prop_linebreak_2.dump10
-rw-r--r--src/testdir/dumps/Test_prop_multibyte_below_1.dump10
-rw-r--r--src/testdir/dumps/Test_prop_negative_error_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_negative_error_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_right_align_twice_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_right_align_twice_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_right_align_twice_3.dump8
-rw-r--r--src/testdir/dumps/Test_prop_text_change_arg_1.dump5
-rw-r--r--src/testdir/dumps/Test_prop_text_change_arg_2.dump5
-rw-r--r--src/testdir/dumps/Test_prop_text_with_padding_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_text_with_padding_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_text_with_padding_3.dump8
-rw-r--r--src/testdir/dumps/Test_prop_text_with_padding_4.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_linebreak_1.dump6
-rw-r--r--src/testdir/dumps/Test_prop_with_linebreak_2.dump6
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_1.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_1a.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_1b.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_1c.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_2.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_3.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_4.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_5.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_6.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_7.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_8.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_above_9.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_below_trunc_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_below_trunc_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_below_trunc_3.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_join_split_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_join_split_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_join_split_3.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_join_split_4.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_join_split_5.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_joined_1.dump6
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_nowrap_1.dump12
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump12
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_nowrap_3.dump12
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_trunc_1.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_trunc_2.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_trunc_3.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_trunc_4.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_trunc_5.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_wraps_1.dump9
-rw-r--r--src/testdir/dumps/Test_prop_with_text_below_after_match_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_below_cul_1.dump6
-rw-r--r--src/testdir/dumps/Test_prop_with_text_below_nowrap_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_below_nowrap_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_cursormoved_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_cursormoved_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_empty_line_1.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_empty_line_2.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_empty_line_3.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_empty_line_4.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_empty_line_5.dump8
-rw-r--r--src/testdir/dumps/Test_prop_with_text_override_1.dump6
-rw-r--r--src/testdir/dumps/Test_prop_with_text_override_2.dump6
-rw-r--r--src/testdir/dumps/Test_prop_with_wrap_1.dump6
-rw-r--r--src/testdir/dumps/Test_props_after_1.dump8
-rw-r--r--src/testdir/dumps/Test_props_after_2.dump8
-rw-r--r--src/testdir/dumps/Test_pum_preview_1.dump12
-rw-r--r--src/testdir/dumps/Test_pum_preview_2.dump12
-rw-r--r--src/testdir/dumps/Test_pum_preview_3.dump12
-rw-r--r--src/testdir/dumps/Test_pum_preview_4.dump12
-rw-r--r--src/testdir/dumps/Test_pum_rightleft_01.dump8
-rw-r--r--src/testdir/dumps/Test_pum_rightleft_02.dump7
-rw-r--r--src/testdir/dumps/Test_pum_scrollbar_01.dump7
-rw-r--r--src/testdir/dumps/Test_pum_scrollbar_02.dump7
-rw-r--r--src/testdir/dumps/Test_pum_stopped_by_timer.dump12
-rw-r--r--src/testdir/dumps/Test_pum_with_folds_two_tabs.dump10
-rw-r--r--src/testdir/dumps/Test_pum_with_preview_win.dump12
-rw-r--r--src/testdir/dumps/Test_quickfix_cwindow_1.dump12
-rw-r--r--src/testdir/dumps/Test_quickfix_cwindow_2.dump12
-rw-r--r--src/testdir/dumps/Test_quickfix_cwindow_3.dump12
-rw-r--r--src/testdir/dumps/Test_quickfix_cwindow_4.dump12
-rw-r--r--src/testdir/dumps/Test_quickfix_window_fails.dump13
-rw-r--r--src/testdir/dumps/Test_quit_long_message.dump10
-rw-r--r--src/testdir/dumps/Test_redraw_in_autocmd_1.dump8
-rw-r--r--src/testdir/dumps/Test_redraw_in_autocmd_2.dump8
-rw-r--r--src/testdir/dumps/Test_redrawstatus_in_autocmd_1.dump8
-rw-r--r--src/testdir/dumps/Test_redrawstatus_in_autocmd_2.dump8
-rw-r--r--src/testdir/dumps/Test_redrawstatus_in_autocmd_3.dump8
-rw-r--r--src/testdir/dumps/Test_redrawstatus_in_autocmd_4.dump8
-rw-r--r--src/testdir/dumps/Test_redrawstatus_in_autocmd_5.dump8
-rw-r--r--src/testdir/dumps/Test_relativenumber_callback_1.dump8
-rw-r--r--src/testdir/dumps/Test_relnr_colors_1.dump10
-rw-r--r--src/testdir/dumps/Test_relnr_colors_2.dump10
-rw-r--r--src/testdir/dumps/Test_relnr_colors_3.dump10
-rw-r--r--src/testdir/dumps/Test_relnr_colors_4.dump10
-rw-r--r--src/testdir/dumps/Test_scroll_no_region_1.dump10
-rw-r--r--src/testdir/dumps/Test_scroll_no_region_2.dump10
-rw-r--r--src/testdir/dumps/Test_scroll_no_region_3.dump10
-rw-r--r--src/testdir/dumps/Test_scroll_no_region_4.dump10
-rw-r--r--src/testdir/dumps/Test_scroll_no_region_5.dump10
-rw-r--r--src/testdir/dumps/Test_scroll_no_region_6.dump10
-rw-r--r--src/testdir/dumps/Test_scrollbar_on_wide_char.dump10
-rw-r--r--src/testdir/dumps/Test_searchstat_1.dump10
-rw-r--r--src/testdir/dumps/Test_searchstat_2.dump10
-rw-r--r--src/testdir/dumps/Test_searchstat_3.dump10
-rw-r--r--src/testdir/dumps/Test_searchstat_4.dump10
-rw-r--r--src/testdir/dumps/Test_searchstat_inc_1.dump10
-rw-r--r--src/testdir/dumps/Test_searchstat_inc_2.dump10
-rw-r--r--src/testdir/dumps/Test_searchstat_inc_3.dump10
-rw-r--r--src/testdir/dumps/Test_searchstatgd_1.dump10
-rw-r--r--src/testdir/dumps/Test_searchstatgd_2.dump10
-rw-r--r--src/testdir/dumps/Test_setcellwidths_dump_1.dump6
-rw-r--r--src/testdir/dumps/Test_setcellwidths_dump_2.dump6
-rw-r--r--src/testdir/dumps/Test_sign_cursor_1.dump6
-rw-r--r--src/testdir/dumps/Test_sign_cursor_2.dump6
-rw-r--r--src/testdir/dumps/Test_sign_cursor_3.dump6
-rw-r--r--src/testdir/dumps/Test_sign_cursor_4.dump6
-rw-r--r--src/testdir/dumps/Test_sign_cursor_5.dump6
-rw-r--r--src/testdir/dumps/Test_sign_cursor_6.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_diff_1.dump8
-rw-r--r--src/testdir/dumps/Test_smooth_list_1.dump8
-rw-r--r--src/testdir/dumps/Test_smooth_list_2.dump8
-rw-r--r--src/testdir/dumps/Test_smooth_long_1.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_10.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_11.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_12.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_13.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_14.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_15.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_2.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_3.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_4.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_5.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_6.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_7.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_8.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_9.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_showbreak_1.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_long_showbreak_2.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_number_1.dump12
-rw-r--r--src/testdir/dumps/Test_smooth_number_2.dump12
-rw-r--r--src/testdir/dumps/Test_smooth_number_3.dump12
-rw-r--r--src/testdir/dumps/Test_smooth_number_4.dump12
-rw-r--r--src/testdir/dumps/Test_smooth_number_5.dump12
-rw-r--r--src/testdir/dumps/Test_smooth_number_6.dump12
-rw-r--r--src/testdir/dumps/Test_smooth_number_7.dump12
-rw-r--r--src/testdir/dumps/Test_smooth_one_long_1.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_one_long_2.dump6
-rw-r--r--src/testdir/dumps/Test_smooth_wrap_1.dump8
-rw-r--r--src/testdir/dumps/Test_smooth_wrap_2.dump8
-rw-r--r--src/testdir/dumps/Test_smooth_wrap_3.dump8
-rw-r--r--src/testdir/dumps/Test_smooth_wrap_4.dump8
-rw-r--r--src/testdir/dumps/Test_smooth_wrap_5.dump8
-rw-r--r--src/testdir/dumps/Test_smooth_wrap_6.dump8
-rw-r--r--src/testdir/dumps/Test_smoothscroll_1.dump12
-rw-r--r--src/testdir/dumps/Test_smoothscroll_2.dump12
-rw-r--r--src/testdir/dumps/Test_smoothscroll_3.dump12
-rw-r--r--src/testdir/dumps/Test_smoothscroll_4.dump12
-rw-r--r--src/testdir/dumps/Test_smoothscroll_5.dump12
-rw-r--r--src/testdir/dumps/Test_smoothscroll_6.dump12
-rw-r--r--src/testdir/dumps/Test_smoothscroll_7.dump12
-rw-r--r--src/testdir/dumps/Test_smoothscroll_8.dump12
-rw-r--r--src/testdir/dumps/Test_smoothscroll_zero_1.dump6
-rw-r--r--src/testdir/dumps/Test_smoothscroll_zero_2.dump6
-rw-r--r--src/testdir/dumps/Test_spell_1.dump8
-rw-r--r--src/testdir/dumps/Test_spell_2.dump8
-rw-r--r--src/testdir/dumps/Test_spell_3.dump8
-rw-r--r--src/testdir/dumps/Test_spell_4.dump8
-rw-r--r--src/testdir/dumps/Test_spell_5.dump8
-rw-r--r--src/testdir/dumps/Test_spell_compatible_1.dump8
-rw-r--r--src/testdir/dumps/Test_spell_compatible_2.dump8
-rw-r--r--src/testdir/dumps/Test_splitkeep_callback_1.dump8
-rw-r--r--src/testdir/dumps/Test_splitkeep_callback_2.dump8
-rw-r--r--src/testdir/dumps/Test_splitkeep_callback_3.dump8
-rw-r--r--src/testdir/dumps/Test_splitkeep_callback_4.dump8
-rw-r--r--src/testdir/dumps/Test_splitkeep_fold_1.dump10
-rw-r--r--src/testdir/dumps/Test_splitkeep_fold_2.dump10
-rw-r--r--src/testdir/dumps/Test_splitkeep_fold_3.dump10
-rw-r--r--src/testdir/dumps/Test_splitkeep_fold_4.dump10
-rw-r--r--src/testdir/dumps/Test_splitkeep_status_1.dump10
-rw-r--r--src/testdir/dumps/Test_start_with_tabs.dump20
-rw-r--r--src/testdir/dumps/Test_statusline_1.dump10
-rw-r--r--src/testdir/dumps/Test_statusline_hl.dump6
-rw-r--r--src/testdir/dumps/Test_statusline_mode_1.dump7
-rw-r--r--src/testdir/dumps/Test_statusline_mode_2.dump7
-rw-r--r--src/testdir/dumps/Test_statusline_showcmd_1.dump6
-rw-r--r--src/testdir/dumps/Test_statusline_showcmd_2.dump6
-rw-r--r--src/testdir/dumps/Test_statusline_showcmd_3.dump6
-rw-r--r--src/testdir/dumps/Test_statusline_showcmd_4.dump6
-rw-r--r--src/testdir/dumps/Test_statusline_showcmd_5.dump6
-rw-r--r--src/testdir/dumps/Test_sub_highlight_zer_match_1.dump8
-rw-r--r--src/testdir/dumps/Test_syntax_c_01.dump20
-rw-r--r--src/testdir/dumps/Test_tabline_showcmd_1.dump6
-rw-r--r--src/testdir/dumps/Test_tabline_showcmd_2.dump6
-rw-r--r--src/testdir/dumps/Test_tabline_showcmd_3.dump6
-rw-r--r--src/testdir/dumps/Test_tabline_showcmd_4.dump6
-rw-r--r--src/testdir/dumps/Test_tabline_showcmd_5.dump6
-rw-r--r--src/testdir/dumps/Test_tabpage_cmdheight.dump20
-rw-r--r--src/testdir/dumps/Test_tenc_euc_jp_01.dump10
-rw-r--r--src/testdir/dumps/Test_term_popup_bufline.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_all_ansi_colors.dump10
-rw-r--r--src/testdir/dumps/Test_terminal_color_MyTermCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_MyTermCol_over_Terminal.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_MyWinCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_MyWinCol_over_group.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_Terminal.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_gui_MyTermCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_gui_MyWinCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_gui_Terminal.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_gui_transp_MyTermCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_gui_transp_MyWinCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_gui_transp_Terminal.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_transp_MyTermCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_transp_MyWinCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_color_transp_Terminal.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_combining.dump9
-rw-r--r--src/testdir/dumps/Test_terminal_dumpload.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_focus_1.dump6
-rw-r--r--src/testdir/dumps/Test_terminal_focus_2.dump6
-rw-r--r--src/testdir/dumps/Test_terminal_focus_3.dump6
-rw-r--r--src/testdir/dumps/Test_terminal_from_cmd.dump20
-rw-r--r--src/testdir/dumps/Test_terminal_normal_1.dump8
-rw-r--r--src/testdir/dumps/Test_terminal_normal_2.dump8
-rw-r--r--src/testdir/dumps/Test_terminal_normal_3.dump8
-rw-r--r--src/testdir/dumps/Test_terminal_popup_1.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_2.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_3.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_4.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_5.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_6.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_7.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_8.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_MyPopupHlCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_MyTermCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_MyTermCol_over_Terminal.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_MyWinCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_MyWinCol_over_group.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_Terminal.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_gui_MyPopupHlCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_gui_MyTermCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_gui_MyWinCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_gui_Terminal.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_gui_transp_MyPopupHlCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_gui_transp_MyTermCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_gui_transp_MyWinCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_gui_transp_Terminal.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_m1.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_transp_MyPopupHlCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_transp_MyTermCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_transp_MyWinCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_popup_transp_Terminal.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_scrollback_1.dump20
-rw-r--r--src/testdir/dumps/Test_terminal_scrollback_2.dump20
-rw-r--r--src/testdir/dumps/Test_terminal_scrollback_3.dump20
-rw-r--r--src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol.dump15
-rw-r--r--src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol2.dump15
-rw-r--r--src/testdir/dumps/Test_text_after_nowrap_1.dump8
-rw-r--r--src/testdir/dumps/Test_text_after_nowrap_2.dump8
-rw-r--r--src/testdir/dumps/Test_text_after_nowrap_3.dump8
-rw-r--r--src/testdir/dumps/Test_text_after_nowrap_4.dump8
-rw-r--r--src/testdir/dumps/Test_text_after_nowrap_5.dump8
-rw-r--r--src/testdir/dumps/Test_text_after_nowrap_list_1.dump6
-rw-r--r--src/testdir/dumps/Test_text_below_nowrap_1.dump8
-rw-r--r--src/testdir/dumps/Test_textprop_01.dump8
-rw-r--r--src/testdir/dumps/Test_textprop_hl_override_1.dump8
-rw-r--r--src/testdir/dumps/Test_textprop_hl_override_2.dump8
-rw-r--r--src/testdir/dumps/Test_textprop_nesting.dump8
-rw-r--r--src/testdir/dumps/Test_textprop_nowrap_01.dump6
-rw-r--r--src/testdir/dumps/Test_textprop_nowrap_02.dump6
-rw-r--r--src/testdir/dumps/Test_textprop_syn_1.dump6
-rw-r--r--src/testdir/dumps/Test_textprop_tab.dump6
-rw-r--r--src/testdir/dumps/Test_textprop_vis_01.dump12
-rw-r--r--src/testdir/dumps/Test_textprop_vis_02.dump12
-rw-r--r--src/testdir/dumps/Test_tselect_1.dump10
-rw-r--r--src/testdir/dumps/Test_undo_after_write_1.dump6
-rw-r--r--src/testdir/dumps/Test_undo_after_write_2.dump6
-rw-r--r--src/testdir/dumps/Test_undo_after_write_2.vim2
-rw-r--r--src/testdir/dumps/Test_verbose_option_1.dump12
-rw-r--r--src/testdir/dumps/Test_verbose_system_1.dump10
-rw-r--r--src/testdir/dumps/Test_verbose_system_1.vim5
-rw-r--r--src/testdir/dumps/Test_verbose_system_2.dump10
-rw-r--r--src/testdir/dumps/Test_verbose_system_2.vim5
-rw-r--r--src/testdir/dumps/Test_vim9_closure_fails.dump6
-rw-r--r--src/testdir/dumps/Test_vim9_no_redraw.dump6
-rw-r--r--src/testdir/dumps/Test_vim9_reject_declaration_1.dump6
-rw-r--r--src/testdir/dumps/Test_vim9_reject_declaration_2.dump6
-rw-r--r--src/testdir/dumps/Test_vim9_silent_echo.dump6
-rw-r--r--src/testdir/dumps/Test_virtual_text_in_popup_highlight_1.dump8
-rw-r--r--src/testdir/dumps/Test_visual_block_with_virtualedit.dump8
-rw-r--r--src/testdir/dumps/Test_visual_block_with_virtualedit2.dump8
-rw-r--r--src/testdir/dumps/Test_wildmenu_1.dump8
-rw-r--r--src/testdir/dumps/Test_wildmenu_2.dump8
-rw-r--r--src/testdir/dumps/Test_wildmenu_3.dump8
-rw-r--r--src/testdir/dumps/Test_wildmenu_4.dump8
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_01.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_02.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_03.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_04.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_05.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_06.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_07.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_08.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_09.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_10.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_11.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_12.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_13.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_14.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_15.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_16.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_17.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_18.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_19.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_20.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_21.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_22.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_23.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_24.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_25.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_26.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_27.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_28.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_29.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_30.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_31.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_32.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_33.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_34.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_35.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_36.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_37.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_38.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_39.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_40.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_41.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_42.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_43.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_44.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_45.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_46.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_47.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_48.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_49.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_50.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_clear_entries_1.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_pum_term_01.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_1.dump10
-rw-r--r--src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_2.dump10
-rw-r--r--src/testdir/dumps/Test_win_gotoid_1.dump15
-rw-r--r--src/testdir/dumps/Test_win_gotoid_2.dump15
-rw-r--r--src/testdir/dumps/Test_win_gotoid_3.dump15
-rw-r--r--src/testdir/dumps/Test_winbar_not_visible.dump10
-rw-r--r--src/testdir/dumps/Test_winbar_not_visible_custom_statusline.dump10
-rw-r--r--src/testdir/dumps/Test_wincolor_01.dump8
-rw-r--r--src/testdir/dumps/Test_wincolor_lcs.dump8
-rw-r--r--src/testdir/dumps/Test_winline_rnu.dump5
-rw-r--r--src/testdir/dumps/Test_winscrolled_not_when_defined_1.dump10
-rw-r--r--src/testdir/dumps/Test_winscrolled_not_when_defined_2.dump10
-rw-r--r--src/testdir/dumps/Test_winscrolled_once_only_1.dump10
880 files changed, 9765 insertions, 0 deletions
diff --git a/src/testdir/dumps/Test_Xcursorline_1.dump b/src/testdir/dumps/Test_Xcursorline_1.dump
new file mode 100644
index 0000000..e4176e1
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_1.dump
@@ -0,0 +1,20 @@
+| +0#af5f00255#ffffff0@1|1| >1+8#0000000&| |f|o@7| |a|r| |e|i|n|s|<+8#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+0#0000e05&@1|d|>|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+0#0000000&|n|f| |s|e|c|h|s| |s|i|e|b|e|n| |a|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+0#0000000&| |u|n| |z|e|h|n| |e|l|f| |z|w|ö|f|l| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n| @2|v| |i|e|r|z|e|h|n||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&| +0#0000000&@6|f|ü|n|f|z|e|h|n| @4||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_10.dump b/src/testdir/dumps/Test_Xcursorline_10.dump
new file mode 100644
index 0000000..152246a
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_10.dump
@@ -0,0 +1,20 @@
+| +8#4040ff13#ffffff0@1|1| |1+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+0#0000e05&@1|d|>|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+0#0000000&|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+8#0000000&|-+8#0000e05&|u+8#0000000&|n|-+8#0000e05&|z+8#0000000&|e|h|n|-+8#0000e05&|e+8#0000000&>l|f|-+8#0000e05&|z+8#0000000&|w|ö|f|l|-+8#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z|e|h|n|^+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|I+0#0000e05&|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|7|1|-|7|6| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |l|i|s|t| |c|u|r|s|o|r|l|i|n|e|o|p|t|+|=|n|u|m|b|e|r| |l|i|s|t|c|h|a|r|s|=|s|p|a|c|e|:|-| @25
diff --git a/src/testdir/dumps/Test_Xcursorline_11.dump b/src/testdir/dumps/Test_Xcursorline_11.dump
new file mode 100644
index 0000000..5c0fb24
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_11.dump
@@ -0,0 +1,20 @@
+| +8#4040ff13#ffffff0@1|1| |1+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+0#0000e05&@1|d|>|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+0#0000000&|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+0#0000000&|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l|f|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+8#0000000&|r|e|i|z|e|h|n|^+8#0000e05&|I|v+8#0000000&>-+8#0000e05&|i+8#0000000&|e|r|z|e|h|n|^+8#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|I+0#0000e05&|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|9|1|-|9|8| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |l|i|s|t| |c|u|r|s|o|r|l|i|n|e|o|p|t|+|=|n|u|m|b|e|r| |l|i|s|t|c|h|a|r|s|=|s|p|a|c|e|:|-| @25
diff --git a/src/testdir/dumps/Test_Xcursorline_12.dump b/src/testdir/dumps/Test_Xcursorline_12.dump
new file mode 100644
index 0000000..10fb120
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_12.dump
@@ -0,0 +1,20 @@
+| +8#4040ff13#ffffff0@1|1| |1+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+0#0000e05&@1|d|>|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+0#0000000&|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+0#0000000&|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l|f|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z|e|h|n|^+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|I+8#0000e05&|f+8#0000000&|ü|n|f|z|e|h>n| @10||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|1|0|8|-|1|2|1| @3|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |l|i|s|t| |c|u|r|s|o|r|l|i|n|e|o|p|t|+|=|n|u|m|b|e|r| |l|i|s|t|c|h|a|r|s|=|s|p|a|c|e|:|-| @25
diff --git a/src/testdir/dumps/Test_Xcursorline_13.dump b/src/testdir/dumps/Test_Xcursorline_13.dump
new file mode 100644
index 0000000..710cdc9
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_13.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@3| +8#4040ff13#ffffff0@1|1| >1+8#0000000&|-+8#0000e05&|f+8#0000000&|o@7|-+8#0000e05&|a+8#0000000&|r|-+8#0000e05&|e+8#0000000&|i||+1&&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|n+0#0000000&|s|<+0#0000e05&|2|0@1|d|>|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l|f|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @2||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|@+0#4040ff13&@2||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|1| @5|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_14.dump b/src/testdir/dumps/Test_Xcursorline_14.dump
new file mode 100644
index 0000000..fb8d56c
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_14.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@3| +8#4040ff13#ffffff0@1|1| |1+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i||+1&&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|n+8#0000000&|s|<+8#0000e05&|2|0@1|d|>|z+8#0000000&|w|e>i|-+8#0000e05&|d+8#0000000&|r|e||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l|f|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @2||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|@+0#4040ff13&@2||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|2|6|-|3|0| @1|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_15.dump b/src/testdir/dumps/Test_Xcursorline_15.dump
new file mode 100644
index 0000000..1470bf7
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_15.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@3| +8#4040ff13#ffffff0@1|1| |1+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i||+1&&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|n+0#0000000&|s|<+0#0000e05&|2|0@1|d|>|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+8#0000000&|-+8#0000e05&|v+8#0000000&|i|e|r|-+8#0000e05&|f+8#0000000&|ü|n|f>-+8#0000e05&|s+8#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l|f|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @2||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|@+0#4040ff13&@2||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|4|3|-|4|7| @1|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_16.dump b/src/testdir/dumps/Test_Xcursorline_16.dump
new file mode 100644
index 0000000..e2b41fe
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_16.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@3| +8#4040ff13#ffffff0@1|1| |1+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i||+1&&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|n+0#0000000&|s|<+0#0000e05&|2|0@1|d|>|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|s+8#0000000&|-+8#0000e05&|s+8#0000000&|i|e|b|e|n|-+8#0000e05&|a+8#0000000&|c>h|t|-+8#0000e05&|u+8#0000000&|n||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l|f|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @2||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|@+0#4040ff13&@2||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|5|9|-|6|4| @1|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_17.dump b/src/testdir/dumps/Test_Xcursorline_17.dump
new file mode 100644
index 0000000..47344c7
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_17.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@3| +8#4040ff13#ffffff0@1|1| |1+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i||+1&&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|n+0#0000000&|s|<+0#0000e05&|2|0@1|d|>|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|-+8#0000e05&|z+8#0000000&|e|h|n|-+8#0000e05&|e+8#0000000&|l|f|-+8#0000e05&|z+8#0000000&>w|ö|f|l|-+8#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @2||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|@+0#4040ff13&@2||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|7|5|-|8|1| @1|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_18.dump b/src/testdir/dumps/Test_Xcursorline_18.dump
new file mode 100644
index 0000000..cea6538
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_18.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@3| +8#4040ff13#ffffff0@1|1| |1+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i||+1&&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|n+0#0000000&|s|<+0#0000e05&|2|0@1|d|>|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l|f|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|d+8#0000000&|r|e|i|z|e|h|n|^+8#0000e05&|I|v+8#0000000&>-+8#0000e05&|i+8#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @2||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|b|e|n| @11||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|i+0#0000000&|n|s|-+0#0000e05&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+| +0#0000e05#a8a8a8255@3| +0#af5f00255#ffffff0@3|>+0#4040ff13&|e+0#0000000&|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|@+0#4040ff13&@2||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|9|1|-|9|8| @1|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_19.dump b/src/testdir/dumps/Test_Xcursorline_19.dump
new file mode 100644
index 0000000..5c5bb0d
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_19.dump
@@ -0,0 +1,20 @@
+>1+8&#ffffff0|-+8#0000e05&|f+8#0000000&|o@7|-+8#0000e05&|a+8#0000000&|r|-+8#0000e05&|e+8#0000000&|i|n|s|<+8#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+0#0000000&|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
diff --git a/src/testdir/dumps/Test_Xcursorline_2.dump b/src/testdir/dumps/Test_Xcursorline_2.dump
new file mode 100644
index 0000000..ef2a07d
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_2.dump
@@ -0,0 +1,20 @@
+| +0#af5f00255#ffffff0@1|1| |1+0#0000000&| |f|o@7| |a|r| |e|i|n|s|<+0#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+8#0000e05&@1|d|>|z+8#0000000&|w|e|i| |d|r>e|i| |v|i|e|r| |f||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+0#0000000&|n|f| |s|e|c|h|s| |s|i|e|b|e|n| |a|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+0#0000000&| |u|n| |z|e|h|n| |e|l|f| |z|w|ö|f|l| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n| @2|v| |i|e|r|z|e|h|n||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&| +0#0000000&@6|f|ü|n|f|z|e|h|n| @4||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|3|0|-|3|4| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_20.dump b/src/testdir/dumps/Test_Xcursorline_20.dump
new file mode 100644
index 0000000..7ffdf8f
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_20.dump
@@ -0,0 +1,20 @@
+|1+0&#ffffff0|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+8#0000000&|w|e|i|-+8#0000e05&|d+8#0000000&|r|e|i|-+8#0000e05&|v+8#0000000&>i|e|r|-+8#0000e05&|f+8#0000000&|ü|n|f|-+8#0000e05&|s+8#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+0#0000000&|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|3|4|-|3|8| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
diff --git a/src/testdir/dumps/Test_Xcursorline_21.dump b/src/testdir/dumps/Test_Xcursorline_21.dump
new file mode 100644
index 0000000..cb3b0b8
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_21.dump
@@ -0,0 +1,20 @@
+|1+0&#ffffff0|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+8#0000000&|-+8#0000e05&|s+8#0000000&|i|e|b|e|n|-+8#0000e05&|a+8#0000000&|c>h|t|-+8#0000e05&|u+8#0000000&|n|-+8#0000e05&|z+8#0000000&|e|h|n|-+8#0000e05&|e+8#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+0#0000000&|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|5|9|-|6|3| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
diff --git a/src/testdir/dumps/Test_Xcursorline_22.dump b/src/testdir/dumps/Test_Xcursorline_22.dump
new file mode 100644
index 0000000..0370465
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_22.dump
@@ -0,0 +1,20 @@
+|1+0&#ffffff0|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+8#0000000&|-+8#0000e05&|z+8#0000000&|w|ö|f|l|-+8#0000e05&|d+8#0000000&|r|e>i|z|e|h|n|^+8#0000e05&|I|v+8#0000000&|-+8#0000e05&|i+8#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|8|4|-|8@1| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
diff --git a/src/testdir/dumps/Test_Xcursorline_23.dump b/src/testdir/dumps/Test_Xcursorline_23.dump
new file mode 100644
index 0000000..ed021eb
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_23.dump
@@ -0,0 +1,20 @@
+|1+0&#ffffff0|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+0#0000000&|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+8#0000000&|h|n|^+8#0000e05&|I|f+8#0000000&|ü|n|f|z|e>h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|1|0|7|-|1@1|9| @3|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
diff --git a/src/testdir/dumps/Test_Xcursorline_24.dump b/src/testdir/dumps/Test_Xcursorline_24.dump
new file mode 100644
index 0000000..f10121d
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_24.dump
@@ -0,0 +1,20 @@
+|1+0&#ffffff0|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2|0@1|d|>||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h||+1&&|~+0#4040ff13&| @47
+|>|s+0#0000000&|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h|t|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l||+1&&|~+0#4040ff13&| @47
+|>|f+0#0000000&|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|h|n|^+0#0000e05&|I|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+|2+8#0000000&|-+8#0000e05&|f+8#0000000&|o@7|-+8#0000e05&>b+8#0000000&|a|r|-+8#0000e05&|e+8#0000000&|i|n|s|-+8#0000e05&|z+8#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+|4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&|z+0#0000000&|w|e|i||+1&&|~+0#4040ff13&| @47
+|>|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i||+1&&|~+0#4040ff13&| @47
+|>|e+0#0000000&|b|e|n| @19||+1&&|~+0#4040ff13&| @47
+| +0#0000000&@24||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |2|,|1|3| @4|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |n|o|n|u|m|b|e|r| @61
diff --git a/src/testdir/dumps/Test_Xcursorline_3.dump b/src/testdir/dumps/Test_Xcursorline_3.dump
new file mode 100644
index 0000000..69a85bd
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_3.dump
@@ -0,0 +1,20 @@
+| +0#af5f00255#ffffff0@1|1| |1+0#0000000&| |f|o@7| |a|r| |e|i|n|s|<+0#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+0#0000e05&@1|d|>|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+8#0000000&|n|f| |s|e|c|h|s| |s>i|e|b|e|n| |a|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+0#0000000&| |u|n| |z|e|h|n| |e|l|f| |z|w|ö|f|l| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n| @2|v| |i|e|r|z|e|h|n||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&| +0#0000000&@6|f|ü|n|f|z|e|h|n| @4||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|5|1|-|5@1| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_4.dump b/src/testdir/dumps/Test_Xcursorline_4.dump
new file mode 100644
index 0000000..253312b
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_4.dump
@@ -0,0 +1,20 @@
+| +0#af5f00255#ffffff0@1|1| |1+0#0000000&| |f|o@7| |a|r| |e|i|n|s|<+0#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+0#0000e05&@1|d|>|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+0#0000000&|n|f| |s|e|c|h|s| |s|i|e|b|e|n| |a|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+8#0000000&| |u|n| |z|e|h|n| |e>l|f| |z|w|ö|f|l| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n| @2|v| |i|e|r|z|e|h|n||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&| +0#0000000&@6|f|ü|n|f|z|e|h|n| @4||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|7|1|-|7|6| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_5.dump b/src/testdir/dumps/Test_Xcursorline_5.dump
new file mode 100644
index 0000000..f86e708
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_5.dump
@@ -0,0 +1,20 @@
+| +0#af5f00255#ffffff0@1|1| |1+0#0000000&| |f|o@7| |a|r| |e|i|n|s|<+0#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+0#0000e05&@1|d|>|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+0#0000000&|n|f| |s|e|c|h|s| |s|i|e|b|e|n| |a|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+0#0000000&| |u|n| |z|e|h|n| |e|l|f| |z|w|ö|f|l| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+8#0000000&|r|e|i|z|e|h|n| @2>v| |i|e|r|z|e|h|n||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&| +0#0000000&@6|f|ü|n|f|z|e|h|n| @4||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|9|0|-|9|7| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_6.dump b/src/testdir/dumps/Test_Xcursorline_6.dump
new file mode 100644
index 0000000..1266b09
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_6.dump
@@ -0,0 +1,20 @@
+| +0#af5f00255#ffffff0@1|1| |1+0#0000000&| |f|o@7| |a|r| |e|i|n|s|<+0#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+0#0000e05&@1|d|>|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+0#0000000&|n|f| |s|e|c|h|s| |s|i|e|b|e|n| |a|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+0#0000000&| |u|n| |z|e|h|n| |e|l|f| |z|w|ö|f|l| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n| @2|v| |i|e|r|z|e|h|n||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&| +8#0000000&@6|f|ü|n|f>z|e|h|n| @4||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&| |f|o@7| |b|a|r| |e|i|n|s| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i| |d|r|e|i| |v|i|e|r| |f|ü|n|f| ||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s| |s|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|1|0|5|-|1@1|8| @3|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_Xcursorline_7.dump b/src/testdir/dumps/Test_Xcursorline_7.dump
new file mode 100644
index 0000000..5e4369b
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_7.dump
@@ -0,0 +1,20 @@
+| +8#4040ff13#ffffff0@1|1| >1+8#0000000&|-+8#0000e05&|f+8#0000000&|o@7|-+8#0000e05&|a+8#0000000&|r|-+8#0000e05&|e+8#0000000&|i|n|s|<+8#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+0#0000e05&@1|d|>|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+0#0000000&|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+0#0000000&|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l|f|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z|e|h|n|^+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|I+0#0000e05&|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |l|i|s|t| |c|u|r|s|o|r|l|i|n|e|o|p|t|+|=|n|u|m|b|e|r| |l|i|s|t|c|h|a|r|s|=|s|p|a|c|e|:|-| @25
diff --git a/src/testdir/dumps/Test_Xcursorline_8.dump b/src/testdir/dumps/Test_Xcursorline_8.dump
new file mode 100644
index 0000000..8fd8dba
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_8.dump
@@ -0,0 +1,20 @@
+| +8#4040ff13#ffffff0@1|1| |1+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+8#0000e05&@1|d|>|z+8#0000000&|w|e|i|-+8#0000e05&|d+8#0000000&|r>e|i|-+8#0000e05&|v+8#0000000&|i|e|r|-+8#0000e05&|f+8#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+0#0000000&|n|f|-+0#0000e05&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n|-+0#0000e05&|a+0#0000000&|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+0#0000000&|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l|f|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z|e|h|n|^+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|I+0#0000e05&|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|3|0|-|3|4| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |l|i|s|t| |c|u|r|s|o|r|l|i|n|e|o|p|t|+|=|n|u|m|b|e|r| |l|i|s|t|c|h|a|r|s|=|s|p|a|c|e|:|-| @25
diff --git a/src/testdir/dumps/Test_Xcursorline_9.dump b/src/testdir/dumps/Test_Xcursorline_9.dump
new file mode 100644
index 0000000..9fe2d55
--- /dev/null
+++ b/src/testdir/dumps/Test_Xcursorline_9.dump
@@ -0,0 +1,20 @@
+| +8#4040ff13#ffffff0@1|1| |1+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|a+0#0000000&|r|-+0#0000e05&|e+0#0000000&|i|n|s|<+0#0000e05&|2||+1#0000000&| +0#af5f00255&@1|5| | +8#0000000&@44
+| +0#af5f00255&@3|>+0#4040ff13&|0+0#0000e05&@1|d|>|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|ü+8#0000000&|n|f|-+8#0000e05&|s+8#0000000&|e|c|h|s|-+8#0000e05&|s+8#0000000&>i|e|b|e|n|-+8#0000e05&|a+8#0000000&|c|h||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|t+0#0000000&|-+0#0000e05&|u+0#0000000&|n|-+0#0000e05&|z+0#0000000&|e|h|n|-+0#0000e05&|e+0#0000000&|l|f|-+0#0000e05&|z+0#0000000&|w|ö|f|l|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|d+0#0000000&|r|e|i|z|e|h|n|^+0#0000e05&|I|v+0#0000000&|-+0#0000e05&|i+0#0000000&|e|r|z|e|h|n|^+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|I+0#0000e05&|f+0#0000000&|ü|n|f|z|e|h|n| @10||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|2| |2+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|3| |3+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|4| |4+0#0000000&|-+0#0000e05&|f+0#0000000&|o@7|-+0#0000e05&|b+0#0000000&|a|r|-+0#0000e05&|e+0#0000000&|i|n|s|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|z+0#0000000&|w|e|i|-+0#0000e05&|d+0#0000000&|r|e|i|-+0#0000e05&|v+0#0000000&|i|e|r|-+0#0000e05&|f+0#0000000&|ü|n|f|-+0#0000e05&||+1#0000000&|~+0#4040ff13&| @47
+| +0#af5f00255&@3|>+0#4040ff13&|s+0#0000000&|e|c|h|s|-+0#0000e05&|s+0#0000000&|i|e|b|e|n| @7||+1&&|~+0#4040ff13&| @47
+| +0#af5f00255&@1|5| | +0#0000000&@20||+1&&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|~| @23||+1#0000000&|~+0#4040ff13&| @47
+|<+3#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|5|1|-|5@1| @1|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @17|5|,|0|-|1| @9|B|o|t
+|:+0&&|s|e|t| |l|i|s|t| |c|u|r|s|o|r|l|i|n|e|o|p|t|+|=|n|u|m|b|e|r| |l|i|s|t|c|h|a|r|s|=|s|p|a|c|e|:|-| @25
diff --git a/src/testdir/dumps/Test_appendbufline_1.dump b/src/testdir/dumps/Test_appendbufline_1.dump
new file mode 100644
index 0000000..470256d
--- /dev/null
+++ b/src/testdir/dumps/Test_appendbufline_1.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|H|e|l@1|o| |V|i|m| |w|o|r|l|d|.@2| @56
+|~+0#4040ff13&| @73
+|~| @73
+|f+1#0000000&|o@1| |[|+|]| @49|1|,|0|-|1| @9|A|l@1
+> +0&&@74
+|~+0#4040ff13&| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|-+0&&@1|N|o| |l|i|n|e|s| |i|n| |b|u|f@1|e|r|-@1| @52
diff --git a/src/testdir/dumps/Test_autocmd_nested_switch.dump b/src/testdir/dumps/Test_autocmd_nested_switch.dump
new file mode 100644
index 0000000..499653e
--- /dev/null
+++ b/src/testdir/dumps/Test_autocmd_nested_switch.dump
@@ -0,0 +1,10 @@
+>(+0&#ffffff0|)| @72
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|X+3#0000000&|a|u|t|o|f|i|l|e| @47|1|,|1| @11|A|l@1
+|(+0&&|)| @72
+|~+0#4040ff13&| @73
+|~| @73
+|X+1#0000000&|a|u|t|o|f|i|l|e| @47|1|,|1| @11|A|l@1
+|"+0&&|X|a|u|t|o|f|i|l|e|"| |1|L|,| |3|B| @56
diff --git a/src/testdir/dumps/Test_balloon_eval_term_01.dump b/src/testdir/dumps/Test_balloon_eval_term_01.dump
new file mode 100644
index 0000000..be98212
--- /dev/null
+++ b/src/testdir/dumps/Test_balloon_eval_term_01.dump
@@ -0,0 +1,10 @@
+|o+0&#ffffff0|n>e| |o|n|e| |o|n|e| @38
+|t|w|o| |t|X|o| |t|w|o| @38
+|t|h|r|e| +0#0000001#ffd7ff255@17| +0#0000000#ffffff0@27
+|~+0#4040ff13&| @2| +0#0000001#ffd7ff255|l|i|n|e| |2| |c|o|l|u|m|n| |6|:| | +0#4040ff13#ffffff0@27
+|~| @2| +0#0000001#ffd7ff255|t|X|o|<| @12| +0#4040ff13#ffffff0@27
+|~| @2| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@27
+|~| @48
+|~| @48
+|~| @48
+|h+0#0000000&|o|l|d| |f|i|r|e|d| @39
diff --git a/src/testdir/dumps/Test_balloon_eval_term_01a.dump b/src/testdir/dumps/Test_balloon_eval_term_01a.dump
new file mode 100644
index 0000000..be98212
--- /dev/null
+++ b/src/testdir/dumps/Test_balloon_eval_term_01a.dump
@@ -0,0 +1,10 @@
+|o+0&#ffffff0|n>e| |o|n|e| |o|n|e| @38
+|t|w|o| |t|X|o| |t|w|o| @38
+|t|h|r|e| +0#0000001#ffd7ff255@17| +0#0000000#ffffff0@27
+|~+0#4040ff13&| @2| +0#0000001#ffd7ff255|l|i|n|e| |2| |c|o|l|u|m|n| |6|:| | +0#4040ff13#ffffff0@27
+|~| @2| +0#0000001#ffd7ff255|t|X|o|<| @12| +0#4040ff13#ffffff0@27
+|~| @2| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@27
+|~| @48
+|~| @48
+|~| @48
+|h+0#0000000&|o|l|d| |f|i|r|e|d| @39
diff --git a/src/testdir/dumps/Test_balloon_eval_term_02.dump b/src/testdir/dumps/Test_balloon_eval_term_02.dump
new file mode 100644
index 0000000..51c5e32
--- /dev/null
+++ b/src/testdir/dumps/Test_balloon_eval_term_02.dump
@@ -0,0 +1,10 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| @38
+|t|w|o| |t|X|o| |t|w|o| @38
+|t|h|r|e|e+0&#e0e0e08| |t|h>r+0&#ffffff0|e@1| |t|h|r|e@1| @32
+|~+0#4040ff13&| @2| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@27
+|~| @2| +0#0000001#ffd7ff255|l|i|n|e| |3| |c|o|l|u|m|n| |5|:| | +0#4040ff13#ffffff0@27
+|~| @2| +0#0000001#ffd7ff255|e| |t|h|r|<| @10| +0#4040ff13#ffffff0@27
+|~| @2| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@27
+|~| @48
+|~| @48
+|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@9|5| @8|3|,|9| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_changing_cmdheight_1.dump b/src/testdir/dumps/Test_changing_cmdheight_1.dump
new file mode 100644
index 0000000..db6d411
--- /dev/null
+++ b/src/testdir/dumps/Test_changing_cmdheight_1.dump
@@ -0,0 +1,8 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
+@75
+@75
+|:|r|e|s|i|z|e| |-|3| @64
diff --git a/src/testdir/dumps/Test_changing_cmdheight_2.dump b/src/testdir/dumps/Test_changing_cmdheight_2.dump
new file mode 100644
index 0000000..76d9440
--- /dev/null
+++ b/src/testdir/dumps/Test_changing_cmdheight_2.dump
@@ -0,0 +1,8 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|:+0&&|s|e|t| |c|m|d|h|e|i|g|h|t|+|=|3| @57
+@75
+@75
+@75
diff --git a/src/testdir/dumps/Test_changing_cmdheight_3.dump b/src/testdir/dumps/Test_changing_cmdheight_3.dump
new file mode 100644
index 0000000..d652cc6
--- /dev/null
+++ b/src/testdir/dumps/Test_changing_cmdheight_3.dump
@@ -0,0 +1,8 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
+@75
+@75
+@75
+@75
diff --git a/src/testdir/dumps/Test_changing_cmdheight_4.dump b/src/testdir/dumps/Test_changing_cmdheight_4.dump
new file mode 100644
index 0000000..c4d6fc9
--- /dev/null
+++ b/src/testdir/dumps/Test_changing_cmdheight_4.dump
@@ -0,0 +1,8 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
+@75
+@75
diff --git a/src/testdir/dumps/Test_changing_cmdheight_5.dump b/src/testdir/dumps/Test_changing_cmdheight_5.dump
new file mode 100644
index 0000000..fb2a521
--- /dev/null
+++ b/src/testdir/dumps/Test_changing_cmdheight_5.dump
@@ -0,0 +1,8 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_changing_cmdheight_6.dump b/src/testdir/dumps/Test_changing_cmdheight_6.dump
new file mode 100644
index 0000000..fb2a521
--- /dev/null
+++ b/src/testdir/dumps/Test_changing_cmdheight_6.dump
@@ -0,0 +1,8 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_cmdheight_tabline_1.dump b/src/testdir/dumps/Test_cmdheight_tabline_1.dump
new file mode 100644
index 0000000..7260309
--- /dev/null
+++ b/src/testdir/dumps/Test_cmdheight_tabline_1.dump
@@ -0,0 +1,6 @@
+| +2&#ffffff0|[|N|o| |N|a|m|e|]| | +1&&@63
+> +0&&@74
+|~+0#4040ff13&| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_cmdlineclear_tabenter.dump b/src/testdir/dumps/Test_cmdlineclear_tabenter.dump
new file mode 100644
index 0000000..27dcca5
--- /dev/null
+++ b/src/testdir/dumps/Test_cmdlineclear_tabenter.dump
@@ -0,0 +1,10 @@
+| +8#0000001#e0e0e08|+| |[|N|o| |N|a|m|e|]| | +2#0000000#ffffff0|[|N|o| |N|a|m|e|]| | +1&&@49|X+8#0000001#e0e0e08
+> +0#0000000#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@74
+@75
+@57|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_cmdwin_interrupted.dump b/src/testdir/dumps/Test_cmdwin_interrupted.dump
new file mode 100644
index 0000000..325bc54
--- /dev/null
+++ b/src/testdir/dumps/Test_cmdwin_interrupted.dump
@@ -0,0 +1,18 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|d+0#0000000&|o|n|e| @52|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_cmdwin_no_terminal.dump b/src/testdir/dumps/Test_cmdwin_no_terminal.dump
new file mode 100644
index 0000000..97d8147
--- /dev/null
+++ b/src/testdir/dumps/Test_cmdwin_no_terminal.dump
@@ -0,0 +1,12 @@
+| +0&#ffffff0@74
+|[+1&&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|:+0#4040ff13&|s+0#af5f00255&|e|t| +0#0000000&|c+0#e000e06&|m|d|h|e|i|g|h|t|=+0#0000000&|2| @58
+|:+0#4040ff13&> +0#0000000&@73
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|C|o|m@1|a|n|d| |L|i|n|e|]| @42|2|,|0|-|1| @9|A|l@1
+|E+0#ffffff16#e000002|1@1|8@1|:| |C|a|n@1|o|t| |o|p|e|n| |a| |t|e|r|m|i|n|a|l| |f|r|o|m| |t|h|e| |c|o|m@1|a|n|d| |l|i|n|e| |w|i|n|d|o|w| +0#0000000#ffffff0@16
+@75
diff --git a/src/testdir/dumps/Test_cmdwin_restore_1.dump b/src/testdir/dumps/Test_cmdwin_restore_1.dump
new file mode 100644
index 0000000..8ac0295
--- /dev/null
+++ b/src/testdir/dumps/Test_cmdwin_restore_1.dump
@@ -0,0 +1,12 @@
+|0+0&#ffffff0| @73
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+|0+0&&| @73
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+|:+0#4040ff13&> +0#0000000&@73
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|C|o|m@1|a|n|d| |L|i|n|e|]| @42|1|,|0|-|1| @9|A|l@1
+|:+0&&| @73
diff --git a/src/testdir/dumps/Test_cmdwin_restore_2.dump b/src/testdir/dumps/Test_cmdwin_restore_2.dump
new file mode 100644
index 0000000..ce0b2b5
--- /dev/null
+++ b/src/testdir/dumps/Test_cmdwin_restore_2.dump
@@ -0,0 +1,12 @@
+>0+0&#ffffff0| @73
+|1| @73
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+|0+0&&| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @73
+|5| @73
+|6| @73
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+| +0&&@74
diff --git a/src/testdir/dumps/Test_cmdwin_restore_3.dump b/src/testdir/dumps/Test_cmdwin_restore_3.dump
new file mode 100644
index 0000000..1cc0f3f
--- /dev/null
+++ b/src/testdir/dumps/Test_cmdwin_restore_3.dump
@@ -0,0 +1,18 @@
+>0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+|1|0| @72
+|1@1| @72
+|1|2| @72
+|1|3| @72
+|1|4| @72
+|1|5| @72
+|1|6| @72
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_cmdwin_wrong_command_1.dump b/src/testdir/dumps/Test_cmdwin_wrong_command_1.dump
new file mode 100644
index 0000000..95a686b
--- /dev/null
+++ b/src/testdir/dumps/Test_cmdwin_wrong_command_1.dump
@@ -0,0 +1,12 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|:+0#4040ff13&|l+0#af5f00255&>s| +0#0000000&@71
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|C|o|m@1|a|n|d| |L|i|n|e|]| @42|1|,|2| @11|A|l@1
+|E+0#ffffff16#e000002|1@1|:| |I|n|v|a|l|i|d| |i|n| |c|o|m@1|a|n|d|-|l|i|n|e| |w|i|n|d|o|w|;| |:|q|<|C|R|>| |c|l|o|s|e|s| |t|h|e| |w|i|n|d|o|w| +0#0000000#ffffff0@13
diff --git a/src/testdir/dumps/Test_cmdwin_wrong_command_2.dump b/src/testdir/dumps/Test_cmdwin_wrong_command_2.dump
new file mode 100644
index 0000000..3ef02cd
--- /dev/null
+++ b/src/testdir/dumps/Test_cmdwin_wrong_command_2.dump
@@ -0,0 +1,12 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|l|s> @71
diff --git a/src/testdir/dumps/Test_colorcolumn_1.dump b/src/testdir/dumps/Test_colorcolumn_1.dump
new file mode 100644
index 0000000..cbaf27d
--- /dev/null
+++ b/src/testdir/dumps/Test_colorcolumn_1.dump
@@ -0,0 +1,10 @@
+| +8#af5f00255#ffffff0@1|1| |1+0#0000000&@1|1+0&#ffd7d7255|1+0&#ffffff0@4|1+0&#ffd7d7255|1+0&#ffffff0| @60
+| +0#af5f00255&@1|2| |2+0#0000000&@1|2+0&#ffd7d7255|2+0&#ffffff0@4|2+0&#ffd7d7255|2+0&#ffffff0@1| @59
+| +0#af5f00255&@1|3| |3+0#0000000&@1|3+0&#ffd7d7255|3+0&#ffffff0@4|3+0&#ffd7d7255|3+0&#ffffff0| @60
+|~+0#4040ff13&| @73
+|X+1#0000000&| @55|1|,|1| @11|A|l@1
+| +8#af5f00255&@1|1| >1+0#0000000&@1|1+0&#ffd7d7255|1+0&#ffffff0@4|1+0&#ffd7d7255|1+0&#ffffff0| @60
+| +0#af5f00255&@1|2| |2+0#0000000&@1|2+0&#ffd7d7255|2+0&#ffffff0@4|2+0&#ffd7d7255|2+0&#ffffff0@1| @59
+| +0#af5f00255&@1|3| |3+0#0000000&@1|3+0&#ffd7d7255|3+0&#ffffff0@4|3+0&#ffd7d7255|3+0&#ffffff0| @60
+|X+3&&| @55|1|,|1| @11|A|l@1
+|:+0&&| @73
diff --git a/src/testdir/dumps/Test_colorcolumn_2.dump b/src/testdir/dumps/Test_colorcolumn_2.dump
new file mode 100644
index 0000000..44e0e7a
--- /dev/null
+++ b/src/testdir/dumps/Test_colorcolumn_2.dump
@@ -0,0 +1,10 @@
+>T+0&#ffffff0|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|e|d| |o|v|e|r| |t|h|e| @3| +0&#ffd7d7255
+@1| +0&#ffffff0|l+0&#ffd7d7255|a+0&#ffffff0|z|y| |d|o|g|s| @28
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_colorcolumn_3.dump b/src/testdir/dumps/Test_colorcolumn_3.dump
new file mode 100644
index 0000000..6cb0c24
--- /dev/null
+++ b/src/testdir/dumps/Test_colorcolumn_3.dump
@@ -0,0 +1,10 @@
+>T+0&#ffffff0|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|e|d| |o|v|e|r| |t|h|e| |l|a|z|y+0&#ffd7d7255
+|++0#4040ff13&|++0&#ffffff0|++0&#ffd7d7255|>+0&#ffffff0| | +0#0000000&|d|o|g|s| @29
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_conceal_cuc_01.dump b/src/testdir/dumps/Test_conceal_cuc_01.dump
new file mode 100644
index 0000000..bf42819
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_cuc_01.dump
@@ -0,0 +1,10 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| @1|o|n|e| |o|n|e| |o|n|e| |o+0&#e0e0e08|n+0&#ffffff0|e| @11
+| +0#4040ff13&|>@2| |o+0#0000000&|n|e| |o+0&#ffd7d7255|n+0&#ffffff0|e| |o|n|e| |o|n|e| @19
+|t|w|o| |t|w|o| |t|w|o| |t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| |t|w|o| |t|w|o| @2
+|t|h|r|e@1| @1|t|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| |t+0&#e0e0e08|h+0&#ffffff0|r|e@1| @9
+| +0#4040ff13&|>@2| |t+0#0000000&|h|r|e|e+0&#ffd7d7255| +0&#ffffff0|t|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| @11
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+|/+0#0000000&|h|e|r|e| @16|2|,|2|6| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_conceal_cuc_02.dump b/src/testdir/dumps/Test_conceal_cuc_02.dump
new file mode 100644
index 0000000..1b6662e
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_cuc_02.dump
@@ -0,0 +1,10 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| @1|o|n|e| |o|n|e| |o|n|e| |o|n|e| @11
+| +0#4040ff13&|>@2| |o+0#0000000&|n|e| |o+0&#ffd7d7255|n+0&#ffffff0|e| |o|n|e| |o|n|e| @19
+|t|w|o| |t|w|o| |t|w|o| |t|w|o| |||h|i|d@1|e|n||| |h|e|r|e| |t|w|o| |t|w>o| @2
+|t|h|r|e@1| @1|t|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| @9
+| +0#4040ff13&|>@2| |t+0#0000000&|h|r|e|e+0&#ffd7d7255| +0&#ffffff0|t|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| @11
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+|/+0#0000000&|h|e|r|e| @16|2|,|3|7| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_conceal_cul_01.dump b/src/testdir/dumps/Test_conceal_cul_01.dump
new file mode 100644
index 0000000..6d698d1
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_cul_01.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| @71
+|t|w|o| @71
+>t+8&&|h|r|e@1| @69
+|f+0&&|o|u|r| @70
+|f|i|v|e| @70
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1| @11|A|l@1
+| +0&&@74
+|t+8&&|h|i|s| |i|s| |a| |t|e|s|t| @60
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_conceal_cul_02.dump b/src/testdir/dumps/Test_conceal_cul_02.dump
new file mode 100644
index 0000000..46b296c
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_cul_02.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| @71
+|t|w|o| @71
+|t+8&&|h|r|e@1| @69
+|f+0&&|o|u|r| @70
+|f|i|v|e| @70
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1| @11|A|l@1
+| +0&&@74
+|t+8&&|h|i|s| |i|s| |a| |t|e|s>t| @60
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|w|i|n|c|m|d| |w| @65
diff --git a/src/testdir/dumps/Test_conceal_cul_03.dump b/src/testdir/dumps/Test_conceal_cul_03.dump
new file mode 100644
index 0000000..275f35c
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_cul_03.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| @71
+|t|w|o| @71
+|t+8&&|h|r|e@1| @69
+|f+0&&|o|u|r| @70
+|f|i|v|e| @70
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1| @11|A|l@1
+> +8&&@74
+|t+0&&|h|i|s| |i|s| |a| |t|e|s|t| @60
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|0|-|1| @9|A|l@1
+|:+0&&|w|i|n|c|m|d| |w| @65
diff --git a/src/testdir/dumps/Test_conceal_linebreak_1.dump b/src/testdir/dumps/Test_conceal_linebreak_1.dump
new file mode 100644
index 0000000..8c93df0
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_linebreak_1.dump
@@ -0,0 +1,8 @@
+>x+0&#ffffff0@74
+| @74
+|a@63| @10
+|++0#4040ff13&| |b+0#0000000&@66| @5
+|++0#4040ff13&| |c+0#0000000&@5| @66
+|~+0#4040ff13&| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_conceal_resize_01.dump b/src/testdir/dumps/Test_conceal_resize_01.dump
new file mode 100644
index 0000000..8bb9c38
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_resize_01.dump
@@ -0,0 +1,6 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e|,| |t|h|e| >b|a|c|k|t|i|c|k|s| |s|h|o|u|l|d| |b|e| |c|o|n|c|e|a|l|e|d| @16
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|4|0| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_conceal_resize_02.dump b/src/testdir/dumps/Test_conceal_resize_02.dump
new file mode 100644
index 0000000..876a8ec
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_resize_02.dump
@@ -0,0 +1,7 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e|,| |t|h|e| >b|a|c|k|t|i|c|k|s| |s|h|o|u|l|d| |b|e| |c|o|n|c|e|a|l|e|d| @16
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|4|0| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_conceal_two_windows_01.dump b/src/testdir/dumps/Test_conceal_two_windows_01.dump
new file mode 100644
index 0000000..0a70677
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_01.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1>h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|/+0&&|h|e|r|e| @69
diff --git a/src/testdir/dumps/Test_conceal_two_windows_02.dump b/src/testdir/dumps/Test_conceal_two_windows_02.dump
new file mode 100644
index 0000000..367149f
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_02.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o>n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|/+0&&|h|e|r|e| @69
diff --git a/src/testdir/dumps/Test_conceal_two_windows_03.dump b/src/testdir/dumps/Test_conceal_two_windows_03.dump
new file mode 100644
index 0000000..27242eb
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_03.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=| @55
diff --git a/src/testdir/dumps/Test_conceal_two_windows_04.dump b/src/testdir/dumps/Test_conceal_two_windows_04.dump
new file mode 100644
index 0000000..ff52320
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_04.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| |||h|i|d@1|e|n>|| |t|h|r|e@1| @54
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=| @55
diff --git a/src/testdir/dumps/Test_conceal_two_windows_05.dump b/src/testdir/dumps/Test_conceal_two_windows_05.dump
new file mode 100644
index 0000000..68904d0
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_05.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=| @55
diff --git a/src/testdir/dumps/Test_conceal_two_windows_06c.dump b/src/testdir/dumps/Test_conceal_two_windows_06c.dump
new file mode 100644
index 0000000..b3869f9
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_06c.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h|e+1&&|r+0&&|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|/+0&&|e> @72
diff --git a/src/testdir/dumps/Test_conceal_two_windows_06i.dump b/src/testdir/dumps/Test_conceal_two_windows_06i.dump
new file mode 100644
index 0000000..c2325b9
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_06i.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h>e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_conceal_two_windows_06n.dump b/src/testdir/dumps/Test_conceal_two_windows_06n.dump
new file mode 100644
index 0000000..a147249
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_06n.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1>h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=|n| @54
diff --git a/src/testdir/dumps/Test_conceal_two_windows_06v.dump b/src/testdir/dumps/Test_conceal_two_windows_06v.dump
new file mode 100644
index 0000000..7456625
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_06v.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@51|1| @9
diff --git a/src/testdir/dumps/Test_conceal_two_windows_07c.dump b/src/testdir/dumps/Test_conceal_two_windows_07c.dump
new file mode 100644
index 0000000..b3869f9
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_07c.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h|e+1&&|r+0&&|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|/+0&&|e> @72
diff --git a/src/testdir/dumps/Test_conceal_two_windows_07i.dump b/src/testdir/dumps/Test_conceal_two_windows_07i.dump
new file mode 100644
index 0000000..f1cd232
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_07i.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h>e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_conceal_two_windows_07in.dump b/src/testdir/dumps/Test_conceal_two_windows_07in.dump
new file mode 100644
index 0000000..67c8cdb
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_07in.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_conceal_two_windows_07n.dump b/src/testdir/dumps/Test_conceal_two_windows_07n.dump
new file mode 100644
index 0000000..9ed71a6
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_07n.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=|i| @54
diff --git a/src/testdir/dumps/Test_conceal_two_windows_07v.dump b/src/testdir/dumps/Test_conceal_two_windows_07v.dump
new file mode 100644
index 0000000..7456625
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_07v.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@51|1| @9
diff --git a/src/testdir/dumps/Test_conceal_two_windows_08c.dump b/src/testdir/dumps/Test_conceal_two_windows_08c.dump
new file mode 100644
index 0000000..2d12a9c
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_08c.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e+1&&|r+0&&|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|/+0&&|e> @72
diff --git a/src/testdir/dumps/Test_conceal_two_windows_08i.dump b/src/testdir/dumps/Test_conceal_two_windows_08i.dump
new file mode 100644
index 0000000..c2325b9
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_08i.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h>e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_conceal_two_windows_08n.dump b/src/testdir/dumps/Test_conceal_two_windows_08n.dump
new file mode 100644
index 0000000..13e8141
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_08n.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=|c| @54
diff --git a/src/testdir/dumps/Test_conceal_two_windows_08v.dump b/src/testdir/dumps/Test_conceal_two_windows_08v.dump
new file mode 100644
index 0000000..7456625
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_08v.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@51|1| @9
diff --git a/src/testdir/dumps/Test_conceal_two_windows_09c.dump b/src/testdir/dumps/Test_conceal_two_windows_09c.dump
new file mode 100644
index 0000000..b3869f9
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_09c.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h|e+1&&|r+0&&|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|/+0&&|e> @72
diff --git a/src/testdir/dumps/Test_conceal_two_windows_09i.dump b/src/testdir/dumps/Test_conceal_two_windows_09i.dump
new file mode 100644
index 0000000..c2325b9
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_09i.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h>e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_conceal_two_windows_09n.dump b/src/testdir/dumps/Test_conceal_two_windows_09n.dump
new file mode 100644
index 0000000..e00c814
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_09n.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=|v| @54
diff --git a/src/testdir/dumps/Test_conceal_two_windows_09v.dump b/src/testdir/dumps/Test_conceal_two_windows_09v.dump
new file mode 100644
index 0000000..8d6cb4b
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_09v.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1>h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@51|1| @9
diff --git a/src/testdir/dumps/Test_conceal_two_windows_10.dump b/src/testdir/dumps/Test_conceal_two_windows_10.dump
new file mode 100644
index 0000000..c2325b9
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_10.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h>e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_conceal_two_windows_11.dump b/src/testdir/dumps/Test_conceal_two_windows_11.dump
new file mode 100644
index 0000000..42a3fd5
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_11.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| |||h|i|d@1|e|n||> |t|h|r|e@1| @54
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|5| @10|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_conceal_two_windows_12.dump b/src/testdir/dumps/Test_conceal_two_windows_12.dump
new file mode 100644
index 0000000..63861a1
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_12.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| |||h|i|d@1|e|n>|| |t|h|r|e@1| @54
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_conceal_two_windows_13.dump b/src/testdir/dumps/Test_conceal_two_windows_13.dump
new file mode 100644
index 0000000..2f93e31
--- /dev/null
+++ b/src/testdir/dumps/Test_conceal_two_windows_13.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+> @74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|4|,|1| @11|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_cursor_position_with_showbreak.dump b/src/testdir/dumps/Test_cursor_position_with_showbreak.dump
new file mode 100644
index 0000000..92b79cc
--- /dev/null
+++ b/src/testdir/dumps/Test_cursor_position_with_showbreak.dump
@@ -0,0 +1,6 @@
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@71|X
+> +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|e|c|o|n|d| |l|i|n|e| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@44|1|,|7|4| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_cursorcolumn_callback_1.dump b/src/testdir/dumps/Test_cursorcolumn_callback_1.dump
new file mode 100644
index 0000000..7b1b85b
--- /dev/null
+++ b/src/testdir/dumps/Test_cursorcolumn_callback_1.dump
@@ -0,0 +1,8 @@
+>a+0&#ffffff0@4| @69
+|b+0&#e0e0e08|b+0&#ffffff0@3| @69
+|c+0&#e0e0e08|c+0&#ffffff0@3| @69
+|d+0&#e0e0e08|d+0&#ffffff0@3| @69
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|4|,|5| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_cursorcolumn_insert_on_tab_1.dump b/src/testdir/dumps/Test_cursorcolumn_insert_on_tab_1.dump
new file mode 100644
index 0000000..7a691e8
--- /dev/null
+++ b/src/testdir/dumps/Test_cursorcolumn_insert_on_tab_1.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0|2|3|4|5|6|7|8+0&#e0e0e08|9+0&#ffffff0| @65
+|a| @5> |b| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|2|,|2|-|8| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_cursorcolumn_insert_on_tab_2.dump b/src/testdir/dumps/Test_cursorcolumn_insert_on_tab_2.dump
new file mode 100644
index 0000000..29d6b19
--- /dev/null
+++ b/src/testdir/dumps/Test_cursorcolumn_insert_on_tab_2.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0|2+0&#e0e0e08|3+0&#ffffff0|4|5|6|7|8|9| @65
+|a> @6|b| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@44|2|,|2| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_cursorcolumn_insert_on_tab_3.dump b/src/testdir/dumps/Test_cursorcolumn_insert_on_tab_3.dump
new file mode 100644
index 0000000..9d0cbed
--- /dev/null
+++ b/src/testdir/dumps/Test_cursorcolumn_insert_on_tab_3.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0|2|3|4|5|6|7|8+0&#e0e0e08|9+0&#ffffff0| @65
+|a| @5> |b| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |(|i|n|s|e|r|t|)| |-@1| +0&&@42|2|,|2|-|8| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_cursorline_callback_1.dump b/src/testdir/dumps/Test_cursorline_callback_1.dump
new file mode 100644
index 0000000..c4f32ea
--- /dev/null
+++ b/src/testdir/dumps/Test_cursorline_callback_1.dump
@@ -0,0 +1,8 @@
+|a+0&#ffffff0@4| @69
+>b+8&&@4| @69
+|c+0&&@4| @69
+|d@4| @69
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|4|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_cursorline_redraw_1.dump b/src/testdir/dumps/Test_cursorline_redraw_1.dump
new file mode 100644
index 0000000..71fdc89
--- /dev/null
+++ b/src/testdir/dumps/Test_cursorline_redraw_1.dump
@@ -0,0 +1,20 @@
+| +0&#ffffff0@23|o|n|e| |b|y| |o|n|e| |t|o| |a|v
+|o|i|d| |p|r|o|b|l|e|m|s|.| @26
+@24|A|l|s|o| |s|e@1| |||:|s|e|t|-|a
+|r|g|s||| |a|b|o|v|e|.| @28
+@40
+|T|h|e| |{|o|p|t|i|o|n|}| |a|r|g|u|m|e|n|t|s| |t|o| |"|:|s|e|t|"| |m|a|y| |b|e|
+|r|e|p|e|a|t|e|d|.| @1|F|o|r| |e|x|a|m|p|l|e|:| |>| @14
+@8|:|s|e|t| |a|i| |n|o|s|i| |s|w|=|3| |t|s|=|3| @9
+|I|f| |y|o|u| |m|a|k|e| |a|n| |e|r@1|o|r| |i|n| |o|n|e| |o|f| |t|h|e| |a|r|g|u|m
+|e|n|t|s|,| |a|n| |e|r@1|o|r| |m|e|s@1|a|g|e| |w|i|l@1| |b|e| |g|i|v|e|n| @3
+|a|n|d| |t|h|e| |f|o|l@1|o|w|i|n|g| |a|r|g|u|m|e|n|t|s| |w|i|l@1| |b|e| |i|g|n|o
+|r|e|d|.| @35
+@40
+@40
+@16|*|:|s|e|t|-|v|e|r|b|o|s|e|*| @9
+>W+8&&|h|e|n| |'|v|e|r|b|o|s|e|'| |i|s| |n|o|n|-|z|e|r|o|,| |d|i|s|p|l|a|y|i|n|g| |a
+|n| |o|p|t|i|o|n| |v|a|l|u|e| |w|i|l@1| |a|l|s|o| |t|e|l@1| |w|h|e|r|e| |i|t| @1
+|w+0&&|a|s| |l|a|s|t| |s|e|t|.| @1|E|x|a|m|p|l|e|:| |>| @14
+@8|:|v|e|r|b|o|s|e| |s|e|t| |s|h|i|f|t|w|i|d|t|h| |c|i|n|d|e|n|t|?
+|<| |2@1|L|,| |9|4|2|B| @10|1|2|,|1| @9|2|0|%|
diff --git a/src/testdir/dumps/Test_cursorline_redraw_2.dump b/src/testdir/dumps/Test_cursorline_redraw_2.dump
new file mode 100644
index 0000000..323bef8
--- /dev/null
+++ b/src/testdir/dumps/Test_cursorline_redraw_2.dump
@@ -0,0 +1,20 @@
+| +0&#ffffff0@39
+|T|h|e| |{|o|p|t|i|o|n|}| |a|r|g|u|m|e|n|t|s| |t|o| |"|:|s|e|t|"| |m|a|y| |b|e|
+|r|e|p|e|a|t|e|d|.| @1|F|o|r| |e|x|a|m|p|l|e|:| |>| @14
+| +8&&@7>:|s|e|t| |a|i| |n|o|s|i| |s|w|=|3| |t|s|=|3| @9
+|I+0&&|f| |y|o|u| |m|a|k|e| |a|n| |e|r@1|o|r| |i|n| |o|n|e| |o|f| |t|h|e| |a|r|g|u|m
+|e|n|t|s|,| |a|n| |e|r@1|o|r| |m|e|s@1|a|g|e| |w|i|l@1| |b|e| |g|i|v|e|n| @3
+|a|n|d| |t|h|e| |f|o|l@1|o|w|i|n|g| |a|r|g|u|m|e|n|t|s| |w|i|l@1| |b|e| |i|g|n|o
+|r|e|d|.| @35
+@40
+@40
+@16|*|:|s|e|t|-|v|e|r|b|o|s|e|*| @9
+|W|h|e|n| |'|v|e|r|b|o|s|e|'| |i|s| |n|o|n|-|z|e|r|o|,| |d|i|s|p|l|a|y|i|n|g| |a
+|n| |o|p|t|i|o|n| |v|a|l|u|e| |w|i|l@1| |a|l|s|o| |t|e|l@1| |w|h|e|r|e| |i|t| @1
+|w|a|s| |l|a|s|t| |s|e|t|.| @1|E|x|a|m|p|l|e|:| |>| @14
+@8|:|v|e|r|b|o|s|e| |s|e|t| |s|h|i|f|t|w|i|d|t|h| |c|i|n|d|e|n|t|?
+|<| @1|s|h|i|f|t|w|i|d|t|h|=|4| |~| @22
+@10|L|a|s|t| |s|e|t| |f|r|o|m| |m|o|d|e|l|i|n|e| |l|i|n|e| |1|
+|~| @38
+@2|c|i|n|d|e|n|t| |~| @28
+@22|7|,|2|-|9| @8|4@1|%|
diff --git a/src/testdir/dumps/Test_cursorline_screenline_1.dump b/src/testdir/dumps/Test_cursorline_screenline_1.dump
new file mode 100644
index 0000000..d28794b
--- /dev/null
+++ b/src/testdir/dumps/Test_cursorline_screenline_1.dump
@@ -0,0 +1,8 @@
+|x+0&#ffffff0|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z
+| +8&&|x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| > @29
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@44|1|,|1|2|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_cursorline_screenline_2.dump b/src/testdir/dumps/Test_cursorline_screenline_2.dump
new file mode 100644
index 0000000..3c44da1
--- /dev/null
+++ b/src/testdir/dumps/Test_cursorline_screenline_2.dump
@@ -0,0 +1,8 @@
+>x+8&#ffffff0|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z
+| +0&&|x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| |x|y|z| @30
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@44|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_cursorline_with_visualmode_01.dump b/src/testdir/dumps/Test_cursorline_with_visualmode_01.dump
new file mode 100644
index 0000000..b6e20b7
--- /dev/null
+++ b/src/testdir/dumps/Test_cursorline_with_visualmode_01.dump
@@ -0,0 +1,12 @@
+|a+0&#e0e0e08|b|c| | +0&#ffffff0@70
+|a+0&#e0e0e08|b|c| | +0&#ffffff0@70
+|a+0&#e0e0e08|b|c| | +0&#ffffff0@70
+|a+0&#e0e0e08|b|c| | +0&#ffffff0@70
+|a+0&#e0e0e08|b|c| | +0&#ffffff0@70
+>a|b+0&#e0e0e08|c| | +0&#ffffff0@70
+|a|b|c| @71
+|a|b|c| @71
+|a|b|c| @71
+|a|b|c| @71
+|a|b|c| @71
+|-+2&&@1| |V|I|S|U|A|L| |L|I|N|E| |-@1| +0&&@29|1|2| @7|1|2|,|1| @9|1|5|%|
diff --git a/src/testdir/dumps/Test_cursorline_yank_01.dump b/src/testdir/dumps/Test_cursorline_yank_01.dump
new file mode 100644
index 0000000..7b749b1
--- /dev/null
+++ b/src/testdir/dumps/Test_cursorline_yank_01.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|3| | +0#0000000&@70
+| +0#af5f00255&@1|2| |1+0#0000000&| @69
+| +0#af5f00255&@1|1| |2+0#0000000&| @69
+| +8#af5f00255&@1|0| >3+8#0000000&| @69
+| +0#af5f00255&@1|1| | +0#0000000&@70
+|~+0#4040ff13&| @73
+|~| @73
+|4+0#0000000&| |l|i|n|e|s| |y|a|n|k|e|d| @42|4|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_diff_01.dump b/src/testdir/dumps/Test_diff_01.dump
new file mode 100644
index 0000000..125c391
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|0+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|2+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|2+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|3+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|3+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33
+|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |7|-@19||+1#0000000#ffffff0|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |7|-@19
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_02.dump b/src/testdir/dumps/Test_diff_02.dump
new file mode 100644
index 0000000..a2a1852
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|0+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|2+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|2+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|3+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|3+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33
+|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |7|-@19||+1#0000000#ffffff0|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |7|-@19
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_03.dump b/src/testdir/dumps/Test_diff_03.dump
new file mode 100644
index 0000000..5832eec
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_03.dump
@@ -0,0 +1,20 @@
+|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |1|-@19||+1#0000000#ffffff0|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |1|-@19
+| @1|5+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|7+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|7+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|8+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|8+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|1+0#0000000#5fd7ff255@1| @32
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_04.dump b/src/testdir/dumps/Test_diff_04.dump
new file mode 100644
index 0000000..84fa6f7
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_04.dump
@@ -0,0 +1,20 @@
+|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |1|-@19||+1#0000000#ffffff0|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |1|-@19
+| @1|5+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|7+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|7+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|8+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|8+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#5fd7ff255@1| @32||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_05.dump b/src/testdir/dumps/Test_diff_05.dump
new file mode 100644
index 0000000..7bffa1a
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_05.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|2+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|2+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|3+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|3+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|4+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|7+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|7+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|8+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|8+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#5fd7ff255@1| @32||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|~+0&#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_06.0.dump b/src/testdir/dumps/Test_diff_06.0.dump
new file mode 100644
index 0000000..458295b
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_06.0.dump
@@ -0,0 +1,20 @@
+|++0#0000e05#a8a8a8255| >+|-@1| @1|3| |l|i|n|e|s|:| |1|-@19||+1#0000000#ffffff0|++0#0000e05#a8a8a8255| |+|-@1| @1|3| |l|i|n|e|s|:| |1|-@19
+| @1|4+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|4+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33
+|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |6|-@19||+1#0000000#ffffff0|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |6|-@19
+| @1|1+0#0000000#ffffff0|0| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|1+0#0000000#5fd7ff255@1| @32
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&|s|e|t| |d|i|f@1|o|p|t|+|=|c|o|n|t|e|x|t|:|0| @51
diff --git a/src/testdir/dumps/Test_diff_06.1.dump b/src/testdir/dumps/Test_diff_06.1.dump
new file mode 100644
index 0000000..8f2d4fb
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_06.1.dump
@@ -0,0 +1,20 @@
+|++0#0000e05#a8a8a8255| >+|-@1| @1|3| |l|i|n|e|s|:| |1|-@19||+1#0000000#ffffff0|++0#0000e05#a8a8a8255| |+|-@1| @1|3| |l|i|n|e|s|:| |1|-@19
+| @1|4+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|4+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33
+|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |6|-@19||+1#0000000#ffffff0|++0#0000e05#a8a8a8255| |+|-@1| @1|4| |l|i|n|e|s|:| |6|-@19
+| @1|1+0#0000000#ffffff0|0| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|1+0#0000000#5fd7ff255@1| @32
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&|s|e|t| |d|i|f@1|o|p|t|+|=|c|o|n|t|e|x|t|:|1| @51
diff --git a/src/testdir/dumps/Test_diff_06.2.dump b/src/testdir/dumps/Test_diff_06.2.dump
new file mode 100644
index 0000000..c772270
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_06.2.dump
@@ -0,0 +1,20 @@
+|++0#0000e05#a8a8a8255| >+|-@1| @1|2| |l|i|n|e|s|:| |1|-@19||+1#0000000#ffffff0|++0#0000e05#a8a8a8255| |+|-@1| @1|2| |l|i|n|e|s|:| |1|-@19
+| @1|3+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|3+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|4+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33
+|++0#0000e05#a8a8a8255| |+|-@1| @1|2| |l|i|n|e|s|:| |7|-@19||+1#0000000#ffffff0|++0#0000e05#a8a8a8255| |+|-@1| @1|2| |l|i|n|e|s|:| |7|-@19
+| @1|9+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|1+0#0000000#5fd7ff255@1| @32
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&@1|s|e|t| |d|i|f@1|o|p|t|+|=|c|o|n|t|e|x|t|:|2| @50
diff --git a/src/testdir/dumps/Test_diff_06.dump b/src/testdir/dumps/Test_diff_06.dump
new file mode 100644
index 0000000..a5e6348
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_06.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|2+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|2+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|3+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|3+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|4+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|7+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|7+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|8+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|8+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|1+0#0000000#5fd7ff255@1| @32
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_07.dump b/src/testdir/dumps/Test_diff_07.dump
new file mode 100644
index 0000000..c8f2aa6
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_07.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1>#+0#0000000#ffffff0|i|n|c|l|u|d|e| |<|s|t|d|i|o|.|h|>| @16||+1&&| +0#0000e05#a8a8a8255@1|#+0#0000000#ffffff0|i|n|c|l|u|d|e| |<|s|t|d|i|o|.|h|>| @16
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1|/+2#0000000#ff404010@1| |F|r|o|b|s| |f|o@1| |h|e|a|r|t|i|l|y| +0&#ffd7ff255@13||+1&#ffffff0| +0#0000e05#a8a8a8255@1|i+2#0000000#ff404010|n|t| |f|i|b|(|i|n|t| |n|)| +0&#ffd7ff255@20
+| +0#0000e05#a8a8a8255@1|i+0#0000000#5fd7ff255|n|t| |f|r|o|b|n|i|t|z|(|i|n|t| |f|o@1|)| @13||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@3|i|n+2&#ff404010|t| |i|;| +0&#ffd7ff255@24||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@3|i|f+2&#ff404010|(|n| |>| |2|)| +0&#ffd7ff255@21
+| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|f|o|r|(|i| |=| |0|;| |i| |<| |1|0|;| |i|+@1|)| @7||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|{| @29||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|{| @29
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@7|p+2&#ff404010|r|i|n|t|f|(|"|Y|o|u|r| |a|n|s|w|e|r| |i|s|:| |"|)+0&#ffd7ff255|;||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@7|r+2&#ff404010|e|t|u|r|n| |f|i|b|(|n|-|1|)| |+| |f|i|b|(|n|-|2|)+0&#ffd7ff255|;
+| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@7|p|r|i|n|t|f|(|"|%|d|\|n|"|,| |f|o@1|)|;| @6||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|}| @29||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|}| @29
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|r|e|t|u|r|n| |1|;| @21
+| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1|i+2#0000000#ff404010|n|t| |f|a|c|t|(|i|n|t| |n|)| +0&#ffd7ff255@19||+1&#ffffff0| +0#0000e05#a8a8a8255@1|/+2#0000000#ff404010@1| |F|r|o|b|s| |f|o@1| |h|e|a|r|t|i|l|y| +0&#ffd7ff255@13
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|i+0#0000000#5fd7ff255|n|t| |f|r|o|b|n|i|t|z|(|i|n|t| |f|o@1|)| @13
+| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@3|i|f+2&#ff404010|(|n| |>| |1|)| +0&#ffd7ff255@21||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@3|i|n+2&#ff404010|t| |i|;| +0&#ffd7ff255@24
+|X+3&#ffffff0|d|i|f|i|l|e|1| @10|1|,|1| @11|T|o|p| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|T|o|p
+|:+0&&|s|e|t| |d|i|f@1|o|p|t|+|=|i|n|t|e|r|n|a|l| @52
diff --git a/src/testdir/dumps/Test_diff_08.dump b/src/testdir/dumps/Test_diff_08.dump
new file mode 100644
index 0000000..a8392df
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_08.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1>#+0#0000000#ffffff0|i|n|c|l|u|d|e| |<|s|t|d|i|o|.|h|>| @16||+1&&| +0#0000e05#a8a8a8255@1|#+0#0000000#ffffff0|i|n|c|l|u|d|e| |<|s|t|d|i|o|.|h|>| @16
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|i+0#0000000#5fd7ff255|n|t| |f|i|b|(|i|n|t| |n|)| @20
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|{+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|i|f|(|n| |>| |2|)| @21
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|{| @29
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@7|r|e|t|u|r|n| |f|i|b|(|n|-|1|)| |+| |f|i|b|(|n|-|2|)|;
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|}| @29
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|r|e|t|u|r|n| |1|;| @21
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|}+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@34
+| +0#0000e05#a8a8a8255@1|/+0#0000000#ffffff0@1| |F|r|o|b|s| |f|o@1| |h|e|a|r|t|i|l|y| @13||+1&&| +0#0000e05#a8a8a8255@1|/+0#0000000#ffffff0@1| |F|r|o|b|s| |f|o@1| |h|e|a|r|t|i|l|y| @13
+| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|t| |f|r|o|b|n|i|t|z|(|i|n|t| |f|o@1|)| @13||+1&&| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|t| |f|r|o|b|n|i|t|z|(|i|n|t| |f|o@1|)| @13
+| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|i|n|t| |i|;| @24||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|i|n|t| |i|;| @24
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|f|o|r|(|i| |=| |0|;| |i| |<| |1|0|;| |i|+@1|)| @7||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|f|o|r|(|i| |=| |0|;| |i| |<| |1|0|;| |i|+@1|)| @7
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|{| @29||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|{| @29
+| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@7|p|r|i|n|t|f|(|"|Y|o|u|r| |a|n|s|w|e|r| |i|s|:| |"|)|;||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|X+3#0000000#ffffff0|d|i|f|i|l|e|1| @10|1|,|1| @11|T|o|p| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|T|o|p
+|:+0&&|s|e|t| |d|i|f@1|o|p|t|+|=|a|l|g|o|r|i|t|h|m|:|p|a|t|i|e|n|c|e| @42
diff --git a/src/testdir/dumps/Test_diff_09.dump b/src/testdir/dumps/Test_diff_09.dump
new file mode 100644
index 0000000..700d30c
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_09.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1>#+0#0000000#ffffff0|i|n|c|l|u|d|e| |<|s|t|d|i|o|.|h|>| @16||+1&&| +0#0000e05#a8a8a8255@1|#+0#0000000#ffffff0|i|n|c|l|u|d|e| |<|s|t|d|i|o|.|h|>| @16
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|i+0#0000000#5fd7ff255|n|t| |f|i|b|(|i|n|t| |n|)| @20
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|{+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|i|f|(|n| |>| |2|)| @21
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|{| @29
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@7|r|e|t|u|r|n| |f|i|b|(|n|-|1|)| |+| |f|i|b|(|n|-|2|)|;
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|}| @29
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|r|e|t|u|r|n| |1|;| @21
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|}+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@34
+| +0#0000e05#a8a8a8255@1|/+0#0000000#ffffff0@1| |F|r|o|b|s| |f|o@1| |h|e|a|r|t|i|l|y| @13||+1&&| +0#0000e05#a8a8a8255@1|/+0#0000000#ffffff0@1| |F|r|o|b|s| |f|o@1| |h|e|a|r|t|i|l|y| @13
+| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|t| |f|r|o|b|n|i|t|z|(|i|n|t| |f|o@1|)| @13||+1&&| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|t| |f|r|o|b|n|i|t|z|(|i|n|t| |f|o@1|)| @13
+| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|i|n|t| |i|;| @24||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|i|n|t| |i|;| @24
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|f|o|r|(|i| |=| |0|;| |i| |<| |1|0|;| |i|+@1|)| @7||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|f|o|r|(|i| |=| |0|;| |i| |<| |1|0|;| |i|+@1|)| @7
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|{| @29||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|{| @29
+| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@7|p|r|i|n|t|f|(|"|Y|o|u|r| |a|n|s|w|e|r| |i|s|:| |"|)|;||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+|X+3#0000000#ffffff0|d|i|f|i|l|e|1| @10|1|,|1| @11|T|o|p| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|T|o|p
+|:+0&&|s|e|t| |d|i|f@1|o|p|t|+|=|a|l|g|o|r|i|t|h|m|:|h|i|s|t|o|g|r|a|m| @41
diff --git a/src/testdir/dumps/Test_diff_10.dump b/src/testdir/dumps/Test_diff_10.dump
new file mode 100644
index 0000000..8bc91fb
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_10.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1> +0#0000000#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@1|d|e|f| |f|i|n|a|l|i|z|e|(|v|a|l|u|e|s|)| @12||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@1|d|e|f| |f|i|n|a|l|i|z|e|(|v|a|l|u|e|s|)| @12
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|v|a|l|u|e|s|.|e|a|c|h| |d|o| |||v||| @12||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|v|a|l|u|e|s|.|e|a|c|h| |d|o| |||v||| @12
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@5|v|.|p|r|e|p|a|r|e| @19
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|e|n|d| @27
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@34
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|v|a|l|u|e|s|.|e|a|c|h| |d|o| |||v||| @12
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@5|v|.|f|i|n|a|l|i|z|e| @18||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@5|v|.|f|i|n|a|l|i|z|e| @18
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|e|n|d| @27||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|e|n|d| @27
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|0|-|1| @9|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|0|-|1| @9|A|l@1
+|:+0&&|s|e|t| |d|i|f@1|o|p|t|+|=|i|n|t|e|r|n|a|l| @52
diff --git a/src/testdir/dumps/Test_diff_11.dump b/src/testdir/dumps/Test_diff_11.dump
new file mode 100644
index 0000000..216c66b
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_11.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1> +0#0000000#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@1|d|e|f| |f|i|n|a|l|i|z|e|(|v|a|l|u|e|s|)| @12||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@1|d|e|f| |f|i|n|a|l|i|z|e|(|v|a|l|u|e|s|)| @12
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|v|a|l|u|e|s|.|e|a|c|h| |d|o| |||v||| @12
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@5|v|.|p|r|e|p|a|r|e| @19
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@3|e|n|d| @27
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@34
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|v|a|l|u|e|s|.|e|a|c|h| |d|o| |||v||| @12||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|v|a|l|u|e|s|.|e|a|c|h| |d|o| |||v||| @12
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@5|v|.|f|i|n|a|l|i|z|e| @18||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@5|v|.|f|i|n|a|l|i|z|e| @18
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|e|n|d| @27||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|e|n|d| @27
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|0|-|1| @9|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|0|-|1| @9|A|l@1
+|:+0&&| @73
diff --git a/src/testdir/dumps/Test_diff_12.dump b/src/testdir/dumps/Test_diff_12.dump
new file mode 100644
index 0000000..dd29b9f
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_12.dump
@@ -0,0 +1,20 @@
+|++0#0000e05#a8a8a8255| |+|-@1| |1|0| |l|i|n|e|s|:| |1|-@19||+1#0000000#ffffff0|++0#0000e05#a8a8a8255| |+|-@1| |1|0| |l|i|n|e|s|:| |1|-@19
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_13.dump b/src/testdir/dumps/Test_diff_13.dump
new file mode 100644
index 0000000..b93fba7
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_13.dump
@@ -0,0 +1,20 @@
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@34||+1&&|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@34
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|0|,|0|-|1| @9|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|0|,|0|-|1| @9|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_14.dump b/src/testdir/dumps/Test_diff_14.dump
new file mode 100644
index 0000000..c241898
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_14.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|A+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255|d| @32||+1&#ffffff0| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255|D|e+2&#ff404010| +0&#ffd7ff255@31
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_15.dump b/src/testdir/dumps/Test_diff_15.dump
new file mode 100644
index 0000000..6a65c2d
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_15.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1>i+0#0000000#ffffff0|n|t| |m|a|i|n|(|)| @24||+1&&| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|t| |m|a|i|n|(|)| @24
+| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@2|i|f| |(|0|)| @25
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@2|{| @30
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@2|p|r|i|n|t|f|(|"|H|e|l@1|o|,| |W|o|r|l|d|!|"|)|;| @7||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@5|p|r|i|n|t|f|(|"|H|e|l@1|o|,| |W|o|r|l|d|!|"|)|;| @4
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@2|r|e|t|u|r|n| |0|;| @22||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@5|r|e|t|u|r|n| |0|;| @19
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@2|}| @30
+| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @33
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&|s|e|t| |d|i|f@1|o|p|t|&|v|i|m| |d|i|f@1|o|p|t|+|=|f|i|l@1|e|r| |d|i|f@1|o|p|t|+|=|i|w|h|i|t|e| @26
diff --git a/src/testdir/dumps/Test_diff_16.dump b/src/testdir/dumps/Test_diff_16.dump
new file mode 100644
index 0000000..5121bc9
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_16.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1>i+0#0000000#ffffff0|n|t| |m|a|i|n|(|)| @24||+1&&| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|t| |m|a|i|n|(|)| @24
+| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|{+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@2|i|f| |(|0|)| @25
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@2|{| @30
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@2|p|r|i|n|t|f|(|"|H|e|l@1|o|,| |W|o|r|l|d|!|"|)|;| @7||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@5|p|r|i|n|t|f|(|"|H|e|l@1|o|,| |W|o|r|l|d|!|"|)|;| @4
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@2|r|e|t|u|r|n| |0|;| @22||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@5|r|e|t|u|r|n| |0|;| @19
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@2|}| @30
+| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @33
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&|s|e|t| |d|i|f@1|o|p|t|+|=|i|n|t|e|r|n|a|l| @52
diff --git a/src/testdir/dumps/Test_diff_17.dump b/src/testdir/dumps/Test_diff_17.dump
new file mode 100644
index 0000000..f1cd41f
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_17.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@34||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0|d| @32||+1&&| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0|d| @32
+| +0#0000e05#a8a8a8255@1|e+0#0000000#ffffff0|f| @32||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1|x+2#0000000#ff404010@2| +0&#ffd7ff255@31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|e+0#0000000#ffffff0|f| @32
+|~+0#4040ff13&| @35||+1#0000000&| +0#0000e05#a8a8a8255@1|y+2#0000000#ff404010@2| +0&#ffd7ff255@31
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_18.dump b/src/testdir/dumps/Test_diff_18.dump
new file mode 100644
index 0000000..5fd231c
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_18.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0|d| @32
+| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0|d| @32||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1|e+0#0000000#ffffff0|f| @32||+1&&| +0#0000e05#a8a8a8255@1|e+0#0000000#ffffff0|f| @32
+| +0#0000e05#a8a8a8255@1|x+2#0000000#ff404010@2| +0&#ffd7ff255@31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|y+2#0000000#ff404010@2| +0&#ffd7ff255@31
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_19.dump b/src/testdir/dumps/Test_diff_19.dump
new file mode 100644
index 0000000..82543df
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_19.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255|d| @32||+1&#ffffff0| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255| +2&#ff404010|d+0&#ffd7ff255| @31
+| +0#0000e05#a8a8a8255@1|e+0#0000000#ffd7ff255|f| @32||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010|e+0&#ffd7ff255|f| @31
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffd7ff255@1| | +2&#ff404010|x+0&#ffd7ff255@1| @28||+1&#ffffff0| +0#0000e05#a8a8a8255@1|x+0#0000000#ffd7ff255@1| |x@1| @29
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31||+1&&| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@34
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0|a|r| @31||+1&&| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0|a|r| @31
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_20.dump b/src/testdir/dumps/Test_diff_20.dump
new file mode 100644
index 0000000..1180de6
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_20.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0|d| @32||+1&&| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0| |d| @31
+| +0#0000e05#a8a8a8255@1|e+0#0000000#ffffff0|f| @32||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0|e|f| @31
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@1| @1|x@1| @28||+1&&| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@1| |x@1| @29
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31||+1&&| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#5fd7ff255@34
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0|a|r| @31||+1&&| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0|a|r| @31
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|X+3#0000000&|d|i|f|i|l|e|1| @10|1|,|1| @11|A|l@1| |X+1&&|d|i|f|i|l|e|2| @10|1|,|1| @11|A|l@1
+|:+0&&> @73
diff --git a/src/testdir/dumps/Test_diff_bin_01.dump b/src/testdir/dumps/Test_diff_bin_01.dump
new file mode 100644
index 0000000..a7d4cce
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_bin_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1>A+2#0000000#ff404010| +0&#ffd7ff255@33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+2#0000000#ff404010| +0&#ffd7ff255@33
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255|^+2#0000e05#ff404010|@| +0#0000000#ffd7ff255@31
+| +0#0000e05#a8a8a8255@1|d+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|d+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|E+2#0000000#ff404010| +0&#ffd7ff255@33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|e+2#0000000#ff404010| +0&#ffd7ff255@33
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|g+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|g+0#0000000#ffffff0| @33
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_bin_02.dump b/src/testdir/dumps/Test_diff_bin_02.dump
new file mode 100644
index 0000000..64ee1ac
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_bin_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1>A+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255|^+2#0000e05#ff404010|@| +0#0000000#ffd7ff255@31
+| +0#0000e05#a8a8a8255@1|d+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|d+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|E+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|e+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|g+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|g+0#0000000#ffffff0| @33
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_bin_03.dump b/src/testdir/dumps/Test_diff_bin_03.dump
new file mode 100644
index 0000000..a7d4cce
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_bin_03.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1>A+2#0000000#ff404010| +0&#ffd7ff255@33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|a+2#0000000#ff404010| +0&#ffd7ff255@33
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255|^+2#0000e05#ff404010|@| +0#0000000#ffd7ff255@31
+| +0#0000e05#a8a8a8255@1|d+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|d+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|E+2#0000000#ff404010| +0&#ffd7ff255@33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|e+2#0000000#ff404010| +0&#ffd7ff255@33
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|g+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|g+0#0000000#ffffff0| @33
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_bin_04.dump b/src/testdir/dumps/Test_diff_bin_04.dump
new file mode 100644
index 0000000..64ee1ac
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_bin_04.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1>A+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255| @33||+1&#ffffff0| +0#0000e05#a8a8a8255@1|c+0#0000000#ffd7ff255|^+2#0000e05#ff404010|@| +0#0000000#ffd7ff255@31
+| +0#0000e05#a8a8a8255@1|d+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|d+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|E+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|e+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|g+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|g+0#0000000#ffffff0| @33
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_cuc_01.dump b/src/testdir/dumps/Test_diff_cuc_01.dump
new file mode 100644
index 0000000..19c42f4
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_cuc_01.dump
@@ -0,0 +1,20 @@
+>a+0&#ffffff0@1| @34||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0@1| @32
+|-+0#4040ff13#afffff255@36||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|b+0#0000000#5fd7ff255@1| @32
+|c+0&#e0e0e08|c+0&#ffffff0| @34||+1&&| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0@1| @32
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_cuc_02.dump b/src/testdir/dumps/Test_diff_cuc_02.dump
new file mode 100644
index 0000000..80a296c
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_cuc_02.dump
@@ -0,0 +1,20 @@
+|a+0&#ffffff0>a| @34||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0@1| @32
+|-+0#4040ff13#afffff255@36||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|b+0#0000000#5fd7ff255@1| @32
+|c+0&#ffffff0|c+0&#e0e0e08| +0&#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0@1| @32
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|2| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|2| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_cuc_03.dump b/src/testdir/dumps/Test_diff_cuc_03.dump
new file mode 100644
index 0000000..19a3c1f
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_cuc_03.dump
@@ -0,0 +1,20 @@
+|a+0&#e0e0e08|a+0&#ffffff0| @34||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0@1| @32
+|-+0#4040ff13#afffff255@36||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|b+0#0000000#5fd7ff255@1| @32
+>c+0&#ffffff0@1| @34||+1&&| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0@1| @32
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|2|,|1| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|3|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_cuc_04.dump b/src/testdir/dumps/Test_diff_cuc_04.dump
new file mode 100644
index 0000000..ba29893
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_cuc_04.dump
@@ -0,0 +1,20 @@
+|a+0&#ffffff0|a+0&#e0e0e08| +0&#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0@1| @32
+|-+0#4040ff13#afffff255@36||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|b+0#0000000#5fd7ff255@1| @32
+|c+0&#ffffff0>c| @34||+1&&| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0@1| @32
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|2|,|2| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|3|,|2| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_of_diff_01.dump b/src/testdir/dumps/Test_diff_of_diff_01.dump
new file mode 100644
index 0000000..2213bf3
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_of_diff_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|1| >a+0#0000000&@1| @28||+1&&| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0@1| @32
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|2| |b+0#0000000&@1| @28||+1&&| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0@1| @32
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|3| |c+0#0000000&@1| @28||+1&&| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0@1| @32
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|-+0#4040ff13#afffff255@30||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|@+0#0000000#5fd7ff255@1| |-|3|,|2| |+|5|,|7| |@@1| @19
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|-+0#4040ff13#afffff255@30||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|d+0#0000000#5fd7ff255@1| @32
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|-+0#4040ff13#afffff255@30||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|e+0#0000000#5fd7ff255@1| @32
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|-+0#4040ff13#afffff255@30||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#5fd7ff255@1| @32
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_of_diff_02.dump b/src/testdir/dumps/Test_diff_of_diff_02.dump
new file mode 100644
index 0000000..86c06f5
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_of_diff_02.dump
@@ -0,0 +1,20 @@
+| +0&#ffffff0@28|a>a| +0#af5f00255&|1| @1| +0#0000e05#a8a8a8255@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0@1| @32
+@29|b@1| +0#af5f00255&|2| @1| +0#0000e05#a8a8a8255@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0@1| @32
+@29|c@1| +0#af5f00255&|3| @1| +0#0000e05#a8a8a8255@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|c+0#0000000#ffffff0@1| @32
+|-+0#4040ff13#afffff255@30| +0#af5f00255#ffffff0@3| +0#0000e05#a8a8a8255@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|@+0#0000000#5fd7ff255@1| |-|3|,|2| |+|5|,|7| |@@1| @19
+|-+0#4040ff13#afffff255@30| +0#af5f00255#ffffff0@3| +0#0000e05#a8a8a8255@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|d+0#0000000#5fd7ff255@1| @32
+|-+0#4040ff13#afffff255@30| +0#af5f00255#ffffff0@3| +0#0000e05#a8a8a8255@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|e+0#0000000#5fd7ff255@1| @32
+|-+0#4040ff13#afffff255@30| +0#af5f00255#ffffff0@3| +0#0000e05#a8a8a8255@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|f+0#0000000#5fd7ff255@1| @32
+| +0#4040ff13#ffffff0@35|~||+1#0000000&|~+0#4040ff13&| @35
+@36|~||+1#0000000&|~+0#4040ff13&| @35
+@36|~||+1#0000000&|~+0#4040ff13&| @35
+@36|~||+1#0000000&|~+0#4040ff13&| @35
+@36|~||+1#0000000&|~+0#4040ff13&| @35
+@36|~||+1#0000000&|~+0#4040ff13&| @35
+@36|~||+1#0000000&|~+0#4040ff13&| @35
+@36|~||+1#0000000&|~+0#4040ff13&| @35
+@36|~||+1#0000000&|~+0#4040ff13&| @35
+@36|~||+1#0000000&|~+0#4040ff13&| @35
+@36|~||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1
+|:+0&&|s|e|t| |r|i|g|h|t|l|e|f|t| @60
diff --git a/src/testdir/dumps/Test_diff_rnu_01.dump b/src/testdir/dumps/Test_diff_rnu_01.dump
new file mode 100644
index 0000000..dc7c0f9
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_rnu_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&|1+0#af5f00255&| @2>a+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|1| |a+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|2| |a+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|x+2#0000000#ff404010| +0&#ffd7ff255@33||+1&#ffffff0| +0#af5f00255&@1|3| |y+2#0000000#ff404010| +0&#ffd7ff255@31
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#af5f00255&@3|-+0#4040ff13#afffff255@32
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#af5f00255&@3|-+0#4040ff13#afffff255@32
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|4| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|5| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|6| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|7| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|8| |b+0#0000000&| @31
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_rnu_02.dump b/src/testdir/dumps/Test_diff_rnu_02.dump
new file mode 100644
index 0000000..32ffc40
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_rnu_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|1| |a+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&|2+0#af5f00255&| @2>a+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|1| |a+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|x+2#0000000#ff404010| +0&#ffd7ff255@33||+1&#ffffff0| +0#af5f00255&@1|2| |y+2#0000000#ff404010| +0&#ffd7ff255@31
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#af5f00255&@3|-+0#4040ff13#afffff255@32
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#af5f00255&@3|-+0#4040ff13#afffff255@32
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|3| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|4| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|5| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|6| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|7| |b+0#0000000&| @31
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|2|,|1| @11|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|2|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_rnu_03.dump b/src/testdir/dumps/Test_diff_rnu_03.dump
new file mode 100644
index 0000000..8c8b938
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_rnu_03.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|2| |a+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|1| |a+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|a+0#0000000#ffffff0| @33||+1&&|3+0#af5f00255&| @2>a+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|x+2#0000000#ff404010| +0&#ffd7ff255@33||+1&#ffffff0| +0#af5f00255&@1|1| |y+2#0000000#ff404010| +0&#ffd7ff255@31
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#af5f00255&@3|-+0#4040ff13#afffff255@32
+| +0#0000e05#a8a8a8255@1|x+0#0000000#5fd7ff255| @33||+1&#ffffff0| +0#af5f00255&@3|-+0#4040ff13#afffff255@32
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|2| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|3| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|4| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|5| |b+0#0000000&| @31
+| +0#0000e05#a8a8a8255@1|b+0#0000000#ffffff0| @33||+1&&| +0#af5f00255&@1|6| |b+0#0000000&| @31
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|3|,|1| @11|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|3|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_scroll_1.dump b/src/testdir/dumps/Test_diff_scroll_1.dump
new file mode 100644
index 0000000..ee53c35
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_scroll_1.dump
@@ -0,0 +1,12 @@
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |1| @28||+1&&| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |1| @28
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |2| @28||+1&&| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |2| @28
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |3| @28||+1&&| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |3| @28
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |4| @28||+1&&| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |4| @28
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1> +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|L+0#0000000#5fd7ff255|o|r|e|m| @29
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|i+0#0000000#5fd7ff255|p|s|u|m| @29
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|d+0#0000000#5fd7ff255|o|l|o|r| @29
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|s+0#0000000#5fd7ff255|i|t| @31
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|m|e|t|,| @29
+|X+1&#ffffff0|l|e|f|t| @13|5|,|0|-|1| @9|T|o|p| |X+3&&|r|i|g|h|t| @12|5|,|0|-|1| @9|T|o|p
+|"+0&&|X|r|i|g|h|t|"| |3@1|L|,| |2|6|3|B| @56
diff --git a/src/testdir/dumps/Test_diff_scroll_2.dump b/src/testdir/dumps/Test_diff_scroll_2.dump
new file mode 100644
index 0000000..4cac386
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_scroll_2.dump
@@ -0,0 +1,12 @@
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |1| @28||+1&&| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |1| @28
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |2| @28||+1&&| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |2| @28
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |3| @28||+1&&| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |3| @28
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |4| @28||+1&&| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |4| @28
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34||+1&&| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@34
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1>L+0#0000000#5fd7ff255|o|r|e|m| @29
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|i+0#0000000#5fd7ff255|p|s|u|m| @29
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|d+0#0000000#5fd7ff255|o|l|o|r| @29
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|s+0#0000000#5fd7ff255|i|t| @31
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|a+0#0000000#5fd7ff255|m|e|t|,| @29
+|X+1&#ffffff0|l|e|f|t| @13|6|,|1| @11|T|o|p| |X+3&&|r|i|g|h|t| @12|6|,|1| @11|T|o|p
+|"+0&&|X|r|i|g|h|t|"| |3@1|L|,| |2|6|3|B| @56
diff --git a/src/testdir/dumps/Test_diff_scroll_change_01.dump b/src/testdir/dumps/Test_diff_scroll_change_01.dump
new file mode 100644
index 0000000..886fe60
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_scroll_change_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|6+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|7+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|8+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0@1| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0@1| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|2| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|2| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|3| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|3| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|4| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|4| @32
+|-+0#0000e05#a8a8a8255| |1+0#0000000#ffffff0>5| @32||+1&&|-+0#0000e05#a8a8a8255| |1+0#0000000#ffffff0|5| @32
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|7|,|2| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|5|,|2| @10|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_scroll_change_02.dump b/src/testdir/dumps/Test_diff_scroll_change_02.dump
new file mode 100644
index 0000000..d699ded
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_scroll_change_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|6+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|7+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|8+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0@1| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0@1| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|2| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|2| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|3| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|3| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|4| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|4| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffd7ff255|5>x+2&#ff404010| +0&#ffd7ff255@31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|1+0#0000000#ffd7ff255|5| @32
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|7|,|3| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|5|,|3| @10|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_scroll_change_03.dump b/src/testdir/dumps/Test_diff_scroll_change_03.dump
new file mode 100644
index 0000000..6d0c860
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_scroll_change_03.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|6+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|7+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|8+0#0000000#5fd7ff255| @33
+| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33||+1&&| +0#0000e05#a8a8a8255@1|9+0#0000000#ffffff0| @33
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|0| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0@1| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0@1| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|2| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|2| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|3| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|3| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|4| @32||+1&&| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0|4| @32
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffd7ff255|5|x+2&#ff404010| +0&#ffd7ff255@31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|1+0#0000000#ffd7ff255|5>y+2&#ff404010| +0&#ffd7ff255@31
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|7|,|3| @11|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|5|,|3| @10|B|o|t
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_syntax_1.dump b/src/testdir/dumps/Test_diff_syntax_1.dump
new file mode 100644
index 0000000..c96793a
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_syntax_1.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1>v+0#00e0003#ffd7ff255|o|i|d| +0#0000000&|d|o|S+2&#ff404010|o|m|e|t+0&#ffd7ff255|h|i|n|g|(|)| |{| @52
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@2|i+0#00e0003&|n|t| +0#0000000&|x| |=| |0+0#e000002&|;+0#0000000&| @59
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@2|c+0#00e0003&|h|a|r| +0#0000000&|*|s| |=| |"+0#e000002&|t+2&#ff404010|h|e|r|e|"+0&#ffd7ff255|;+0#0000000&| @51
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|5+0#e000002&|;+0#0000000&| @60
+| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @71
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|X+3#0000000&|p|r|o|g|r|a|m|2|.|c| @45|1|,|1| @11|A|l@1
+| +0#0000e05#a8a8a8255@1|v+0#00e0003#ffd7ff255|o|i|d| +0#0000000&|d|o|N+2&#ff404010|o|t+0&#ffd7ff255|h|i|n|g|(|)| |{| @54
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@2|i+0#00e0003&|n|t| +0#0000000&|x| |=| |0+0#e000002&|;+0#0000000&| @59
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@2|c+0#00e0003&|h|a|r| +0#0000000&|*|s| |=| |"+0#e000002&|h+2&#ff404010|e|l@1|o|"+0&#ffd7ff255|;+0#0000000&| @51
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|5+0#e000002&|;+0#0000000&| @60
+| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @71
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|X+1#0000000&|p|r|o|g|r|a|m|1|.|c| @45|1|,|1| @11|A|l@1
+|"+0&&|X|p|r|o|g|r|a|m|2|.|c|"| |5|L|,| |7|2|B| @53
diff --git a/src/testdir/dumps/Test_diff_with_cul_bri_01.dump b/src/testdir/dumps/Test_diff_with_cul_bri_01.dump
new file mode 100644
index 0000000..8151088
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cul_bri_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@1|b+10&&|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1> +8#ffffff16#ff404010@1|f+10&&|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@21
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b+10#ffffff16&|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o+10#ffffff16&|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b+10#ffffff16&|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1| +8&&@2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o+10#ffffff16&@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|z+2&#ff404010|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|r+2&#ff404010|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r||+1&#ffffff0|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|<+1#0000000&|o| |N|a|m|e|]| |[|+|]| |1|,|1| @5|A|l@1| |<+3&&| |N|a|m|e|]| |[|+|]| |1|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| @2|0|,|0|-|1| @3|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_with_cul_bri_02.dump b/src/testdir/dumps/Test_diff_with_cul_bri_02.dump
new file mode 100644
index 0000000..62126f6
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cul_bri_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b+2&#ff404010|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+2&#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@21
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1> +8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+8#ffffff16#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o+8#ffffff16#ff404010|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+8#ffffff16#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o+8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|z+2&#ff404010|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|r+2&#ff404010|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r||+1&#ffffff0|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|<+1#0000000&|o| |N|a|m|e|]| |[|+|]| |2|,|1| @5|A|l@1| |<+3&&| |N|a|m|e|]| |[|+|]| |2|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| @2|0|,|0|-|1| @3|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_with_cul_bri_03.dump b/src/testdir/dumps/Test_diff_with_cul_bri_03.dump
new file mode 100644
index 0000000..f32be73
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cul_bri_03.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b+2&#ff404010|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+2&#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@21
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1> +8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+8#ffffff16#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o+8#ffffff16#ff404010|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+8#ffffff16#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o+8#ffffff16#ff404010@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|z+2&#ff404010|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b|a|r+2&#ff404010|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r||+1&#ffffff0|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|<+1#0000000&|o| |N|a|m|e|]| |[|+|]| |3|,|1| @5|A|l@1| |<+3&&| |N|a|m|e|]| |[|+|]| |3|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| @2|0|,|0|-|1| @3|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_with_cul_bri_04.dump b/src/testdir/dumps/Test_diff_with_cul_bri_04.dump
new file mode 100644
index 0000000..9489f9a
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cul_bri_04.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|b+2&#ff404010|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f+2&#ff404010|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@21
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1|b|e@1| +0&#ffd7ff255@2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1| @2||+1&#ffffff0| +0#0000e05#a8a8a8255@1| +0#0000000#ffd7ff255@1|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1|f|o@1||+1&#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +8#ffffff16#ff404010@1|b|a|z+10&&|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1> +8#ffffff16#ff404010@1|b|a|r+10&&|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b+10#ffffff16&|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|r+10#ffffff16&|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b||+1#0000000#ffffff0|~+0#4040ff13&| @22
+| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|b+10#ffffff16&|a|z|b|a|z|b|a|z|b|a|z|b|a|z|b|a|z| +8&&@2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +2#0000000#ff404010@1|a+10#ffffff16&|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r|b|a|r||+1#0000000#ffffff0|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|~| @23||+1#0000000&|~+0#4040ff13&| @22||+1#0000000&|~+0#4040ff13&| @22
+|<+1#0000000&|o| |N|a|m|e|]| |[|+|]| |4|,|1| @5|A|l@1| |<+3&&| |N|a|m|e|]| |[|+|]| |4|,|1| @5|A|l@1| |[+1&&|N|o| |N|a|m|e|]| @2|0|,|0|-|1| @3|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_with_cursorline_01.dump b/src/testdir/dumps/Test_diff_with_cursorline_01.dump
new file mode 100644
index 0000000..d43c9ca
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cursorline_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|b+8#ffffff16#ff404010|e@1| @31||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31||+1&&| +0#0000e05#a8a8a8255@1>f+8#ffffff16#ff404010|o@1| @31
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31||+1&&| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31
+| +0#0000e05#a8a8a8255@1|b+2#0000000#ff404010|a|z| +0&#ffd7ff255@31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+2#0000000#ff404010|o@1| +0&#ffd7ff255@31
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|b+0#0000000#5fd7ff255|a|r| @31
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_with_cursorline_02.dump b/src/testdir/dumps/Test_diff_with_cursorline_02.dump
new file mode 100644
index 0000000..477e367
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cursorline_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|b+0#0000000#5fd7ff255|e@1| @31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31||+1&&| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31
+| +0#0000e05#a8a8a8255@1|f+8#ffffff16#ff404010|o@1| @31||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1>f+8#ffffff16#ff404010|o@1| @31
+| +0#0000e05#a8a8a8255@1|b+2#0000000#ff404010|a|z| +0&#ffd7ff255@31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|f+2#0000000#ff404010|o@1| +0&#ffd7ff255@31
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|b+0#0000000#5fd7ff255|a|r| @31
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|3|,|1| @11|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|2|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_with_cursorline_03.dump b/src/testdir/dumps/Test_diff_with_cursorline_03.dump
new file mode 100644
index 0000000..efef1c1
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cursorline_03.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1|b+0#0000000#5fd7ff255|e@1| @31||+1&#ffffff0| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31||+1&&| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31||+1&&| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @31
+| +0#0000e05#a8a8a8255@1|b+10#ffffff16#ff404010|a|z| +8&&@31||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1>f+10#ffffff16#ff404010|o@1| +8&&@31
+| +0#0000e05#a8a8a8255@1|-+0#4040ff13#afffff255@34||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1|b+0#0000000#5fd7ff255|a|r| @31
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|4|,|1| @11|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|3|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_with_cursorline_number_01.dump b/src/testdir/dumps/Test_diff_with_cursorline_number_01.dump
new file mode 100644
index 0000000..8289210
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cursorline_number_01.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|-+0#4040ff13#afffff255@30||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|1| |b+0#0000000#5fd7ff255|a|z| @27
+| +0#0000e05#a8a8a8255@1| +8#0000001#ffffff16@1|1| >f+8#ffffff16#ff404010|o@1| @27||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +8#0000001#ffffff16@1|2| |f+8#ffffff16#ff404010|o@1| @27
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|2| |f+0#0000000&|o@1| @27||+1&&| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|3| |f+0#0000000&|o@1| @27
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|3| |b+0#0000000&|a|r| @27||+1&&| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|4| |b+0#0000000&|a|r| @27
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|2|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_diff_with_cursorline_number_02.dump b/src/testdir/dumps/Test_diff_with_cursorline_number_02.dump
new file mode 100644
index 0000000..028441c
--- /dev/null
+++ b/src/testdir/dumps/Test_diff_with_cursorline_number_02.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|-+0#4040ff13#afffff255@30||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|1| |b+0#0000000#5fd7ff255|a|z| @27
+| +0#0000e05#a8a8a8255@1| +8#0000001#ffffff16@1|1| >f+0#0000000#ffffff0|o@1| @27||+1&&| +0#0000e05#a8a8a8255@1| +8#0000001#ffffff16@1|2| |f+8#ffffff16#ff404010|o@1| @27
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|2| |f+0#0000000&|o@1| @27||+1&&| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|3| |f+0#0000000&|o@1| @27
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|3| |b+0#0000000&|a|r| @27||+1&&| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|4| |b+0#0000000&|a|r| @27
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|2|,|1| @11|A|l@1
+|:+0&&|s|e|t| |c|u|r|s|o|r|l|i|n|e|o|p|t|=|n|u|m|b|e|r| @49
diff --git a/src/testdir/dumps/Test_display_fillchars_1.dump b/src/testdir/dumps/Test_display_fillchars_1.dump
new file mode 100644
index 0000000..b0b1642
--- /dev/null
+++ b/src/testdir/dumps/Test_display_fillchars_1.dump
@@ -0,0 +1,12 @@
+|w+0&#ffffff0|i|n|d|o|w| |2| @28|++1&&|w+0&&|i|n|d|o|w| |1| @28
+|w|i|n|d|o|w| |2| @28|++1&&|w+0&&|i|n|d|o|w| |1| @28
+|w|i|n|d|o|w| |2| @28|++1&&|w+0&&|i|n|d|o|w| |1| @28
+|y+0#4040ff13&| @35|++1#0000000&|x+0#4040ff13&| @35
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]|b@5|1|,|1|b@11|A|l@1|b|[|N|o| |N|a|m|e|]| |[|+|]|a@5|1|,|1|a@11|A|l@1
+>w+0&&|i|n|d|o|w| |4| @28|>+1&&|w+0&&|i|n|d|o|w| |3| @28
+|w|i|n|d|o|w| |4| @28|>+1&&|w+0&&|i|n|d|o|w| |3| @28
+|w|i|n|d|o|w| |4| @28|>+1&&|w+0&&|i|n|d|o|w| |3| @28
+|o+0#4040ff13&| @35|>+1#0000000&|z+0#4040ff13&| @35
+|o| @35|>+1#0000000&|z+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]|4@5|1|,|1|4@11|A|l@1|4|[+1&&|N|o| |N|a|m|e|]| |[|+|]|c@5|1|,|1|c@11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_display_fillchars_2.dump b/src/testdir/dumps/Test_display_fillchars_2.dump
new file mode 100644
index 0000000..b983fac
--- /dev/null
+++ b/src/testdir/dumps/Test_display_fillchars_2.dump
@@ -0,0 +1,12 @@
+>w+0&#ffffff0|i|n|d|o|w| |2| @28|++1&&|w+0&&|i|n|d|o|w| |1| @28
+|w|i|n|d|o|w| |2| @28|++1&&|w+0&&|i|n|d|o|w| |1| @28
+|w|i|n|d|o|w| |2| @28|++1&&|w+0&&|i|n|d|o|w| |1| @28
+|y+0#4040ff13&| @35|++1#0000000&|x+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]|2@5|1|,|1|2@11|A|l@1|2|[+1&&|N|o| |N|a|m|e|]| |[|+|]|a@5|1|,|1|a@11|A|l@1
+|w+0&&|i|n|d|o|w| |4| @28|>+1&&|w+0&&|i|n|d|o|w| |3| @28
+|w|i|n|d|o|w| |4| @28|>+1&&|w+0&&|i|n|d|o|w| |3| @28
+|w|i|n|d|o|w| |4| @28|>+1&&|w+0&&|i|n|d|o|w| |3| @28
+|o+0#4040ff13&| @35|>+1#0000000&|z+0#4040ff13&| @35
+|o| @35|>+1#0000000&|z+0#4040ff13&| @35
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]|d@5|1|,|1|d@11|A|l@1|d|[|N|o| |N|a|m|e|]| |[|+|]|c@5|1|,|1|c@11|A|l@1
+|:+0&&|w|i|n|c|m|d| |k| @65
diff --git a/src/testdir/dumps/Test_display_lastline_1.dump b/src/testdir/dumps/Test_display_lastline_1.dump
new file mode 100644
index 0000000..d074773
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_1.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0||+1&&|a+0&&@2| @69
+|a||+1&&|b+0&&@72
+|a||+1&&|b+0&&@72
+@1||+1&&|b+0&&@53| @18
+|b||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|@||+1#0000000&|~+0#4040ff13&| @71
+|<+3#0000000&| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_display_lastline_2.dump b/src/testdir/dumps/Test_display_lastline_2.dump
new file mode 100644
index 0000000..065e5d8
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_2.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0||+1&&|a+0&&@2| @69
+|a||+1&&|b+0&&@72
+|a||+1&&|b+0&&@72
+@1||+1&&|b+0&&@53| @18
+|b||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|@||+1#0000000&|~+0#4040ff13&| @71
+|<+3#0000000&| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1
+|:+0&&|s|e|t| |d|i|s|p|l|a|y|=|l|a|s|t|l|i|n|e| @53
diff --git a/src/testdir/dumps/Test_display_lastline_3.dump b/src/testdir/dumps/Test_display_lastline_3.dump
new file mode 100644
index 0000000..38673ab
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_3.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@2| @69||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@53| @18||+1&&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|@+0#4040ff13&
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1| |<+1&&
+|:+0&&|1|0@1|w|i|n|c|m|d| |>| @62
diff --git a/src/testdir/dumps/Test_display_lastline_4.dump b/src/testdir/dumps/Test_display_lastline_4.dump
new file mode 100644
index 0000000..2978631
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_4.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@2| @69||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@53| @18||+1&&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|@+0#4040ff13&
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1| |<+1&&
+|:+0&&|s|e|t| |d|i|s|p|l|a|y|=|t|r|u|n|c|a|t|e| @53
diff --git a/src/testdir/dumps/Test_display_lastline_5.dump b/src/testdir/dumps/Test_display_lastline_5.dump
new file mode 100644
index 0000000..7567da1
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_5.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@2| @71
+|b@74
+|@+0#4040ff13&@2| @71
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+|a+0&&@2| @71
+|b@74
+@75
+@50| @24
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|A|l@1
+|:+0&&|3|s|p|l|i|t| @67
diff --git a/src/testdir/dumps/Test_display_lastline_6.dump b/src/testdir/dumps/Test_display_lastline_6.dump
new file mode 100644
index 0000000..e5ede7f
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_6.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@1||+1&&|a+0&&@2| @68
+|a| ||+1&&|b+0&&@71
+@2||+1&&|b+0&&@71
+@2||+1&&|b+0&&@55| @15
+|b@1||+1&&|~+0#4040ff13&| @70
+|b+0#0000000&@1||+1&&|~+0#4040ff13&| @70
+|b+0#0000000&@1||+1&&|~+0#4040ff13&| @70
+|@@1||+1#0000000&|~+0#4040ff13&| @70
+|<+3#0000000&|1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @40|1|,|1| @11|A|l@1
+|:+0&&|2|v|s|p|l|i|t| @66
diff --git a/src/testdir/dumps/Test_display_lastline_euro_1.dump b/src/testdir/dumps/Test_display_lastline_euro_1.dump
new file mode 100644
index 0000000..2223d87
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_euro_1.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0||+1&&|a+0&&@2| @69
+|a||+1&&|b+0&&@72
+|a||+1&&|b+0&&@72
+@1||+1&&|b+0&&@53| @18
+|b||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|€||+1#0000000&|~+0#4040ff13&| @71
+|<+3#0000000&| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_display_lastline_euro_2.dump b/src/testdir/dumps/Test_display_lastline_euro_2.dump
new file mode 100644
index 0000000..e8da202
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_euro_2.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0||+1&&|a+0&&@2| @69
+|a||+1&&|b+0&&@72
+|a||+1&&|b+0&&@72
+@1||+1&&|b+0&&@53| @18
+|b||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|b+0#0000000&||+1&&|~+0#4040ff13&| @71
+|€||+1#0000000&|~+0#4040ff13&| @71
+|<+3#0000000&| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1
+|:+0&&|s|e|t| |d|i|s|p|l|a|y|=|l|a|s|t|l|i|n|e| @53
diff --git a/src/testdir/dumps/Test_display_lastline_euro_3.dump b/src/testdir/dumps/Test_display_lastline_euro_3.dump
new file mode 100644
index 0000000..db414e7
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_euro_3.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@2| @69||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@53| @18||+1&&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|€+0#4040ff13&
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1| |<+1&&
+|:+0&&|1|0@1|w|i|n|c|m|d| |>| @62
diff --git a/src/testdir/dumps/Test_display_lastline_euro_4.dump b/src/testdir/dumps/Test_display_lastline_euro_4.dump
new file mode 100644
index 0000000..492438c
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_euro_4.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@2| @69||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@72||+1&&|a+0&&
+|b@53| @18||+1&&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|b+0&&
+|~+0#4040ff13&| @71||+1#0000000&|€+0#4040ff13&
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @41|1|,|1| @11|A|l@1| |<+1&&
+|:+0&&|s|e|t| |d|i|s|p|l|a|y|=|t|r|u|n|c|a|t|e| @53
diff --git a/src/testdir/dumps/Test_display_lastline_euro_5.dump b/src/testdir/dumps/Test_display_lastline_euro_5.dump
new file mode 100644
index 0000000..75fc732
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_euro_5.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@2| @71
+|b@74
+|€+0#4040ff13&@2| @71
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+|a+0&&@2| @71
+|b@74
+@75
+@50| @24
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|A|l@1
+|:+0&&|3|s|p|l|i|t| @67
diff --git a/src/testdir/dumps/Test_display_lastline_euro_6.dump b/src/testdir/dumps/Test_display_lastline_euro_6.dump
new file mode 100644
index 0000000..80e2cbb
--- /dev/null
+++ b/src/testdir/dumps/Test_display_lastline_euro_6.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@1||+1&&|a+0&&@2| @68
+|a| ||+1&&|b+0&&@71
+@2||+1&&|b+0&&@71
+@2||+1&&|b+0&&@55| @15
+|b@1||+1&&|~+0#4040ff13&| @70
+|b+0#0000000&@1||+1&&|~+0#4040ff13&| @70
+|b+0#0000000&@1||+1&&|~+0#4040ff13&| @70
+|€@1||+1#0000000&|~+0#4040ff13&| @70
+|<+3#0000000&|1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @40|1|,|1| @11|A|l@1
+|:+0&&|2|v|s|p|l|i|t| @66
diff --git a/src/testdir/dumps/Test_display_scroll_at_topline.dump b/src/testdir/dumps/Test_display_scroll_at_topline.dump
new file mode 100644
index 0000000..9c843c0
--- /dev/null
+++ b/src/testdir/dumps/Test_display_scroll_at_topline.dump
@@ -0,0 +1,4 @@
+> +0&#ffffff0@19
+|a@19
+@1| @18
+|~+0#4040ff13&| @18
diff --git a/src/testdir/dumps/Test_display_scroll_update_visual.dump b/src/testdir/dumps/Test_display_scroll_update_visual.dump
new file mode 100644
index 0000000..c174390
--- /dev/null
+++ b/src/testdir/dumps/Test_display_scroll_update_visual.dump
@@ -0,0 +1,8 @@
+| +0#0000e05#a8a8a8255@1>f+0#0000000#ffffff0|o+0&#e0e0e08@1| | +0&#ffffff0@53
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @54
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @54
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @54
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @54
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @54
+| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o@1| @54
+|-+2&&@1| |V|I|S|U|A|L| |L|I|N|E| |-@1| +0&&@14|2| @8|2|,|1| @10|3@1|%|
diff --git a/src/testdir/dumps/Test_display_unprintable_01.dump b/src/testdir/dumps/Test_display_unprintable_01.dump
new file mode 100644
index 0000000..552b402
--- /dev/null
+++ b/src/testdir/dumps/Test_display_unprintable_01.dump
@@ -0,0 +1,9 @@
+>m+0&#ffffff0|a|c| @46
+|^+0#0000e05&|J|t+0#0000000&|w|o|^+0#0000e05&|J| +0#0000000&@42
+|~+0#4040ff13&| @48
+|X+3#0000000&|m|a|c|.|t|x|t| @23|1|,|1| @11|A|l@1
+|u+0&&|n|i|x|^+0#0000e05&|M| +0#0000000&@43
+|t|w|o| @46
+|~+0#4040ff13&| @48
+|X+1#0000000&|u|n|i|x|.|t|x|t| @22|1|,|1| @11|A|l@1
+|"+0&&|X|m|a|c|.|t|x|t|"| |[|n|o|e|o|l|]|[|m|a|c|]| |2|L|,| |9|B| @19
diff --git a/src/testdir/dumps/Test_display_unprintable_02.dump b/src/testdir/dumps/Test_display_unprintable_02.dump
new file mode 100644
index 0000000..6338465
--- /dev/null
+++ b/src/testdir/dumps/Test_display_unprintable_02.dump
@@ -0,0 +1,9 @@
+|m+0&#ffffff0|a|c| @46
+|^+0#0000e05&|J|t+0#0000000&|w|o|^+0#0000e05&|J| +0#0000000&@42
+|~+0#4040ff13&| @48
+|X+1#0000000&|m|a|c|.|t|x|t| @23|1|,|1| @11|A|l@1
+>u+0&&|n|i|x|^+0#0000e05&|M| +0#0000000&@43
+|t|w|o| @46
+|~+0#4040ff13&| @48
+|X+3#0000000&|u|n|i|x|.|t|x|t| @22|1|,|1| @11|A|l@1
+| +0&&@49
diff --git a/src/testdir/dumps/Test_display_visual_block_scroll.dump b/src/testdir/dumps/Test_display_visual_block_scroll.dump
new file mode 100644
index 0000000..afb52fb
--- /dev/null
+++ b/src/testdir/dumps/Test_display_visual_block_scroll.dump
@@ -0,0 +1,7 @@
+|{+0&#e0e0e08| | +0&#ffffff0@72
+|}+0&#e0e0e08| | +0&#ffffff0@72
+|{+0&#e0e0e08| | +0&#ffffff0@72
+|f+0&#e0e0e08| | +0&#ffffff0@72
+>g| +0&#e0e0e08| +0&#ffffff0@72
+|}| @73
+|-+2&&@1| |V|I|S|U|A|L| |L|I|N|E| |-@1| +0&&@29|7| @8|1@1|,|1| @9|B|o|t|
diff --git a/src/testdir/dumps/Test_echowin_eval.dump b/src/testdir/dumps/Test_echowin_eval.dump
new file mode 100644
index 0000000..80d5fc7
--- /dev/null
+++ b/src/testdir/dumps/Test_echowin_eval.dump
@@ -0,0 +1,8 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|═+0#e000002&@74
+|t|e|s|t| @70
+|1+0#0000000&|2|3| @53|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_echowin_showmode.dump b/src/testdir/dumps/Test_echowin_showmode.dump
new file mode 100644
index 0000000..24eb4d0
--- /dev/null
+++ b/src/testdir/dumps/Test_echowin_showmode.dump
@@ -0,0 +1,8 @@
+>o+0&#ffffff0|n+0&#e0e0e08|e| | +0&#ffffff0@70
+|t|w|o| @71
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|═+0#e000002&@74
+|e|c|h|o| |w|i|n|d|o|w| @63
+|-+2#0000000&@1| |V|I|S|U|A|L| |L|I|N|E| |-@1| +0&&@29|1| @8|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_echowindow_1.dump b/src/testdir/dumps/Test_echowindow_1.dump
new file mode 100644
index 0000000..8c3db07
--- /dev/null
+++ b/src/testdir/dumps/Test_echowindow_1.dump
@@ -0,0 +1,8 @@
+>s+0&#ffffff0|o|m|e| |t|e|x|t| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|═+0#e000002&@74
+|f|i|r|s|t| |l|i|n|e| @64
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_echowindow_2.dump b/src/testdir/dumps/Test_echowindow_2.dump
new file mode 100644
index 0000000..58b2f3f
--- /dev/null
+++ b/src/testdir/dumps/Test_echowindow_2.dump
@@ -0,0 +1,8 @@
+>s+0&#ffffff0|o|m|e| |t|e|x|t| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|═+0#e000002&@74
+|f|i|r|s|t| |l|i|n|e| @64
+|s|e|c|o|n|d| |l|i|n|e| @63
+|:+0#0000000&|c|a|l@1| |S|h|o|w|M|e|s@1|a|g|e|(|'|s|e|c|o|n|d| |l|i|n|e|'|)| @24|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_echowindow_3.dump b/src/testdir/dumps/Test_echowindow_3.dump
new file mode 100644
index 0000000..5d84236
--- /dev/null
+++ b/src/testdir/dumps/Test_echowindow_3.dump
@@ -0,0 +1,8 @@
+>s+0&#ffffff0|o|m|e| |t|e|x|t| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_echowindow_4.dump b/src/testdir/dumps/Test_echowindow_4.dump
new file mode 100644
index 0000000..c8bd387
--- /dev/null
+++ b/src/testdir/dumps/Test_echowindow_4.dump
@@ -0,0 +1,8 @@
+>═+0#e000002#ffffff0@74
+|l|i|n|e| |1|4| @67
+|l|i|n|e| |1|5| @67
+|l|i|n|e| |1|6| @67
+|l|i|n|e| |1|7| @67
+|l|i|n|e| |1|8| @67
+|l|i|n|e| |1|9| @67
+|:+0#0000000&|c|a|l@1| |M|a|n|y|M|e|s@1|a|g|e|s|(|)| @36|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_echowindow_5.dump b/src/testdir/dumps/Test_echowindow_5.dump
new file mode 100644
index 0000000..a87640c
--- /dev/null
+++ b/src/testdir/dumps/Test_echowindow_5.dump
@@ -0,0 +1,8 @@
+>s+0&#ffffff0|o|m|e| |t|e|x|t| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|═+0#e000002&@74
+|m|e|s@1|a|g|e| @67
+|o+0#0000000&|n|e| @71
+|t|w|o| @53|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_echowindow_6.dump b/src/testdir/dumps/Test_echowindow_6.dump
new file mode 100644
index 0000000..3bf6303
--- /dev/null
+++ b/src/testdir/dumps/Test_echowindow_6.dump
@@ -0,0 +1,8 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|o+0#0000000&|n|e| @71
+|t|w|o| @71
+|t|h|r|e@1| @69
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35
diff --git a/src/testdir/dumps/Test_echowindow_7.dump b/src/testdir/dumps/Test_echowindow_7.dump
new file mode 100644
index 0000000..774495f
--- /dev/null
+++ b/src/testdir/dumps/Test_echowindow_7.dump
@@ -0,0 +1,8 @@
+>s+0&#ffffff0|o|m|e| |t|e|x|t| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|═+0#e000002&@74
+|l|a|t|e|r| |m|e|s@1|a|g|e| @61
+| +0#0000000&@74
+@57|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_echowindow_8.dump b/src/testdir/dumps/Test_echowindow_8.dump
new file mode 100644
index 0000000..cb5b50d
--- /dev/null
+++ b/src/testdir/dumps/Test_echowindow_8.dump
@@ -0,0 +1,8 @@
+| +8#0000001#e0e0e08|+| |[|N|o| |N|a|m|e|]| | +2#0000000#ffffff0|[|N|o| |N|a|m|e|]| | +1&&@49|X+8#0000001#e0e0e08
+> +0#0000000#ffffff0@74
+|~+0#4040ff13&| @73
+|═+0#e000002&@74
+|l|a|t|e|r| |m|e|s@1|a|g|e| @61
+|m|o|r|e| @70
+|:+0#0000000&|7|e|c|h|o|w|i|n| |'|m|o|r|e|'| @58
+@57|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_echowindow_9.dump b/src/testdir/dumps/Test_echowindow_9.dump
new file mode 100644
index 0000000..2efdef0
--- /dev/null
+++ b/src/testdir/dumps/Test_echowindow_9.dump
@@ -0,0 +1,8 @@
+| +8#0000001#e0e0e08|+| |[|N|o| |N|a|m|e|]| | +2#0000000#ffffff0|[|N|o| |N|a|m|e|]| | +1&&@49|X+8#0000001#e0e0e08
+> +0#0000000#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|c|a|l@1| |H|i|d|e|W|i|n|(|)| @59
+@57|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_fileinfo_after_echo.dump b/src/testdir/dumps/Test_fileinfo_after_echo.dump
new file mode 100644
index 0000000..787dced
--- /dev/null
+++ b/src/testdir/dumps/Test_fileinfo_after_echo.dump
@@ -0,0 +1,6 @@
+>h+0&#ffffff0|i| @72
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|'+0#0000000&|b|'| |w|r|i|t@1|e|n| @45|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_folds_with_rnu_01.dump b/src/testdir/dumps/Test_folds_with_rnu_01.dump
new file mode 100644
index 0000000..5e6724e
--- /dev/null
+++ b/src/testdir/dumps/Test_folds_with_rnu_01.dump
@@ -0,0 +1,20 @@
+|++0#0000e05#a8a8a8255| @2|0| >+|-@1| @1|2| |l|i|n|e|s|:| |-@54
+|+| @2|1| |+|-@1| @1|2| |l|i|n|e|s|:| |-@54
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_folds_with_rnu_02.dump b/src/testdir/dumps/Test_folds_with_rnu_02.dump
new file mode 100644
index 0000000..d4a2646
--- /dev/null
+++ b/src/testdir/dumps/Test_folds_with_rnu_02.dump
@@ -0,0 +1,20 @@
+|++0#0000e05#a8a8a8255| @2|1| |+|-@1| @1|2| |l|i|n|e|s|:| |-@54
+|+| @2|0| >+|-@1| @1|2| |l|i|n|e|s|:| |-@54
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_functions_echoraw.dump b/src/testdir/dumps/Test_functions_echoraw.dump
new file mode 100644
index 0000000..f27cd03
--- /dev/null
+++ b/src/testdir/dumps/Test_functions_echoraw.dump
@@ -0,0 +1,5 @@
+>x+0&#ffffff0|e|l@1|o| @34
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_1.dump b/src/testdir/dumps/Test_hlsearch_1.dump
new file mode 100644
index 0000000..abcd91c
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_1.dump
@@ -0,0 +1,6 @@
+|x+0&#ffff4012@2| | +0&#ffffff0@45
+>x+8&#ffff4012@2| | +8&#ffffff0@45
+|x+0&#ffff4012@2| | +0&#ffffff0@45
+|~+0#4040ff13&| @48
+|~| @48
+| +0#0000000&@31|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_2.dump b/src/testdir/dumps/Test_hlsearch_2.dump
new file mode 100644
index 0000000..0cb13c3
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_2.dump
@@ -0,0 +1,6 @@
+|x+0&#ffff4012@2| | +0&#ffffff0@45
+|x+0&#ffff4012@2| | +0&#ffffff0@45
+>x+8&#ffff4012@2| | +8&#ffffff0@45
+|~+0#4040ff13&| @48
+|~| @48
+|/+0#0000000&|\|_|.|*| @26|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_block_visual_match.dump b/src/testdir/dumps/Test_hlsearch_block_visual_match.dump
new file mode 100644
index 0000000..0b45678
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_block_visual_match.dump
@@ -0,0 +1,9 @@
+|a+0&#ffff4012@1| | +0&#ffffff0@56
+>b+0&#ffff4012@3| | +0&#ffffff0@54
+|c+0&#ffff4012@5| | +0&#ffffff0@52
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+|/+0#0000000&|\|%|V| @37|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_ctrlr_1.dump b/src/testdir/dumps/Test_hlsearch_ctrlr_1.dump
new file mode 100644
index 0000000..e0a0af3
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_ctrlr_1.dump
@@ -0,0 +1,6 @@
+| +0&#ffffff0@59
+|t+1&&|e|x|t| +0&&@55
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|/+0#0000000&|t|e|x|t> @54
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_changed_1.dump b/src/testdir/dumps/Test_hlsearch_cursearch_changed_1.dump
new file mode 100644
index 0000000..607e079
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_changed_1.dump
@@ -0,0 +1,9 @@
+|-+0&#ffffff0@2| @56
+|a+0&#ffff4012|b|c|d|e+0&#ffffff0|f|g| @52
+>a+0&#4040ff13|b|c|d|e+0&#ffffff0|f|g| @52
+|h|i|j|k|l| @54
+|-@2| @56
+|a+0&#ffff4012|b|c|d|e+0&#ffffff0|f|g| @52
+|h|i|j|k|l| @54
+|~+0#4040ff13&| @58
+| +0#0000000&@41|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_1.dump b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_1.dump
new file mode 100644
index 0000000..950ffef
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_1.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| @56
+>f+0&#4040ff13|o@1| | +0&#ffffff0@55
+|b+0&#4040ff13|a|r| +0&#ffffff0@56
+|b|a|z| @56
+|f+0&#ffff4012|o@1| | +0&#ffffff0@55
+|b+0&#ffff4012|a|r| +0&#ffffff0@56
+|~+0#4040ff13&| @58
+|~| @58
+|/+0#0000000&|f|o@1|\|n|b|a|r| @32|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_2.dump b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_2.dump
new file mode 100644
index 0000000..7b091cf
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_2.dump
@@ -0,0 +1,9 @@
+|-+0&#ffffff0@2| @56
+|a|b|c|d>e+0&#4040ff13|f|g| | +0&#ffffff0@51
+|h+0&#4040ff13|i|j|k+0&#ffffff0|l| @54
+|-@2| @56
+|a|b|c|d|e+0&#ffff4012|f|g| | +0&#ffffff0@51
+|h+0&#ffff4012|i|j|k+0&#ffffff0|l| @54
+|~+0#4040ff13&| @58
+|~| @58
+|/+0#0000000&|e|f|g|\|n|h|i|j| @32|2|,|5| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_3.dump b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_3.dump
new file mode 100644
index 0000000..ef03675
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_3.dump
@@ -0,0 +1,9 @@
+|-+0&#ffffff0@2| @56
+|a|b|c>d|e+0&#ffff4012|f|g| | +0&#ffffff0@51
+|h+0&#ffff4012|i|j|k+0&#ffffff0|l| @54
+|-@2| @56
+|a|b|c|d|e+0&#ffff4012|f|g| | +0&#ffffff0@51
+|h+0&#ffff4012|i|j|k+0&#ffffff0|l| @54
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|2|,|4| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_4.dump b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_4.dump
new file mode 100644
index 0000000..2235295
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_4.dump
@@ -0,0 +1,9 @@
+|-+0&#ffffff0@2| @56
+|a|b|c|d|e+0&#ffff4012|f|g| | +0&#ffffff0@51
+|h+0&#ffff4012|i|j>k+0&#ffffff0|l| @54
+|-@2| @56
+|a|b|c|d|e+0&#ffff4012|f|g| | +0&#ffffff0@51
+|h+0&#ffff4012|i|j|k+0&#ffffff0|l| @54
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|3|,|4| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_5.dump b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_5.dump
new file mode 100644
index 0000000..2294566
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_5.dump
@@ -0,0 +1,9 @@
+|-+0&#ffffff0@2| @56
+|a|b|c|d|e+0&#4040ff13|f|g| | +0&#ffffff0@51
+|h+0&#4040ff13|i>j|k+0&#ffffff0|l| @54
+|-@2| @56
+|a|b|c|d|e+0&#ffff4012|f|g| | +0&#ffffff0@51
+|h+0&#ffff4012|i|j|k+0&#ffffff0|l| @54
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|3|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_single_line_1.dump b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_1.dump
new file mode 100644
index 0000000..ab72665
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_1.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| @56
+>f+0&#4040ff13|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|b|a|z| @56
+|f+0&#ffff4012|o@1| +0&#ffffff0|t|h|e| |f+0&#ffff4012|o@1| +0&#ffffff0|a|n|d| |f+0&#ffff4012|o@1| +0&#ffffff0@40
+|b|a|r| @56
+|~+0#4040ff13&| @58
+|~| @58
+|/+0#0000000&|f|o@1| @37|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2.dump b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2.dump
new file mode 100644
index 0000000..dd4aa89
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| @56
+|f+0&#ffff4012|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|b|a|z| @56
+>f+0&#4040ff13|o@1| +0&#ffffff0|t|h|e| |f+0&#ffff4012|o@1| +0&#ffffff0|a|n|d| |f+0&#ffff4012|o@1| +0&#ffffff0@40
+|b|a|r| @56
+|~+0#4040ff13&| @58
+|~| @58
+|/+0#0000000&|f|o@1| @37|5|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2a.dump b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2a.dump
new file mode 100644
index 0000000..2cc3c17
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2a.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| @56
+|f+0&#ffff4012|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|b|a|z| @56
+|f+0&#ffff4012|o@1| +0&#ffffff0|t|h|e| >f+0&#4040ff13|o@1| +0&#ffffff0|a|n|d| |f+0&#ffff4012|o@1| +0&#ffffff0@40
+|b|a|r| @56
+|~+0#4040ff13&| @58
+|~| @58
+|/+0#0000000&|f|o@1| @37|5|,|9| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2b.dump b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2b.dump
new file mode 100644
index 0000000..0b20bd5
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2b.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| @56
+|f+0&#ffff4012|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|b|a|z| @56
+|f+0&#ffff4012|o@1| +0&#ffffff0|t|h|e| |f+0&#ffff4012|o@1| +0&#ffffff0|a|n|d| >f+0&#4040ff13|o@1| +0&#ffffff0@40
+|b|a|r| @56
+|~+0#4040ff13&| @58
+|~| @58
+|/+0#0000000&|f|o@1| @37|5|,|1|7| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_single_line_3.dump b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_3.dump
new file mode 100644
index 0000000..b0c38c2
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_3.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| @56
+>f+0&#4040ff13|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|b|a|z| @56
+|f+0&#ffff4012|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|~+0#4040ff13&| @58
+|~| @58
+|?+0#0000000&|f|o@1| @37|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_visual_1.dump b/src/testdir/dumps/Test_hlsearch_visual_1.dump
new file mode 100644
index 0000000..99150db
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_visual_1.dump
@@ -0,0 +1,6 @@
+|x+0&#ffffff0@2| |y+2&#ffff4012|y+2&#e0e0e08@1| +0&&|z@2| | +0&#ffffff0@27
+|x+0&#e0e0e08@2| |y+2&&@2| +0&&|z@2| | +0&#ffffff0@27
+|x+0&#e0e0e08@2| |y+2&&>y+2&#ffff4012@1| +0&#ffffff0|z@2| @28
+|~+0#4040ff13&| @38
+|~| @38
+|-+2#0000000&@1| |V|I|S|U|A|L| |-@1|3+0&&| @8|3|,|6| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hor_scroll_1.dump b/src/testdir/dumps/Test_hor_scroll_1.dump
new file mode 100644
index 0000000..615afb8
--- /dev/null
+++ b/src/testdir/dumps/Test_hor_scroll_1.dump
@@ -0,0 +1,8 @@
+|a+0&#ffffff0| |b@1| |c@1| |d@1| |e@1| |f@1| |g@1| ||+1&&|a+0&&@1| |b@1| |c@1| |d@1| |e@1| |f@1| |g@1> |h@1| |i@1| |j@1| |k@1| |l@1| |m@1| |n@1| |o@1| |p@1| |q@1| |r@1|
+@19| +0&#e0e0e08||+1&#ffffff0| +0&&@19| +0&#e0e0e08| +0&#ffffff0@32
+@19| +0&#e0e0e08||+1&#ffffff0| +0&&@19| +0&#e0e0e08| +0&#ffffff0@32
+@19| +0&#e0e0e08||+1&#ffffff0| +0&&@19| +0&#e0e0e08| +0&#ffffff0@32
+@19| +0&#e0e0e08||+1&#ffffff0| +0&&@19| +0&#e0e0e08| +0&#ffffff0@32
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @52
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|2|1| @2|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @22|1|,|2|1| @10|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_hor_scroll_2.dump b/src/testdir/dumps/Test_hor_scroll_2.dump
new file mode 100644
index 0000000..dfe2e98
--- /dev/null
+++ b/src/testdir/dumps/Test_hor_scroll_2.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0|h@1| |i@1| |j@1| |k@1| |l@1| |m@1| |n||+1&&|a+0&&@1| |b@1| |c@1| |d@1| |e@1| |f@1| |g@1| |h@1| |i@1| |j@1| >k@1| |l@1| |m@1| |n@1| |o@1| |p@1| |q@1| |r@1|
+@10| +0&#e0e0e08| +0&#ffffff0@8||+1&&| +0&&@29| +0&#e0e0e08| +0&#ffffff0@22
+@10| +0&#e0e0e08| +0&#ffffff0@8||+1&&| +0&&@29| +0&#e0e0e08| +0&#ffffff0@22
+@10| +0&#e0e0e08| +0&#ffffff0@8||+1&&| +0&&@29| +0&#e0e0e08| +0&#ffffff0@22
+@10| +0&#e0e0e08| +0&#ffffff0@8||+1&&| +0&&@29| +0&#e0e0e08| +0&#ffffff0@22
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @52
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|3|1| @2|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @22|1|,|3|1| @10|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_hor_scroll_3.dump b/src/testdir/dumps/Test_hor_scroll_3.dump
new file mode 100644
index 0000000..db9fd6f
--- /dev/null
+++ b/src/testdir/dumps/Test_hor_scroll_3.dump
@@ -0,0 +1,8 @@
+|a+8&#ffffff0| |b@1| |c@1| |d@1| |e@1| |f@1| |g@1| ||+1&&|a+8&&@1| |b@1| |c@1| |d@1| |e@1| |f@1| |g@1> |h@1| |i@1| |j@1| |k@1| |l@1| |m@1| |n@1| |o@1| |p@1| |q@1| |r@1|
+| +0&&@18| +0&#e0e0e08||+1&#ffffff0| +0&&@19| +0&#e0e0e08| +0&#ffffff0@32
+@19| +0&#e0e0e08||+1&#ffffff0| +0&&@19| +0&#e0e0e08| +0&#ffffff0@32
+@19| +0&#e0e0e08||+1&#ffffff0| +0&&@19| +0&#e0e0e08| +0&#ffffff0@32
+@19| +0&#e0e0e08||+1&#ffffff0| +0&&@19| +0&#e0e0e08| +0&#ffffff0@32
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @52
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|2|1| @2|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @22|1|,|2|1| @10|A|l@1
+|:+0&&|w|i|n|d|o| |:|s|e|t| |c|u|r|s|o|r|l|i|n|e| @52
diff --git a/src/testdir/dumps/Test_hor_scroll_4.dump b/src/testdir/dumps/Test_hor_scroll_4.dump
new file mode 100644
index 0000000..8182160
--- /dev/null
+++ b/src/testdir/dumps/Test_hor_scroll_4.dump
@@ -0,0 +1,8 @@
+| +8&#ffffff0|h@1| |i@1| |j@1| |k@1| |l@1| |m@1| |n||+1&&|a+8&&@1| |b@1| |c@1| |d@1| |e@1| |f@1| |g@1| |h@1| |i@1| |j@1| >k@1| |l@1| |m@1| |n@1| |o@1| |p@1| |q@1| |r@1|
+| +0&&@9| +0&#e0e0e08| +0&#ffffff0@8||+1&&| +0&&@29| +0&#e0e0e08| +0&#ffffff0@22
+@10| +0&#e0e0e08| +0&#ffffff0@8||+1&&| +0&&@29| +0&#e0e0e08| +0&#ffffff0@22
+@10| +0&#e0e0e08| +0&#ffffff0@8||+1&&| +0&&@29| +0&#e0e0e08| +0&#ffffff0@22
+@10| +0&#e0e0e08| +0&#ffffff0@8||+1&&| +0&&@29| +0&#e0e0e08| +0&#ffffff0@22
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @52
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|3|1| @2|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @22|1|,|3|1| @10|A|l@1
+|:+0&&|w|i|n|d|o| |:|s|e|t| |c|u|r|s|o|r|l|i|n|e| @52
diff --git a/src/testdir/dumps/Test_hor_scroll_5.dump b/src/testdir/dumps/Test_hor_scroll_5.dump
new file mode 100644
index 0000000..f2986f3
--- /dev/null
+++ b/src/testdir/dumps/Test_hor_scroll_5.dump
@@ -0,0 +1,8 @@
+|k+0&#ffffff0@1| |l@1| |m@1| |n@1| |o@1| |p@1| |q@1||+1&&|a+0&&@1| |b@1| |c@1| |d@1| |e@1| |f@1| |g@1| |h@1| |i@1| |j@1| |k@1| |l@1| |m@1| |n>n| |o@1| |p@1| |q@1| |r@1|
+@20||+1&&| +0&&@53
+@20||+1&&| +0&&@53
+@20||+1&&| +0&&@53
+@20||+1&&| +0&&@53
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @52
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|4|1| @2|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @22|1|,|4|1| @10|A|l@1
+|:+0&&|w|i|n|d|o| |:|s|e|t| |n|o|c|u|r|s|o|r|l|i|n|e| |n|o|c|u|r|s|o|r|c|o|l|u|m|n| @35
diff --git a/src/testdir/dumps/Test_incsearch_change_01.dump b/src/testdir/dumps/Test_incsearch_change_01.dump
new file mode 100644
index 0000000..1c84faf
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_change_01.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| @66
+|x| @68
+|t|h|r|e@1| @64
+|~+0#4040ff13&| @68
+|~| @68
+|~| @68
+|~| @68
+|~| @68
+|:+0#0000000&|%|s|/|X> @64
diff --git a/src/testdir/dumps/Test_incsearch_newline1.dump b/src/testdir/dumps/Test_incsearch_newline1.dump
new file mode 100644
index 0000000..9e9241a
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_newline1.dump
@@ -0,0 +1,5 @@
+|t+1&#ffffff0|e|s|t| +0&&@5
+|x@2| @6
+|~+0#4040ff13&| @8
+|~| @8
+|/+0#0000000&|t|e|s|t> @4
diff --git a/src/testdir/dumps/Test_incsearch_newline2.dump b/src/testdir/dumps/Test_incsearch_newline2.dump
new file mode 100644
index 0000000..677343d
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_newline2.dump
@@ -0,0 +1,5 @@
+|t+1&#ffffff0|e|s|t| | +0&&@4
+|x@2| @6
+|~+0#4040ff13&| @8
+|~| @8
+|/+0#0000000&|t|e|s|t|\|n> @2
diff --git a/src/testdir/dumps/Test_incsearch_newline3.dump b/src/testdir/dumps/Test_incsearch_newline3.dump
new file mode 100644
index 0000000..d80cc74
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_newline3.dump
@@ -0,0 +1,5 @@
+|t+1&#ffffff0|e|s|t| | +0&&@4
+|x+1&&|x+0&&@1| @6
+|~+0#4040ff13&| @8
+|~| @8
+|/+0#0000000&|t|e|s|t|\|n|x> @1
diff --git a/src/testdir/dumps/Test_incsearch_newline4.dump b/src/testdir/dumps/Test_incsearch_newline4.dump
new file mode 100644
index 0000000..50d88b3
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_newline4.dump
@@ -0,0 +1,5 @@
+|t+1&#ffffff0|e|s|t| | +0&&@4
+|x+1&&@1|x+0&&| @6
+|~+0#4040ff13&| @8
+|~| @8
+|/+0#0000000&|t|e|s|t|\|n|x@1>
diff --git a/src/testdir/dumps/Test_incsearch_newline5.dump b/src/testdir/dumps/Test_incsearch_newline5.dump
new file mode 100644
index 0000000..6568348
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_newline5.dump
@@ -0,0 +1,5 @@
+|o+0#00e0003#ffffff0|r| |t|y|p|e| |c|o
+|m| @7|m
+|a|n|d| |t|o| |c|o|n
+|t| @7|i
+|n|u|e> +0#0000000&@6
diff --git a/src/testdir/dumps/Test_incsearch_scrolling_01.dump b/src/testdir/dumps/Test_incsearch_scrolling_01.dump
new file mode 100644
index 0000000..c133d5f
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_scrolling_01.dump
@@ -0,0 +1,9 @@
+|.+0&#ffffff0@69
+@50| @19
+|.@69
+@50| @19
+@70
+|t+1&&|a|r|g|e+0&&|t| @63
+|@+0#4040ff13&@2| @66
+|/+0#0000000&|t|a|r|g> @64
+@70
diff --git a/src/testdir/dumps/Test_incsearch_search_01.dump b/src/testdir/dumps/Test_incsearch_search_01.dump
new file mode 100644
index 0000000..324abfe
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_search_01.dump
@@ -0,0 +1,9 @@
+|f+0&#ffff4012|o|o+0&#ffffff0| |1| @64
+|f+0&#ffff4012|o|o+0&#ffffff0| |2| @64
+|f+0&#ffff4012|o|o+0&#ffffff0| |3| @64
+|f+1&&|o|o+0&&| |4| @64
+|f+0&#ffff4012|o|o+0&#ffffff0| |5| @64
+|f+0&#ffff4012|o|o+0&#ffffff0| |6| @64
+|f+0&#ffff4012|o|o+0&#ffffff0| |7| @64
+|f+0&#ffff4012|o|o+0&#ffffff0| |8| @64
+|/|f|o> @66
diff --git a/src/testdir/dumps/Test_incsearch_search_02.dump b/src/testdir/dumps/Test_incsearch_search_02.dump
new file mode 100644
index 0000000..6c1b743
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_search_02.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |1| @64
+|f|o@1| |2| @64
+|f|o+1&&|o+0&&| |3| @64
+|f|o@1| |4| @64
+|f|o@1| |5| @64
+|f|o@1| |6| @64
+|f|o@1| |7| @64
+|f|o@1| |8| @64
+|/|\|v> @66
diff --git a/src/testdir/dumps/Test_incsearch_sort_01.dump b/src/testdir/dumps/Test_incsearch_sort_01.dump
new file mode 100644
index 0000000..6c003af
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_sort_01.dump
@@ -0,0 +1,9 @@
+|a+0&#ffffff0|n|o|t|h|e|r| |o+1&&|n|e+0&&| |2| @56
+|t|h|a|t| |o+0&#ffff4012|n|e+0&#ffffff0| |3| @59
+|t|h|e| |o+0&#ffff4012|n|e+0&#ffffff0| |1| @60
+|~+0#4040ff13&| @68
+|~| @68
+|~| @68
+|~| @68
+|~| @68
+|:+0#0000000&|s|o|r|t| |n|i| |u| |/|o|n> @55
diff --git a/src/testdir/dumps/Test_incsearch_sort_02.dump b/src/testdir/dumps/Test_incsearch_sort_02.dump
new file mode 100644
index 0000000..ee752e1
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_sort_02.dump
@@ -0,0 +1,9 @@
+|a+0&#ffffff0|n|o|t|h|e|r| |o+1&&|n|e+0&&| |2| @56
+|t|h|a|t| |o+0&#ffff4012|n|e+0&#ffffff0| |3| @59
+|t|h|e| |o+0&#ffff4012|n|e+0&#ffffff0| |1| @60
+|~+0#4040ff13&| @68
+|~| @68
+|~| @68
+|~| @68
+|~| @68
+|:+0#0000000&|s|o|r|t|!| |/|o|n> @59
diff --git a/src/testdir/dumps/Test_incsearch_sub_01.dump b/src/testdir/dumps/Test_incsearch_sub_01.dump
new file mode 100644
index 0000000..5924fbd
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_sub_01.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |1| @64
+|f|o@1| |2| @64
+|f|o@1| |3| @64
+|f|o@1| |4| @64
+|a|b|c|||d|e|f| @62
+|~+0#4040ff13&| @68
+|~| @68
+|~| @68
+|:+0#0000000&|%|s|/|\|v|a|b|c||> @59
diff --git a/src/testdir/dumps/Test_incsearch_sub_02.dump b/src/testdir/dumps/Test_incsearch_sub_02.dump
new file mode 100644
index 0000000..c6b58cb
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_sub_02.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |1| @64
+|f|o@1| |2| @64
+|f|o@1| |3| @64
+|f|o@1| |4| @64
+|a|b|c|||d|e|f| @62
+|~+0#4040ff13&| @68
+|~| @68
+|~| @68
+|:+0#0000000&|1|,|5|s|/|\|v||> @60
diff --git a/src/testdir/dumps/Test_incsearch_substitute_01.dump b/src/testdir/dumps/Test_incsearch_substitute_01.dump
new file mode 100644
index 0000000..63886f5
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_01.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |1| @64
+|f|o@1| |2| @64
+|f+1&&|o@1| +0&&|3| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|4| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|5| @64
+|f|o@1| |6| @64
+|f|o@1| |7| @64
+|f|o@1| |8| @64
+|:|.|,|.|+|2|s|/|f|o@1> @58
diff --git a/src/testdir/dumps/Test_incsearch_substitute_02.dump b/src/testdir/dumps/Test_incsearch_substitute_02.dump
new file mode 100644
index 0000000..fd1f912
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_02.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |1| @64
+|f|o@1| |2| @64
+|f|o@1| |3| @64
+|f+1&&|o@1| +0&&|4| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|5| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|6| @64
+|f|o@1| |7| @64
+|f|o@1| |8| @64
+|:|.|,|.|+|2|s|/@1> @60
diff --git a/src/testdir/dumps/Test_incsearch_substitute_03.dump b/src/testdir/dumps/Test_incsearch_substitute_03.dump
new file mode 100644
index 0000000..5d7afa0
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_03.dump
@@ -0,0 +1,9 @@
+|f+0&#ffff4012|o@1| +0&#ffffff0|1| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|2| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|3| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|4| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|5| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|6| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|7| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|8| @64
+|:|.|,|.|+|2|s|/> @61
diff --git a/src/testdir/dumps/Test_incsearch_substitute_04.dump b/src/testdir/dumps/Test_incsearch_substitute_04.dump
new file mode 100644
index 0000000..bae6c7b
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_04.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |1| @64
+|f+1&&|o@1| +0&&|2| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|3| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|4| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|5| @64
+|f|o@1| |6| @64
+|f|o@1| |7| @64
+|f|o@1| |8| @64
+|:|5|,|2|s|/|f|o@1> @60
diff --git a/src/testdir/dumps/Test_incsearch_substitute_05.dump b/src/testdir/dumps/Test_incsearch_substitute_05.dump
new file mode 100644
index 0000000..6ec8ea3
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_05.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |1| @64
+|f+1&&|o|o+0&&| |2| @64
+|f+0&#ffff4012|o|o+0&#ffffff0| |3| @64
+|f|o@1| |4| @64
+|f|o@1| |5| @64
+|f|o@1| |6| @64
+|f|o@1| |7| @64
+|f|o@1| |8| @64
+|:|2|,|3|s|u|b| @1|/|f|o> @57
diff --git a/src/testdir/dumps/Test_incsearch_substitute_06.dump b/src/testdir/dumps/Test_incsearch_substitute_06.dump
new file mode 100644
index 0000000..8a66620
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_06.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |3| @64
+|f+1&&|o@1| +0&&|4| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|5| @64
+|f|o@1| |6| @64
+|f|o@1| |7| @64
+|f|o@1| |8| @64
+|:|a|b|o|v|e| |b|e|l|o|w| |b|r|o|w|s|e| |b|o|t|r| |c|o|n|f|i|r|m| |k|e@1|p|m|a|r| |k|e@1|p|a|l|t| |k|e@1|p@1|a|t| |k|e@1|p|j|u|m| |f|i|l|t|e
+|r| |x@2| |h|i|d|e| |l|o|c|k|m| |l|e|f|t|a|b|o|v|e| |n|o|a|u| |n|o|s|w|a|p| |r|i|g|h|t|b|e|l| |s|a|n|d|b|o|x| |s|i|l|e|n|t| |s|i|l|e|n|t|!
+| |$|t|a|b| |t|o|p| |u|n|s|i|l| |v|e|r|t| |v|e|r|b|o|s|e| |4|,|5|s|/|f|o|.> @32
diff --git a/src/testdir/dumps/Test_incsearch_substitute_07.dump b/src/testdir/dumps/Test_incsearch_substitute_07.dump
new file mode 100644
index 0000000..7b4dc6e
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_07.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |4| @64
+|f|o@1| |5| @64
+|f|o@1| |6| @64
+|f|o@1| |7| @64
+|f|o@1| |8| @64
+|f|o@1| |9| @64
+|f|o@1| |1|0| @63
+|b+9&&|a|r| +8&&|1@1| @63
+|:+0&&|9|,|1@1|s|/|b|a|r> @59
diff --git a/src/testdir/dumps/Test_incsearch_substitute_08.dump b/src/testdir/dumps/Test_incsearch_substitute_08.dump
new file mode 100644
index 0000000..d87e507
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_08.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |4| @64
+|f|o@1| |5| @64
+|f|o@1| |6| @64
+|f|o@1| |7| @64
+|f|o@1| |8| @64
+|f+8&&|o@1| |9| @64
+|f+0&&|o@1| |1|0| @63
+|b|a|r| |1@1| @63
+|:|9|,|1|0|s|/|b|a|r> @59
diff --git a/src/testdir/dumps/Test_incsearch_substitute_09.dump b/src/testdir/dumps/Test_incsearch_substitute_09.dump
new file mode 100644
index 0000000..633e7d8
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_09.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |3| @64
+|f+8&&|o@1| |4| @64
+|f+0&&|o@1| |5| @64
+|f|o@1| |6| @64
+|f|o@1| |7| @64
+|f|o@1| |8| @64
+|f|o@1| |9| @64
+|f|o@1| |1|0| @63
+|:|6|,|7|s|/|\|v> @61
diff --git a/src/testdir/dumps/Test_incsearch_substitute_10.dump b/src/testdir/dumps/Test_incsearch_substitute_10.dump
new file mode 100644
index 0000000..f98e046
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_10.dump
@@ -0,0 +1,9 @@
+|f+0&#ffff4012|o@1| +0&#ffffff0|1| @64
+>f+0&#ffff4012|o@1| +0&#ffffff0|2| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|3| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|4| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|5| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|6| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|7| @64
+|f+0&#ffff4012|o@1| +0&#ffffff0|8| @64
+@52|2|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_incsearch_substitute_11.dump b/src/testdir/dumps/Test_incsearch_substitute_11.dump
new file mode 100644
index 0000000..cc401be
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_11.dump
@@ -0,0 +1,9 @@
+|f+1&#ffffff0|o+0&#ffff4012@1| |1| +0&#ffffff0@64
+|f+0&#ffff4012|o@1| |2| +0&#ffffff0@64
+|f+0&#ffff4012|o@1| |3| +0&#ffffff0@64
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @38|1|,|1| @11|T|o|p
+|f+0&#ffff4012|o@1| |2| +0&#ffffff0@64
+|f+0&#ffff4012|o@1| |3| +0&#ffffff0@64
+|f+0&#ffff4012|o@1| |4| +0&#ffffff0@64
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @38|2|,|1| @11|1|2|%
+|:+0&&|%|s|/|.> @64
diff --git a/src/testdir/dumps/Test_incsearch_substitute_12.dump b/src/testdir/dumps/Test_incsearch_substitute_12.dump
new file mode 100644
index 0000000..3170e54
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_12.dump
@@ -0,0 +1,9 @@
+|f+0&#ffffff0|o@1| |2| @64
+|f|o@1| |3| @64
+|f|o@1| |4| @64
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @38|2|,|1| @11|1|2|%
+|f+0&&|o@1| |2| @64
+|f|o@1| |3| @64
+|f|o@1| |4| @64
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @38|2|,|1| @11|1|2|%
+|:+0&&|%|s|/> @65
diff --git a/src/testdir/dumps/Test_incsearch_substitute_13.dump b/src/testdir/dumps/Test_incsearch_substitute_13.dump
new file mode 100644
index 0000000..32feb55
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_13.dump
@@ -0,0 +1,9 @@
+>f+0&#ffffff0|o@1| |2| @64
+|f|o@1| |3| @64
+|f|o@1| |4| @64
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @38|2|,|1| @11|1|2|%
+|f+0&&|o@1| |2| @64
+|f|o@1| |3| @64
+|f|o@1| |4| @64
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @38|2|,|1| @11|1|2|%
+| +0&&@69
diff --git a/src/testdir/dumps/Test_incsearch_substitute_14.dump b/src/testdir/dumps/Test_incsearch_substitute_14.dump
new file mode 100644
index 0000000..c319856
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_14.dump
@@ -0,0 +1,9 @@
+|a+1&#ffffff0|s+0&&|d|f|a+0&#ffff4012|s+0&#ffffff0|d|f| @61
+|~+0#4040ff13&| @68
+|~| @68
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @38|1|,|1| @11|A|l@1
+|b+0&&|s|d|f|b|s|d|f| @61
+|~+0#4040ff13&| @68
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @38|1|,|1| @11|A|l@1
+|:+0&&|'|<|,|'|>|s|/|a|/|b|/|g> @56
+@70
diff --git a/src/testdir/dumps/Test_incsearch_substitute_15.dump b/src/testdir/dumps/Test_incsearch_substitute_15.dump
new file mode 100644
index 0000000..41dd358
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_substitute_15.dump
@@ -0,0 +1,4 @@
+|h+0&#ffffff0|e+1&&|l@1|o|/|t|h|e|r+0&&|e| @8
+|~+0#4040ff13&| @18
+|~| @18
+|:+0#0000000&|%|s|;|e|l@1|o|/|t|h|e> @7
diff --git a/src/testdir/dumps/Test_incsearch_vimgrep_01.dump b/src/testdir/dumps/Test_incsearch_vimgrep_01.dump
new file mode 100644
index 0000000..955d030
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_vimgrep_01.dump
@@ -0,0 +1,9 @@
+|a+0&#ffffff0|n|o|t|h|e|r| |o+1&&|n|e+0&&| |2| @56
+|t|h|a|t| |o+0&#ffff4012|n|e+0&#ffffff0| |3| @59
+|t|h|e| |o+0&#ffff4012|n|e+0&#ffffff0| |1| @60
+|~+0#4040ff13&| @68
+|~| @68
+|~| @68
+|~| @68
+|~| @68
+|:+0#0000000&|v|i|m|g|r|e|p| |o|n> @58
diff --git a/src/testdir/dumps/Test_incsearch_vimgrep_02.dump b/src/testdir/dumps/Test_incsearch_vimgrep_02.dump
new file mode 100644
index 0000000..a5d94ea
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_vimgrep_02.dump
@@ -0,0 +1,9 @@
+|a+0&#ffffff0|n|o|t|h|e|r| |o+1&&|n|e+0&&| |2| @56
+|t|h|a|t| |o+0&#ffff4012|n|e+0&#ffffff0| |3| @59
+|t|h|e| |o+0&#ffff4012|n|e+0&#ffffff0| |1| @60
+|~+0#4040ff13&| @68
+|~| @68
+|~| @68
+|~| @68
+|~| @68
+|:+0#0000000&|v|i|m|g| |/|o|n|/| |*|.|t|x|t> @53
diff --git a/src/testdir/dumps/Test_incsearch_vimgrep_03.dump b/src/testdir/dumps/Test_incsearch_vimgrep_03.dump
new file mode 100644
index 0000000..038ceb9
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_vimgrep_03.dump
@@ -0,0 +1,9 @@
+|a+0&#ffffff0|n|o|t|h|e|r| |o+1&&|n|e+0&&| |2| @56
+|t|h|a|t| |o+0&#ffff4012|n|e+0&#ffffff0| |3| @59
+|t|h|e| |o+0&#ffff4012|n|e+0&#ffffff0| |1| @60
+|~+0#4040ff13&| @68
+|~| @68
+|~| @68
+|~| @68
+|~| @68
+|:+0#0000000&|v|i|m|g|r|e|p|a|d@1| |"|\|<|o|n> @52
diff --git a/src/testdir/dumps/Test_incsearch_vimgrep_04.dump b/src/testdir/dumps/Test_incsearch_vimgrep_04.dump
new file mode 100644
index 0000000..92dd78d
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_vimgrep_04.dump
@@ -0,0 +1,9 @@
+|a+0&#ffffff0|n|o|t|h|e|r| |o|n|e| |2| @56
+|t+1&&|h|a|t+0&&| |o|n|e| |3| @59
+|t|h|e| |o|n|e| |1| @60
+|~+0#4040ff13&| @68
+|~| @68
+|~| @68
+|~| @68
+|~| @68
+|:+0#0000000&|l|v| |"|t|h|a> @61
diff --git a/src/testdir/dumps/Test_incsearch_vimgrep_05.dump b/src/testdir/dumps/Test_incsearch_vimgrep_05.dump
new file mode 100644
index 0000000..e11ff57
--- /dev/null
+++ b/src/testdir/dumps/Test_incsearch_vimgrep_05.dump
@@ -0,0 +1,9 @@
+|a+0&#ffffff0|n|o|t+1&&|h|e|r+0&&| |o|n|e| |2| @56
+|t|h|a|t| |o|n|e| |3| @59
+|t+0&#ffff4012|h|e| +0&#ffffff0|o|n|e| |1| @60
+|~+0#4040ff13&| @68
+|~| @68
+|~| @68
+|~| @68
+|~| @68
+|:+0#0000000&|l|v|i|m|g|r|e|p|a| |"|t|h|e|"| |*@1|/|*|.|t|x|t> @44
diff --git a/src/testdir/dumps/Test_job_buffer_scroll_1.dump b/src/testdir/dumps/Test_job_buffer_scroll_1.dump
new file mode 100644
index 0000000..11abe60
--- /dev/null
+++ b/src/testdir/dumps/Test_job_buffer_scroll_1.dump
@@ -0,0 +1,10 @@
+|s+0&#ffffff0|o|m|e|t|e|x|t| @66
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|X+1#0000000&|s|c|r|o|l@1|b|u|f@1|e|r| |[|+|]| @39|1|,|1| @11|A|l@1
+> +0&&@74
+|~+0#4040ff13&| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|-+0&&@1|N|o| |l|i|n|e|s| |i|n| |b|u|f@1|e|r|-@1| @52
diff --git a/src/testdir/dumps/Test_keytyped_in_nested_func.dump b/src/testdir/dumps/Test_keytyped_in_nested_func.dump
new file mode 100644
index 0000000..46bebea
--- /dev/null
+++ b/src/testdir/dumps/Test_keytyped_in_nested_func.dump
@@ -0,0 +1,6 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|"> @72
diff --git a/src/testdir/dumps/Test_linebreak_reset_restore_1.dump b/src/testdir/dumps/Test_linebreak_reset_restore_1.dump
new file mode 100644
index 0000000..5c6db4f
--- /dev/null
+++ b/src/testdir/dumps/Test_linebreak_reset_restore_1.dump
@@ -0,0 +1,8 @@
+|a+0&#ffffff0@64| @9
+|b@9| > @63
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|E+0#ffffff16#e000002|4|9|0|:| |N|o| |f|o|l|d| |f|o|u|n|d| +0#0000000#ffffff0@37|1|,|7|8|-|8|7| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_listchars_01.dump b/src/testdir/dumps/Test_listchars_01.dump
new file mode 100644
index 0000000..72fff58
--- /dev/null
+++ b/src/testdir/dumps/Test_listchars_01.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@2| @13||+1&&| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0|>+0#4040ff13&||+1#0000000&| +0#0000e05#a8a8a8255@2>a+0#0000000#ffffff0@2| @26
+| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@16||+1&&| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@1||+1&&| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@29
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @15||+1&&| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| ||+1&&| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @28
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @10||+1&&| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0|>+0#4040ff13&||+1#0000000&| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @23
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @3||+1#0000000&|~+0#4040ff13&| @31
+|~| @18||+1#0000000&|~+0#4040ff13&| @3||+1#0000000&|~+0#4040ff13&| @31
+|~| @18||+1#0000000&|~+0#4040ff13&| @3||+1#0000000&|~+0#4040ff13&| @31
+|~| @18||+1#0000000&|~+0#4040ff13&| @3||+1#0000000&|~+0#4040ff13&| @31
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|1| @3|A|l@1| |<|]| |1|,| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @3|1|,|1| @9|A|l@1
+| +0&&@59
diff --git a/src/testdir/dumps/Test_listchars_02.dump b/src/testdir/dumps/Test_listchars_02.dump
new file mode 100644
index 0000000..b7be52e
--- /dev/null
+++ b/src/testdir/dumps/Test_listchars_02.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@2| @13||+1&&| +0#0000e05#a8a8a8255@2|>+0#4040ff13#ffffff0||+1#0000000&| +0#0000e05#a8a8a8255@2>a+0#0000000#ffffff0@2| @27
+| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@16||+1&&| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0||+1&&| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@30
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @15||+1&&| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0||+1&&| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @29
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @10||+1&&| +0#0000e05#a8a8a8255@2|>+0#4040ff13#ffffff0||+1#0000000&| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @24
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @2||+1#0000000&|~+0#4040ff13&| @32
+|~| @18||+1#0000000&|~+0#4040ff13&| @2||+1#0000000&|~+0#4040ff13&| @32
+|~| @18||+1#0000000&|~+0#4040ff13&| @2||+1#0000000&|~+0#4040ff13&| @32
+|~| @18||+1#0000000&|~+0#4040ff13&| @2||+1#0000000&|~+0#4040ff13&| @32
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|1| @3|A|l@1| |<| |1|,| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @3|1|,|1| @10|A|l@1
+| +0&&@59
diff --git a/src/testdir/dumps/Test_listchars_03.dump b/src/testdir/dumps/Test_listchars_03.dump
new file mode 100644
index 0000000..13aca6d
--- /dev/null
+++ b/src/testdir/dumps/Test_listchars_03.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@2| @13||+1&&| +0#0000e05#a8a8a8255@2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2>a+0#0000000#ffffff0@2| @28
+| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@16||+1&&| +0#0000e05#a8a8a8255@2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@31
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @15||+1&&| +0#0000e05#a8a8a8255@2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @30
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @10||+1&&| +0#0000e05#a8a8a8255@2||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @25
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @1||+1#0000000&|~+0#4040ff13&| @33
+|~| @18||+1#0000000&|~+0#4040ff13&| @1||+1#0000000&|~+0#4040ff13&| @33
+|~| @18||+1#0000000&|~+0#4040ff13&| @1||+1#0000000&|~+0#4040ff13&| @33
+|~| @18||+1#0000000&|~+0#4040ff13&| @1||+1#0000000&|~+0#4040ff13&| @33
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|1| @3|A|l@1| |<| |1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @4|1|,|1| @10|A|l@1
+| +0&&@59
diff --git a/src/testdir/dumps/Test_listchars_04.dump b/src/testdir/dumps/Test_listchars_04.dump
new file mode 100644
index 0000000..e62c5af
--- /dev/null
+++ b/src/testdir/dumps/Test_listchars_04.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@2| @13||+1&&| +0#0000e05#a8a8a8255@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2>a+0#0000000#ffffff0@2| @29
+| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@16||+1&&| +0#0000e05#a8a8a8255@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@32
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @15||+1&&| +0#0000e05#a8a8a8255@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @31
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @10||+1&&| +0#0000e05#a8a8a8255@1||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @26
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| ||+1#0000000&|~+0#4040ff13&| @34
+|~| @18||+1#0000000&|~+0#4040ff13&| ||+1#0000000&|~+0#4040ff13&| @34
+|~| @18||+1#0000000&|~+0#4040ff13&| ||+1#0000000&|~+0#4040ff13&| @34
+|~| @18||+1#0000000&|~+0#4040ff13&| ||+1#0000000&|~+0#4040ff13&| @34
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|1| @3|A|l@1| |<|1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @4|1|,|1| @11|A|l@1
+| +0&&@59
diff --git a/src/testdir/dumps/Test_listchars_05.dump b/src/testdir/dumps/Test_listchars_05.dump
new file mode 100644
index 0000000..89b759f
--- /dev/null
+++ b/src/testdir/dumps/Test_listchars_05.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@2| @13||+1&&| +0#0000e05#a8a8a8255||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2>a+0#0000000#ffffff0@2| @30
+| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@16||+1&&| +0#0000e05#a8a8a8255||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@33
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @15||+1&&| +0#0000e05#a8a8a8255||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @32
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @10||+1&&| +0#0000e05#a8a8a8255||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @27
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&||+1#0000000&|~+0#4040ff13&| @35
+|~| @18||+1#0000000&|~+0#4040ff13&||+1#0000000&|~+0#4040ff13&| @35
+|~| @18||+1#0000000&|~+0#4040ff13&||+1#0000000&|~+0#4040ff13&| @35
+|~| @18||+1#0000000&|~+0#4040ff13&||+1#0000000&|~+0#4040ff13&| @35
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|1| @3|A|l@1| |<| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1
+| +0&&@59
diff --git a/src/testdir/dumps/Test_listchars_06.dump b/src/testdir/dumps/Test_listchars_06.dump
new file mode 100644
index 0000000..9f4b5d3
--- /dev/null
+++ b/src/testdir/dumps/Test_listchars_06.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@2| @13||+1&&| +0#0000e05#a8a8a8255@4||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@2| @26
+| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@16||+1&&| +0#0000e05#a8a8a8255@4||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@29
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @15||+1&&| +0#0000e05#a8a8a8255@4||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @28
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @10||+1&&| +0#0000e05#a8a8a8255@3> ||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @23
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&| @3||+1#0000000&|~+0#4040ff13&| @31
+|~| @18||+1#0000000&|~+0#4040ff13&| @3||+1#0000000&|~+0#4040ff13&| @31
+|~| @18||+1#0000000&|~+0#4040ff13&| @3||+1#0000000&|~+0#4040ff13&| @31
+|~| @18||+1#0000000&|~+0#4040ff13&| @3||+1#0000000&|~+0#4040ff13&| @31
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|1| @3|A|l@1| |<+3&&|]| |1|,| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @3|1|,|1| @9|A|l@1
+|:+0&&|s|e|t| |n|o|w|r|a|p| |f|o|l|d|c|o|l|u|m|n|=|4| @35
diff --git a/src/testdir/dumps/Test_listchars_07.dump b/src/testdir/dumps/Test_listchars_07.dump
new file mode 100644
index 0000000..ad81656
--- /dev/null
+++ b/src/testdir/dumps/Test_listchars_07.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@2| @13||+1&&| +0#0000e05#a8a8a8255||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@2| @30
+| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@16||+1&&| +0#0000e05#a8a8a8255||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2| +0#0000000#ffffff0@33
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @15||+1&&| +0#0000e05#a8a8a8255||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0| @32
+| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @10||+1&&> +0#0000e05#a8a8a8255||+1#0000000#ffffff0| +0#0000e05#a8a8a8255@2|a+0#0000000#ffffff0@5| @27
+|~+0#4040ff13&| @18||+1#0000000&|~+0#4040ff13&||+1#0000000&|~+0#4040ff13&| @35
+|~| @18||+1#0000000&|~+0#4040ff13&||+1#0000000&|~+0#4040ff13&| @35
+|~| @18||+1#0000000&|~+0#4040ff13&||+1#0000000&|~+0#4040ff13&| @35
+|~| @18||+1#0000000&|~+0#4040ff13&||+1#0000000&|~+0#4040ff13&| @35
+|<+1#0000000&|a|m|e|]| |[|+|]| |1|,|1| @3|A|l@1| |<+3&&| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1
+|:+0&&|s|e|t| |n|o|w|r|a|p| |f|o|l|d|c|o|l|u|m|n|=|4| @35
diff --git a/src/testdir/dumps/Test_long_file_name_1.dump b/src/testdir/dumps/Test_long_file_name_1.dump
new file mode 100644
index 0000000..1dcafc3
--- /dev/null
+++ b/src/testdir/dumps/Test_long_file_name_1.dump
@@ -0,0 +1,8 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|<+0#0000000&|x@64|"| |0|L|,| |0|B|
diff --git a/src/testdir/dumps/Test_long_text_with_padding_1.dump b/src/testdir/dumps/Test_long_text_with_padding_1.dump
new file mode 100644
index 0000000..18ca00c
--- /dev/null
+++ b/src/testdir/dumps/Test_long_text_with_padding_1.dump
@@ -0,0 +1,8 @@
+|f+0&#ffffff0|i|r|s|t| |l|i|n|e| @49
+@3|a+0&#ffd7ff255|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|…
+| +0&#ffffff0@29|m+0&#ffd7ff255|o|r|e| |m|o|r|e| |m|o|r|e| |m|o|r|e| |m|o|r|e| |m|o|r|e|…
+|s+0&#ffffff0|e|c|o|n|d| >l|i|n|e| @48
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|2|,|8| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_long_text_with_padding_2.dump b/src/testdir/dumps/Test_long_text_with_padding_2.dump
new file mode 100644
index 0000000..981613f
--- /dev/null
+++ b/src/testdir/dumps/Test_long_text_with_padding_2.dump
@@ -0,0 +1,8 @@
+|f+0&#ffffff0|i|r|s|t| |l|i|n|e|$+0#4040ff13&| +0#0000000&@48
+@3|a+0&#ffd7ff255|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|t|e|r| |a|f|…
+| +0&#ffffff0@29|m+0&#ffd7ff255|o|r|e| |m|o|r|e| |m|o|r|e| |m|o|r|e| |m|o|r|e| |m|o|r|e|…
+|s+0&#ffffff0|e|c|o|n|d| >l|i|n|e|$+0#4040ff13&| +0#0000000&@47
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|:+0#0000000&|s|e|t| |l|i|s|t| @32|2|,|8| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_map_expr_1.dump b/src/testdir/dumps/Test_map_expr_1.dump
new file mode 100644
index 0000000..15b772e
--- /dev/null
+++ b/src/testdir/dumps/Test_map_expr_1.dump
@@ -0,0 +1,10 @@
+|o+0&#ffffff0|n|e| @71
+>t|w|o| @71
+|t|h|r|e@1| @69
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+0#ffffff16#e000002|o|n|]| @70
+| +0#0000000#ffffff0@74
diff --git a/src/testdir/dumps/Test_map_expr_2.dump b/src/testdir/dumps/Test_map_expr_2.dump
new file mode 100644
index 0000000..270a233
--- /dev/null
+++ b/src/testdir/dumps/Test_map_expr_2.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_map_expr_3.dump b/src/testdir/dumps/Test_map_expr_3.dump
new file mode 100644
index 0000000..6404e8c
--- /dev/null
+++ b/src/testdir/dumps/Test_map_expr_3.dump
@@ -0,0 +1,10 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|a|b|c| @70
+|E+0#ffffff16#e000002|r@1|o|r| |d|e|t|e|c|t|e|d| |w|h|i|l|e| |p|r|o|c|e|s@1|i|n|g| |f|u|n|c|t|i|o|n| |F|u|n|c|[|1|]|.@1|f|u|n|c|t|i|o|n| |F|u|n|c|:| +0#0000000#ffffff0@10
+|l+0#af5f00255&|i|n|e| @3|1|:| +0#0000000&@64
+|E+0#ffffff16#e000002|6|0|5|:| |E|x|c|e|p|t|i|o|n| |n|o|t| |c|a|u|g|h|t|:| |t|e|s|t| +0#0000000#ffffff0@42
+|:|a|b|c> @70
diff --git a/src/testdir/dumps/Test_map_expr_4.dump b/src/testdir/dumps/Test_map_expr_4.dump
new file mode 100644
index 0000000..270a233
--- /dev/null
+++ b/src/testdir/dumps/Test_map_expr_4.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_map_list_1.dump b/src/testdir/dumps/Test_map_list_1.dump
new file mode 100644
index 0000000..64bdcf9
--- /dev/null
+++ b/src/testdir/dumps/Test_map_list_1.dump
@@ -0,0 +1,6 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|n+0#0000000&| @1|a| @12|b| @38|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_match_linebreak.dump b/src/testdir/dumps/Test_match_linebreak.dump
new file mode 100644
index 0000000..33be5b3
--- /dev/null
+++ b/src/testdir/dumps/Test_match_linebreak.dump
@@ -0,0 +1,10 @@
+>x+0&#ffffff0@49|]+0#ffffff16#e000002| +0#0000000#ffffff0@23
+|x@69| @4
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_match_tab_linebreak.dump b/src/testdir/dumps/Test_match_tab_linebreak.dump
new file mode 100644
index 0000000..9a525d1
--- /dev/null
+++ b/src/testdir/dumps/Test_match_tab_linebreak.dump
@@ -0,0 +1,10 @@
+| +0#ffffff16#e000002@6> |i+0#0000000#ffffff0|x| @64
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1|-|8| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_match_with_incsearch_1.dump b/src/testdir/dumps/Test_match_with_incsearch_1.dump
new file mode 100644
index 0000000..8a9d30c
--- /dev/null
+++ b/src/testdir/dumps/Test_match_with_incsearch_1.dump
@@ -0,0 +1,6 @@
+>0+0&#ffffff0| @73
+|1| @73
+|2+0#ffffff16#e000002| +0#0000000#ffffff0@73
+|3| @73
+|4| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_match_with_incsearch_2.dump b/src/testdir/dumps/Test_match_with_incsearch_2.dump
new file mode 100644
index 0000000..9e9868b
--- /dev/null
+++ b/src/testdir/dumps/Test_match_with_incsearch_2.dump
@@ -0,0 +1,6 @@
+|0+1&#ffffff0| +0&&@73
+|1| @73
+|2+0#ffffff16#e000002| +0#0000000#ffffff0@73
+|3| @73
+|4| @73
+|:|s|/|0> @70
diff --git a/src/testdir/dumps/Test_matchadd_1.dump b/src/testdir/dumps/Test_matchadd_1.dump
new file mode 100644
index 0000000..d07507b
--- /dev/null
+++ b/src/testdir/dumps/Test_matchadd_1.dump
@@ -0,0 +1,12 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|H+0&#ffff4012|e|l@1|o| +0&#ffffff0|V|i|m| |w+0#ffffff16#ff404010|o|r|l|d| +0#0000000#ffffff0@59
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|A|l@1
+|:+0&&| @73
diff --git a/src/testdir/dumps/Test_matchaddpos_1.dump b/src/testdir/dumps/Test_matchaddpos_1.dump
new file mode 100644
index 0000000..b282b24
--- /dev/null
+++ b/src/testdir/dumps/Test_matchaddpos_1.dump
@@ -0,0 +1,14 @@
+>1+0&#ffff4012|2+0&#ffffff0|3|4|5|6|7|8|9|0|1|2|3| @61
+|1|2+0&#ffff4012|3+0&#ffffff0|4|5|6|7|8|9|0|1|2|3| @61
+|1|2|3+0&#ffff4012|4+0&#ffffff0|5|6|7|8|9|0|1|2|3| @61
+|1|2|3|4+0&#ffff4012|5+0&#ffffff0|6|7|8|9|0|1|2|3| @61
+|1|2|3|4|5+0&#ffff4012|6+0&#ffffff0|7|8|9|0|1|2|3| @61
+|1|2|3|4|5|6+0&#ffff4012|7+0&#ffffff0|8|9|0|1|2|3| @61
+|1|2|3|4|5|6|7+0&#ffff4012|8+0&#ffffff0|9|0|1|2|3| @61
+|1|2|3|4|5|6|7|8+0&#ffff4012|9+0&#ffffff0|0|1|2|3| @61
+|1|2|3|4|5|6|7|8|9+0&#ffff4012|0+0&#ffffff0|1|2|3| @61
+|1|2|3|4|5|6|7|8|9|0+0&#ffff4012|1+0&#ffffff0|2|3| @61
+|1|2|3|4|5|6|7|8|9|0|1+0&#ffff4012|2+0&#ffffff0|3| @61
+|1|2|3|4|5|6|7|8|9|0|1|2+0&#ffff4012|3+0&#ffffff0| @61
+|1|2|3|4|5|6|7|8|9|0|1|2|3| @61
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_matchclear_1.dump b/src/testdir/dumps/Test_matchclear_1.dump
new file mode 100644
index 0000000..164bfd4
--- /dev/null
+++ b/src/testdir/dumps/Test_matchclear_1.dump
@@ -0,0 +1,12 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|H+0&&|e|l@1|o| |V|i|m| |w|o|r|l|d| @59
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|A|l@1
+|:+0&&|c|a|l@1| |c|l|e|a|r|m|a|t|c|h|e|s|(|w|i|n|i|d|)| @49
diff --git a/src/testdir/dumps/Test_matchdelete_1.dump b/src/testdir/dumps/Test_matchdelete_1.dump
new file mode 100644
index 0000000..06b16b5
--- /dev/null
+++ b/src/testdir/dumps/Test_matchdelete_1.dump
@@ -0,0 +1,12 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|H+0&&|e|l@1|o| |V|i|m| |w|o|r|l|d| @59
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|A|l@1
+|:+0&&|c|a|l@1| |m|a|t|c|h|d|e|l|e|t|e|(|m|i|d|,| |w|i|n|i|d|)| @45
diff --git a/src/testdir/dumps/Test_matchparen_clear_highlight_1.dump b/src/testdir/dumps/Test_matchparen_clear_highlight_1.dump
new file mode 100644
index 0000000..1a96275
--- /dev/null
+++ b/src/testdir/dumps/Test_matchparen_clear_highlight_1.dump
@@ -0,0 +1,5 @@
+>(+0&#40ffff15|)| +0&#ffffff0@72
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_matchparen_clear_highlight_2.dump b/src/testdir/dumps/Test_matchparen_clear_highlight_2.dump
new file mode 100644
index 0000000..c3f93fa
--- /dev/null
+++ b/src/testdir/dumps/Test_matchparen_clear_highlight_2.dump
@@ -0,0 +1,5 @@
+>a+0&#ffffff0@1| @72
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_misplaced_type.dump b/src/testdir/dumps/Test_misplaced_type.dump
new file mode 100644
index 0000000..afb82a0
--- /dev/null
+++ b/src/testdir/dumps/Test_misplaced_type.dump
@@ -0,0 +1,6 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|E+0#ffffff16#e000002|1|2|7|2|:| |U|s|i|n|g| |t|y|p|e| |n|o|t| |i|n| |a| |s|c|r|i|p|t| |c|o|n|t|e|x|t|:| |:| |s|t|r|i|n|g| +0#0000000#ffffff0@23
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35
diff --git a/src/testdir/dumps/Test_mode_updated_1.dump b/src/testdir/dumps/Test_mode_updated_1.dump
new file mode 100644
index 0000000..6bbded4
--- /dev/null
+++ b/src/testdir/dumps/Test_mode_updated_1.dump
@@ -0,0 +1,5 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_more_scrollback_1.dump b/src/testdir/dumps/Test_more_scrollback_1.dump
new file mode 100644
index 0000000..619f5a7
--- /dev/null
+++ b/src/testdir/dumps/Test_more_scrollback_1.dump
@@ -0,0 +1,10 @@
+|0+0#ffffff16#0000001| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|-+0#00e0003&@1| |M|o|r|e| |-@1> +0#ffffff16&@64
diff --git a/src/testdir/dumps/Test_more_scrollback_2.dump b/src/testdir/dumps/Test_more_scrollback_2.dump
new file mode 100644
index 0000000..619f5a7
--- /dev/null
+++ b/src/testdir/dumps/Test_more_scrollback_2.dump
@@ -0,0 +1,10 @@
+|0+0#ffffff16#0000001| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|-+0#00e0003&@1| |M|o|r|e| |-@1> +0#ffffff16&@64
diff --git a/src/testdir/dumps/Test_move_undo_1.dump b/src/testdir/dumps/Test_move_undo_1.dump
new file mode 100644
index 0000000..71e3120
--- /dev/null
+++ b/src/testdir/dumps/Test_move_undo_1.dump
@@ -0,0 +1,10 @@
+|S+0&#ffffff0|e|c|o|n|d| @53
+>F|i|r|s|t| @54
+|T|h|i|r|d| @54
+|F|o|u|r|t|h| @53
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+|:+0#0000000&|m|o|v|e| |+|1| @33|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_move_undo_2.dump b/src/testdir/dumps/Test_move_undo_2.dump
new file mode 100644
index 0000000..ff0bc1a
--- /dev/null
+++ b/src/testdir/dumps/Test_move_undo_2.dump
@@ -0,0 +1,10 @@
+>F+0&#ffffff0|i|r|s|t| @54
+|S|e|c|o|n|d| @53
+|T|h|i|r|d| @54
+|F|o|u|r|t|h| @53
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_popup_and_previewwindow_01.dump b/src/testdir/dumps/Test_popup_and_previewwindow_01.dump
new file mode 100644
index 0000000..b235c7d
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_and_previewwindow_01.dump
@@ -0,0 +1,20 @@
+|a+0&#ffffff0|b|0| @71
+|a|b|1| @71
+|a|b|2| @71
+|a|b|3| @71
+|a|b|4| @71
+|a|b|5| @71
+|a|b|6| @71
+|a|b|7| @71
+|a|b|8| @71
+|a+0#0000001#e0e0e08|b|0| @11| +0#0000000#0000001|e+1&#ffffff0|w|]|[|+|]| @34|1|,|1| @11|T|o|p
+|a+0#0000001#ffd7ff255|b|1| @11| +0#0000000#0000001| +0&#ffffff0@58
+|a+0#0000001#ffd7ff255|b|2| @11| +0#0000000#0000001| +0&#ffffff0@58
+|a+0#0000001#ffd7ff255|b|3| @11| +0#0000000#0000001| +0&#ffffff0@58
+|a+0#0000001#ffd7ff255|b|4| @11| +0#0000000#a8a8a8255| +0&#ffffff0@58
+|a+0#0000001#ffd7ff255|b|5| @11| +0#0000000#a8a8a8255| +0&#ffffff0@58
+|a+0#0000001#ffd7ff255|b|6| @11| +0#0000000#a8a8a8255| +0&#ffffff0@58
+|a|b|0> @71
+|~+0#4040ff13&| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1@1|,|1| @10|B|o|t
+|-+2&&@1| |K|e|y|w|o|r|d| |L|o|c|a|l| |c|o|m|p|l|e|t|i|o|n| |(|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |1|0| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popup_command_01.dump b/src/testdir/dumps/Test_popup_command_01.dump
new file mode 100644
index 0000000..8d0cd9c
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_command_01.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| @51
+|a|n|d| |o|n|e| |t|w|o| >X|t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46
+|o|n|e| |m|o|r|e| |t|w| +0#0000001#ffd7ff255|U|n|d|o| @12| +0#0000000#ffffff0@45
+|~+0#4040ff13&| @9| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|P|a|s|t|e| @11| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |W|o|r|d| @5| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |S|e|n|t|e|n|c|e| @1| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |P|a|r|a|g|r|a|p|h| | +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |L|i|n|e| @5| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |B|l|o|c|k| @4| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |A|l@1| @6| +0#4040ff13#ffffff0@45
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @62
diff --git a/src/testdir/dumps/Test_popup_command_02.dump b/src/testdir/dumps/Test_popup_command_02.dump
new file mode 100644
index 0000000..e33ea4d
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_command_02.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| @51
+|a|n|d| |o|n|e| |t|w|o| >X|t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46
+|o|n|e| |m|o|r|e| |t|w| +0#0000001#ffd7ff255|U|n|d|o| @12| +0#0000000#ffffff0@45
+|~+0#4040ff13&| @9| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#e0e0e08|P|a|s|t|e| @11| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |W|o|r|d| @5| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |S|e|n|t|e|n|c|e| @1| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |P|a|r|a|g|r|a|p|h| | +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |L|i|n|e| @5| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |B|l|o|c|k| @4| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |A|l@1| @6| +0#4040ff13#ffffff0@45
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|p|o|p|u|p| |P|o|p|U|p| @62
diff --git a/src/testdir/dumps/Test_popup_command_03.dump b/src/testdir/dumps/Test_popup_command_03.dump
new file mode 100644
index 0000000..fa2ac70
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_command_03.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| @51
+|a|n|d| |o|n|e| |t|w|o| |X+0&#e0e0e08|t|h|r|e@1> +0&#ffffff0|f|o|u|r| |f|i|v|e| @46
+|o|n|e| |m|o|r|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@34|7| @8|2|,|1|9| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_popup_command_04.dump b/src/testdir/dumps/Test_popup_command_04.dump
new file mode 100644
index 0000000..c14576c
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_command_04.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| @51
+|a|n|d| |o|n|e| |t|w|o| |X|t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46
+|o|n|e| |m|o|r|e| |t|w| +0#0000001#ffd7ff255|U|n|d|o| @12| +0#0000000#ffffff0@45
+|~+0#4040ff13&| @9| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|P|a|s|t|e| @11| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255@17| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |W|o|r|d| @5| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |S|e|n|t|e|n|c|e| @1| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |P|a|r|a|g|r|a|p|h| | +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |L|i|n|e| @5| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |B|l|o|c|k| @4| +0#4040ff13#ffffff0@45
+|~| @9| +0#0000001#ffd7ff255|S|e|l|e|c|t| |A|l@1| @6| +0#4040ff13#ffffff0@45
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|c+0#0000000&|h|a|n|g|e|d> @67
diff --git a/src/testdir/dumps/Test_popup_command_05.dump b/src/testdir/dumps/Test_popup_command_05.dump
new file mode 100644
index 0000000..de1c95e
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_command_05.dump
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| @51
+|a|n|d| |o|n|e| |t|w|o| >X|t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46
+|o|n|e| |m|o|r|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| @46
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|p+0#0000000&|a|s|t|e|d| @50|2|,|1|3| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_popup_position_01.dump b/src/testdir/dumps/Test_popup_position_01.dump
new file mode 100644
index 0000000..43900fb
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_position_01.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|a| @5||+1&&|1+0&&|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|a| @5
+|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|b| @5||+1&&|1+0&&|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|b| @5
+@12|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5||+1&&| +0&&@11|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5
+|6|7|8|9|_|a> @30||+1&&|6+0&&|7|8|9|_|a| @30
+|~+0#4040ff13&| @9| +0#0000001#e0e0e08|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|a| | +0#4040ff13#ffffff0@30
+|~| @9| +0#0000001#ffd7ff255|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|b| | +0#4040ff13#ffffff0@30
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
diff --git a/src/testdir/dumps/Test_popup_position_02.dump b/src/testdir/dumps/Test_popup_position_02.dump
new file mode 100644
index 0000000..c3613c3
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_position_02.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|a| @5||+1&&|1+0&&|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|a| @5
+|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|b| @5||+1&&|1+0&&|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|b| @5
+@12|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5||+1&&| +0&&@11|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5
+|6|7|8|9|_|a| @30||+1&&|6+0&&|7|8|9|_|a> @30
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @9| +0#0000001#e0e0e08|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @9| +0#0000001#ffd7ff255|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
diff --git a/src/testdir/dumps/Test_popup_position_03.dump b/src/testdir/dumps/Test_popup_position_03.dump
new file mode 100644
index 0000000..650cb7f
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_position_03.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|a| @5||+1&&|1+0&&|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|a| @5
+|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|b| @5||+1&&|1+0&&|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|b| @5
+@12|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5||+1&&| +0&&@11|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5
+|6|7|8|9|_|a| @30||+1&&|6+0&&|7|8|9|_|a> @30
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @4| +0#0000001#e0e0e08|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @4| +0#0000001#ffd7ff255|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
diff --git a/src/testdir/dumps/Test_popup_position_04.dump b/src/testdir/dumps/Test_popup_position_04.dump
new file mode 100644
index 0000000..1793b23
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_position_04.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7||+1&&|1+0&&|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7
+|8|9|_|a| @32||+1&&|8+0&&|9|_|a| @32
+|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7||+1&&|1+0&&|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7
+|8|9|_|b| @32||+1&&|8+0&&|9|_|b| @32
+@12|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5||+1&&| +0&&@11|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5
+|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|a| @20||+1&&|6+0&&|7|8|9|_|1|2|3|4|5|6|7|8|9|_|a> @20
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @9| +0#0000001#e0e0e08|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @9| +0#0000001#ffd7ff255|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
diff --git a/src/testdir/dumps/Test_popup_prop_not_visible_01.dump b/src/testdir/dumps/Test_popup_prop_not_visible_01.dump
new file mode 100644
index 0000000..dbcfda1
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_prop_not_visible_01.dump
@@ -0,0 +1,10 @@
+| +2&#ffffff0|2+2#e000e06&|++2#0000000&| |[|N|o| |N|a|m|e|]| | +1&&@60
+| +0&&@42||+1&&> +0&&@30
+|~+0#4040ff13&| @41||+1#0000000&|s+0&&|o|m|e| |t|e|x|t|a+0#ffffff16#e000002|t@1|a|c|h|e|d| |t|o| |"|s|o|m|e|"| +0#0000000#ffffff0@3
+|~+0#4040ff13&| @41||+1#0000000&| +0&&@30
+|~+0#4040ff13&| @41||+1#0000000&|o+0&&|t|h|e|r| |t|e|x|t|a+0#ffffff16#e000002|t@1|a|c|h|e|d| |t|o| |"|o|t|h|e|r|"| +0#0000000#ffffff0@1
+|~+0#4040ff13&| @41||+1#0000000&|~+0#4040ff13&| @29
+|~| @41||+1#0000000&|~+0#4040ff13&| @29
+|~| @41||+1#0000000&|~+0#4040ff13&| @29
+|[+1#0000000&|N|o| |N|a|m|e|]| @15|0|,|0|-|1| @9|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @2|1|,|0|-|1| @6|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_popup_prop_not_visible_01a.dump b/src/testdir/dumps/Test_popup_prop_not_visible_01a.dump
new file mode 100644
index 0000000..0b97cb8
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_prop_not_visible_01a.dump
@@ -0,0 +1,10 @@
+| +2&#ffffff0|2+2#e000e06&|++2#0000000&| |[|N|o| |N|a|m|e|]| | +1&&@60
+| +0&&@42||+1&&> +0&&@30
+|~+0#4040ff13&| @41||+1#0000000&|s+0&&|o|m|e| |t|e|x|t| @21
+|~+0#4040ff13&| @41||+1#0000000&| +0&&@30
+|~+0#4040ff13&| @41||+1#0000000&|o+0&&|t|h|e|r| |t|e|x|t|a+0#ffffff16#e000002|t@1|a|c|h|e|d| |t|o| |"|o|t|h|e|r|"| +0#0000000#ffffff0@1
+|~+0#4040ff13&| @41||+1#0000000&|~+0#4040ff13&| @29
+|~| @41||+1#0000000&|~+0#4040ff13&| @29
+|~| @41||+1#0000000&|~+0#4040ff13&| @29
+|[+1#0000000&|N|o| |N|a|m|e|]| @15|0|,|0|-|1| @9|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @2|1|,|0|-|1| @6|A|l@1
+|:+0&&|c|a|l@1| |p|o|p|u|p|_|h|i|d|e|(|g|:|s|o|m|e|_|i|d|)| @47
diff --git a/src/testdir/dumps/Test_popup_prop_not_visible_01b.dump b/src/testdir/dumps/Test_popup_prop_not_visible_01b.dump
new file mode 100644
index 0000000..e8a5c2e
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_prop_not_visible_01b.dump
@@ -0,0 +1,10 @@
+| +2&#ffffff0|2+2#e000e06&|++2#0000000&| |[|N|o| |N|a|m|e|]| | +1&&@60
+| +0&&@42||+1&&> +0&&@30
+|~+0#4040ff13&| @41||+1#0000000&|s+0&&|o|m|e| |t|e|x|t|a+0#ffffff16#e000002|t@1|a|c|h|e|d| |t|o| |"|s|o|m|e|"| +0#0000000#ffffff0@3
+|~+0#4040ff13&| @41||+1#0000000&| +0&&@30
+|~+0#4040ff13&| @41||+1#0000000&|o+0&&|t|h|e|r| |t|e|x|t|a+0#ffffff16#e000002|t@1|a|c|h|e|d| |t|o| |"|o|t|h|e|r|"| +0#0000000#ffffff0@1
+|~+0#4040ff13&| @41||+1#0000000&|~+0#4040ff13&| @29
+|~| @41||+1#0000000&|~+0#4040ff13&| @29
+|~| @41||+1#0000000&|~+0#4040ff13&| @29
+|[+1#0000000&|N|o| |N|a|m|e|]| @15|0|,|0|-|1| @9|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @2|1|,|0|-|1| @6|A|l@1
+|:+0&&|c|a|l@1| |p|o|p|u|p|_|s|h|o|w|(|g|:|s|o|m|e|_|i|d|)| @47
diff --git a/src/testdir/dumps/Test_popup_prop_not_visible_02.dump b/src/testdir/dumps/Test_popup_prop_not_visible_02.dump
new file mode 100644
index 0000000..1d1a553
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_prop_not_visible_02.dump
@@ -0,0 +1,10 @@
+| +2&#ffffff0|2+2#e000e06&|++2#0000000&| |[|N|o| |N|a|m|e|]| | +1&&@60
+| +0&&@56||+1&&> +0&&@16
+|~+0#4040ff13&| @55||+1#0000000&|s+0&&|o|m|e| |t|e|x|t|a+0#ffffff16#e000002|t@1|a|c|h|e|d
+|~+0#4040ff13#ffffff0| @55||+1#0000000&| +0&&@16
+|~+0#4040ff13&| @54|a+0#ffffff16#e000002|t@1|a|c|h|e|d| |t|o| |"|o|t|h|e|r|"
+|~+0#4040ff13#ffffff0| @55||+1#0000000&|~+0#4040ff13&| @15
+|~| @55||+1#0000000&|~+0#4040ff13&| @15
+|~| @55||+1#0000000&|~+0#4040ff13&| @15
+|[+1#0000000&|N|o| |N|a|m|e|]| @29|0|,|0|-|1| @9|A|l@1| |<+3&&|m|e|]| |[|+|]| |1|,|0|-|1| @2
+|:+0&&|v|e|r|t| |r|e|s|i|z|e| |-|1|4| @58
diff --git a/src/testdir/dumps/Test_popup_prop_not_visible_03.dump b/src/testdir/dumps/Test_popup_prop_not_visible_03.dump
new file mode 100644
index 0000000..caaa881
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_prop_not_visible_03.dump
@@ -0,0 +1,10 @@
+| +2&#ffffff0|2+2#e000e06&|++2#0000000&| |[|N|o| |N|a|m|e|]| | +1&&@60
+| +0&&@64||+1&&> +0&&@8
+|~+0#4040ff13&| @63||+1#0000000&|s+0&&|o|m|e| |t|e|x|t
+|~+0#4040ff13&| @63||+1#0000000&| +0&&@8
+|~+0#4040ff13&| @63||+1#0000000&|o+0&&|t|h|e|r| |t|e|x
+|~+0#4040ff13&| @63||+1#0000000&|~+0#4040ff13&| @7
+|~| @63||+1#0000000&|~+0#4040ff13&| @7
+|~| @63||+1#0000000&|~+0#4040ff13&| @7
+|[+1#0000000&|N|o| |N|a|m|e|]| @37|0|,|0|-|1| @9|A|l@1| |<+3&&|[|+|]| |1|,|0|-
+|:+0&&|v|e|r|t| |r|e|s|i|z|e| |-|8| @59
diff --git a/src/testdir/dumps/Test_popup_settext_01.dump b/src/testdir/dumps/Test_popup_settext_01.dump
new file mode 100644
index 0000000..768c1bd
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_settext_01.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @28|t+0#0000001#ffd7ff255|h|i|s| |i|s| |a| |t|e|x|t| +0#4040ff13#ffffff0@30
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popup_settext_02.dump b/src/testdir/dumps/Test_popup_settext_02.dump
new file mode 100644
index 0000000..565e97f
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_settext_02.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @35| +0#0000001#ffd7ff255| +0#4040ff13#ffffff0@36
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|c|a|l@1| |p|o|p|u|p|_|s|e|t@1|e|x|t|(|p|,| |'@1|)| @30|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popup_settext_03.dump b/src/testdir/dumps/Test_popup_settext_03.dump
new file mode 100644
index 0000000..b2c0504
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_settext_03.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @35|a+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@36
+|~| @35|b+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@36
+|~| @35|c+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@36
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|c|a|l@1| |p|o|p|u|p|_|s|e|t@1|e|x|t|(|p|,| |[|'|a|'|,|'|b|'|,|'|c|'|]|)| @19|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popup_settext_04.dump b/src/testdir/dumps/Test_popup_settext_04.dump
new file mode 100644
index 0000000..8e20916
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_settext_04.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @35|a+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@36
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|c|a|l@1| |p|o|p|u|p|_|s|e|t@1|e|x|t|(|p|,| |[|'|a|'|]|)| @27|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popup_settext_05.dump b/src/testdir/dumps/Test_popup_settext_05.dump
new file mode 100644
index 0000000..1ae670e
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_settext_05.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @35| +0#0000001#ffd7ff255| +0#4040ff13#ffffff0@36
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|c|a|l@1| |p|o|p|u|p|_|s|e|t@1|e|x|t|(|p|,| |[|]|)| @30|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popup_settext_06.dump b/src/testdir/dumps/Test_popup_settext_06.dump
new file mode 100644
index 0000000..99c32c8
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_settext_06.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @33|a+0#0000001#ffd7ff255@3| +0#4040ff13#ffffff0@35
+|~| @33|b+0#0000001#ffd7ff255@3| +0#4040ff13#ffffff0@35
+|~| @33|c+0#0000001#ffd7ff255@3| +0#4040ff13#ffffff0@35
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popup_settext_07.dump b/src/testdir/dumps/Test_popup_settext_07.dump
new file mode 100644
index 0000000..2362aa7
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_settext_07.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @35| +0#0000001#ffd7ff255| +0#4040ff13#ffffff0@36
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|E+0#ffffff16#e000002|1|0|2|4|:| |U|s|i|n|g| |a| |N|u|m|b|e|r| |a|s| |a| |S|t|r|i|n|g| +0#0000000#ffffff0@23|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popup_textprop_01.dump b/src/testdir/dumps/Test_popup_textprop_01.dump
new file mode 100644
index 0000000..e85ea7e
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_01.dump
@@ -0,0 +1,10 @@
+|4+0&#ffffff0|6| @72
+|4|7| @14|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@45
+|4|8| @14|║+0#0000001#ffd7ff255| |t|h|e| |t|e|x|t| |║| +0#0000000#ffffff0@45
+|4|9| @14|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@45
+>s|o|m|e| |t|e|x|t| |t+0&#5fd7ff255|o| |w|o|r|k| +0&#ffffff0|w|i|t|h| @52
+|5|1| @72
+|5|2| @72
+|5|3| @72
+|5|4| @72
+@57|5|0|,|1| @9|4|9|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_02.dump b/src/testdir/dumps/Test_popup_textprop_02.dump
new file mode 100644
index 0000000..58fdc28
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_02.dump
@@ -0,0 +1,10 @@
+>s+0&#ffffff0|o|m|e| |t|e|x|t| |t+0&#5fd7ff255|o| |w|o|r|k| +0&#ffffff0|w|i|t|h| @52
+|5|1| @14|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@45
+|5|2| @14|║+0#0000001#ffd7ff255| |t|h|e| |t|e|x|t| |║| +0#0000000#ffffff0@45
+|5|3| @14|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@45
+|5|4| @72
+|5@1| @72
+|5|6| @72
+|5|7| @72
+|5|8| @72
+@57|5|0|,|1| @9|5|3|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_03.dump b/src/testdir/dumps/Test_popup_textprop_03.dump
new file mode 100644
index 0000000..efc6853
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_03.dump
@@ -0,0 +1,10 @@
+|4+0&#ffffff0|6| @72
+|4|7| @17|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@42
+|4|8| @17|║+0#0000001#ffd7ff255| |t|h|e| |t|e|x|t| |║| +0#0000000#ffffff0@42
+|4|9| @17|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@42
+|a|w>e|s|o|m|e| |t|e|x|t| |t+0&#5fd7ff255|o| |w|o|r|k| +0&#ffffff0|w|i|t|h| @49
+|5|1| @72
+|5|2| @72
+|5|3| @72
+|5|4| @72
+@57|5|0|,|3| @9|4|9|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_04.dump b/src/testdir/dumps/Test_popup_textprop_04.dump
new file mode 100644
index 0000000..b8179c6
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_04.dump
@@ -0,0 +1,10 @@
+|4+0&#ffffff0|6| @72
+|4|7| @9|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@50
+|4|8| @9|║+0#0000001#ffd7ff255| |t|h|e| |t|e|x|t| |║| +0#0000000#ffffff0@50
+|4|9| @9|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@50
+>t|e|x|t| |t+0&#5fd7ff255|o| |w|o|r|k| +0&#ffffff0|w|i|t|h| @57
+|5|1| @72
+|5|2| @72
+|5|3| @72
+|5|4| @72
+@57|5|0|,|1| @9|4|9|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_05.dump b/src/testdir/dumps/Test_popup_textprop_05.dump
new file mode 100644
index 0000000..78ae142
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_05.dump
@@ -0,0 +1,10 @@
+|4+0&#ffffff0|6| @72
+|4|7| @72
+|4|8| @9|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@50
+|4|9| @9|║+0#0000001#ffd7ff255| |t|h|e| |t|e|x|t| |║| +0#0000000#ffffff0@50
+|i|n|s|e|r|t|e>d| @3|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@50
+|t|e|x|t| |t+0&#5fd7ff255|o| |w|o|r|k| +0&#ffffff0|w|i|t|h| @57
+|5|1| @72
+|5|2| @72
+|5|3| @72
+@57|5|0|,|8| @9|4|8|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_06.dump b/src/testdir/dumps/Test_popup_textprop_06.dump
new file mode 100644
index 0000000..2327998
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_06.dump
@@ -0,0 +1,10 @@
+|4+0&#ffffff0|6| @9|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@50
+|4|7| @9|║+0#0000001#ffd7ff255| |t|h|e| |t|e|x|t| |║| +0#0000000#ffffff0@50
+|4|8| @9|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@50
+>t|e|x|t| |t+0&#5fd7ff255|o| |w|o|r|k| +0&#ffffff0|w|i|t|h| @57
+|5|1| @72
+|5|2| @72
+|5|3| @72
+|5|4| @72
+|5@1| @72
+@57|4|9|,|1| @9|5|0|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_07.dump b/src/testdir/dumps/Test_popup_textprop_07.dump
new file mode 100644
index 0000000..2950ddc
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_07.dump
@@ -0,0 +1,10 @@
+>5+0&#ffffff0|1| @72
+|5|2| @72
+|5|3| @72
+|5|4| @72
+|5@1| @72
+|5|6| @72
+|5|7| @72
+|5|8| @72
+|5|9| @72
+@57|5|0|,|1| @9|5|4|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_corn_1.dump b/src/testdir/dumps/Test_popup_textprop_corn_1.dump
new file mode 100644
index 0000000..ac18c99
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_corn_1.dump
@@ -0,0 +1,12 @@
+|4+0&#ffffff0|5| @72
+|4|6| @72
+|4|7| @3|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@52
+|4|8| @3|║+0#0000001#ffd7ff255| |b|o|t@1|o|m| |r|i|g|h|t| |║| +0#0000000#ffffff0@52
+|4|9| @3|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255|b|o|t@1|o|m| |l|e|f|t| | +0#0000000#ffffff0@33
+>n|o|w| |w|o|r|k|i|n|g| |w|i|t|h| |s|o|m|e| |l+0&#5fd7ff255|o|n|g|e|r| +0&#ffffff0|t|e|x|t| |h|e|r|e| @36
+|5|1| @8| +0#0000001#ffd7ff255|t|o|p| |r|i|g|h|t| | +0#0000000#ffffff0@5|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@34
+|5|2| @25|║+0#0000001#ffd7ff255| |t|o|p| |l|e|f|t| |║| +0#0000000#ffffff0@34
+|5|3| @25|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@34
+|5|4| @72
+|5@1| @72
+@57|5|0|,|1| @9|4|9|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_corn_2.dump b/src/testdir/dumps/Test_popup_textprop_corn_2.dump
new file mode 100644
index 0000000..b7be5dd
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_corn_2.dump
@@ -0,0 +1,12 @@
+|4+0&#ffffff0|5| @72
+|4|6| @72
+|4|7|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@56
+|4|8|║+0#0000001#ffd7ff255| |b|o|t@1|o|m| |r|i|g|h|t| |║| +0#0000000#ffffff0@56
+|4|9|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255|b|o|t@1|o|m| |l|e|f|t| | +0#0000000#ffffff0@37
+>w|o|r|k|i|n|g| |w|i|t|h| |s|o|m|e| |l+0&#5fd7ff255|o|n|g|e|r| +0&#ffffff0|t|e|x|t| |h|e|r|e| @40
+|5|1| @4| +0#0000001#ffd7ff255|t|o|p| |r|i|g|h|t| | +0#0000000#ffffff0@5|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@38
+|5|2| @21|║+0#0000001#ffd7ff255| |t|o|p| |l|e|f|t| |║| +0#0000000#ffffff0@38
+|5|3| @21|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@38
+|5|4| @72
+|5@1| @72
+@57|5|0|,|1| @9|4|9|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_corn_3.dump b/src/testdir/dumps/Test_popup_textprop_corn_3.dump
new file mode 100644
index 0000000..bd77c07
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_corn_3.dump
@@ -0,0 +1,12 @@
+|4+0&#ffffff0|5| @72
+|4|6| @72
+|e|x|t|r>a| @69
+|4|7|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@56
+|4|8|║+0#0000001#ffd7ff255| |b|o|t@1|o|m| |r|i|g|h|t| |║| +0#0000000#ffffff0@56
+|4|9|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255|b|o|t@1|o|m| |l|e|f|t| | +0#0000000#ffffff0@37
+|w|o|r|k|i|n|g| |w|i|t|h| |s|o|m|e| |l+0&#5fd7ff255|o|n|g|e|r| +0&#ffffff0|t|e|x|t| |h|e|r|e| @40
+|5|1| @4| +0#0000001#ffd7ff255|t|o|p| |r|i|g|h|t| | +0#0000000#ffffff0@5|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@38
+|5|2| @21|║+0#0000001#ffd7ff255| |t|o|p| |l|e|f|t| |║| +0#0000000#ffffff0@38
+|5|3| @21|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@38
+|5|4| @72
+@57|4|7|,|5| @9|4|8|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_corn_4.dump b/src/testdir/dumps/Test_popup_textprop_corn_4.dump
new file mode 100644
index 0000000..6db9eee
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_corn_4.dump
@@ -0,0 +1,12 @@
+|4+0&#ffffff0|5| @72
+>4|6| @72
+|4|7|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@56
+|4|8|║+0#0000001#ffd7ff255| |b|o|t@1|o|m| |r|i|g|h|t| |║| +0#0000000#ffffff0@56
+|4|9|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255|b|o|t@1|o|m| |l|e|f|t| | +0#0000000#ffffff0@37
+|w|o|r|k|i|n|g| |w|i|t|h| |s|o|m|e| |l+0&#5fd7ff255|o|n|g|e|r| +0&#ffffff0|t|e|x|t| |h|e|r|e| @40
+|5|1| @4| +0#0000001#ffd7ff255|t|o|p| |r|i|g|h|t| | +0#0000000#ffffff0@5|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@38
+|5|2| @21|║+0#0000001#ffd7ff255| |t|o|p| |l|e|f|t| |║| +0#0000000#ffffff0@38
+|5|3| @21|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@38
+|5|4| @72
+|5@1| @72
+|:| @55|4|6|,|1| @9|4|9|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_corn_5.dump b/src/testdir/dumps/Test_popup_textprop_corn_5.dump
new file mode 100644
index 0000000..59bae78
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_corn_5.dump
@@ -0,0 +1,12 @@
+> +0&#ffffff0@36||+1&&|4+0&&|5| @34
+|~+0#4040ff13&| @35||+1#0000000&|4+0&&|6| @34
+|~+0#4040ff13&| @35||+1#0000000&|4+0&&|7|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@18
+|~+0#4040ff13&| @35||+1#0000000&|4+0&&|8|║+0#0000001#ffd7ff255| |b|o|t@1|o|m| |r|i|g|h|t| |║| +0#0000000#ffffff0@18
+|~+0#4040ff13&| @35||+1#0000000&|4+0&&|9|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255|b|o|t@1|o|m| |l|e|f|t|
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|w+0&&|o|r|k|i|n|g| |w|i|t|h| |s|o|m|e| |l+0&#5fd7ff255|o|n|g|e|r| +0&#ffffff0|t|e|x|t| |h|e|r|e| @2
+|~+0#4040ff13&| @35||+1#0000000&|5+0&&|1| @4| +0#0000001#ffd7ff255|t|o|p| |r|i|g|h|t| | +0#0000000#ffffff0@5|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0
+|~+0#4040ff13&| @35||+1#0000000&|5+0&&|2| @21|║+0#0000001#ffd7ff255| |t|o|p| |l|e|f|t| |║| +0#0000000#ffffff0
+|~+0#4040ff13&| @35||+1#0000000&|5+0&&|3| @21|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0
+|~+0#4040ff13&| @35||+1#0000000&|5+0&&|4| @34
+|f+3&&|o@1| @15|0|,|0|-|1| @9|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|4|6|,|1| @10|4|8|%
+|"+0&&|f|o@1|"| |[|N|e|w|]| @63
diff --git a/src/testdir/dumps/Test_popup_textprop_corn_6.dump b/src/testdir/dumps/Test_popup_textprop_corn_6.dump
new file mode 100644
index 0000000..7e6426c
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_corn_6.dump
@@ -0,0 +1,12 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|o|n|l|y|!| @50|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popup_textprop_off_1.dump b/src/testdir/dumps/Test_popup_textprop_off_1.dump
new file mode 100644
index 0000000..33f2978
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_off_1.dump
@@ -0,0 +1,12 @@
+|4+0&#ffffff0|5| @72
+|4|6| @1|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@54
+|4|7| @1|║+0#0000001#ffd7ff255| |b|o|t@1|o|m| |r|i|g|h|t| |║| +0#0000000#ffffff0@54
+|4|8| @1|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@9| +0#0000001#ffd7ff255|b|o|t@1|o|m| |l|e|f|t| | +0#0000000#ffffff0@31
+|4|9| @72
+>n|o|w| |w|o|r|k|i|n|g| |w|i|t|h| |s|o|m|e| |l+0&#5fd7ff255|o|n|g|e|r| +0&#ffffff0|t|e|x|t| |h|e|r|e| @36
+|5|1| @72
+|5|2| @6| +0#0000001#ffd7ff255|t|o|p| |r|i|g|h|t| | +0#0000000#ffffff0@9|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@32
+|5|3| @27|║+0#0000001#ffd7ff255| |t|o|p| |l|e|f|t| |║| +0#0000000#ffffff0@32
+|5|4| @27|╚+0#0000001#ffd7ff255|═@9|╝| +0#0000000#ffffff0@32
+|5@1| @72
+@57|5|0|,|1| @9|4|9|%|
diff --git a/src/testdir/dumps/Test_popup_textprop_off_2.dump b/src/testdir/dumps/Test_popup_textprop_off_2.dump
new file mode 100644
index 0000000..1896c64
--- /dev/null
+++ b/src/testdir/dumps/Test_popup_textprop_off_2.dump
@@ -0,0 +1,12 @@
+|4+0&#ffffff0|5| @72
+|4|6| @72
+|4|7| @72
+|4|8| @72
+|4|9| @72
+>n|o|w| |w|o|r|k|i|n|g| |w|i|t|h| |s|o|m|e| |l|o|n|g|e|r| |t|e|x|t| |h|e|r|e| @36
+|5|1| @72
+|5|2| @72
+|5|3| @72
+|5|4| @72
+|5@1| @72
+|:|c|a|l@1| |p|r|o|p|_|c|l|e|a|r|(|5|0|)| @36|5|0|,|1| @9|4|9|%|
diff --git a/src/testdir/dumps/Test_popupwin_01.dump b/src/testdir/dumps/Test_popupwin_01.dump
new file mode 100644
index 0000000..2a444ca
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_01.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @8|h+0&#5fd7ff255|e|l@1|o| |t|h|e|r|e| @8|r+0&#afffff255| |o|n|e| @8| +0&#ffffff0@30
+|4| @22|a+0&#afffff255|n|o|t|h|e|r| |t|w|o| @8| +0&#ffffff0@30
+|5| @22|a+0&#afffff255|n|o|t|h|e|r| |t|h|r|e@1| @6| +0&#ffffff0@30
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_02.dump b/src/testdir/dumps/Test_popupwin_02.dump
new file mode 100644
index 0000000..9f658e5
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_02.dump
@@ -0,0 +1,10 @@
+| +8#0000001#e0e0e08|+| |[|N|o| |N|a|m|e|]| | +2#0000000#ffffff0|[|N|o| |N|a|m|e|]| | +1&&@49|X+8#0000001#e0e0e08
+> +0#0000000#ffffff0@74
+|~+0&#e0e0e08| @73
+|~| @6|o+0#0000001#ffd7ff255|t|h|e|r| |t|a|b| @10| +0#0000000#e0e0e08@46
+|~| @6|a+0#0000001#ffd7ff255| |c+0#ff404010&|o|m@1|e|n|t| +0#0000001&|l|i|n|e| @5| +0#0000000#e0e0e08@46
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0&#ffffff0@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_03.dump b/src/testdir/dumps/Test_popupwin_03.dump
new file mode 100644
index 0000000..d842654
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_03.dump
@@ -0,0 +1,10 @@
+| +2&#ffffff0|+| |[|N|o| |N|a|m|e|]| | +8#0000001#e0e0e08|[|N|o| |N|a|m|e|]| | +1#0000000#ffffff0@49|X+8#0000001#e0e0e08
+>1+0#0000000#ffffff0| @73
+|2| @8|h+0&#5fd7ff255|e|l@1|o| |t|h|e|r|e| @8|r+0&#afffff255| |o|n|e| @8| +0&#ffffff0@30
+|3| @22|a+0&#afffff255|n|o|t|h|e|r| |t|w|o| @8| +0&#ffffff0@30
+|4| @22|a+0&#afffff255|n|o|t|h|e|r| |t|h|r|e@1| @6| +0&#ffffff0@30
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_04.dump b/src/testdir/dumps/Test_popupwin_04.dump
new file mode 100644
index 0000000..d83beda
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_04.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0&#e0e0e08| @73
+|~| @73
+|~| @6|o+0#0000001#ffd7ff255|t|h|e|r| |t|a|b| @10| +0#0000000#e0e0e08@46
+|~| @6|a+0#0000001#ffd7ff255| |c+0#ff404010&|o|m@1|e|n|t| +0#0000001&|l|i|n|e| @5| +0#0000000#e0e0e08@46
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0&#ffffff0|q|u|i|t|!| @50|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_04a.dump b/src/testdir/dumps/Test_popupwin_04a.dump
new file mode 100644
index 0000000..4df0dd3
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_04a.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@11
+|~+0&#e0e0e08| @10
+|~| @10
+|~| @6|o+0#0000001#ffd7ff255|t|h|e
+|~+0#0000000#e0e0e08| @6|r+0#0000001#ffd7ff255| |t|a
+|~+0#0000000#e0e0e08| @6|b+0#0000001#ffd7ff255| @2
+|~+0#0000000#e0e0e08| @6|a+0#0000001#ffd7ff255| |c+0#ff404010&|o
+|~+0#0000000#e0e0e08| @6|m+0#ff404010#ffd7ff255@1|e|n
+|~+0#0000000#e0e0e08| @6|t+0#ff404010#ffd7ff255| +0#0000001&|l|i
+| +0#0000000#ffffff0@5|0|,|n+0#0000001#ffd7ff255|e| @1
diff --git a/src/testdir/dumps/Test_popupwin_05.dump b/src/testdir/dumps/Test_popupwin_05.dump
new file mode 100644
index 0000000..7e23a09
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_05.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0&#e0e0e08| @73
+|~| @73
+|~| @6|o+0#0000001#ffd7ff255|t|h|e|r| |t|a|b| @5| +0#0000000#e0e0e08@51
+|~| @6|a+0#0000001#ffd7ff255| |c+0#ff404010&|o|m@1|e|n|t| +0#0000001&|l|i|n|e| | +0#0000000#e0e0e08@51
+|~| @6| +0#4040ff13#ffd7ff255@14| +0#0000000#e0e0e08@51
+|~| @73
+|~| @73
+|~| @73
+|:+0&#ffffff0|r|e|d|r|a|w| @49|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_06.dump b/src/testdir/dumps/Test_popupwin_06.dump
new file mode 100644
index 0000000..6d89503
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_06.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0&#e0e0e08| @73
+|~| @73
+|~| @6|o+0#0000001#ffd7ff255|t|h|e|r| |t|a|b| @15| +0#0000000#e0e0e08@41
+|~| @6|a+0#0000001#ffd7ff255| |c+0#ff404010&|o|m@1|e|n|t| +0#0000001&|l|i|n|e| @10| +0#0000000#e0e0e08@41
+|~| @6|t+0#0000001#ffd7ff255|h|i|s| |l|i|n|e| |w|i|l@1| |n|o|t| |f|i|t| |h|e| +0#0000000#e0e0e08@41
+|~| @6|r+0#0000001#ffd7ff255|e| @22| +0#0000000#e0e0e08@41
+|~| @73
+|~| @73
+|:+0&#ffffff0|r|e|d|r|a|w| @49|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_07.dump b/src/testdir/dumps/Test_popupwin_07.dump
new file mode 100644
index 0000000..07f1fc4
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_07.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0&#e0e0e08| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @52|o+0#0000001#ffd7ff255|t|h|e|r| |t|a|b| @11
+|~+0#0000000#e0e0e08| @52|a+0#0000001#ffd7ff255| |c+0#ff404010&|o|m@1|e|n|t| +0#0000001&|l|i|n|e| @6
+|:+0#0000000#ffffff0| @52|t+0#0000001#ffd7ff255|h|i|s| |l|i|n|e| |w|i|l@1| |n|o|t| |f|i
+| +0#0000000#ffffff0@53|t+0#0000001#ffd7ff255| |h|e|r|e| @14
diff --git a/src/testdir/dumps/Test_popupwin_08.dump b/src/testdir/dumps/Test_popupwin_08.dump
new file mode 100644
index 0000000..814c979
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_08.dump
@@ -0,0 +1,10 @@
+>x+0&#ffffff0@2| @71
+|~+0&#e0e0e08| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0&#ffffff0@74
+@57|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_10.dump b/src/testdir/dumps/Test_popupwin_10.dump
new file mode 100644
index 0000000..2d80e0a
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_10.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @22|#+0#e000e06#5fd7ff255|i|n|c|l|u|d|e| |<+0#e000002&|s|t|d|i|o|.|h|>| +0#0000000#ffffff0@32
+|4| @22|i+0#00e0003#5fd7ff255|n|t| +0#0000000&|m|a|i|n|(|v+0#00e0003&|o|i|d|)+0#0000000&| @3| +0&#ffffff0@32
+|5| @22|{+0&#5fd7ff255| @16| +0&#ffffff0@32
+|6| @22| +0&#5fd7ff255@3|p|r|i|n|t|f|(|1+0#e000002&|2|3|)+0#0000000&|;| @1| +0&#ffffff0@32
+|7| @22|}+0&#5fd7ff255| @16| +0&#ffffff0@32
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_11.dump b/src/testdir/dumps/Test_popupwin_11.dump
new file mode 100644
index 0000000..f67a314
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_11.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @18|#+0#e000e06#e0e0e08|i|n|c|l|u|d|e| |<+0#e000002&|s|t|d|i|o|.|h|>| +0#0000000&@1| +0&#ffffff0@34
+|4| @18|i+0#00e0003#e0e0e08|n|t| +0#0000000&|m|a|i|n|(|v+0#00e0003&|o|i|d|)+0#0000000&| @5| +0&#ffffff0@34
+|5| @18|{+0&#e0e0e08| @18| +0&#ffffff0@34
+|6| @18| +0&#e0e0e08@7|p|r|i|n|t|f|(|5+0#e000002&|6|7|)+0#0000000&|;| +0&#ffffff0@34
+|7| @18|}+0&#e0e0e08| @18| +0&#ffffff0@34
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_20.dump b/src/testdir/dumps/Test_popupwin_20.dump
new file mode 100644
index 0000000..692708b
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_20.dump
@@ -0,0 +1,15 @@
+>1+0&#ffffff0| @73
+|2| |++0#0000001#ffd7ff255|-@11|+| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255@14| +0#0000000#ffffff0@4|+|-@11|+| @15|X+0#0000001#ffd7ff255| +0#0000000#ffffff0@1
+|3| ||+0#0000001#ffd7ff255|h|e|l@1|o| |b|o|r|d|e|r||| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255|h|e|l@1|o| |p|a|d@1|i|n|g| | +0#0000000#ffffff0@4||| @11||| @16|X+0#0000001#ffd7ff255| +0#0000000#ffffff0
+|4| |++0#0000001#ffd7ff255|-@11|+| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255@14| +0#0000000#ffffff0@4||| |h|e|l@1|o| |b|o|t|h| ||| @17|X+0#0000001#ffd7ff255
+|5+0#0000000#ffffff0| @40||| @11||| @17|X+0#0000001#ffd7ff255
+|6+0#0000000#ffffff0| |++0#0000001#ffd7ff255|-@8| +0#0000000#ffffff0@9| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@5|+|-@11|+| @18
+|7| ||+0#0000001#ffd7ff255|b|o|r|d|e|r| |T|L| +0#0000000#ffffff0@9| +0#0000001#ffd7ff255@3|p|a|d@1|i|n|g|s| @1| +0#0000000#ffffff0@38
+|8| @20| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@13||+0#0000001#ffd7ff255| @2|w|r|a|p@1|e|d| |l|o|n|g|e|r| |t|e| @2||
+|9+0#0000000#ffffff0| @20| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@13||+0#0000001#ffd7ff255| @2|x|t| @17||
+|1+0#0000000#ffffff0|0| @19| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@38
+|1@1| @46||+0#0000001#ffd7ff255| @2|r|i|g|h|t| |a|l|i|g|n|e|d| |t|e|x|t| @2||
+|1+0#0000000#ffffff0|2| @72
+|1|3| @72
+|1|4| @72
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_21.dump b/src/testdir/dumps/Test_popupwin_21.dump
new file mode 100644
index 0000000..6398549
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_21.dump
@@ -0,0 +1,15 @@
+>1+0&#ffffff0| @73
+|2| |╔+0#0000001#ffd7ff255|═@11|╗| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255@14| +0#0000000#ffffff0@4|╔|═@11|╗| @15|X+0#0000001#ffd7ff255| +0#0000000#ffffff0@1
+|3| |║+0#0000001#ffd7ff255|h|e|l@1|o| |b|o|r|d|e|r|║| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255|h|e|l@1|o| |p|a|d@1|i|n|g| | +0#0000000#ffffff0@4|║| @11|║| @16|X+0#0000001#ffd7ff255| +0#0000000#ffffff0
+|4| |╚+0#0000001#ffd7ff255|═@11|╝| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255@14| +0#0000000#ffffff0@4|║| |h|e|l@1|o| |b|o|t|h| |║| @17|X+0#0000001#ffd7ff255
+|5+0#0000000#ffffff0| @40|║| @11|║| @17|X+0#0000001#ffd7ff255
+|6+0#0000000#ffffff0| |╔+0#0000001#ffd7ff255|═@8| +0#0000000#ffffff0@9| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@5|╚|═@11|╝| @18
+|7| |║+0#0000001#ffd7ff255|b|o|r|d|e|r| |T|L| +0#0000000#ffffff0@9| +0#0000001#ffd7ff255@3|p|a|d@1|i|n|g|s| @1| +0#0000000#ffffff0@38
+|8| @20| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@13|║+0#0000001#ffd7ff255| @2|w|r|a|p@1|e|d| |l|o|n|g|e|r| |t|e| @2|║
+|9+0#0000000#ffffff0| @20| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@13|║+0#0000001#ffd7ff255| @2|x|t| @17|║
+|1+0#0000000#ffffff0|0| @19| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@38
+|1@1| @46|║+0#0000001#ffd7ff255| @2|r|i|g|h|t| |a|l|i|g|n|e|d| |t|e|x|t| @2|║
+|1+0#0000000#ffffff0|2| @72
+|1|3| @72
+|1|4| @72
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_22.dump b/src/testdir/dumps/Test_popupwin_22.dump
new file mode 100644
index 0000000..7e38906
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_22.dump
@@ -0,0 +1,12 @@
+>1+0&#ffffff0| @73
+|2| |╔+0&#5fd7ff255|═@11|╗| +0&#ffffff0@5|╔+0&#dadada255|═@11|╗+0&#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255@13| +0&#ffffff0@2|#+0&#5fd7ff255|x@11|#| +0&#ffffff0@1
+|3| |║+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|║+0#0000000#5fd7ff255| +0&#ffffff0@5|║+0&#a8a8a8255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|║+0#0000000#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|x+0#0000000#5fd7ff255| +0&#ffffff0@2|x+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|x+0#0000000#5fd7ff255| +0&#ffffff0@1
+|4| |╚+0&#5fd7ff255|═@11|╝| +0&#ffffff0@5|║+0&#a8a8a8255|a+0#0000001#ffd7ff255|n|d| |m|o|r|e| @3|║+0#0000000#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255|l+0#0000001#ffd7ff255|i|n|e|s| |o|n|l|y| @1|x+0#0000000#5fd7ff255| +0&#ffffff0@2|x+0&#5fd7ff255|w+0#0000001#ffd7ff255|i|t|h| |c|o|r|n|e|r|s|x+0#0000000#5fd7ff255| +0&#ffffff0@1
+|5| @20|╚+0&#585858255|═@11|╝| +0&#ffffff0@5|x+0&#5fd7ff255@13| +0&#ffffff0@2|#+0&#5fd7ff255|x@11|#| +0&#ffffff0@1
+|6| |4+0&#5fd7ff255|0@11|5| +0&#ffffff0@58
+|7| |3+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|1+0#0000000#5fd7ff255| +0&#ffffff0@5| +0&#5fd7ff255@13| +0&#ffffff0@38
+|8| |3+0&#5fd7ff255|w+0#0000001#ffd7ff255|i|t|h| |n|u|m|b|e|r|s|1+0#0000000#5fd7ff255| +0&#ffffff0@5| +0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r| +0#0000000#5fd7ff255| +0&#ffffff0@38
+|9| |7+0&#5fd7ff255|2@11|6| +0&#ffffff0@5| +0&#5fd7ff255|j+0#0000001#ffd7ff255|u|s|t| |b|l|a|n|k|s| | +0#0000000#5fd7ff255| +0&#ffffff0@38
+|1|0| @19| +0&#5fd7ff255@13| +0&#ffffff0@38
+|1@1| @72
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_23.dump b/src/testdir/dumps/Test_popupwin_23.dump
new file mode 100644
index 0000000..737d8f1
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_23.dump
@@ -0,0 +1,12 @@
+>1+0&#ffffff0| @73
+|2| |╔+0&#5fd7ff255|═@11|╗| +0&#ffffff0@5|╔+0&#dadada255|═@11|╗+0&#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255@13| +0&#ffffff0@2|#+0&#5fd7ff255|x@11|#| +0&#ffffff0@1
+|3| |║+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|║+0#0000000#5fd7ff255| +0&#ffffff0@5|║+0&#a8a8a8255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|║+0#0000000#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|x+0#0000000#5fd7ff255| +0&#ffffff0@2|x+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|x+0#0000000#5fd7ff255| +0&#ffffff0@1
+|4| |╚+0&#5fd7ff255|═@11|╝| +0&#ffffff0@5|║+0&#a8a8a8255|a+0#0000001#ffd7ff255|n|d| |m|o|r|e| @3|║+0#0000000#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255|l+0#0000001#ffd7ff255|i|n|e|s| |o|n|l|y| @1|x+0#0000000#5fd7ff255| +0&#ffffff0@2|x+0&#5fd7ff255|w+0#0000001#ffd7ff255|i|t|h| |c|o|r|n|e|r|s|x+0#0000000#5fd7ff255| +0&#ffffff0@1
+|5| @20|╚+0&#585858255|═@11|╝| +0&#ffffff0@5|x+0&#5fd7ff255@13| +0&#ffffff0@2|#+0&#5fd7ff255|x@11|#| +0&#ffffff0@1
+|6| |e+0&#5fd7ff255|a@11|f| +0&#ffffff0@58
+|7| |d+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|b+0#0000000#5fd7ff255| +0&#ffffff0@5| +0&#5fd7ff255@13| +0&#ffffff0@38
+|8| |d+0&#5fd7ff255|w+0#0000001#ffd7ff255|i|t|h| |n|u|m|b|e|r|s|b+0#0000000#5fd7ff255| +0&#ffffff0@5| +0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r| +0#0000000#5fd7ff255| +0&#ffffff0@38
+|9| |h+0&#5fd7ff255|c@11|g| +0&#ffffff0@5| +0&#5fd7ff255|j+0#0000001#ffd7ff255|u|s|t| |b|l|a|n|k|s| | +0#0000000#5fd7ff255| +0&#ffffff0@38
+|1|0| @19| +0&#5fd7ff255@13| +0&#ffffff0@38
+|1@1| @72
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_24.dump b/src/testdir/dumps/Test_popupwin_24.dump
new file mode 100644
index 0000000..f5386c9
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_24.dump
@@ -0,0 +1,12 @@
+>1+0&#ffffff0| @73
+|2| |╔+0&#5fd7ff255|═@11|╗| +0&#ffffff0@5|╔+0&#dadada255|═@11|╗+0&#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255@13| +0&#ffffff0@2|#+0&#5fd7ff255|x@11|#| +0&#ffffff0@1
+|3| |║+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|║+0#0000000#5fd7ff255| +0&#ffffff0@5|║+0&#a8a8a8255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|║+0#0000000#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|x+0#0000000#5fd7ff255| +0&#ffffff0@2|x+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|x+0#0000000#5fd7ff255| +0&#ffffff0@1
+|4| |╚+0&#5fd7ff255|═@11|╝| +0&#ffffff0@5|║+0&#a8a8a8255|a+0#0000001#ffd7ff255|n|d| |m|o|r|e| @3|║+0#0000000#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255|l+0#0000001#ffd7ff255|i|n|e|s| |o|n|l|y| @1|x+0#0000000#5fd7ff255| +0&#ffffff0@2|x+0&#5fd7ff255|w+0#0000001#ffd7ff255|i|t|h| |c|o|r|n|e|r|s|x+0#0000000#5fd7ff255| +0&#ffffff0@1
+|5| @20|╚+0&#585858255|═@11|╝| +0&#ffffff0@5|x+0&#5fd7ff255@13| +0&#ffffff0@2|#+0&#5fd7ff255|x@11|#| +0&#ffffff0@1
+|6| |e+0&#5fd7ff255|a@11|f| +0&#ffffff0@58
+|7| |d+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|b+0#0000000#5fd7ff255| +0&#ffffff0@5| +0&#5fd7ff255@13| +0&#ffffff0@38
+|8| |d+0&#5fd7ff255|w+0#0000001#ffd7ff255|i|t|h| |n|u|m|b|e|r|s|b+0#0000000#5fd7ff255| +0&#ffffff0@5| +0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r| +0#0000000#5fd7ff255| +0&#ffffff0@5|┌+0#0000001#ffd7ff255|─@4|┐| +0#0000000#ffffff0@25
+|9| |h+0&#5fd7ff255|c@11|g| +0&#ffffff0@5| +0&#5fd7ff255|j+0#0000001#ffd7ff255|u|s|t| |b|l|a|n|k|s| | +0#0000000#5fd7ff255| +0&#ffffff0@5|│+0#0000001#ffd7ff255|h|e|l@1|o|│| +0#0000000#ffffff0@25
+|1|0| @19| +0&#5fd7ff255@13| +0&#ffffff0@5|└+0#0000001#ffd7ff255|─@4|┘| +0#0000000#ffffff0@25
+|1@1| @72
+|:|c|a|l@1| |M|u|l|t|i|B|y|t|e|(|)| @39|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_atcursor_pos.dump b/src/testdir/dumps/Test_popupwin_atcursor_pos.dump
new file mode 100644
index 0000000..3a4f0c2
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_atcursor_pos.dump
@@ -0,0 +1,12 @@
+|-+0&#ffffff0@59| @14
+|-@59| @14
+|-@25|%|-@16|@|-@14| @14
+|-@25|f+0#0000001#ffd7ff255|i|R|S|t| |-+0#0000000#ffffff0@6|F+0#0000001#ffd7ff255|i|r|s|t| |-+0#0000000#ffffff0@14| @14
+|-@25|s+0#0000001#ffd7ff255|e|C|O|n|d|-+0#0000000#ffffff0@6|S+0#0000001#ffd7ff255|e|c|o|n|D|-+0#0000000#ffffff0@14| @14
+|-@59| @14
+|-@1|f+0#0000001#ffd7ff255|i|r|s|t| |-+0#0000000#ffffff0@6|F+0#0000001#ffd7ff255|I|r|s|T| |-+0#0000000#ffffff0@38| @14
+|-@1|s+0#0000001#ffd7ff255|e|c|o|n|d|-+0#0000000#ffffff0@6|S+0#0000001#ffd7ff255|E|c|o|N|D|-+0#0000000#ffffff0@6|m+0#0000001#ffd7ff255|a|r|k|-+0#0000000#ffffff0@27| @14
+|-@1|#|-@16|&|-@4| @1>X|-@21| @23
+|-@59| @14
+|-@59| @14
+@57|9|,|3|8| @9|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_behind.dump b/src/testdir/dumps/Test_popupwin_behind.dump
new file mode 100644
index 0000000..cec0a52
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_behind.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@36||+1&&> +0&&@36
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @34|l+0#0000001#ffd7ff255|i|n|e|1| +0#4040ff13#ffffff0@33
+|[+1#0000000&|N|o| |N|a|m|e|]| @9|0|,|0|-|1| @9|A|l|l+0#0000001#ffd7ff255|i|n|e|2| +3#0000000#ffffff0|N|a|m|e|]| @9|0|,|0|-|1| @9|A|l@1
+| +0&&@35|l+0#0000001#ffd7ff255|i|n|e|3| +0#0000000#ffffff0@33
+|~+0#4040ff13&| @34|l+0#0000001#ffd7ff255|i|n|e|4| +0#4040ff13#ffffff0@33
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_popupwin_beval_1.dump b/src/testdir/dumps/Test_popupwin_beval_1.dump
new file mode 100644
index 0000000..410ac5c
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_beval_1.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0| @73
+>2| @73
+|3| @73
+|4| @12|t+0#0000001#ffd7ff255|e|x|t| +0#0000000#ffffff0@56
+|h|e|r|e| |i|s| |s|o|m|e| |t|e|x|t| |t|o| |h|o|v|e|r| |o|v|e|r| @43
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+|:|c|a|l@1| |H|o|v|e|r|(|)| @43|2|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_beval_2.dump b/src/testdir/dumps/Test_popupwin_beval_2.dump
new file mode 100644
index 0000000..34b222d
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_beval_2.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0| @73
+>2| @73
+|3| @73
+|4| @12|t+0#0000001#ffd7ff255|e|x|t| +0#0000000#ffffff0@56
+|h|e|r|e| |i|s| |s|o|m|e| |t|e|x|t| |t|o| |h|o|v|e|r| |o|v|e|r| @43
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+|:|c|a|l@1| |M|o|v|e|O|n|t|o|P|o|p|u|p|(|)| @35|2|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_beval_3.dump b/src/testdir/dumps/Test_popupwin_beval_3.dump
new file mode 100644
index 0000000..2e8e419
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_beval_3.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0| @73
+>2| @73
+|3| @73
+|4| @73
+|h|e|r|e| |i|s| |s|o|m|e| |t|e|x|t| |t|o| |h|o|v|e|r| |o|v|e|r| @43
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+|:|c|a|l@1| |M|o|v|e|A|w|a|y|(|)| @40|2|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_close_01.dump b/src/testdir/dumps/Test_popupwin_close_01.dump
new file mode 100644
index 0000000..e11ae83
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_close_01.dump
@@ -0,0 +1,10 @@
+>╔+0#0000001#ffd7ff255|═@5|X| +0#0000000#ffffff0@66
+|║+0#0000001#ffd7ff255|f|o@1|b|a|r|║| +0#0000000#ffffff0@66
+|╚+0#0000001#ffd7ff255|═@5|╝| +0#0000000#ffffff0@5|n+0#0000001#ffd7ff255|o|t|i|f|i|c|a|t|i|o|n| +0#0000000#ffffff0@48
+|4| @73
+|5| |n+0#0000001#ffd7ff255|o| |b|o|r|d|e|r| |h|e|r|X| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255@12|X| +0#0000000#ffffff0@38
+|6| @20| +0#0000001#ffd7ff255|o|n|l|y| |p|a|d@1|i|n|g| | +0#0000000#ffffff0@38
+|7| @20| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@38
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_close_02.dump b/src/testdir/dumps/Test_popupwin_close_02.dump
new file mode 100644
index 0000000..75342ef
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_close_02.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @12|n+0#0000001#ffd7ff255|o|t|i|f|i|c|a|t|i|o|n| +0#0000000#ffffff0@48
+|4| @73
+|5| |n+0#0000001#ffd7ff255|o| |b|o|r|d|e|r| |h|e|r|X| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255@12|X| +0#0000000#ffffff0@38
+|6| @20| +0#0000001#ffd7ff255|o|n|l|y| |p|a|d@1|i|n|g| | +0#0000000#ffffff0@38
+|7| @20| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@38
+|8| @73
+|9| @73
+|:|c|a|l@1| |C|l|o|s|e|W|i|t|h|X|(|)| @38|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_close_03.dump b/src/testdir/dumps/Test_popupwin_close_03.dump
new file mode 100644
index 0000000..82438c8
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_close_03.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @73
+|5| |n+0#0000001#ffd7ff255|o| |b|o|r|d|e|r| |h|e|r|X| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255@12|X| +0#0000000#ffffff0@38
+|6| @20| +0#0000001#ffd7ff255|o|n|l|y| |p|a|d@1|i|n|g| | +0#0000000#ffffff0@38
+|7| @20| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@38
+|8| @73
+|9| @73
+|P|o|p|u|p| |c|l|o|s|e|d| |w|i|t|h| |-|2| @36|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_close_04.dump b/src/testdir/dumps/Test_popupwin_close_04.dump
new file mode 100644
index 0000000..91d7f09
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_close_04.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @37|╔+0#0000001#ffd7ff255|═@5|X| +0#0000000#ffffff0@27
+|2| @37|║+0#0000001#ffd7ff255|b|a|r|f|o@1|║| +0#0000000#ffffff0@27
+|3| @37|╚+0#0000001#ffd7ff255|═@5|╝| +0#0000000#ffffff0@27
+|4| @73
+|5| |n+0#0000001#ffd7ff255|o| |b|o|r|d|e|r| |h|e|r|X| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255@12|X| +0#0000000#ffffff0@38
+|6| @20| +0#0000001#ffd7ff255|o|n|l|y| |p|a|d@1|i|n|g| | +0#0000000#ffffff0@38
+|7| @20| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@38
+|8| @73
+|9| @73
+|:|c|a|l@1| |C|r|e|a|t|e|W|i|t|h|M|e|n|u|F|i|l|t|e|r|(|)| @28|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_close_05.dump b/src/testdir/dumps/Test_popupwin_close_05.dump
new file mode 100644
index 0000000..75ce052
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_close_05.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @73
+|5| |n+0#0000001#ffd7ff255|o| |b|o|r|d|e|r| |h|e|r|X| +0#0000000#ffffff0@5| +0#0000001#ffd7ff255@12|X| +0#0000000#ffffff0@38
+|6| @20| +0#0000001#ffd7ff255|o|n|l|y| |p|a|d@1|i|n|g| | +0#0000000#ffffff0@38
+|7| @20| +0#0000001#ffd7ff255@13| +0#0000000#ffffff0@38
+|8| @73
+|9| @73
+|:|c|a|l@1| |C|r|e|a|t|e|W|i|t|h|M|e|n|u|F|i|l|t|e|r|(|)| @28|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_corners.dump b/src/testdir/dumps/Test_popupwin_corners.dump
new file mode 100644
index 0000000..82188c0
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_corners.dump
@@ -0,0 +1,12 @@
+|-+0&#ffffff0@49>*|-@8| @14
+|-@1|#|-@19|@|-@25|╔+0#0000001#ffd7ff255|═@4|╗|-+0#0000000#ffffff0@2| @14
+|-@1|╔+0#0000001#ffd7ff255|═@7|╗|-+0#0000000#ffffff0@1|╔+0#0000001#ffd7ff255|═@7|╗|-+0#0000000#ffffff0@1|╔+0#0000001#ffd7ff255|═@7|╗|-+0#0000000#ffffff0@1|╔+0#0000001#ffd7ff255|═@7|╗|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| @4|║|-+0#0000000#ffffff0@2| @14
+|-@1|║+0#0000001#ffd7ff255| @7|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| @7|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| @7|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| @7|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| |o|n|e| |║|-+0#0000000#ffffff0@2| @14
+|-@1|║+0#0000001#ffd7ff255| |f|i|r|s|t| @1|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| |F|i|r|s|t| @1|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| |f|i|R|S|t| @1|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| |F|I|r|s|T| @1|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| |t|w|o| |║|-+0#0000000#ffffff0@2| @14
+|-@1|║+0#0000001#ffd7ff255| |s|e|c|o|n|d| |║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| |S|e|c|o|n|D| |║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| |s|e|C|O|n|d| |║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| |S|E|c|o|N|D| |║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| @4|║|-+0#0000000#ffffff0@2| @14
+|-@1|║+0#0000001#ffd7ff255| @7|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| @7|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| @7|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255| @7|║|-+0#0000000#ffffff0@1|╚+0#0000001#ffd7ff255|═@4|╝|-+0#0000000#ffffff0@2| @14
+|-@1|╚+0#0000001#ffd7ff255|═@7|╝|-+0#0000000#ffffff0@1|╚+0#0000001#ffd7ff255|═@7|╝|-+0#0000000#ffffff0@1|╚+0#0000001#ffd7ff255|═@7|╝|-+0#0000000#ffffff0@1|╚+0#0000001#ffd7ff255|═@7|╝|-+0#0000000#ffffff0@11| @14
+|-@25|%|-@19|&|-@11| @14
+|-@59| @14
+|-@59| @14
+@57|1|,|5|1| @9|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_ctrl_c.dump b/src/testdir/dumps/Test_popupwin_ctrl_c.dump
new file mode 100644
index 0000000..d6636ae
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_ctrl_c.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@36||+1&&| +0&&@36
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|~| @35||+1#0000000&|~+0#4040ff13&| @35
+|[+3#0000000&|N|o| |N|a|m|e|]| @9|0|,|0|-|1| @9|A|l@1| |[+1&&|N|o| |N|a|m|e|]| @9|0|,|0|-|1| @9|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_1.dump b/src/testdir/dumps/Test_popupwin_cursorline_1.dump
new file mode 100644
index 0000000..d73b149
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_cursorline_1.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @34|1+0#0000001#ffd7ff255@2| +0#4040ff13#ffffff0@35
+|~| @34|2+0#0000001#ffd7ff255@2| +0#4040ff13#ffffff0@35
+|~| @34|3+0#0000001#ffd7ff255@2| +0#4040ff13#ffffff0@35
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_2.dump b/src/testdir/dumps/Test_popupwin_cursorline_2.dump
new file mode 100644
index 0000000..6c00f96
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_cursorline_2.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @34|1+0#0000001#e0e0e08@2| +0#4040ff13#ffffff0@35
+|~| @34|2+0#0000001#ffd7ff255@2| +0#4040ff13#ffffff0@35
+|~| @34|3+0#0000001#ffd7ff255@2| +0#4040ff13#ffffff0@35
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_3.dump b/src/testdir/dumps/Test_popupwin_cursorline_3.dump
new file mode 100644
index 0000000..5866f4f
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_cursorline_3.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |1@2| | +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_4.dump b/src/testdir/dumps/Test_popupwin_cursorline_4.dump
new file mode 100644
index 0000000..6139eb7
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_cursorline_4.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_5.dump b/src/testdir/dumps/Test_popupwin_cursorline_5.dump
new file mode 100644
index 0000000..bd9b2d4
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_cursorline_5.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |1+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_6.dump b/src/testdir/dumps/Test_popupwin_cursorline_6.dump
new file mode 100644
index 0000000..d814edd
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_cursorline_6.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |3+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_7.dump b/src/testdir/dumps/Test_popupwin_cursorline_7.dump
new file mode 100644
index 0000000..15eb0be
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_cursorline_7.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @34|1+0#0000001#ffd7ff255@2| +0#4040ff13#ffffff0@35
+|~| @34|2+0#0000001#e0e0e08@2| +0#4040ff13#ffffff0@35
+|~| @34|3+0#0000001#ffd7ff255@2| +0#4040ff13#ffffff0@35
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_8.dump b/src/testdir/dumps/Test_popupwin_cursorline_8.dump
new file mode 100644
index 0000000..51a009a
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_cursorline_8.dump
@@ -0,0 +1,10 @@
+>o+0&#ffffff0|n|e| @71
+|t|w|o| @71
+|t|h|r|e@1| @69
+|~+0#4040ff13&| @33|o+0#0000001#ffd7ff255|n|e| @1| +0#4040ff13#ffffff0@34
+|~| @33|t+0#0000001#e0e0e08|w|o| @1| +0#4040ff13#ffffff0@34
+|~| @33|t+0#0000001#ffd7ff255|h|r|e@1| +0#4040ff13#ffffff0@34
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_doublewidth_1.dump b/src/testdir/dumps/Test_popupwin_doublewidth_1.dump
new file mode 100644
index 0000000..d59466d
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_doublewidth_1.dump
@@ -0,0 +1,10 @@
+>x+0&#ffffff0| |你*0#0000001#ffd7ff255|好|,|世|界| +&|-| |>+0#4040ff13&| +0#0000000#ffffff0|好*&|世|界|你|好| +&@47
+|你*&|你*0#0000001#ffd7ff255|好|,|世|界|x+&@3|好*0#0000000#ffffff0|世|界|你|好| +&@48
+|x| |x+0#0000001#ffd7ff255| @12| +0#0000000#ffffff0|好*&|世|界|你|好| +&@47
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_drag_01.dump b/src/testdir/dumps/Test_popupwin_drag_01.dump
new file mode 100644
index 0000000..afed63e
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_drag_01.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @35||+1&&|1+0&&| @35
+|2| @35||+1&&|2+0&&| @35
+|3| @35||+1&&|3+0&&| @35
+|4| @35||+1&&|4+0&&| @35
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+|1+0&&| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#0000000#ffffff0@33
+|2| @31|║+0#0000001#ffd7ff255|1@3| @1|║| +0#0000000#ffffff0@33
+|3| @31|║+0#0000001#ffd7ff255|2@5|║| +0#0000000#ffffff0@33
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @10|║+0#0000001#ffd7ff255|3@4| |║| +1#0000000#ffffff0|N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+| +0&&@32|╚+0#0000001#ffd7ff255|═@5|⇲| +0#0000000#ffffff0@33
diff --git a/src/testdir/dumps/Test_popupwin_drag_02.dump b/src/testdir/dumps/Test_popupwin_drag_02.dump
new file mode 100644
index 0000000..a6a560d
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_drag_02.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @35||+1&&|1+0&&| @35
+|2| @11|╔+0#0000001#ffd7ff255|═@5|╗| +0#0000000#ffffff0@15||+1&&|2+0&&| @35
+|3| @11|║+0#0000001#ffd7ff255|1@3| @1|║| +0#0000000#ffffff0@15||+1&&|3+0&&| @35
+|4| @11|║+0#0000001#ffd7ff255|2@5|║| +0#0000000#ffffff0@15||+1&&|4+0&&| @35
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]|║+0#0000001#ffd7ff255|3@4| |║|1+3#0000000#ffffff0| @11|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+|1+0&&| @11|╚+0#0000001#ffd7ff255|═@5|⇲| +0#0000000#ffffff0@15||+1&&|1+0&&| @35
+|2| @35||+1&&|2+0&&| @35
+|3| @35||+1&&|3+0&&| @35
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p| |[|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+| +0&&@74
diff --git a/src/testdir/dumps/Test_popupwin_drag_03.dump b/src/testdir/dumps/Test_popupwin_drag_03.dump
new file mode 100644
index 0000000..497a6e3
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_drag_03.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @35||+1&&|1+0&&| @35
+|2| @11|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@11||+1&&|2+0&&| @35
+|3| @11|║+0#0000001#ffd7ff255|1@3| @5|║| +0#0000000#ffffff0@11||+1&&|3+0&&| @35
+|4| @11|║+0#0000001#ffd7ff255|2@5| @3|║| +0#0000000#ffffff0@11||+1&&|4+0&&| @35
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]|║+0#0000001#ffd7ff255|3@4| @4|║| +3#0000000#ffffff0@8|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+|1+0&&| @11|║+0#0000001#ffd7ff255| +0#4040ff13&@9|║+0#0000001&| +0#0000000#ffffff0@11||+1&&|1+0&&| @35
+|2| @11|╚+0#0000001#ffd7ff255|═@9|⇲| +0#0000000#ffffff0@11||+1&&|2+0&&| @35
+|3| @35||+1&&|3+0&&| @35
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p| |[|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+|:+0&&|c|a|l@1| |R|e|s|i|z|e|(|)| @60
diff --git a/src/testdir/dumps/Test_popupwin_drag_04.dump b/src/testdir/dumps/Test_popupwin_drag_04.dump
new file mode 100644
index 0000000..931e13c
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_drag_04.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @35||+1&&|1+0&&| @35
+|2| @15|╔+0#0000001#ffd7ff255|═@9|╗| +0#0000000#ffffff0@7||+1&&|2+0&&| @35
+|3| @15|║+0#0000001#ffd7ff255|1@3| @5|║| +0#0000000#ffffff0@7||+1&&|3+0&&| @35
+|4| @15|║+0#0000001#ffd7ff255|2@5| @3|║| +0#0000000#ffffff0@7||+1&&|4+0&&| @35
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @3|║+0#0000001#ffd7ff255|3@4| @4|║| +3#0000000#ffffff0@4|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+|1+0&&| @15|║+0#0000001#ffd7ff255| +0#4040ff13&@9|║+0#0000001&| +0#0000000#ffffff0@7||+1&&|1+0&&| @35
+|2| @15|╚+0#0000001#ffd7ff255|═@9|⇲| +0#0000000#ffffff0@7||+1&&|2+0&&| @35
+|3| @35||+1&&|3+0&&| @35
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p| |[|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+|:+0&&|c|a|l@1| |C|l|i|c|k|A|n|d|D|r|a|g|(|)| @54
diff --git a/src/testdir/dumps/Test_popupwin_drag_05.dump b/src/testdir/dumps/Test_popupwin_drag_05.dump
new file mode 100644
index 0000000..3ca5513
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_drag_05.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @35||+1&&|1+0&&| @35
+|2| @35||+1&&|2+0&&| @35
+|3| @2|h+0#0000001#ffd7ff255|e|l@1|o| +0#0000000#ffffff0@27||+1&&|3+0&&| @35
+|4| @35||+1&&|4+0&&| @35
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+|1+0&&| @35||+1&&|1+0&&| @35
+|2| @35||+1&&|2+0&&| @35
+|3| @35||+1&&|3+0&&| @35
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p| |[|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+|:+0&&|c|a|l@1| |D|r|a|g|A|l@1|S|t|a|r|t|(|)| @54
diff --git a/src/testdir/dumps/Test_popupwin_drag_06.dump b/src/testdir/dumps/Test_popupwin_drag_06.dump
new file mode 100644
index 0000000..702f051
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_drag_06.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @35||+1&&|1+0&&| @35
+|2| @35||+1&&|2+0&&| @35
+|3| @35||+1&&|3+0&&| @35
+|4| @35||+1&&|4+0&&| @35
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|h+0#0000001#ffd7ff255|e|l@1|o|o+1#0000000#ffffff0| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+|1+0&&| @35||+1&&|1+0&&| @35
+|2| @35||+1&&|2+0&&| @35
+|3| @35||+1&&|3+0&&| @35
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p| |[|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|T|o|p
+|:+0&&|c|a|l@1| |D|r|a|g|A|l@1|D|r|a|g|(|)| @55
diff --git a/src/testdir/dumps/Test_popupwin_drag_minwidth_1.dump b/src/testdir/dumps/Test_popupwin_drag_minwidth_1.dump
new file mode 100644
index 0000000..fbeec7a
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_drag_minwidth_1.dump
@@ -0,0 +1,10 @@
+>╔+0#0000001#ffd7ff255|═@73
+|║|0| @72
+|║|1| @72
+|║|2| @72
+|║|3| @72
+|║|4| @72
+|║|5| @72
+|║|6| @72
+|║|7| @72
+|║|8| @72
diff --git a/src/testdir/dumps/Test_popupwin_drag_minwidth_2.dump b/src/testdir/dumps/Test_popupwin_drag_minwidth_2.dump
new file mode 100644
index 0000000..b4edcfe
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_drag_minwidth_2.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @26|╔+0#0000001#ffd7ff255|═@44|╗
+|~+0#4040ff13#ffffff0| @26|║+0#0000001#ffd7ff255|0| @42| +0#0000000#0000001|║+0#0000001#ffd7ff255
+|~+0#4040ff13#ffffff0| @26|║+0#0000001#ffd7ff255|1| @42| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|~+0#4040ff13#ffffff0| @26|║+0#0000001#ffd7ff255|2| @42| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|~+0#4040ff13#ffffff0| @26|║+0#0000001#ffd7ff255|3| @42| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+| +0#0000000#ffffff0@27|╚+0#0000001#ffd7ff255|═@44|╝
diff --git a/src/testdir/dumps/Test_popupwin_drag_minwidth_3.dump b/src/testdir/dumps/Test_popupwin_drag_minwidth_3.dump
new file mode 100644
index 0000000..e429d38
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_drag_minwidth_3.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @26|╔+0#0000001#ffd7ff255|═@44|╗
+|~+0#4040ff13#ffffff0| @26|║+0#0000001#ffd7ff255|0| @42| +0#0000000#0000001|║+0#0000001#ffd7ff255
+|~+0#4040ff13#ffffff0| @26|║+0#0000001#ffd7ff255|1| @42| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|~+0#4040ff13#ffffff0| @26|║+0#0000001#ffd7ff255|2| @42| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|~+0#4040ff13#ffffff0| @26|║+0#0000001#ffd7ff255|3| @42| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|~+0#4040ff13#ffffff0| @26|║+0#0000001#ffd7ff255|4| @42| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|~+0#4040ff13#ffffff0| @26|║+0#0000001#ffd7ff255|5| @42| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+| +0#0000000#ffffff0@27|╚+0#0000001#ffd7ff255|═@44|╝
diff --git a/src/testdir/dumps/Test_popupwin_firstline_1.dump b/src/testdir/dumps/Test_popupwin_firstline_1.dump
new file mode 100644
index 0000000..b3b0349
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_firstline_1.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @32|3+0#0000001#ffd7ff255@4| | +0#0000000#a8a8a8255| +0&#ffffff0@33
+|5| @32|4+0#0000001#ffd7ff255@1| @3| +0#0000000#0000001| +0&#ffffff0@33
+|6| @32|5+0#0000001#ffd7ff255| @4| +0#0000000#0000001| +0&#ffffff0@33
+|7| @32|6+0#0000001#ffd7ff255@5| +0#0000000#a8a8a8255| +0&#ffffff0@33
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_firstline_2.dump b/src/testdir/dumps/Test_popupwin_firstline_2.dump
new file mode 100644
index 0000000..6b95fb5
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_firstline_2.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @27|6+0#0000001#ffd7ff255@5| @9| +0#0000000#a8a8a8255| +0&#ffffff0@28
+|5| @27|7+0#0000001#ffd7ff255@4| @10| +0#0000000#a8a8a8255| +0&#ffffff0@28
+|6| @27|8+0#0000001#ffd7ff255@2| @12| +0#0000000#0000001| +0&#ffffff0@28
+|7| @27|9+0#0000001#ffd7ff255@15| +0#0000000#0000001| +0&#ffffff0@28
+|8| @73
+|9| @73
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_1.dump b/src/testdir/dumps/Test_popupwin_infopopup_1.dump
new file mode 100644
index 0000000..36bb2ee
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_1.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|a|w|o|r|d> @15|╔+0&#ffff4012|═@15|X| +0&#ffffff0@9
+|~+0#4040ff13&| @23| +0#0000001#e0e0e08|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| |║+0#0000000#ffff4012| |w|o|r|d|s| |a|r|e| |c|o@1|l| |║| +0#4040ff13#ffffff0@9
+|~| @23| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| |╚+0#0000000#ffff4012|═@15|⇲| +0#4040ff13#ffffff0@9
+|~| @23| +0#0000001#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_2.dump b/src/testdir/dumps/Test_popupwin_infopopup_2.dump
new file mode 100644
index 0000000..34c46e9
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_2.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|a|n|o|t|h|e|r|w|o|r|d> @37
+|~+0#4040ff13&| @23| +0#0000001#ffd7ff255|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| |╔+0#0000000#ffff4012|═@25|X
+|~+0#4040ff13#ffffff0| @23| +0#0000001#e0e0e08|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| |║+0#0000000#ffff4012| |o|t|h|e|r| |w|o|r|d|s| |a|r|e| @9|║
+|~+0#4040ff13#ffffff0| @23| +0#0000001#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| |║+0#0000000#ffff4012| |c|o@1|l|e|r| |t|h|a|n| |t|h|i|s| |a|n|d| |s|o|m| |║
+|~+0#4040ff13#ffffff0| @23| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| |║+0#0000000#ffff4012| |e| |m|o|r|e| |t|e|x|t| @13|║
+|~+0#4040ff13#ffffff0| @45|║+0#0000000#ffff4012| |t|o| |m|a|k|e| |w|r|a|p| @12|║
+|~+0#4040ff13#ffffff0| @45|╚+0#0000000#ffff4012|═@25|⇲
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |2| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_3.dump b/src/testdir/dumps/Test_popupwin_infopopup_3.dump
new file mode 100644
index 0000000..fe5e7b1
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_3.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|n|o|i|n|f|o> @42
+|~+0#4040ff13&| @23| +0#0000001#ffd7ff255|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| |╔+0#0000000#ffff4012|═@11|X| +0#4040ff13#ffffff0@13
+|~| @23| +0#0000001#e0e0e08|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| |║+0#0000000#ffff4012| |l|e|t|s| @5| +0&#0000001|║+0&#ffff4012| +0#4040ff13#ffffff0@13
+|~| @23| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| |║+0#0000000#ffff4012| |s|h|o|w| @5| +0&#0000001|║+0&#ffff4012| +0#4040ff13#ffffff0@13
+|~| @45|║+0#0000000#ffff4012| |a| @8| +0&#0000001|║+0&#ffff4012| +0#4040ff13#ffffff0@13
+|~| @45|║+0#0000000#ffff4012| |s|c|r|o|l@1|b|a|r| | +0&#a8a8a8255|║+0&#ffff4012| +0#4040ff13#ffffff0@13
+|~| @45|╚+0#0000000#ffff4012|═@11|⇲| +0#4040ff13#ffffff0@13
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |3| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_4.dump b/src/testdir/dumps/Test_popupwin_infopopup_4.dump
new file mode 100644
index 0000000..3a15a9f
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_4.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| > @39
+|~+0#4040ff13&| @23| +0#0000001#ffd7ff255|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |B+0#e000002&|a|c|k| |a|t| |o|r|i|g|i|n|a|l| +0#0000000&@22
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_5.dump b/src/testdir/dumps/Test_popupwin_infopopup_5.dump
new file mode 100644
index 0000000..fbcebee
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_5.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|s|t| |t|e|x|t| |n|o|i|n|f|o> @23
+|~+0#4040ff13&| @42| +0#0000001#ffd7ff255|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@8
+|~| @28|╔+0#0000000#ffff4012|═@11|X| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@8
+|~| @28|║+0#0000000#ffff4012| |l|e|t|s| @5| +0&#0000001|║+0&#ffff4012| +0#0000001#e0e0e08|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@8
+|~| @28|║+0#0000000#ffff4012| |s|h|o|w| @5| +0&#0000001|║+0&#ffff4012| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@8
+|~| @28|║+0#0000000#ffff4012| |a| @8| +0&#0000001|║+0&#ffff4012| +0#4040ff13#ffffff0@30
+|~| @28|║+0#0000000#ffff4012| |s|c|r|o|l@1|b|a|r| | +0&#a8a8a8255|║+0&#ffff4012| +0#4040ff13#ffffff0@30
+|~| @28|╚+0#0000000#ffff4012|═@11|⇲| +0#4040ff13#ffffff0@30
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |3| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_6.dump b/src/testdir/dumps/Test_popupwin_infopopup_6.dump
new file mode 100644
index 0000000..18ed96b
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_6.dump
@@ -0,0 +1,14 @@
+|a+0&#ffffff0|w|o|r|d> @17|╔+0&#ffff4012|═@15|X| +0&#ffffff0@33
+|w+0#0000001#e0e0e08|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#0000001|║+0&#ffff4012| |w|o|r|d|s| |a|r|e| |c|o@1|l| |║| +0#4040ff13#ffffff0@33
+|a+0#0000001#ffd7ff255|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#0000001|╚+0&#ffff4012|═@15|⇲| +0#4040ff13#ffffff0@33
+|n+0#0000001#ffd7ff255|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@51
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_7.dump b/src/testdir/dumps/Test_popupwin_infopopup_7.dump
new file mode 100644
index 0000000..3890d12
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_7.dump
@@ -0,0 +1,14 @@
+|a+0&#ffffff0|w|o|r|d| @69
+|t|e|s|t| |t|e|x|t| |a|w|o|r|d> @17|╔+0&#ffff4012|═@15|X| +0&#ffffff0@23
+|~+0#4040ff13&| @7| +0#0000001#e0e0e08|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#0000001|║+0&#ffff4012| |w|o|r|d|s| |a|r|e| |c|o@1|l| |║| +0#4040ff13#ffffff0@23
+|~| @7| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#0000001|╚+0&#ffff4012|═@15|⇲| +0#4040ff13#ffffff0@23
+|~| @7| +0#0000001#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@41
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_8.dump b/src/testdir/dumps/Test_popupwin_infopopup_8.dump
new file mode 100644
index 0000000..6838bcd
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_8.dump
@@ -0,0 +1,14 @@
+|a+0&#ffffff0|w|o|r|d| @69
+|t|e|s|t| |t|a|w|o|r|d> @63
+|~+0#4040ff13&| @3| +0#0000001#e0e0e08|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#0000001| +0#0000001#e0e0e08|w|o|r|d|s| |a|r|e| |c|o@1|l| | +0#4040ff13#ffffff0@29
+|~| @3| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#0000001| +0#4040ff13#ffffff0@45
+|~| @3| +0#0000001#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@45
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_9.dump b/src/testdir/dumps/Test_popupwin_infopopup_9.dump
new file mode 100644
index 0000000..4a5fb3b
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_9.dump
@@ -0,0 +1,14 @@
+|a+0&#ffffff0|w|o|r|d| @69
+|t|e|s|a|w|o|r|d> @66
+|~+0#4040ff13&| | +0#0000001#e0e0e08|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#0000001| +0#0000001#e0e0e08|w|o|r|d|s| |a|r|e| @1| +0#4040ff13#ffffff0@36
+|~| | +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#0000001| +0#0000001#e0e0e08|c|o@1|l| @6| +0#4040ff13#ffffff0@36
+|~| | +0#0000001#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| @1| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@48
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_align_1.dump b/src/testdir/dumps/Test_popupwin_infopopup_align_1.dump
new file mode 100644
index 0000000..20c9790
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_align_1.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t@1|h|a|t|w|o|r|d> @40
+|~+0#4040ff13&| @23| +0#0000001#ffd7ff255|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| | +0&#e0e0e08|t|h|a|t| |w|o|r|d| |i|s| |c|o@1|l| | +0#4040ff13#ffffff0@8
+|~| @23| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#e0e0e08|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |4| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_align_2.dump b/src/testdir/dumps/Test_popupwin_infopopup_align_2.dump
new file mode 100644
index 0000000..6b4a4e0
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_align_2.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t@1|h|a|t|w|o|r|d|t|e|s|t| |t|e|x|t| |t|e|s|t| |a|n|o|t|h|e|r|w|o|r|d> @14
+|~+0#4040ff13&| @9| +0#0000001#e0e0e08|o|t|h|e|r| |w|o|r|d|s| |a|r|e| @20| +0&#ffd7ff255|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@4
+|~| @9| +0#0000001#e0e0e08|c|o@1|l|e|r| |t|h|a|n| |t|h|i|s| |a|n|d| |s|o|m|e| |m|o|r|e| |t|e|x|t| @1|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@4
+|~| @9| +0#0000001#e0e0e08|t|o| |m|a|k|e| |w|r|a|p| @23| +0&#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@4
+|~| @46| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@4
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |2| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_align_3.dump b/src/testdir/dumps/Test_popupwin_infopopup_align_3.dump
new file mode 100644
index 0000000..2599094
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_align_3.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t@1|h|a|t|w|o|r|d|t|e|s|t| |t|e|x|t| |t|e|s|t| |a|n|o|t|h|e|r|w|o|r|d| @14
+|x| @73
+|x| @73
+|x| @73
+|x| @73
+|x| @73
+|x| @73
+|x| @7| +0#0000001#e0e0e08|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| | +0#0000000#ffffff0@43
+|x| @7| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#0000000#ffffff0@43
+|x| @7| +0#0000001#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| | +0#0000000#ffffff0@43
+|x| @7| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#0000000#ffff4012|w|o|r|d|s| |a|r|e| |c|o@1|l| | +0&#ffffff0@27
+|t|e|s|t| |t|e|x|t| |a|w|o|r|d> @59
+|~+0#4040ff13&| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_hidden_1.dump b/src/testdir/dumps/Test_popupwin_infopopup_hidden_1.dump
new file mode 100644
index 0000000..f56ebc4
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_hidden_1.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|a|w|o|r|d> @43
+|~+0#4040ff13&| @23| +0#0000001#e0e0e08|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_hidden_2.dump b/src/testdir/dumps/Test_popupwin_infopopup_hidden_2.dump
new file mode 100644
index 0000000..d834e57
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_hidden_2.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|a|n|o|t|h|e|r|w|o|r|d> @37
+|~+0#4040ff13&| @23| +0#0000001#ffd7ff255|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| | +0&#e0e0e08|i|m@1|e|d|i|a|t|e| |i|n|f|o| |3| | +0#4040ff13#ffffff0@9
+|~| @23| +0#0000001#e0e0e08|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |2| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_hidden_3.dump b/src/testdir/dumps/Test_popupwin_infopopup_hidden_3.dump
new file mode 100644
index 0000000..410c393
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_hidden_3.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|n|o|i|n|f|o> @42
+|~+0#4040ff13&| @23| +0#0000001#ffd7ff255|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| | +0&#e0e0e08|a|s|y|n|c| |i|n|f|o| |4| | +0#4040ff13#ffffff0@13
+|~| @23| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#e0e0e08|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |3| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_nb_1.dump b/src/testdir/dumps/Test_popupwin_infopopup_nb_1.dump
new file mode 100644
index 0000000..41208ee
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_nb_1.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|a|w|o|r|d> @43
+|~+0#4040ff13&| @23| +0#0000001#e0e0e08|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| @1|w|o|r|d|s| |a|r|e| |c|o@1|l| | +0#4040ff13#ffffff0@11
+|~| @23| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @23| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_wide_1.dump b/src/testdir/dumps/Test_popupwin_infopopup_wide_1.dump
new file mode 100644
index 0000000..f7b583b
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_wide_1.dump
@@ -0,0 +1,8 @@
+|s+0&#ffffff0|c|r|a|p> @69
+|s+0#0000001#e0e0e08|c|r|a|p| @5|s|o|m|e| |l|o|n|g| |t|e|x|t| |t|o| |m|a|k|e| |s|u|r|e| |t|h|e| |m|e|n|u| |t|a|k|e|s| |u|p| |a|l@1| |o|f| |t|h|e| |w|i|d|t|h| |o
+|s+0&#ffd7ff255|c|a|p@1|i|e|r| @2|s|o|m|e| |l|o|n|g| |t|e|x|t| |t|o| |m|a|k|e| |s|u|r|e| |t|h|e| |m|e|n|u| |t|a|k|e|s| |u|p| |a|l@1| |o|f| |t|h|e| |w|i|d|t|h| |o
+|s|c|r|a|p@1|i|e|r|2| |s|o|m|e| |l|o|n|g| |t|e|x|t| |t|o| |m|a|k|e| |s|u|r|e| |t|h|e| |m|e|n|u| |t|a|k|e|s| |u|p| |a|l@1| |o|f| |t|h|e| |w|i|d|t|h| |o
+|4+0#0000000#ffffff0| @73
+|5| @73
+|6| @73
+|-+2&&@1| |O|m|n|i| |c|o|m|p|l|e|t|i|o|n| |(|^|O|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |3| +0#0000000&@34
diff --git a/src/testdir/dumps/Test_popupwin_longtitle_1.dump b/src/testdir/dumps/Test_popupwin_longtitle_1.dump
new file mode 100644
index 0000000..92af8b2
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_longtitle_1.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @25| +0#0000001#ffd7ff255|a| |v|e|r|y| |.@2|g| |t|o| |f|i|t| | +0#0000000#ffffff0@27
+|5| @25|o+0#0000001#ffd7ff255|n|e| @16| +0#0000000#ffffff0@27
+|6| @25|t+0#0000001#ffd7ff255|w|o| @16| +0#0000000#ffffff0@27
+|7| @25|a+0#0000001#ffd7ff255|n|o|t|h|e|r| @12| +0#0000000#ffffff0@27
+|8| @73
+|9| @73
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_longtitle_2.dump b/src/testdir/dumps/Test_popupwin_longtitle_2.dump
new file mode 100644
index 0000000..079fbc3
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_longtitle_2.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @24|╔+0#0000001#ffd7ff255|a| |v|e|r|y| |l|.@2|n|g| |t|o| |f|i|t|╗| +0#0000000#ffffff0@26
+|4| @24|║+0#0000001#ffd7ff255|o|n|e| @16|║| +0#0000000#ffffff0@26
+|5| @24|║+0#0000001#ffd7ff255|t|w|o| @16|║| +0#0000000#ffffff0@26
+|6| @24|║+0#0000001#ffd7ff255|a|n|o|t|h|e|r| @12|║| +0#0000000#ffffff0@26
+|7| @24|╚+0#0000001#ffd7ff255|═@19|╝| +0#0000000#ffffff0@26
+|8| @73
+|9| @73
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_longtitle_3.dump b/src/testdir/dumps/Test_popupwin_longtitle_3.dump
new file mode 100644
index 0000000..b1e67c2
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_longtitle_3.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @27| +0#0000001#ffd7ff255|T|i|t|l|e| @9| +0#0000000#ffffff0@29
+|4| @27| +0#0000001#ffd7ff255@15| +0#0000000#ffffff0@29
+|5| @27| +0#0000001#ffd7ff255@1|a@2| @10| +0#0000000#ffffff0@29
+|6| @27| +0#0000001#ffd7ff255@1|b@2| @10| +0#0000000#ffffff0@29
+|7| @27| +0#0000001#ffd7ff255@15| +0#0000000#ffffff0@29
+|8| @27| +0#0000001#ffd7ff255@15| +0#0000000#ffffff0@29
+|9| @73
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_longtitle_4.dump b/src/testdir/dumps/Test_popupwin_longtitle_4.dump
new file mode 100644
index 0000000..02ae4cc
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_longtitle_4.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @26|╔+0#0000001#ffd7ff255|T|i|t|l|e|═@10|╗| +0#0000000#ffffff0@28
+|3| @26|║+0#0000001#ffd7ff255| @15|║| +0#0000000#ffffff0@28
+|4| @26|║+0#0000001#ffd7ff255| @15|║| +0#0000000#ffffff0@28
+|5| @26|║+0#0000001#ffd7ff255| @1|a@2| @10|║| +0#0000000#ffffff0@28
+|6| @26|║+0#0000001#ffd7ff255| @1|b@2| @10|║| +0#0000000#ffffff0@28
+|7| @26|║+0#0000001#ffd7ff255| @15|║| +0#0000000#ffffff0@28
+|8| @26|║+0#0000001#ffd7ff255| @15|║| +0#0000000#ffffff0@28
+|9| @26|╚+0#0000001#ffd7ff255|═@15|╝| +0#0000000#ffffff0@28
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_mask_1.dump b/src/testdir/dumps/Test_popupwin_mask_1.dump
new file mode 100644
index 0000000..2fa0d7c
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_mask_1.dump
@@ -0,0 +1,13 @@
+>1+0&#ffffff0|2|3|4|5|6|7|8|9|1| +0&#e0e0e08@12|1+0&#ffffff0|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9| +0&#e0e0e08|s|o|m|e| |1+0&#ffffff0|3|1|t+0&#e0e0e08| @3|1+0&#ffffff0|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9| +0&#e0e0e08|0+0&#ffffff0|1@1|t+0&#e0e0e08|h|1+0&#ffffff0|3|x+0#0000001#ffd7ff255|l+0#0000000#e0e0e08|i|n|e| |x+0#0000001#ffd7ff255@2|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9| +0&#e0e0e08@8|y+0#0000001#ffd7ff255@7|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|═+0#0000001#ffd7ff255@13|X|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|║+0#0000001#ffd7ff255| @4|1+0#0000000#ffffff0|3|1| +0#0000001#ffd7ff255@6|║|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|║+0#0000001#ffd7ff255| |j|u|s|t|1+0#0000000#ffffff0|3|1|e+0#0000001#ffd7ff255| |l|i|n|e| |║|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|║+0#0000001#ffd7ff255| @10|1+0#0000000#ffffff0|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|╚+0#0000001#ffd7ff255|═|1+0#0000000#ffffff0@2|═+0#0000001#ffd7ff255@4|1+0#0000000#ffffff0|5|1|6|═+0#0000001#ffd7ff255@1|╝|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+| @56|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_mask_2.dump b/src/testdir/dumps/Test_popupwin_mask_2.dump
new file mode 100644
index 0000000..173d40a
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_mask_2.dump
@@ -0,0 +1,13 @@
+>1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0| +0&#e0e0e08@12|7+0&#ffffff0|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1| +0&#e0e0e08|s|o|m|e| |3+0&#ffffff0|x+0#0000001#ffd7ff255@1|t+0#0000000#e0e0e08| @3|x+0#0000001#ffd7ff255@1|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1| +0&#e0e0e08|1+0&#ffffff0@2|t+0&#e0e0e08|h|3+0&#ffffff0|y+0#0000001#ffd7ff255@1|l+0#0000000#e0e0e08|i|n|e| |y+0#0000001#ffd7ff255@1|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1| +0&#e0e0e08@8|1+0&#ffffff0|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@1|═+0#0000001#ffd7ff255@13|X|9+0#0000000#ffffff0|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|║+0#0000001#ffd7ff255| @4|1+0#0000000#ffffff0|4|1| +0#0000001#ffd7ff255@6|║|9+0#0000000#ffffff0|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|║+0#0000001#ffd7ff255| |j|u|s|t|1+0#0000000#ffffff0|4|1|e+0#0000001#ffd7ff255| |l|i|n|e| |║|9+0#0000000#ffffff0|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|║+0#0000001#ffd7ff255| @10|1+0#0000000#ffffff0|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|╚+0#0000001#ffd7ff255|═|1+0#0000000#ffffff0|2|1|═+0#0000001#ffd7ff255@4|1+0#0000000#ffffff0|6|1|7|═+0#0000001#ffd7ff255@1|╝|9+0#0000000#ffffff0|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_mask_3.dump b/src/testdir/dumps/Test_popupwin_mask_3.dump
new file mode 100644
index 0000000..40681fb
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_mask_3.dump
@@ -0,0 +1,13 @@
+>1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7| +0&#e0e0e08@9
+|1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|x+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3| +0&#e0e0e08|s|o|m|e| |0+0&#ffffff0|4|1|t+0&#e0e0e08|
+|1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|y+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3| +0&#e0e0e08|3+0&#ffffff0|8|3|t+0&#e0e0e08|h|0+0&#ffffff0|4|1|l+0&#e0e0e08|i
+|1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3| +0&#e0e0e08@8|4+0&#ffffff0|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|═+0#0000001#ffd7ff255@10
+|1+0#0000000#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|║+0#0000001#ffd7ff255| @4|9+0#0000000#ffffff0|4|0| +0#0000001#ffd7ff255@3
+|1+0#0000000#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|║+0#0000001#ffd7ff255| |j|u|s|t|9+0#0000000#ffffff0|4|0|e+0#0000001#ffd7ff255| |l|i
+|1+0#0000000#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|║+0#0000001#ffd7ff255| @10|2+0#0000000#ffffff0
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|╚+0#0000001#ffd7ff255|═|7+0#0000000#ffffff0|3|8|═+0#0000001#ffd7ff255@4|1+0#0000000#ffffff0|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_mask_4.dump b/src/testdir/dumps/Test_popupwin_mask_4.dump
new file mode 100644
index 0000000..0cf44d2
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_mask_4.dump
@@ -0,0 +1,13 @@
+>1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+| +0&#e0e0e08@11|1+0&#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|o+0&#e0e0e08|m|e| |5+0&#ffffff0|6|7|t+0&#e0e0e08| @3|1+0&#ffffff0@1|2|1|3|x+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|t+0&#e0e0e08|h|5+0&#ffffff0|6|7|l+0&#e0e0e08|i|n|e| |1+0&#ffffff0@1|2|1|3|y+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+| +0&#e0e0e08@6|8+0&#ffffff0|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|═+0#0000001#ffd7ff255@10|X|1+0#0000000#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+| +0#0000001#ffd7ff255|2+0#0000000#ffffff0|3|4| +0#0000001#ffd7ff255@6|║|1+0#0000000#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|t+0#0000001#ffd7ff255|2+0#0000000#ffffff0|3|4|e+0#0000001#ffd7ff255| |l|i|n|e| |║|1+0#0000000#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+| +0#0000001#ffd7ff255@6|8+0#0000000#ffffff0|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|═+0#0000001#ffd7ff255@4|6+0#0000000#ffffff0|7|8|9|═+0#0000001#ffd7ff255@1|╝|1+0#0000000#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_mask_5.dump b/src/testdir/dumps/Test_popupwin_mask_5.dump
new file mode 100644
index 0000000..78cc6f0
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_mask_5.dump
@@ -0,0 +1,13 @@
+>1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|x+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|y+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+| +0&#e0e0e08@11|1+0&#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|═+0#0000001#ffd7ff255@13|X|4+0#0000000#ffffff0|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|o+0&#e0e0e08|m|e| |5+0&#ffffff0|6|7|t+0&#e0e0e08| @3|1+0&#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|║+0#0000001#ffd7ff255| @4|2+0#0000000#ffffff0|9|3| +0#0000001#ffd7ff255@6|║|4+0#0000000#ffffff0|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|:| |t+0&#e0e0e08|h| +0&#ffffff0@2|l+0&#e0e0e08|i|n|e| | +0&#ffffff0@28|║+0#0000001#ffd7ff255| |j|u|s|t| +0#0000000#ffffff0@2|e+0#0000001#ffd7ff255| |l|i|n|e| |║|,+0#0000000#ffffff0|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_matches.dump b/src/testdir/dumps/Test_popupwin_matches.dump
new file mode 100644
index 0000000..6d9faf3
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_matches.dump
@@ -0,0 +1,10 @@
+|1+0#ffffff16#e000002@2| +0#0000000#ffffff0|2@2| |3@2| @63
+>4+0#4040ff13&@2| +0#0000000&|5@2| |6+0&#ffff4012@2| +0&#ffffff0@63
+|~+0#4040ff13&| @7|╔+0#0000001#ffd7ff255|═@10|╗| +0#4040ff13#ffffff0@52
+|~| @7|║+0#0000001#ffd7ff255|1+0#ffffff16#e000002@2| +0#0000001#ffd7ff255|2@2| |3@2|║| +0#4040ff13#ffffff0@52
+|~| @7|║+0#0000001#ffd7ff255|4@2| |5+0#4040ff13&@2| +0#0000001&|6@2|║| +0#4040ff13#ffffff0@52
+|~| @7|╚+0#0000001#ffd7ff255|═@10|╝| +0#4040ff13#ffffff0@52
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_menu_01.dump b/src/testdir/dumps/Test_popupwin_menu_01.dump
new file mode 100644
index 0000000..b41b398
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_01.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @20|╔+0#0000001#ffd7ff255| |m|a|k|e| |a| |c|h|o|i|c|e| |f|r|o|m| |t|h|e| |l|i|s|t| |╗| +0#0000000#ffffff0@21
+|4| @20|║+0#0000001#ffd7ff255| |o+0&#5fd7ff255|n|e| @23| +0&#ffd7ff255|║| +0#0000000#ffffff0@21
+|5| @20|║+0#0000001#ffd7ff255| |t|w|o| @24|║| +0#0000000#ffffff0@21
+|6| @20|║+0#0000001#ffd7ff255| |a|n|o|t|h|e|r| @20|║| +0#0000000#ffffff0@21
+|7| @20|╚+0#0000001#ffd7ff255|═@28|╝| +0#0000000#ffffff0@21
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_menu_02.dump b/src/testdir/dumps/Test_popupwin_menu_02.dump
new file mode 100644
index 0000000..b7a40e8
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_02.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @20|╔+0#0000001#ffd7ff255| |m|a|k|e| |a| |c|h|o|i|c|e| |f|r|o|m| |t|h|e| |l|i|s|t| |╗| +0#0000000#ffffff0@21
+|4| @20|║+0#0000001#ffd7ff255| |o|n|e| @24|║| +0#0000000#ffffff0@21
+|5| @20|║+0#0000001#ffd7ff255| |t|w|o| @24|║| +0#0000000#ffffff0@21
+|6| @20|║+0#0000001#ffd7ff255| |a+0&#5fd7ff255|n|o|t|h|e|r| @19| +0&#ffd7ff255|║| +0#0000000#ffffff0@21
+|7| @20|╚+0#0000001#ffd7ff255|═@28|╝| +0#0000000#ffffff0@21
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_menu_03.dump b/src/testdir/dumps/Test_popupwin_menu_03.dump
new file mode 100644
index 0000000..1aa7fe8
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_03.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+|s|e|l|e|c|t|e|d| |3| @46|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_menu_04.dump b/src/testdir/dumps/Test_popupwin_menu_04.dump
new file mode 100644
index 0000000..2ee61fc
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_04.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @31|╔+0#0000001#ffd7ff255|═@6|╗| +0#0000000#ffffff0@32
+|4| @31|║+0#0000001#ffd7ff255| |o+0&#40ff4011|n|e| @1| +0&#ffd7ff255|║| +0#0000000#ffffff0@32
+|5| @31|║+0#0000001#ffd7ff255| |t|w|o| @2|║| +0#0000000#ffffff0@32
+|6| @31|║+0#0000001#ffd7ff255| |t|h|r|e@1| |║| +0#0000000#ffffff0@32
+|7| @31|╚+0#0000001#ffd7ff255|═@6|╝| +0#0000000#ffffff0@32
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_menu_filter_1.dump b/src/testdir/dumps/Test_popupwin_menu_filter_1.dump
new file mode 100644
index 0000000..b99b8d0
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_filter_1.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |1@2| | +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_menu_filter_2.dump b/src/testdir/dumps/Test_popupwin_menu_filter_2.dump
new file mode 100644
index 0000000..e510f1d
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_filter_2.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |1+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_menu_filter_3.dump b/src/testdir/dumps/Test_popupwin_menu_filter_3.dump
new file mode 100644
index 0000000..77bec0e
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_filter_3.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |7@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |8@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |9+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_menu_filter_4.dump b/src/testdir/dumps/Test_popupwin_menu_filter_4.dump
new file mode 100644
index 0000000..e510f1d
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_filter_4.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |1+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_menu_filter_5.dump b/src/testdir/dumps/Test_popupwin_menu_filter_5.dump
new file mode 100644
index 0000000..910e224
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_filter_5.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&> @73
diff --git a/src/testdir/dumps/Test_popupwin_menu_maxwidth_1.dump b/src/testdir/dumps/Test_popupwin_menu_maxwidth_1.dump
new file mode 100644
index 0000000..813fb36
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_maxwidth_1.dump
@@ -0,0 +1,13 @@
+>╔+0#0000001#ffd7ff255|═@2|╗| +0#0000000#ffffff0@9|╔+0#0000001#ffd7ff255|═@11|╗| +0#0000000#ffffff0@2|╔+0#0000001#ffd7ff255|═@12|╗| +0#0000000#ffffff0@27
+|║+0#0000001#ffd7ff255| |x+0&#e0e0e08| +0&#ffd7ff255|║| +0#0000000#ffffff0@9|║+0#0000001#ffd7ff255| |1+0&#e0e0e08|2|3|4|5|6|7|8|9||| +0&#ffd7ff255|║| +0#0000000#ffffff0@2|║+0#0000001#ffd7ff255| |1+0&#e0e0e08|2|3|4|5|6|7|8|9||| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@27
+|╚+0#0000001#ffd7ff255|═@2|╝| +0#0000000#ffffff0@9|╚+0#0000001#ffd7ff255|═@11|╝| +0#0000000#ffffff0@2|║+0#0000001#ffd7ff255| |1|2|3|4|5|6|7|8|9||| | +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@27
+|4| @30|║+0#0000001#ffd7ff255| |1|2|3|4|5|6|7|8|9||| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@27
+|5| @30|╚+0#0000001#ffd7ff255|═@12|╝| +0#0000000#ffffff0@27
+|6| @73
+|╔+0#0000001#ffd7ff255|═@11|╗| +0#0000000#ffffff0|╔+0#0000001#ffd7ff255|═@11|╗| +0#0000000#ffffff0@45
+|║+0#0000001#ffd7ff255| |1+0&#e0e0e08|2|3|4|5|6|7|8|9||| +0&#ffd7ff255|║| +0#0000000#ffffff0|║+0#0000001#ffd7ff255| |1+0&#e0e0e08|2|3|4|5|6|7|8|9||| +0&#ffd7ff255|║| +0#0000000#ffffff0@45
+|╚+0#0000001#ffd7ff255|═@11|╝| +0#0000000#ffffff0|╚+0#0000001#ffd7ff255|═@11|╝| +0#0000000#ffffff0@45
+|1|0| @72
+|~+0#4040ff13&| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_menu_scroll_1.dump b/src/testdir/dumps/Test_popupwin_menu_scroll_1.dump
new file mode 100644
index 0000000..95d020f
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_scroll_1.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @29|╔+0#0000001#ffd7ff255|═@10|╗| +0#0000000#ffffff0@30
+|4| @29|║+0#0000001#ffd7ff255| |o|n|e| @5| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|5| @29|║+0#0000001#ffd7ff255| |t+0&#e0e0e08|w|o| @4| +0&#ffd7ff255| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|6| @29|║+0#0000001#ffd7ff255| |t|h|r|e@1| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|7| @29|╚+0#0000001#ffd7ff255|═@10|╝| +0#0000000#ffffff0@30
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_menu_scroll_2.dump b/src/testdir/dumps/Test_popupwin_menu_scroll_2.dump
new file mode 100644
index 0000000..935e3b4
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_scroll_2.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @29|╔+0#0000001#ffd7ff255|═@10|╗| +0#0000000#ffffff0@30
+|4| @29|║+0#0000001#ffd7ff255| |t|h|r|e@1| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|5| @29|║+0#0000001#ffd7ff255| |f|o|u|r| @4| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|6| @29|║+0#0000001#ffd7ff255| |f+0&#e0e0e08|i|v|e| @3| +0&#ffd7ff255| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|7| @29|╚+0#0000001#ffd7ff255|═@10|╝| +0#0000000#ffffff0@30
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_menu_scroll_3.dump b/src/testdir/dumps/Test_popupwin_menu_scroll_3.dump
new file mode 100644
index 0000000..00fe0c8
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_scroll_3.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @29|╔+0#0000001#ffd7ff255|═@10|╗| +0#0000000#ffffff0@30
+|4| @29|║+0#0000001#ffd7ff255| |s|e|v|e|n| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|5| @29|║+0#0000001#ffd7ff255| |e|i|g|h|t| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|6| @29|║+0#0000001#ffd7ff255| |n+0&#e0e0e08|i|n|e| @3| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|7| @29|╚+0#0000001#ffd7ff255|═@10|╝| +0#0000000#ffffff0@30
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_menu_scroll_4.dump b/src/testdir/dumps/Test_popupwin_menu_scroll_4.dump
new file mode 100644
index 0000000..d019c86
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_scroll_4.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @29|╔+0#0000001#ffd7ff255|═@10|╗| +0#0000000#ffffff0@30
+|4| @29|║+0#0000001#ffd7ff255| |s+0&#e0e0e08|e|v|e|n| @2| +0&#ffd7ff255| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|5| @29|║+0#0000001#ffd7ff255| |e|i|g|h|t| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|6| @29|║+0#0000001#ffd7ff255| |n|i|n|e| @4| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|7| @29|╚+0#0000001#ffd7ff255|═@10|╝| +0#0000000#ffffff0@30
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_menu_scroll_5.dump b/src/testdir/dumps/Test_popupwin_menu_scroll_5.dump
new file mode 100644
index 0000000..132137a
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_scroll_5.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @29|╔+0#0000001#ffd7ff255|═@10|╗| +0#0000000#ffffff0@30
+|4| @29|║+0#0000001#ffd7ff255| |s+0&#e0e0e08|i|x| @4| +0&#ffd7ff255| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|5| @29|║+0#0000001#ffd7ff255| |s|e|v|e|n| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|6| @29|║+0#0000001#ffd7ff255| |e|i|g|h|t| @3| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|7| @29|╚+0#0000001#ffd7ff255|═@10|╝| +0#0000000#ffffff0@30
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_menu_scroll_6.dump b/src/testdir/dumps/Test_popupwin_menu_scroll_6.dump
new file mode 100644
index 0000000..6718bb3
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_scroll_6.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @29|╔+0#0000001#ffd7ff255|═@10|╗| +0#0000000#ffffff0@30
+|4| @29|║+0#0000001#ffd7ff255| |o+0&#e0e0e08|n|e| @4| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|5| @29|║+0#0000001#ffd7ff255| |t|w|o| @5| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|6| @29|║+0#0000001#ffd7ff255| |t|h|r|e@1| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@30
+|7| @29|╚+0#0000001#ffd7ff255|═@10|╝| +0#0000000#ffffff0@30
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_multibytetitle.dump b/src/testdir/dumps/Test_popupwin_multibytetitle.dump
new file mode 100644
index 0000000..95b0871
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_multibytetitle.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @25|╔+0#0000001#ffd7ff255|▶|Ä|あ*&|い|う|え|お|◀+&|═@4|╗| +0#0000000#ffffff0@27
+|5| @25|║+0#0000001#ffd7ff255| |T+0&#e0e0e08|h|i|s| |i|s| |a| |l|i|n|e| @1| +0&#ffd7ff255|║| +0#0000000#ffffff0@27
+|6| @25|║+0#0000001#ffd7ff255| |a|n|d| |a|n|o|t|h|e|r| |l|i|n|e| |║| +0#0000000#ffffff0@27
+|7| @25|╚+0#0000001#ffd7ff255|═@17|╝| +0#0000000#ffffff0@27
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_normal_cmd.dump b/src/testdir/dumps/Test_popupwin_normal_cmd.dump
new file mode 100644
index 0000000..95588d6
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_normal_cmd.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @33|8+0#0000001#ffd7ff255| @1| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@35
+|~| @33|9+0#0000001#ffd7ff255| @1| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@35
+|~| @33|1+0#0000001#ffd7ff255|0| | +0#0000000#0000001| +0#4040ff13#ffffff0@35
+|~| @33|1+0#0000001#ffd7ff255@1| | +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@35
+|~| @33|1+0#0000001#ffd7ff255|2| | +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@35
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_nospace.dump b/src/testdir/dumps/Test_popupwin_nospace.dump
new file mode 100644
index 0000000..de8521c
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_nospace.dump
@@ -0,0 +1,12 @@
+|-+0&#ffffff0|╔+0#0000001#ffd7ff255|═@2|╗|-+0#0000000#ffffff0@1|╔+0#0000001#ffd7ff255|═@2|╗|-+0#0000000#ffffff0@8|╔+0#0000001#ffd7ff255|═@2|╗|-+0#0000000#ffffff0@15|╔+0#0000001#ffd7ff255|═@2|╗|-+0#0000000#ffffff0@11| @14
+|-|║+0#0000001#ffd7ff255|o|n|e|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255|o|n|e|║|-+0#0000000#ffffff0@8|║+0#0000001#ffd7ff255|a@2|║|-+0#0000000#ffffff0@15|║+0#0000001#ffd7ff255|o|n|e|║|-+0#0000000#ffffff0@11| @14
+|-|║+0#0000001#ffd7ff255|t|w|o|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255|t|w|o|║|-+0#0000000#ffffff0@8|║+0#0000001#ffd7ff255|b@2|║|-+0#0000000#ffffff0@15|║+0#0000001#ffd7ff255|t|w|o|║|-+0#0000000#ffffff0@11| @14
+|-|╚+0#0000001#ffd7ff255|═@2|╝|-+0#0000000#ffffff0@1|╚+0#0000001#ffd7ff255|═@2|╝|-+0#0000000#ffffff0@8|║+0#0000001#ffd7ff255|c@2|║|-+0#0000000#ffffff0@15|║+0#0000001#ffd7ff255|t|e@1|║|-+0#0000000#ffffff0@11| @14
+|-|@|-@5|#|-@5|%|-@5|║+0#0000001#ffd7ff255|d@2|║|-+0#0000000#ffffff0@15|║+0#0000001#ffd7ff255|f|o|u|║|-+0#0000000#ffffff0@1>*|-@8| @14
+|-@14|╔+0#0000001#ffd7ff255|═@2|╗|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255|e@2|║|-+0#0000000#ffffff0@15|║+0#0000001#ffd7ff255|f|i|v|║|-+0#0000000#ffffff0@1|╔+0#0000001#ffd7ff255|═@3|╗|-+0#0000000#ffffff0@3| @14
+|-@14|║+0#0000001#ffd7ff255|o|n|e|║|-+0#0000000#ffffff0@1|╚+0#0000001#ffd7ff255|═@2|╝|-+0#0000000#ffffff0@15|╚+0#0000001#ffd7ff255|═@2|╝|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255|a@2| +0#0000000#0000001|║+0#0000001#ffd7ff255|-+0#0000000#ffffff0@3| @14
+|-@14|║+0#0000001#ffd7ff255|t|w|o|║|-+0#0000000#ffffff0@1|*|-@5|@|-@5|#|-@5|%|-@5|║+0#0000001#ffd7ff255|b@2| +0#0000000#0000001|║+0#0000001#ffd7ff255|-+0#0000000#ffffff0@3| @14
+|-@14|║+0#0000001#ffd7ff255|t|e@1|║|-+0#0000000#ffffff0@8|╔+0#0000001#ffd7ff255|═@2|╗|-+0#0000000#ffffff0@1|╔+0#0000001#ffd7ff255|═@3|╗|-+0#0000000#ffffff0@7|║+0#0000001#ffd7ff255|c@2| +0#0000000#0000001|║+0#0000001#ffd7ff255|-+0#0000000#ffffff0@3| @14
+|-@14|╚+0#0000001#ffd7ff255|═@2|╝|-+0#0000000#ffffff0@8|║+0#0000001#ffd7ff255|o|n|e|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255|o|n|e| +0#0000000#0000001|║+0#0000001#ffd7ff255|-+0#0000000#ffffff0@7|║+0#0000001#ffd7ff255|d@2| +0#0000000#0000001|║+0#0000001#ffd7ff255|-+0#0000000#ffffff0@3| @14
+|-@28|║+0#0000001#ffd7ff255|t|w|o|║|-+0#0000000#ffffff0@1|║+0#0000001#ffd7ff255|t|w|o| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255|-+0#0000000#ffffff0@7|║+0#0000001#ffd7ff255|e@2| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255|-+0#0000000#ffffff0@3| @14
+@29|╚+0#0000001#ffd7ff255|═@2|╝| +0#0000000#ffffff0@1|╚+0#0000001#ffd7ff255|═@3|╝| +0#0000000#ffffff0@7|╚+0#0000001#ffd7ff255|═@3|╝| +0#0000000#ffffff0|5|,|5|1| @9|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_notify_01.dump b/src/testdir/dumps/Test_popupwin_notify_01.dump
new file mode 100644
index 0000000..bad62f6
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_notify_01.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @7|╔+0#e000002&|═@21|╗| +0#0000000&@41
+|2| @7|║+0#e000002&| |f|i|r|s|t| |n|o|t|i|f|i|c|a|t|i|o|n| @2|║| +0#0000000&@41
+|3| @7|╚+0#e000002&|═@21|╝| +0#0000000&@41
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_notify_02.dump b/src/testdir/dumps/Test_popupwin_notify_02.dump
new file mode 100644
index 0000000..72e2895
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_notify_02.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @7|╔+0#e000002&|═@21|╗| +0#0000000&@41
+|2| @7|║+0#e000002&| |f|i|r|s|t| |n|o|t|i|f|i|c|a|t|i|o|n| @2|║| +0#0000000&@41
+|3| @7|╚+0#e000002&|═@21|╝| +0#0000000&@41
+|4| @7|╔+0&#5fd7ff255|═@31|╗| +0&#ffffff0@31
+|5| @7|║+0&#5fd7ff255| |a|n|o|t|h|e|r| |i|m|p|o|r|t|a|n|t| |n|o|t|i|f|i|c|a|t|i|o|n| |║| +0&#ffffff0@31
+|6| @7|╚+0&#5fd7ff255|═@31|╝| +0&#ffffff0@31
+|7| @73
+|8| @73
+|9| @73
+|:|c|a|l@1| |p|o|p|u|p|_|n|o|t|i|f|i|c|a|t|i|o|n|(|'|a|n|o|t|h|e|r| |i|m|p|o|r|t|a|n|t| |n|o|t|i|f|i|c|a|t|i|o|n|'|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_nowrap.dump b/src/testdir/dumps/Test_popupwin_nowrap.dump
new file mode 100644
index 0000000..6088d3b
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_nowrap.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @17|a+0#0000001#ffd7ff255| |l|o|n|g| |l|i|n| +0#0000000#ffffff0@45
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_poptermscroll_1.dump b/src/testdir/dumps/Test_popupwin_poptermscroll_1.dump
new file mode 100644
index 0000000..510b7b2
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_poptermscroll_1.dump
@@ -0,0 +1,15 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @14|╔+0#0000001#ffd7ff255|═@40|╗| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|4|2| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|4|3| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|4@1| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|[+1#0000000&|N|o| |N|a|m|e|]| @6|║+0#0000001#ffd7ff255|4|5| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255|0+1#0000000#ffffff0|-|1| @9|A|l@1
+| +0&&@15|║+0#0000001#ffd7ff255|4|6| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@15
+|~+0#4040ff13&| @14|║+0#0000001#ffd7ff255|4|7| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|4|8| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255>4|9| @37| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|╚+0#0000001#ffd7ff255|═@40|╝| +0#4040ff13#ffffff0@15
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@56|5|0|,|1| @9|B|o|t|
diff --git a/src/testdir/dumps/Test_popupwin_poptermscroll_2.dump b/src/testdir/dumps/Test_popupwin_poptermscroll_2.dump
new file mode 100644
index 0000000..2d77aa2
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_poptermscroll_2.dump
@@ -0,0 +1,15 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @14|╔+0#0000001#ffd7ff255|═@40|╗| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|2|1| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|2@1| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|2|3| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|[+1#0000000&|N|o| |N|a|m|e|]| @6|║+0#0000001#ffd7ff255>2|4| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255|0+1#0000000#ffffff0|-|1| @9|A|l@1
+| +0&&@15|║+0#0000001#ffd7ff255|2|5| @37| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@15
+|~+0#4040ff13&| @14|║+0#0000001#ffd7ff255|2|6| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|2|7| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|2|8| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|╚+0#0000001#ffd7ff255|═@40|╝| +0#4040ff13#ffffff0@15
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@56|2|5|,|1| @9|5|0|%|
diff --git a/src/testdir/dumps/Test_popupwin_poptermscroll_3.dump b/src/testdir/dumps/Test_popupwin_poptermscroll_3.dump
new file mode 100644
index 0000000..73f13fd
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_poptermscroll_3.dump
@@ -0,0 +1,15 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @14|╔+0#0000001#ffd7ff255|═@40|╗| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|2|1| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|2@1| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|2|3| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|[+1#0000000&|N|o| |N|a|m|e|]| @6|║+0#0000001#ffd7ff255>2|4| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255|0+1#0000000#ffffff0|-|1| @9|A|l@1
+| +0&&@15|║+0#0000001#ffd7ff255|2|5| @37| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@15
+|~+0#4040ff13&| @14|║+0#0000001#ffd7ff255|2|6| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|2|7| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|║+0#0000001#ffd7ff255|2|8| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@15
+|~| @14|╚+0#0000001#ffd7ff255|═@40|╝| +0#4040ff13#ffffff0@15
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|E+0#ffffff16#e000002|9@1|4|:| |N|o|t| |a|l@1|o|w|e|d| |i|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| +0#0000000#ffffff0@39
diff --git a/src/testdir/dumps/Test_popupwin_poptermscroll_4.dump b/src/testdir/dumps/Test_popupwin_poptermscroll_4.dump
new file mode 100644
index 0000000..0e7b283
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_poptermscroll_4.dump
@@ -0,0 +1,15 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|:+0&&|q| @72
diff --git a/src/testdir/dumps/Test_popupwin_popupmenu_masking_1.dump b/src/testdir/dumps/Test_popupwin_popupmenu_masking_1.dump
new file mode 100644
index 0000000..9cf4149
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_popupmenu_masking_1.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|a|w|o|r|d> @2|p+0#ffffff16#e000002|o|p|u|p| |b|e|l|o|w| @1|╔+0#0000001#e0e0e08|═@15|X| +0#0000000#ffffff0@9
+|~+0#4040ff13&| @23| +0#0000001#e0e0e08|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| |║| |w|o|r|d|s| |a|r|e| |c|o@1|l| |║| +0#4040ff13#ffffff0@9
+|~| @23| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| |╚+0&#e0e0e08|═@15|⇲| +0#4040ff13#ffffff0@9
+|~| @19|p+0#0000000#ffff4012|o|p|u|p| |o|n| |t|o|p| +0#0000001#ffd7ff255|W| |e|x|t|r|a| |t|e|x|t| | +0#ffffff16#e000002@3| +0#4040ff13#ffffff0@23
+|~| @19|p+0#0000000#ffff4012|o|p|u|p| |o|n| |t|o|p| +0#0000001#ffd7ff255|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
+|~| @19|p+0#0000000#ffff4012|o|p|u|p| |o|n| |t|o|p| +0#4040ff13#ffffff0@41
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_popupmenu_masking_2.dump b/src/testdir/dumps/Test_popupwin_popupmenu_masking_2.dump
new file mode 100644
index 0000000..41fb879
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_popupmenu_masking_2.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|a|w|o|r>d| @2|p+0#ffffff16#e000002|o|p|u|p| |b|e|l|o|w| @5| +0#0000000#ffffff0@23
+|~+0#4040ff13&| @32|p+0#ffffff16#e000002|o|p|u|p| |b|e|l|o|w| @5| +0#4040ff13#ffffff0@23
+|~| @32|p+0#ffffff16#e000002|o|p|u|p| |b|e|l|o|w| @5| +0#4040ff13#ffffff0@23
+|~| @19|p+0#0000000#ffff4012|o|p|u|p| |o|n| |t|o|p| +0#4040ff13#ffffff0|p+0#ffffff16#e000002|o|p|u|p| |b|e|l|o|w| @5| +0#4040ff13#ffffff0@23
+|~| @19|p+0#0000000#ffff4012|o|p|u|p| |o|n| |t|o|p| +0#4040ff13#ffffff0@41
+|~| @19|p+0#0000000#ffff4012|o|p|u|p| |o|n| |t|o|p| +0#4040ff13#ffffff0@41
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|3|1| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_previewpopup_1.dump b/src/testdir/dumps/Test_popupwin_previewpopup_1.dump
new file mode 100644
index 0000000..e65023e
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_previewpopup_1.dump
@@ -0,0 +1,14 @@
+|o+0&#ffffff0|n|e| @71
+|#|i|n|c|l|╔+0#0000001#ffd7ff255| |X|t|a|g|f|i|l|e| |═@30|X| +0#0000000#ffffff0@26
+|t|h|r|e@1|║+0#0000001#ffd7ff255|2|0| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|f|o|u|r| |║+0#0000001#ffd7ff255|t|h|e|w|o|r|d| |i|s| |h|e|r|e| @24| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|f|i|v|e| |║+0#0000001#ffd7ff255|2@1| @37| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|s|i|x| @1|║+0#0000001#ffd7ff255|2|3| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|s|e|v|e|n|╚+0#0000001#ffd7ff255|═@40|⇲| +0#0000000#ffffff0@26
+|f|i|n|d| >t|h|e|w|o|r|d| |s|o|m|e|w|h|e|r|e| @52
+|n|i|n|e| @70
+|t|h|i|s| |i|s| |a|n|o|t|h|e|r| |w|o|r|d| @54
+|v|e|r|y| |l|o|n|g| |l|i|n|e| |w|h|e|r|e| |t|h|e| |w|o|r|d| |i|s| |a|l|s|o| |a|n|o|t|h|e|r| @29
+|~+0#4040ff13&| @73
+|~| @73
+|:+0#0000000&| @55|8|,|6| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_previewpopup_10.dump b/src/testdir/dumps/Test_popupwin_previewpopup_10.dump
new file mode 100644
index 0000000..fdf16b4
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_previewpopup_10.dump
@@ -0,0 +1,14 @@
+|o+0&#ffffff0|n|e| @71
+|#|i|n|c|l|u|d|e| |"|X|h|e|a|d|e|r|.|h|"| @54
+|t|h|r|e@1| @69
+|f|o|u|r| @70
+|f|i|v|e| @27|╔+0#0000001#ffd7ff255| |X|h|e|a|d|e|r|.|h| |═@29|X
+|s+0#0000000#ffffff0|i|x| @28|║+0#0000001#ffd7ff255|1+0#e000002&|0| +0#0000001&@37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|s+0#0000000#ffffff0|e|v|e|n| @26|║+0#0000001#ffd7ff255|s|e|a|r|c|h|e|d| |w|o|r|d| |i|s| |h|e|r|e| @18| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|f+0#0000000#ffffff0|i|n|d| |t|h|e|w|o|r|d| |s|o|m|e|w|h|e|r|e| @9|║+0#0000001#ffd7ff255|1+0#e000002&|2| +0#0000001&@37| +0#0000000#0000001|║+0#0000001#ffd7ff255
+|n+0#0000000#ffffff0|i|n|e| @27|║+0#0000001#ffd7ff255|1+0#e000002&|3| +0#0000001&@37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|t+0#0000000#ffffff0|h|i|s| |i|s| |a|n|o|t|h|e|r| |w|o|r|d| @11|╚+0#0000001#ffd7ff255|═@40|⇲
+|v+0#0000000#ffffff0|e|r|y| |l|o|n|g| |l|i|n|e| |w|h|e|r|e| |t|h|e| |w|o|r|d| |i|s| |a|l|s|o| >a|n|o|t|h|e|r| @29
+|~+0#4040ff13&| @73
+|~| @73
+|E+0#ffffff16#e000002|9@1|4|:| |N|o|t| |a|l@1|o|w|e|d| |i|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| +0#0000000#ffffff0@21|1@1|,|3|9| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_previewpopup_2.dump b/src/testdir/dumps/Test_popupwin_previewpopup_2.dump
new file mode 100644
index 0000000..99934ef
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_previewpopup_2.dump
@@ -0,0 +1,14 @@
+|o+0&#ffffff0|n|e| @71
+|#|i|n|c|l|u|d|e| |"|X|h|e|a|d|e|r|.|h|"| @54
+|t|h|r|e@1| @69
+|f|o|u|r| @3|╔+0&#afffff255| |X|t|a|g|f|i|l|e| |═@30|X| +0&#ffffff0@23
+|f|i|v|e| @3|║+0&#afffff255|2|6| @37| +0&#a8a8a8255|║+0&#afffff255| +0&#ffffff0@23
+|s|i|x| @4|║+0&#afffff255|2|7| @37| +0&#a8a8a8255|║+0&#afffff255| +0&#ffffff0@23
+|s|e|v|e|n| @2|║+0&#afffff255|t|h|i|s| |i|s| |a|n|o|t|h|e|r| |p|l|a|c|e| @18| +0&#0000001|║+0&#afffff255| +0&#ffffff0@23
+|f|i|n|d| |t|h|e|║+0&#afffff255|2|9| @37| +0&#a8a8a8255|║+0&#afffff255| +0&#ffffff0@23
+|n|i|n|e| @3|╚+0&#afffff255|═@40|⇲| +0&#ffffff0@23
+|t|h|i|s| |i|s| >a|n|o|t|h|e|r| |w|o|r|d| @54
+|v|e|r|y| |l|o|n|g| |l|i|n|e| |w|h|e|r|e| |t|h|e| |w|o|r|d| |i|s| |a|l|s|o| |a|n|o|t|h|e|r| @29
+|~+0#4040ff13&| @73
+|~| @73
+|/+0#0000000&|a|n|o|t|h|e|r| @48|1|0|,|9| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_previewpopup_3.dump b/src/testdir/dumps/Test_popupwin_previewpopup_3.dump
new file mode 100644
index 0000000..d1e77e9
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_previewpopup_3.dump
@@ -0,0 +1,14 @@
+|o+0&#ffffff0|n|e| @71
+|#|i|n|c|l|u|d|e| |"|X|h|e|a|d|e|r|.|h|"| @54
+|t|h|r|e@1| @69
+|f|o|u|r| @9|╔+0&#afffff255| |X|t|a|g|f|i|l|e| |═@30|X| +0&#ffffff0@17
+|f|i|v|e| @9|║+0&#afffff255|2|6| @37| +0&#a8a8a8255|║+0&#afffff255| +0&#ffffff0@17
+|s|i|x| @10|║+0&#afffff255|2|7| @37| +0&#a8a8a8255|║+0&#afffff255| +0&#ffffff0@17
+|s|e|v|e|n| @8|║+0&#afffff255|t|h|i|s| |i|s| |a|n|o|t|h|e|r| |p|l|a|c|e| @18| +0&#0000001|║+0&#afffff255| +0&#ffffff0@17
+|f|i|n|d| |t|h|e|w|o|r|d| |s|║+0&#afffff255|2|9| @37| +0&#a8a8a8255|║+0&#afffff255| +0&#ffffff0@17
+|n|i|n|e| @9|╚+0&#afffff255|═@40|⇲| +0&#ffffff0@17
+|t|h|i|s| |i|s| >a|n|o|t|h|e|r| |w|o|r|d| @54
+|v|e|r|y| |l|o|n|g| |l|i|n|e| |w|h|e|r|e| |t|h|e| |w|o|r|d| |i|s| |a|l|s|o| |a|n|o|t|h|e|r| @29
+|~+0#4040ff13&| @73
+|~| @73
+|:+0#0000000&| @55|1|0|,|9| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_previewpopup_4.dump b/src/testdir/dumps/Test_popupwin_previewpopup_4.dump
new file mode 100644
index 0000000..f8d411d
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_previewpopup_4.dump
@@ -0,0 +1,14 @@
+|o+0&#ffffff0|n|e| @71
+|#|i|n|c|l|u|d|e| |"|X|h|e|a|d|e|r|.|h|"| @54
+|t|h|r|e@1| @69
+|f|o|u|r| @70
+|f|i|v|e| @27|╔+0&#afffff255| |X|t|a|g|f|i|l|e| |═@30|X
+|s+0&#ffffff0|i|x| @28|║+0&#afffff255|2|6| @37| +0&#a8a8a8255|║+0&#afffff255
+|s+0&#ffffff0|e|v|e|n| @26|║+0&#afffff255|2|7| @37| +0&#a8a8a8255|║+0&#afffff255
+|f+0&#ffffff0|i|n|d| |t|h|e|w|o|r|d| |s|o|m|e|w|h|e|r|e| @9|║+0&#afffff255|t|h|i|s| |i|s| |a|n|o|t|h|e|r| |p|l|a|c|e| @18| +0&#0000001|║+0&#afffff255
+|n+0&#ffffff0|i|n|e| @27|║+0&#afffff255|2|9| @37| +0&#a8a8a8255|║+0&#afffff255
+|t+0&#ffffff0|h|i|s| |i|s| |a|n|o|t|h|e|r| |w|o|r|d| @11|╚+0&#afffff255|═@40|⇲
+|v+0&#ffffff0|e|r|y| |l|o|n|g| |l|i|n|e| |w|h|e|r|e| |t|h|e| |w|o|r|d| |i|s| |a|l|s|o| >a|n|o|t|h|e|r| @29
+|~+0#4040ff13&| @73
+|~| @73
+|/+0#0000000&|a|n|o|t|h|e|r| @48|1@1|,|3|9| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_previewpopup_5.dump b/src/testdir/dumps/Test_popupwin_previewpopup_5.dump
new file mode 100644
index 0000000..8f1b98f
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_previewpopup_5.dump
@@ -0,0 +1,14 @@
+|o+0&#ffffff0|n|e| @71
+|#|i|n|c|l|u|d|e| |"|X|h|e|a|d|e|r|.|h|"| @54
+|t|h|r|e@1| @69
+|f|o|u|r| @70
+|f|i|v|e| @27|╔+0&#afffff255| |t|e|s|t|d|i|r|/|X|t|a|g|f|i|l|e| |═@22|X
+|s+0&#ffffff0|i|x| @28|║+0&#afffff255|2|6| @37| +0&#a8a8a8255|║+0&#afffff255
+|s+0&#ffffff0|e|v|e|n| @26|║+0&#afffff255|2|7| @37| +0&#a8a8a8255|║+0&#afffff255
+|f+0&#ffffff0|i|n|d| |t|h|e|w|o|r|d| |s|o|m|e|w|h|e|r|e| @9|║+0&#afffff255|t|h|i|s| |i|s| |a|n|o|t|h|e|r| |p|l|a|c|e| @18| +0&#0000001|║+0&#afffff255
+|n+0&#ffffff0|i|n|e| @27|║+0&#afffff255|2|9| @37| +0&#a8a8a8255|║+0&#afffff255
+|t+0&#ffffff0|h|i|s| |i|s| |a|n|o|t|h|e|r| |w|o|r|d| @11|╚+0&#afffff255|═@40|⇲
+|v+0&#ffffff0|e|r|y| |l|o|n|g| |l|i|n|e| |w|h|e|r|e| |t|h|e| |w|o|r|d| |i|s| |a|l|s|o| >a|n|o|t|h|e|r| @29
+|~+0#4040ff13&| @73
+|~| @73
+|:+0#0000000&| @55|1@1|,|3|9| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_previewpopup_6.dump b/src/testdir/dumps/Test_popupwin_previewpopup_6.dump
new file mode 100644
index 0000000..a9a2be4
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_previewpopup_6.dump
@@ -0,0 +1,14 @@
+|o+0&#ffffff0|n|e| @71
+|#|i|n|c|l|u|d|e| |"|X|h|e|a|d|e|r|.|h|"| @54
+|t|h|r|e@1| @69
+|f|o|u|r| @70
+|f|i|v|e| @70
+|s|i|x| @71
+|s|e|v|e|n| @69
+|f|i|n|d| |t|h|e|w|o|r|d| |s|o|m|e|w|h|e|r|e| @52
+|n|i|n|e| @70
+|t|h|i|s| |i|s| |a|n|o|t|h|e|r| |w|o|r|d| @54
+|v|e|r|y| |l|o|n|g| |l|i|n|e| |w|h|e|r|e| |t|h|e| |w|o|r|d| |i|s| |a|l|s|o| >a|n|o|t|h|e|r| @29
+|~+0#4040ff13&| @73
+|~| @73
+| +0#0000000&@56|1@1|,|3|9| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_previewpopup_7.dump b/src/testdir/dumps/Test_popupwin_previewpopup_7.dump
new file mode 100644
index 0000000..f510b8b
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_previewpopup_7.dump
@@ -0,0 +1,14 @@
+|o+0&#ffffff0|n|e| @71
+|#|i|n|c|l|u|d|e| |"|X|h|e|a|d|e|r|.|h|"| @54
+|t|h|r|e@1| @69
+|f|o|u|r| @70
+|f|i|v|e| @27|╔+0#0000001#ffd7ff255| |X|t|a|g|f|i|l|e| |═@30|X
+|s+0#0000000#ffffff0|i|x| @28|║+0#0000001#ffd7ff255|2|0| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|s+0#0000000#ffffff0|e|v|e|n| @26|║+0#0000001#ffd7ff255|t|h|e|w|o|r|d| |i|s| |h|e|r|e| @24| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|f+0#0000000#ffffff0|i|n|d| |t|h|e|w|o|r|d| |s|o|m|e|w|h|e|r|e| @9|║+0#0000001#ffd7ff255|2@1| @37| +0#0000000#0000001|║+0#0000001#ffd7ff255
+|n+0#0000000#ffffff0|i|n|e| @27|║+0#0000001#ffd7ff255|2|3| @37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|t+0#0000000#ffffff0|h|i|s| |i|s| |a|n|o|t|h|e|r| |w|o|r|d| @11|╚+0#0000001#ffd7ff255|═@40|⇲
+|v+0#0000000#ffffff0|e|r|y| |l|o|n|g| |l|i|n|e| |w|h|e|r|e| |t|h|e| |w|o|r|d| |i|s| |a|l|s|o| >a|n|o|t|h|e|r| @29
+|~+0#4040ff13&| @73
+|~| @73
+|:+0#0000000&| @55|1@1|,|3|9| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_previewpopup_8.dump b/src/testdir/dumps/Test_popupwin_previewpopup_8.dump
new file mode 100644
index 0000000..6e88fff
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_previewpopup_8.dump
@@ -0,0 +1,14 @@
+|o+0&#ffffff0|n|e| @71
+|#|i|n|c|l|u|d|e| |"|X|h|e|a|d|e|r|.|h|"| @54
+|t|h|r|e@1| @69
+|f|o|u|r| @70
+|f|i|v|e| @27|╔+0#0000001#ffd7ff255| |X|h|e|a|d|e|r|.|h| |═@29|X
+|s+0#0000000#ffffff0|i|x| @28|║+0#0000001#ffd7ff255|1+0#e000002&|0| +0#0000001&@37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|s+0#0000000#ffffff0|e|v|e|n| @26|║+0#0000001#ffd7ff255|s|e|a|r|c|h|e|d| |w|o|r|d| |i|s| |h|e|r|e| @18| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|f+0#0000000#ffffff0|i|n|d| |t|h|e|w|o|r|d| |s|o|m|e|w|h|e|r|e| @9|║+0#0000001#ffd7ff255|1+0#e000002&|2| +0#0000001&@37| +0#0000000#0000001|║+0#0000001#ffd7ff255
+|n+0#0000000#ffffff0|i|n|e| @27|║+0#0000001#ffd7ff255|1+0#e000002&|3| +0#0000001&@37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|t+0#0000000#ffffff0|h|i|s| |i|s| |a|n|o|t|h|e|r| |w|o|r|d| @11|╚+0#0000001#ffd7ff255|═@40|⇲
+|v+0#0000000#ffffff0|e|r|y| |l|o|n|g| |l|i|n|e| |w|h|e|r|e| |t|h|e| |w|o|r|d| |i|s| |a|l|s|o| >a|n|o|t|h|e|r| @29
+|~+0#4040ff13&| @73
+|~| @73
+|:+0#0000000&| @55|1@1|,|3|9| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_previewpopup_9.dump b/src/testdir/dumps/Test_popupwin_previewpopup_9.dump
new file mode 100644
index 0000000..09f8a45
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_previewpopup_9.dump
@@ -0,0 +1,14 @@
+|o+0&#ffffff0|n|e| @71
+|#|i|n|c|l|u|d|e| |"|X|h|e|a|d|e|r|.|h|"| @54
+|t|h|r|e@1| @69
+|f|o|u|r| @70
+|f|i|v|e| @27|╔+0#0000001#ffd7ff255| |X|h|e|a|d|e|r|.|h| |═@29|X
+|s+0#0000000#ffffff0|i|x| @28|║+0#0000001#ffd7ff255|1+0#e000002&|0| +0#0000001&@37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|s+0#0000000#ffffff0|e|v|e|n| @26|║+0#0000001#ffd7ff255|s|e|a|r|c|h|e|d| |w|o|r|d| |i|s| |h|e|r|e| @18| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|f+0#0000000#ffffff0|i|n|d| |t|h|e|w|o|r|d| |s|o|m|e|w|h|e|r|e| @9|║+0#0000001#ffd7ff255|1+0#e000002&|2| +0#0000001&@37| +0#0000000#0000001|║+0#0000001#ffd7ff255
+|n+0#0000000#ffffff0|i|n|e| @27|║+0#0000001#ffd7ff255|1+0#e000002&|3| +0#0000001&@37| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255
+|t+0#0000000#ffffff0|h|i|s| |i|s| |a|n|o|t|h|e|r| |w|o|r|d| @11|╚+0#0000001#ffd7ff255|═@40|⇲
+|v+0#0000000#ffffff0|e|r|y| |l|o|n|g| |l|i|n|e| |w|h|e|r|e| |t|h|e| |w|o|r|d| |i|s| |a|l|s|o| >a|n|o|t|h|e|r| @29
+|~+0#4040ff13&| @73
+|~| @73
+|E+0#ffffff16#e000002|3|6@1|:| |N|o|t| |a|l@1|o|w|e|d| |t|o| |e|n|t|e|r| |a| |p|o|p|u|p| |w|i|n|d|o|w| +0#0000000#ffffff0@15|1@1|,|3|9| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_1.dump b/src/testdir/dumps/Test_popupwin_scroll_1.dump
new file mode 100644
index 0000000..2f623e7
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_1.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @31|o+0#0000001#ffd7ff255|n|e| @4| +0#0000000#0000001| +0&#ffffff0@32
+|5| @31|t+0#0000001#ffd7ff255|w|o| @4| +0#0000000#0000001| +0&#ffffff0@32
+|6| @31|t+0#0000001#ffd7ff255|h|r|e@1| @2| +0#0000000#a8a8a8255| +0&#ffffff0@32
+|7| @31|f+0#0000001#ffd7ff255|o|u|r| @3| +0#0000000#a8a8a8255| +0&#ffffff0@32
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_10.dump b/src/testdir/dumps/Test_popupwin_scroll_10.dump
new file mode 100644
index 0000000..eec1db6
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_10.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @31|╔+0#0000001#ffd7ff255|═@5|X| +0#0000000#ffffff0@33
+|3| @31|║+0#0000001#ffd7ff255|f|i|v|e| | +0#0000000#ff404010|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@33
+|4| @31|║+0#0000001#ffd7ff255|s|i|x| @1| +0#0000000#ff404010|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@33
+|5| @31|║+0#0000001#ffd7ff255|s|e|v|e|n| +0#0000000#4040ff13|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@33
+|6| @31|║+0#0000001#ffd7ff255|e|i|g|h|t| +0#0000000#4040ff13|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@33
+|7| @31|║+0#0000001#ffd7ff255|n|i|n|e| | +0#0000000#4040ff13|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@33
+|8| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#0000000#ffffff0@33
+|9| @73
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_11.dump b/src/testdir/dumps/Test_popupwin_scroll_11.dump
new file mode 100644
index 0000000..96b3d27
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_11.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @20|1+0#0000001#ffd7ff255| @28| +0#0000000#0000001| +0&#ffffff0@21
+|5| @20|2+0#0000001#ffd7ff255| @28| +0#0000000#0000001| +0&#ffffff0@21
+|6| @20|3+0#0000001#ffd7ff255| @28| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|7| @20|4+0#0000001#ffd7ff255| @28| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|8| @73
+|9| @73
+|:|c|a|l@1| |g|:|P|o|p|u|p|S|c|r|o|l@1|(|)| @35|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_12.dump b/src/testdir/dumps/Test_popupwin_scroll_12.dump
new file mode 100644
index 0000000..e54a187
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_12.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @20|2+0#0000001#ffd7ff255| @28| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|5| @20|3+0#0000001#ffd7ff255| @28| +0#0000000#0000001| +0&#ffffff0@21
+|6| @20|4+0#0000001#ffd7ff255| @28| +0#0000000#0000001| +0&#ffffff0@21
+|7| @20|l+0#0000001#ffd7ff255|o|n|g| |l|i|n|e| |l|o|n|g| |l|i|n|e| |l|o|n|g| |l|i|n|e| | +0#0000000#a8a8a8255| +0&#ffffff0@21
+|8| @73
+|9| @73
+|:|c|a|l@1| |g|:|P|o|p|u|p|S|c|r|o|l@1|(|)| @35|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_13.dump b/src/testdir/dumps/Test_popupwin_scroll_13.dump
new file mode 100644
index 0000000..067f484
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_13.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @20|9+0#0000001#ffd7ff255@1| @27| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|2| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|3| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|4| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|5| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|6| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|7| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|8| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|9| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#0000001| +0&#ffffff0@21
+|:|c|a|l@1| |S|c|r|o|l@1|B|o|t@1|o|m|(|)| @36|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_2.dump b/src/testdir/dumps/Test_popupwin_scroll_2.dump
new file mode 100644
index 0000000..227ba6c
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_2.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @31|t+0#0000001#ffd7ff255|w|o| @4| +0#0000000#a8a8a8255| +0&#ffffff0@32
+|5| @31|t+0#0000001#ffd7ff255|h|r|e@1| @2| +0#0000000#0000001| +0&#ffffff0@32
+|6| @31|f+0#0000001#ffd7ff255|o|u|r| @3| +0#0000000#0000001| +0&#ffffff0@32
+|7| @31|f+0#0000001#ffd7ff255|i|v|e| @3| +0#0000000#a8a8a8255| +0&#ffffff0@32
+|8| @73
+|9| @73
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_3.dump b/src/testdir/dumps/Test_popupwin_scroll_3.dump
new file mode 100644
index 0000000..623d217
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_3.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @31|s+0#0000001#ffd7ff255|i|x| @4| +0#0000000#a8a8a8255| +0&#ffffff0@32
+|5| @31|s+0#0000001#ffd7ff255|e|v|e|n| @2| +0#0000000#a8a8a8255| +0&#ffffff0@32
+|6| @31|e+0#0000001#ffd7ff255|i|g|h|t| @2| +0#0000000#0000001| +0&#ffffff0@32
+|7| @31|n+0#0000001#ffd7ff255|i|n|e| @3| +0#0000000#0000001| +0&#ffffff0@32
+|8| @73
+|9| @73
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_4.dump b/src/testdir/dumps/Test_popupwin_scroll_4.dump
new file mode 100644
index 0000000..3f7f961
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_4.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @73
+|5| @31|n+0#0000001#ffd7ff255|i|n|e| @3| +0#0000000#0000001| +0&#ffffff0@32
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_5.dump b/src/testdir/dumps/Test_popupwin_scroll_5.dump
new file mode 100644
index 0000000..c5cbe80
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_5.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @31|t+0#0000001#ffd7ff255|h|r|e@1| @2| +0#0000000#ff404010| +0&#ffffff0@32
+|5| @31|f+0#0000001#ffd7ff255|o|u|r| @3| +0#0000000#4040ff13| +0&#ffffff0@32
+|6| @31|f+0#0000001#ffd7ff255|i|v|e| @3| +0#0000000#4040ff13| +0&#ffffff0@32
+|7| @31|s+0#0000001#ffd7ff255|i|x| @4| +0#0000000#ff404010| +0&#ffffff0@32
+|8| @73
+|9| @73
+|:|c|a|l@1| |S|c|r|o|l@1|U|p|(|)| @40|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_6.dump b/src/testdir/dumps/Test_popupwin_scroll_6.dump
new file mode 100644
index 0000000..aade9d0
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_6.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @31|f+0#0000001#ffd7ff255|i|v|e| @3| +0#0000000#ff404010| +0&#ffffff0@32
+|5| @31|s+0#0000001#ffd7ff255|i|x| @4| +0#0000000#ff404010| +0&#ffffff0@32
+|6| @31|s+0#0000001#ffd7ff255|e|v|e|n| @2| +0#0000000#4040ff13| +0&#ffffff0@32
+|7| @31|e+0#0000001#ffd7ff255|i|g|h|t| @2| +0#0000000#4040ff13| +0&#ffffff0@32
+|8| @73
+|9| @73
+|:|c|a|l@1| |S|c|r|o|l@1|D|o|w|n|(|)| @38|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_7.dump b/src/testdir/dumps/Test_popupwin_scroll_7.dump
new file mode 100644
index 0000000..1ee91b1
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_7.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @31|s+0#0000001#ffd7ff255|i|x| @4| +0#0000000#ff404010| +0&#ffffff0@32
+|5| @31|s+0#0000001#ffd7ff255|e|v|e|n| @2| +0#0000000#ff404010| +0&#ffffff0@32
+|6| @31|e+0#0000001#ffd7ff255|i|g|h|t| @2| +0#0000000#4040ff13| +0&#ffffff0@32
+|7| @31|n+0#0000001#ffd7ff255|i|n|e| @3| +0#0000000#4040ff13| +0&#ffffff0@32
+|8| @73
+|9| @73
+|:|c|a|l@1| |S|c|r|o|l@1|D|o|w|n|(|)| @38|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_8.dump b/src/testdir/dumps/Test_popupwin_scroll_8.dump
new file mode 100644
index 0000000..34b1638
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_8.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @31|f+0#0000001#ffd7ff255|o|u|r| @3| +0#0000000#ff404010| +0&#ffffff0@32
+|5| @31|f+0#0000001#ffd7ff255|i|v|e| @3| +0#0000000#4040ff13| +0&#ffffff0@32
+|6| @31|s+0#0000001#ffd7ff255|i|x| @4| +0#0000000#4040ff13| +0&#ffffff0@32
+|7| @31|s+0#0000001#ffd7ff255|e|v|e|n| @2| +0#0000000#ff404010| +0&#ffffff0@32
+|8| @73
+|9| @73
+|:|c|a|l@1| |C|l|i|c|k|T|o|p|(|)| @40|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_scroll_9.dump b/src/testdir/dumps/Test_popupwin_scroll_9.dump
new file mode 100644
index 0000000..b471dc1
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_scroll_9.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @30|╔+0#0000001#ffd7ff255|═@8|X| +0#0000000#ffffff0@31
+|4| @30|║+0#0000001#ffd7ff255|f|i|v|e| @3| +0#0000000#ff404010|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@31
+|5| @30|║+0#0000001#ffd7ff255|s|i|x| @4| +0#0000000#ff404010|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@31
+|6| @30|║+0#0000001#ffd7ff255|s|e|v|e|n| @2| +0#0000000#4040ff13|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@31
+|7| @30|║+0#0000001#ffd7ff255|e|i|g|h|t| @2| +0#0000000#4040ff13|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@31
+|8| @30|╚+0#0000001#ffd7ff255|═@8|╝| +0#0000000#ffffff0@31
+|9| @73
+|:|c|a|l@1| |C|l|i|c|k|B|o|t|(|)| @40|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_select_01.dump b/src/testdir/dumps/Test_popupwin_select_01.dump
new file mode 100644
index 0000000..b6cedc5
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_select_01.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @7|╔+0#0000001#ffd7ff255|═@18|╗| +0#0000000#ffffff0@44
+|4| @7|║+0#0000001#ffd7ff255|t|h|e| |w+1#0000000#ffffff0|o|r|d| @9| +0&#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@44
+|5| @7|║+0#0000001#ffd7ff255|s+1#0000000#ffffff0|o|m|e| |m|o|r|e| @8| +0&#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@44
+|6| @7|║+0#0000001#ffd7ff255|s+1#0000000#ffffff0|e|v|e|r|a|l| |w|o|r|d|s| +0#0000001#ffd7ff255|h|e|r|e| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@44
+|7| @7|╚+0#0000001#ffd7ff255|═@18|╝| +0#0000000#ffffff0@44
+|8| @73
+|9| @73
+|:|c|a|l@1| |S|e|l|e|c|t|1|(|)| @41|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_select_02.dump b/src/testdir/dumps/Test_popupwin_select_02.dump
new file mode 100644
index 0000000..550e0db
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_select_02.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0>w|o|r|d| @69
+|s|o|m|e| |m|o|r|e| @65
+|s|e|v|e|r|a|l| |w|o|r|d|s| @61
+|2| @73
+|3| @73
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+@57|1|,|2| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_set_firstline_1.dump b/src/testdir/dumps/Test_popupwin_set_firstline_1.dump
new file mode 100644
index 0000000..7d8c20d
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_set_firstline_1.dump
@@ -0,0 +1,16 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @25|1+0#0000001#e0e0e08|0| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255@1| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|2| @17| +0#0000000#0000001| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|3| @17| +0#0000000#0000001| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|4| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|5| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|6| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|7| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|8| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|9| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|2+0#0000001#ffd7ff255|0| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_set_firstline_2.dump b/src/testdir/dumps/Test_popupwin_set_firstline_2.dump
new file mode 100644
index 0000000..5744eaf
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_set_firstline_2.dump
@@ -0,0 +1,16 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @25|5+0#0000001#ffd7ff255| @18| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|6+0#0000001#ffd7ff255| @18| +0#0000000#0000001| +0#4040ff13#ffffff0@26
+|~| @25|7+0#0000001#ffd7ff255| @18| +0#0000000#0000001| +0#4040ff13#ffffff0@26
+|~| @25|8+0#0000001#ffd7ff255| @18| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|9+0#0000001#ffd7ff255| @18| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#e0e0e08|0| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255@1| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|2| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|3| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|4| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @25|1+0#0000001#ffd7ff255|5| @17| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@26
+|~| @73
+|~| @73
+|:+0#0000000&| @55|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_showbreak.dump b/src/testdir/dumps/Test_popupwin_showbreak.dump
new file mode 100644
index 0000000..8ce0a75
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_showbreak.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @27|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@29
+|4| @27|║+0#0000001#ffd7ff255| |a| |l|o|n|g| |l|i|n|e| @1|║| +0#0000000#ffffff0@29
+|5| @27|║+0#0000001#ffd7ff255| |>+0#4040ff13&@1| |h+0#0000001&|e|r|e| |t|h|a|t| |║| +0#0000000#ffffff0@29
+|6| @27|║+0#0000001#ffd7ff255| |>+0#4040ff13&@1| | +0#0000001&|w|r|a|p|s| @3|║| +0#0000000#ffffff0@29
+|7| @27|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@29
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_sign_1.dump b/src/testdir/dumps/Test_popupwin_sign_1.dump
new file mode 100644
index 0000000..59cc904
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_sign_1.dump
@@ -0,0 +1,10 @@
+|>+0#e000002#ffffff0@1>0+0#ffffff16#ff404010| @71
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|2+0#0000000#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|3+0#0000000#ffffff0| @23|#+0#ffffff16#ff404010|!|h+0#0000001#ffff4012|e|l@1|o| @12| +0#0000000#ffffff0@27
+| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @23| +0#0000e05#a8a8a8255@1|b+0#0000001#ffd7ff255|r|i|g|h|t| @11| +0#0000000#ffffff0@27
+| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @23| +0#0000e05#a8a8a8255@1|w+0#0000001#ffd7ff255|o|r|l|d| @12| +0#0000000#ffffff0@27
+| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|7+0#0000000#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|8+0#0000000#ffffff0| @71
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_sign_2.dump b/src/testdir/dumps/Test_popupwin_sign_2.dump
new file mode 100644
index 0000000..ddccde1
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_sign_2.dump
@@ -0,0 +1,10 @@
+|>+0#e000002#ffffff0@1>0+0#ffffff16#ff404010| @71
+| +0#0000e05#a8a8a8255@1|1+0#0000000#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|2+0#0000000#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|3+0#0000000#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|4+0#0000000#ffffff0| @13| +0#0000e05#a8a8a8255@1|#+0#ffffff16#ff404010|!| +0#af5f00255#ffd7ff255@1|1| |a+0#0000001#ffff4012| |l|o|n|g|e|r| |l|i|n|e| |t|o| |c|h|e|c|k| |t|h|e| |w|i|d|t|h| +0#0000000#ffffff0@17
+| +0#0000e05#a8a8a8255@1|5+0#0000000#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|6+0#0000000#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|7+0#0000000#ffffff0| @71
+| +0#0000e05#a8a8a8255@1|8+0#0000000#ffffff0| @71
+|:|c|a|l@1| |S|e|t|O|p|t|i|o|n|s|(|)| @38|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_term_01.dump b/src/testdir/dumps/Test_popupwin_term_01.dump
new file mode 100644
index 0000000..50818c1
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_term_01.dump
@@ -0,0 +1,16 @@
+|v+0&#ffffff0|i|m|>| @70
+@75
+@34|╔+0#0000001#ffd7ff255|═@3|╗| +0#0000000#ffffff0@34
+@34|║+0#0000001#ffd7ff255|1@3|║| +0#0000000#ffffff0@34
+|!+0#ffffff16#00e0003|/|b|i|n|/|s|h| |[|r|u|n@1|i|n|g|]| @15|║+0#0000001#ffd7ff255|2@3|║| +0#ffffff16#00e0003@34
+>++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@14|╚+0#0000001#ffd7ff255|═@3|⇲|-+0#0000e05#a8a8a8255@34
+|1+0#0000000#ffffff0@1| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|2+0#0000000#ffffff0|3| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|3+0#0000000#ffffff0|5| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|4+0#0000000#ffffff0|7| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|[+3#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @61
+| +0&&@74
diff --git a/src/testdir/dumps/Test_popupwin_term_02.dump b/src/testdir/dumps/Test_popupwin_term_02.dump
new file mode 100644
index 0000000..160834a
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_term_02.dump
@@ -0,0 +1,16 @@
+|v+0&#ffffff0|i|m|>| @70
+@75
+@14|╔+0#0000001#ffd7ff255|═@3|╗| +0#0000000#ffffff0@54
+@14|║+0#0000001#ffd7ff255|1@3|║| +0#0000000#ffffff0@54
+|!+0#ffffff16#00e0003|/|b|i|n|/|s|h| |[|r|u|n@1|║+0#0000001#ffd7ff255|2@3|║| +0#ffffff16#00e0003@54
+>++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |╚+0#0000001#ffd7ff255|═@3|⇲|-+0#0000e05#a8a8a8255@54
+|1+0#0000000#ffffff0@1| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|2+0#0000000#ffffff0|3| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|3+0#0000000#ffffff0|5| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|4+0#0000000#ffffff0|7| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|[+3#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @61
+|:+0&&|c|a|l@1| |D|r|a|g|i|t|L|e|f|t|(|)| @56
diff --git a/src/testdir/dumps/Test_popupwin_term_03.dump b/src/testdir/dumps/Test_popupwin_term_03.dump
new file mode 100644
index 0000000..0632ee8
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_term_03.dump
@@ -0,0 +1,16 @@
+|v+0&#ffffff0|i|m|>| @70
+@75
+@75
+@75
+|!+0#ffffff16#00e0003|/|b|i|n|/|s|h| |[|r|u|n@1|i|n|g|]| @56
+>++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|1+0#0000000#ffffff0@1| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|2+0#0000000#ffffff0|3| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|3+0#0000000#ffffff0|5| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@14|╔+0#0000001#ffd7ff255|═@3|╗|-+0#0000e05#a8a8a8255@34
+|4+0#0000000#ffffff0|7| @31|║+0#0000001#ffd7ff255|1@3|║| +0#0000000#ffffff0@34
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@14|║+0#0000001#ffd7ff255|2@3|║|-+0#0000e05#a8a8a8255@34
+|[+3#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @20|╚+0#0000001#ffd7ff255|═@3|⇲| +3#0000000#ffffff0@34
+|:+0&&|c|a|l@1| |D|r|a|g|i|t|D|o|w|n|(|)| @56
diff --git a/src/testdir/dumps/Test_popupwin_term_04.dump b/src/testdir/dumps/Test_popupwin_term_04.dump
new file mode 100644
index 0000000..1345b75
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_term_04.dump
@@ -0,0 +1,16 @@
+|v+0&#ffffff0|i|m|>| @70
+@75
+@75
+@75
+|!+0#ffffff16#00e0003|/|b|i|n|/|s|h| |[|r|u|n@1|i|n|g|]| @56
+>++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|1+0#0000000#ffffff0@1| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|2+0#0000000#ffffff0|3| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |f|o|l|d| |-@55
+|3+0#0000000#ffffff0|5| @72
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |╔+0#0000001#ffd7ff255|═@3|╗|-+0#0000e05#a8a8a8255@54
+|4+0#0000000#ffffff0|7| @11|║+0#0000001#ffd7ff255|1@3|║| +0#0000000#ffffff0@54
+|++0#0000e05#a8a8a8255|-@1| |1@1| |l|i|n|e|s|:| |║+0#0000001#ffd7ff255|2@3|║|-+0#0000e05#a8a8a8255@54
+|[+3#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| |╚+0#0000001#ffd7ff255|═@3|⇲| +3#0000000#ffffff0@54
+|:+0&&|c|a|l@1| |D|r|a|g|i|t|D|o|w|n|L|e|f|t|(|)| @52
diff --git a/src/testdir/dumps/Test_popupwin_three_errors_1.dump b/src/testdir/dumps/Test_popupwin_three_errors_1.dump
new file mode 100644
index 0000000..64b1a75
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_three_errors_1.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @27|o+0#0000001#ffd7ff255|n|e| |t|w|o| |t|h|r|e@1|.@2| +0#4040ff13#ffffff0@29
+|~| @73
+|~| @73
+|~| @73
+|E+0#ffffff16#e000002|1|2|5|0|:| |A|r|g|u|m|e|n|t| |o|f| |f|i|l|t|e|r|(|)| |m|u|s|t| |b|e| |a| |L|i|s|t|,| |S|t|r|i|n|g|,| |D|i|c|t|i|o|n|a|r|y| |o|r| |B|l|o|b| +0#0000000#ffffff0@4
+@57|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_three_errors_2.dump b/src/testdir/dumps/Test_popupwin_three_errors_2.dump
new file mode 100644
index 0000000..aa90915
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_three_errors_2.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|E+0#ffffff16#e000002|1|2|5|0|:| |A|r|g|u|m|e|n|t| |o|f| |f|i|l|t|e|r|(|)| |m|u|s|t| |b|e| |a| |L|i|s|t|,| |S|t|r|i|n|g|,| |D|i|c|t|i|o|n|a|r|y| |o|r| |B|l|o|b| +0#0000000#ffffff0@4
+@57|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_title.dump b/src/testdir/dumps/Test_popupwin_title.dump
new file mode 100644
index 0000000..ae15279
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_title.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @28| +0#0000001#ffd7ff255|T|i|t|l|e| |S|t|r|i|n|g| | +0#0000000#ffffff0@30
+|5| @28|o+0#0000001#ffd7ff255|n|e| @10| +0#0000000#ffffff0@30
+|6| @28|t+0#0000001#ffd7ff255|w|o| @10| +0#0000000#ffffff0@30
+|7| @28|a+0#0000001#ffd7ff255|n|o|t|h|e|r| @6| +0#0000000#ffffff0@30
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_toohigh_1.dump b/src/testdir/dumps/Test_popupwin_toohigh_1.dump
new file mode 100644
index 0000000..41dbd44
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_toohigh_1.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0@9| @64
+|2@9| @64
+|3@8>3| @64
+|4@8|╔+0#0000001#ffd7ff255|═@8|╗| +0#0000000#ffffff0@54
+|5@8|║+0#0000001#ffd7ff255|o|n|e| @4| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|6@8|║+0#0000001#ffd7ff255|t|w|o| @4| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|7@8|║+0#0000001#ffd7ff255|t|h|r|e@1| @2| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|8@8|║+0#0000001#ffd7ff255|f|o|u|r| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|9@8|║+0#0000001#ffd7ff255|f|i|v|e| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+@9|╚+0#0000001#ffd7ff255|═@8|╝| +0#0000000#ffffff0@36|3|,|1|0| @9|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_toohigh_2.dump b/src/testdir/dumps/Test_popupwin_toohigh_2.dump
new file mode 100644
index 0000000..911cc2f
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_toohigh_2.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0@8|╔+0#0000001#ffd7ff255|═@8|╗| +0#0000000#ffffff0@54
+|2@8|║+0#0000001#ffd7ff255|o|n|e| @4| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|3@8|║+0#0000001#ffd7ff255|t|w|o| @4| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|4@8|║+0#0000001#ffd7ff255|t|h|r|e@1| @2| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|5@8|║+0#0000001#ffd7ff255|f|o|u|r| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|6@8|║+0#0000001#ffd7ff255|f|i|v|e| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|7@8|╚+0#0000001#ffd7ff255|═@8|╝| +0#0000000#ffffff0@54
+|8@8>8| @64
+|9@9| @64
+|:|c|a|l@1| |S|h|o|w|P|o|p|u|p|(|)| @39|8|,|1|0| @9|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_toohigh_3.dump b/src/testdir/dumps/Test_popupwin_toohigh_3.dump
new file mode 100644
index 0000000..8c15a40
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_toohigh_3.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0@8>1| @64
+|2@8|╔+0#0000001#ffd7ff255|═@8|╗| +0#0000000#ffffff0@54
+|3@8|║+0#0000001#ffd7ff255|o|n|e| @4| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|4@8|║+0#0000001#ffd7ff255|t|w|o| @4| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|5@8|║+0#0000001#ffd7ff255|t|h|r|e@1| @2| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|6@8|║+0#0000001#ffd7ff255|f|o|u|r| @3| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|7@8|║+0#0000001#ffd7ff255|f|i|v|e| @3| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|8@8|║+0#0000001#ffd7ff255|s|i|x| @4| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|9@8|║+0#0000001#ffd7ff255|s|e|v|e|n| @2| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@54
+|:|c|a|l@1| |S|h|o|╚+0#0000001#ffd7ff255|═@8|╝| +0#0000000#ffffff0@36|1|,|1|0| @9|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_win_execute.dump b/src/testdir/dumps/Test_popupwin_win_execute.dump
new file mode 100644
index 0000000..b890a28
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_win_execute.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @31|s+0#0000001#ffd7ff255|o|m|e| |t|e|x|t| +0#4040ff13#ffffff0@32
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_win_execute_cursorline.dump b/src/testdir/dumps/Test_popupwin_win_execute_cursorline.dump
new file mode 100644
index 0000000..e29dca9
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_win_execute_cursorline.dump
@@ -0,0 +1,14 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @34|1+0#0000001#ffd7ff255|3| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@35
+|~| @34|1+0#0000001#ffd7ff255|4| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@35
+|~| @34|1+0#0000001#ffd7ff255|5| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@35
+|~| @34|1+0#0000001#ffd7ff255|6| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@35
+|~| @34|1+0#0000001#e0e0e08|7| +0#0000000#0000001| +0#4040ff13#ffffff0@35
+|~| @34|1+0#0000001#ffd7ff255|8| +0#0000000#0000001| +0#4040ff13#ffffff0@35
+|~| @34|1+0#0000001#ffd7ff255|9| +0#0000000#0000001| +0#4040ff13#ffffff0@35
+|~| @34|2+0#0000001#ffd7ff255|0| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@35
+|~| @34|2+0#0000001#ffd7ff255|1| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@35
+|~| @73
+|~| @73
+|:+0#0000000&| @55|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_wrap.dump b/src/testdir/dumps/Test_popupwin_wrap.dump
new file mode 100644
index 0000000..3f7b000
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_wrap.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @17|a+0#0000001#ffd7ff255| |l|o|n|g| |l|i|n| +0#0000000#ffffff0@45
+|4| @17|e+0#0000001#ffd7ff255| |t|h|a|t| |w|o|n| +0#0000000#ffffff0@45
+|5| @17|t+0#0000001#ffd7ff255| |f|i|t| @4| +0#0000000#ffffff0@45
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_wrap_1.dump b/src/testdir/dumps/Test_popupwin_wrap_1.dump
new file mode 100644
index 0000000..5643dc7
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_wrap_1.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|╔+0#0000001#ffd7ff255|═@73
+|║| |o+0&#e0e0e08|n|e| @67| +0&#ffd7ff255| +0#0000000#0000001
+|║+0#0000001#ffd7ff255| |a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d| | +0#0000000#0000001
+|║+0#0000001#ffd7ff255| |f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s| @52| +0#0000000#a8a8a8255
+|╚+0#0000001#ffd7ff255|═@73
+|8+0#0000000#ffffff0| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_wrap_2.dump b/src/testdir/dumps/Test_popupwin_wrap_2.dump
new file mode 100644
index 0000000..3a02fc5
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_wrap_2.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|╔+0#0000001#ffd7ff255|═@73
+|║| |a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d| | +0#0000000#a8a8a8255
+|║+0#0000001#ffd7ff255| |f|a|s|d|f|a|s|d|f|a|s|d|f|a|s|d|f|a|s| @52| +0#0000000#0000001
+|║+0#0000001#ffd7ff255| |t+0&#e0e0e08|h|r|e@1| @65| +0&#ffd7ff255| +0#0000000#0000001
+|╚+0#0000001#ffd7ff255|═@73
+|8+0#0000000#ffffff0| @73
+|9| @73
+@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_popupwin_wrong_name.dump b/src/testdir/dumps/Test_popupwin_wrong_name.dump
new file mode 100644
index 0000000..e63ced5
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_wrong_name.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|E+0#ffffff16#e000002|1@1|7|:| |U|n|k|n|o|w|n| |f|u|n|c|t|i|o|n|:| |N|o|S|u|c|h|F|u|n|c| +0#0000000#ffffff0@22|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_above_below_empty_1.dump b/src/testdir/dumps/Test_prop_above_below_empty_1.dump
new file mode 100644
index 0000000..f470016
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_empty_1.dump
@@ -0,0 +1,16 @@
+| +0#af5f00255#ffffff0@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|1| |1+0#0000000&@7| @47
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|2| | +0#0000000&@55
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|3| |3+0#0000000&@8| @46
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|4| | +0#0000000&@55
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|5| >5+0#0000000&@10| @44
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+@42|5|,|1|-|5|7| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_above_below_empty_2.dump b/src/testdir/dumps/Test_prop_above_below_empty_2.dump
new file mode 100644
index 0000000..3954a4b
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_empty_2.dump
@@ -0,0 +1,16 @@
+| +0#af5f00255#ffffff0@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|1| |1+0#0000000&@7|$+0#4040ff13&| +0#0000000&@46
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|2| |$+0#4040ff13&| +0#0000000&@54
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|3| |3+0#0000000&@8|$+0#4040ff13&| +0#0000000&@45
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|4| |$+0#4040ff13&| +0#0000000&@54
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|5| >5+0#0000000&@10|$+0#4040ff13&| +0#0000000&@43
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+|:|s|e|t| |l|i|s|t| @32|5|,|1|-|5|7| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_above_below_empty_3.dump b/src/testdir/dumps/Test_prop_above_below_empty_3.dump
new file mode 100644
index 0000000..27f9eec
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_empty_3.dump
@@ -0,0 +1,16 @@
+| +0#af5f00255#ffffff0@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|1| |1+0#0000000&@7| | +0&#ffd7d7255| +0&#ffffff0@45
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|2| | +0#0000000&@8| +0&#ffd7d7255| +0&#ffffff0@45
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|3| |3+0#0000000&@8| +0&#ffd7d7255| +0&#ffffff0@45
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|4| | +0#0000000&@8| +0&#ffd7d7255| +0&#ffffff0@45
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|5| >5+0#0000000&@8|5+0&#ffd7d7255|5+0&#ffffff0| @44
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+|:| @40|5|,|1|-|5|7| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_above_below_empty_4.dump b/src/testdir/dumps/Test_prop_above_below_empty_4.dump
new file mode 100644
index 0000000..cc3c27d
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_empty_4.dump
@@ -0,0 +1,16 @@
+| +0#af5f00255#ffffff0@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|4| |1+0#0000000&@7| @47
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|3| | +0#0000000&@55
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|2| |3+0#0000000&@8| @46
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|1| | +0#0000000&@55
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+|5+0#af5f00255&| @2>5+0#0000000&@10| @44
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+|:| @40|5|,|1|-|5|7| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_above_below_empty_5.dump b/src/testdir/dumps/Test_prop_above_below_empty_5.dump
new file mode 100644
index 0000000..5ee4d80
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_empty_5.dump
@@ -0,0 +1,16 @@
+| +0#af5f00255#ffffff0@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|2| |1+0#0000000&@7| @47
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|1| | +0#0000000&@55
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+|3+0#af5f00255&| @2>3+0#0000000&@8| @46
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|1| | +0#0000000&@55
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|2| |5+0#0000000&@10| @44
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+|:| @40|3|,|1|-|5|7| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_1.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_1.dump
new file mode 100644
index 0000000..d6ac04e
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_1.dump
@@ -0,0 +1,8 @@
+>"+0&#ffffff0| |l|i|n|e| |1| @51
+|"| |l|i|n|e| |2| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| +0&#ffffff0@47
+|"| |l|i|n|e| |3| @51
+|"| |l|i|n|e| |4| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| |1| +0&#ffffff0@45
+|@+0#4040ff13&@2| @56
+| +0#0000000&@41|1|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_10.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_10.dump
new file mode 100644
index 0000000..de1ee5c
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_10.dump
@@ -0,0 +1,8 @@
+|"+0&#ffffff0| |l|i|n|e| |7| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| +0&#ffffff0@47
+|"| |l|i|n|e| |8| @51
+>"| |l|i|n|e| |9| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |1| +0&#ffffff0@45
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |2| +0&#ffffff0@45
+|"| |l|i|n|e| |1|0| @50
+@42|9|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_11.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_11.dump
new file mode 100644
index 0000000..2368ecf
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_11.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2|e+0#0000000#ffd7ff255|r|t| |b|e|l|o|w| +0&#ffffff0@47
+|"| |l|i|n|e| |8| @51
+>"| |l|i|n|e| |9| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |1| +0&#ffffff0@45
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |2| +0&#ffffff0@45
+|"| |l|i|n|e| |1|0| @50
+|~+0#4040ff13&| @58
+| +0#0000000&@41|9|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_12.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_12.dump
new file mode 100644
index 0000000..de22216
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_12.dump
@@ -0,0 +1,8 @@
+|"+0&#ffffff0| |l|i|n|e| |8| @51
+|"| |l|i|n|e| |9| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |1| +0&#ffffff0@45
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |2| +0&#ffffff0@45
+>"| |l|i|n|e| |1|0| @50
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|1|0|,|1| @9|B|o|t|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_13.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_13.dump
new file mode 100644
index 0000000..6c9db8b
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_13.dump
@@ -0,0 +1,8 @@
+|"+0&#ffffff0| |l|i|n|e| |9| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |1| +0&#ffffff0@45
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |2| +0&#ffffff0@45
+>"| |l|i|n|e| |1|0| @50
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|0|,|1| @9|B|o|t|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_14.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_14.dump
new file mode 100644
index 0000000..341707e
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_14.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2|e+0#0000000#ffd7ff255|r|t| |b|e|l|o|w| |1| +0&#ffffff0@45
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |2| +0&#ffffff0@45
+>"| |l|i|n|e| |1|0| @50
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|0|,|1| @9|B|o|t|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_15.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_15.dump
new file mode 100644
index 0000000..4110a19
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_15.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2| +0#0000000&@2|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |2| +0&#ffffff0@39
+>"| |l|i|n|e| |1|0| @50
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|0|,|1| @9|B|o|t|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_16.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_16.dump
new file mode 100644
index 0000000..d58f2d0
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_16.dump
@@ -0,0 +1,8 @@
+>"+0&#ffffff0| |l|i|n|e| |1|0| @50
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|0|,|1| @9|B|o|t|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_2.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_2.dump
new file mode 100644
index 0000000..8e8569b
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_2.dump
@@ -0,0 +1,8 @@
+|"+0&#ffffff0| |l|i|n|e| |2| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| +0&#ffffff0@47
+|"| |l|i|n|e| |3| @51
+>"| |l|i|n|e| |4| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| |1| +0&#ffffff0@45
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| |2| +0&#ffffff0@45
+|"| |l|i|n|e| |5| @51
+@42|4|,|1| @10|1|6|%|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_3.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_3.dump
new file mode 100644
index 0000000..f4e9d92
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_3.dump
@@ -0,0 +1,8 @@
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| +0&#ffffff0@47
+|"| |l|i|n|e| |3| @51
+>"| |l|i|n|e| |4| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| |1| +0&#ffffff0@45
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| |2| +0&#ffffff0@45
+|"| |l|i|n|e| |5| @51
+|"| |l|i|n|e| |6| @51
+@42|4|,|1| @10|3@1|%|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_4.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_4.dump
new file mode 100644
index 0000000..3ca1c6e
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_4.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2|i+0#0000000&|n|e| |3| @51
+>"| |l|i|n|e| |4| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| |1| +0&#ffffff0@45
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| |2| +0&#ffffff0@45
+|"| |l|i|n|e| |5| @51
+|"| |l|i|n|e| |6| @51
+|@+0#4040ff13&@2| @56
+| +0#0000000&@41|4|,|1| @10|3@1|%|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_5.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_5.dump
new file mode 100644
index 0000000..3b28dbb
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_5.dump
@@ -0,0 +1,8 @@
+|"+0&#ffffff0| |l|i|n|e| |4| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| |1| +0&#ffffff0@45
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| |2| +0&#ffffff0@45
+|"| |l|i|n|e| |5| @51
+>"| |l|i|n|e| |6| @51
+|"| |l|i|n|e| |7| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| +0&#ffffff0@47
+@42|6|,|1| @10|5|0|%|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_6.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_6.dump
new file mode 100644
index 0000000..7681090
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_6.dump
@@ -0,0 +1,8 @@
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| |1| +0&#ffffff0@45
+|i+0&#ffd7ff255|n|s|e|r|t| |a|b|o|v|e| |2| +0&#ffffff0@45
+|"| |l|i|n|e| |5| @51
+>"| |l|i|n|e| |6| @51
+|"| |l|i|n|e| |7| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| +0&#ffffff0@47
+|"| |l|i|n|e| |8| @51
+@42|6|,|1| @10|6@1|%|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_7.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_7.dump
new file mode 100644
index 0000000..bf9c0f9
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_7.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2|e+0#0000000#ffd7ff255|r|t| |a|b|o|v|e| |2| +0&#ffffff0@45
+|"| |l|i|n|e| |5| @51
+>"| |l|i|n|e| |6| @51
+|"| |l|i|n|e| |7| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| +0&#ffffff0@47
+|"| |l|i|n|e| |8| @51
+|@+0#4040ff13&@2| @56
+| +0#0000000&@41|6|,|1| @10|6@1|%|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_8.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_8.dump
new file mode 100644
index 0000000..06d9e09
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_8.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2|i+0#0000000&|n|e| |5| @51
+>"| |l|i|n|e| |6| @51
+|"| |l|i|n|e| |7| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| +0&#ffffff0@47
+|"| |l|i|n|e| |8| @51
+|"| |l|i|n|e| |9| @51
+|@+0#4040ff13&@2| @56
+| +0#0000000&@41|6|,|1| @10|6@1|%|
diff --git a/src/testdir/dumps/Test_prop_above_below_smoothscroll_9.dump b/src/testdir/dumps/Test_prop_above_below_smoothscroll_9.dump
new file mode 100644
index 0000000..cac3b28
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_below_smoothscroll_9.dump
@@ -0,0 +1,8 @@
+|"+0&#ffffff0| |l|i|n|e| |6| @51
+|"| |l|i|n|e| |7| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| +0&#ffffff0@47
+>"| |l|i|n|e| |8| @51
+|"| |l|i|n|e| |9| @51
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |1| +0&#ffffff0@45
+|i+0&#ffd7ff255|n|s|e|r|t| |b|e|l|o|w| |2| +0&#ffffff0@45
+@42|8|,|1| @10|8|3|%|
diff --git a/src/testdir/dumps/Test_prop_above_empty_1.dump b/src/testdir/dumps/Test_prop_above_empty_1.dump
new file mode 100644
index 0000000..721d0c3
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_empty_1.dump
@@ -0,0 +1,16 @@
+| +0#af5f00255#ffffff0@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|1| |1+0#0000000&@7| @47
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|2| | +0#0000000&@55
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|3| |3+0#0000000&@8| @46
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|4| | +0#0000000&@55
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|5| >5+0#0000000&@10| @44
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|5|,|1|-|5|7| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_above_empty_2.dump b/src/testdir/dumps/Test_prop_above_empty_2.dump
new file mode 100644
index 0000000..c8c99e4
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_empty_2.dump
@@ -0,0 +1,16 @@
+| +0#af5f00255#ffffff0@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|1| |1+0#0000000&@7|$+0#4040ff13&| +0#0000000&@46
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|2| |$+0#4040ff13&| +0#0000000&@54
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|3| |3+0#0000000&@8|$+0#4040ff13&| +0#0000000&@45
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|4| |$+0#4040ff13&| +0#0000000&@54
+| +0#af5f00255&@3|-+0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|5| >5+0#0000000&@10|$+0#4040ff13&| +0#0000000&@43
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+|:+0#0000000&|s|e|t| |l|i|s|t| @32|5|,|1|-|5|7| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_above_number_1.dump b/src/testdir/dumps/Test_prop_above_number_1.dump
new file mode 100644
index 0000000..d986a46
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_number_1.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| >o+0#0000000&|n|e| |o|n|e| |o|n|e| @59
+| +0#af5f00255&@3|a+0#0000000#ffd7ff255|b|o|v|e| |t|h|e| |t|e|x|t| +0&#ffffff0@56
+| +0#af5f00255&@1|2| |t+0#0000000&|w|o| |t|w|o| |t|w|o| @59
+| +0#af5f00255&@1|3| |t+0#0000000&|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| @53
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_above_number_2.dump b/src/testdir/dumps/Test_prop_above_number_2.dump
new file mode 100644
index 0000000..e1e5ba5
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_above_number_2.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| >o+0#0000000&|n|e| |o|n|e| |o|n|e| @59
+| +0#af5f00255&@3|a+0#0000000#ffd7ff255|b|o|v|e| |t|h|e| |t|e|x|t| +0&#ffffff0@56
+| +0#af5f00255&@3|a+0#0000000#ffd7ff255|l|s|o| |a|b|o|v|e| |t|h|e| |t|e|x|t| +0&#ffffff0@51
+| +0#af5f00255&@1|2| |t+0#0000000&|w|o| |t|w|o| |t|w|o| @59
+| +0#af5f00255&@1|3| |t+0#0000000&|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| @53
+|~+0#4040ff13&| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_after_linebreak.dump b/src/testdir/dumps/Test_prop_after_linebreak.dump
new file mode 100644
index 0000000..7387c83
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_after_linebreak.dump
@@ -0,0 +1,10 @@
+>x+0&#ffffff0@36|+| @36
+|(+0#ffffff16#e000002|x+0#0000000#ffffff0@36|)| @35
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_after_tab.dump b/src/testdir/dumps/Test_prop_after_tab.dump
new file mode 100644
index 0000000..fd63d5e
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_after_tab.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@6> |[+0#ffffff16#e000002|x+0#0000000#ffffff0@2|]| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1|-|8| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_at_same_pos.dump b/src/testdir/dumps/Test_prop_at_same_pos.dump
new file mode 100644
index 0000000..95f01fa
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_at_same_pos.dump
@@ -0,0 +1,5 @@
+>f+0&#ffffff0|u|n|c|t|i|o|n|(| |o+0#ffffff16#ff404010|n|e|:| |c+0#0000000#ffff4012|a|l@1|,+0&#ffffff0| |t+0#00e0e07&|w|o|:| |a+0#0000000#ffff4012|r|g|u|m|e|n|t|,+0&#ffffff0| |t+0&#ffd7ff255|h|r|e@1|:| |h+0&#ffff4012|e|r|e| +0&#ffffff0|)| @25
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_before_tab_01.dump b/src/testdir/dumps/Test_prop_before_tab_01.dump
new file mode 100644
index 0000000..a0c264e
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_before_tab_01.dump
@@ -0,0 +1,8 @@
+|1+0&#ffff4012|2|3| +0&#ffffff0@3> |x| @65
+|1+0&#ffff4012|2|3|4|5|6|7| +0&#ffffff0|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7|8| +0&#ffffff0@7|x| @57
+|1+0&#ffff4012|2|3|4|5|6|7|8|9| +0&#ffffff0@6|x| @57
+@8|A+0&#ffff4012|B|C|x+0&#ffffff0| @62
+@8|x|A+0&#ffff4012|B|C| +0&#ffffff0@62
+|~+0#4040ff13&| @73
+| +0#0000000&@56|1|,|1|-|8| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_before_tab_02.dump b/src/testdir/dumps/Test_prop_before_tab_02.dump
new file mode 100644
index 0000000..4aab872
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_before_tab_02.dump
@@ -0,0 +1,8 @@
+|1+0&#ffff4012|2|3| +0&#ffffff0@4>x| @65
+|1+0&#ffff4012|2|3|4|5|6|7| +0&#ffffff0|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7|8| +0&#ffffff0@7|x| @57
+|1+0&#ffff4012|2|3|4|5|6|7|8|9| +0&#ffffff0@6|x| @57
+@8|A+0&#ffff4012|B|C|x+0&#ffffff0| @62
+@8|x|A+0&#ffff4012|B|C| +0&#ffffff0@62
+|~+0#4040ff13&| @73
+| +0#0000000&@56|1|,|2|-|9| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_before_tab_03.dump b/src/testdir/dumps/Test_prop_before_tab_03.dump
new file mode 100644
index 0000000..f89f0b9
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_before_tab_03.dump
@@ -0,0 +1,8 @@
+|1+0&#ffff4012|2|3| +0&#ffffff0@4|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7> +0&#ffffff0|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7|8| +0&#ffffff0@7|x| @57
+|1+0&#ffff4012|2|3|4|5|6|7|8|9| +0&#ffffff0@6|x| @57
+@8|A+0&#ffff4012|B|C|x+0&#ffffff0| @62
+@8|x|A+0&#ffff4012|B|C| +0&#ffffff0@62
+|~+0#4040ff13&| @73
+| +0#0000000&@56|2|,|1|-|8| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_before_tab_04.dump b/src/testdir/dumps/Test_prop_before_tab_04.dump
new file mode 100644
index 0000000..a820a41
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_before_tab_04.dump
@@ -0,0 +1,8 @@
+|1+0&#ffff4012|2|3| +0&#ffffff0@4|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7| +0&#ffffff0>x| @65
+|1+0&#ffff4012|2|3|4|5|6|7|8| +0&#ffffff0@7|x| @57
+|1+0&#ffff4012|2|3|4|5|6|7|8|9| +0&#ffffff0@6|x| @57
+@8|A+0&#ffff4012|B|C|x+0&#ffffff0| @62
+@8|x|A+0&#ffff4012|B|C| +0&#ffffff0@62
+|~+0#4040ff13&| @73
+| +0#0000000&@56|2|,|2|-|9| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_before_tab_05.dump b/src/testdir/dumps/Test_prop_before_tab_05.dump
new file mode 100644
index 0000000..1524851
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_before_tab_05.dump
@@ -0,0 +1,8 @@
+|1+0&#ffff4012|2|3| +0&#ffffff0@4|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7| +0&#ffffff0|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7|8| +0&#ffffff0@6> |x| @57
+|1+0&#ffff4012|2|3|4|5|6|7|8|9| +0&#ffffff0@6|x| @57
+@8|A+0&#ffff4012|B|C|x+0&#ffffff0| @62
+@8|x|A+0&#ffff4012|B|C| +0&#ffffff0@62
+|~+0#4040ff13&| @73
+| +0#0000000&@56|3|,|1|-|1|6| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_before_tab_06.dump b/src/testdir/dumps/Test_prop_before_tab_06.dump
new file mode 100644
index 0000000..54a06cd
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_before_tab_06.dump
@@ -0,0 +1,8 @@
+|1+0&#ffff4012|2|3| +0&#ffffff0@4|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7| +0&#ffffff0|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7|8| +0&#ffffff0@7>x| @57
+|1+0&#ffff4012|2|3|4|5|6|7|8|9| +0&#ffffff0@6|x| @57
+@8|A+0&#ffff4012|B|C|x+0&#ffffff0| @62
+@8|x|A+0&#ffff4012|B|C| +0&#ffffff0@62
+|~+0#4040ff13&| @73
+| +0#0000000&@56|3|,|2|-|1|7| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_before_tab_07.dump b/src/testdir/dumps/Test_prop_before_tab_07.dump
new file mode 100644
index 0000000..3b07ac6
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_before_tab_07.dump
@@ -0,0 +1,8 @@
+|1+0&#ffff4012|2|3| +0&#ffffff0@4|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7| +0&#ffffff0|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7|8| +0&#ffffff0@7|x| @57
+|1+0&#ffff4012|2|3|4|5|6|7|8|9| +0&#ffffff0@5> |x| @57
+@8|A+0&#ffff4012|B|C|x+0&#ffffff0| @62
+@8|x|A+0&#ffff4012|B|C| +0&#ffffff0@62
+|~+0#4040ff13&| @73
+| +0#0000000&@56|4|,|1|-|1|6| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_before_tab_08.dump b/src/testdir/dumps/Test_prop_before_tab_08.dump
new file mode 100644
index 0000000..07eb40b
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_before_tab_08.dump
@@ -0,0 +1,8 @@
+|1+0&#ffff4012|2|3| +0&#ffffff0@4|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7| +0&#ffffff0|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7|8| +0&#ffffff0@7|x| @57
+|1+0&#ffff4012|2|3|4|5|6|7|8|9| +0&#ffffff0@6>x| @57
+@8|A+0&#ffff4012|B|C|x+0&#ffffff0| @62
+@8|x|A+0&#ffff4012|B|C| +0&#ffffff0@62
+|~+0#4040ff13&| @73
+| +0#0000000&@56|4|,|2|-|1|7| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_before_tab_09.dump b/src/testdir/dumps/Test_prop_before_tab_09.dump
new file mode 100644
index 0000000..ed30b9e
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_before_tab_09.dump
@@ -0,0 +1,8 @@
+|1+0&#ffff4012|2|3| +0&#ffffff0@4|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7| +0&#ffffff0|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7|8| +0&#ffffff0@7|x| @57
+|1+0&#ffff4012|2|3|4|5|6|7|8|9| +0&#ffffff0@6|x| @57
+@8|A+0&#ffff4012|B|C>x+0&#ffffff0| @62
+@8|x|A+0&#ffff4012|B|C| +0&#ffffff0@62
+|~+0#4040ff13&| @73
+| +0#0000000&@56|5|,|2|-|1|2| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_before_tab_10.dump b/src/testdir/dumps/Test_prop_before_tab_10.dump
new file mode 100644
index 0000000..9957336
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_before_tab_10.dump
@@ -0,0 +1,8 @@
+|1+0&#ffff4012|2|3| +0&#ffffff0@4|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7| +0&#ffffff0|x| @65
+|1+0&#ffff4012|2|3|4|5|6|7|8| +0&#ffffff0@7|x| @57
+|1+0&#ffff4012|2|3|4|5|6|7|8|9| +0&#ffffff0@6|x| @57
+@8|A+0&#ffff4012|B|C|x+0&#ffffff0| @62
+@8>x|A+0&#ffff4012|B|C| +0&#ffffff0@62
+|~+0#4040ff13&| @73
+| +0#0000000&@56|6|,|2|-|9| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_below_after_empty_1.dump b/src/testdir/dumps/Test_prop_below_after_empty_1.dump
new file mode 100644
index 0000000..b6773df
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_below_after_empty_1.dump
@@ -0,0 +1,8 @@
+>v+0&#ffffff0|i|m|9|s|c|r|i|p|t| @49
+@60
+@1|T+0#ffffff16#e000002|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g| +0#0000000#ffffff0@15
+|t|h|r|e@1| @54
+@60
+|T+0&#ffd7ff255|h|e| |s|l|o|w| |f|o|x| |b|u|m|p|s| |i|n|t|o| |t|h|e| |l|a|z|y| |d|o|g| +0&#ffffff0@23
+|~+0#4040ff13&| @58
+| +0#0000000&@41|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_below_after_empty_2.dump b/src/testdir/dumps/Test_prop_below_after_empty_2.dump
new file mode 100644
index 0000000..e4c9ad2
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_below_after_empty_2.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| >v+0#0000000&|i|m|9|s|c|r|i|p|t| @45
+| +0#af5f00255&@1|2| | +0#0000000&@55
+| +0#af5f00255&@3| +0#0000000&|T+0#ffffff16#e000002|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g| +0#0000000#ffffff0@11
+| +0#af5f00255&@1|3| |t+0#0000000&|h|r|e@1| @50
+| +0#af5f00255&@1|4| | +0#0000000&@55
+| +0#af5f00255&@3|T+0#0000000#ffd7ff255|h|e| |s|l|o|w| |f|o|x| |b|u|m|p|s| |i|n|t|o| |t|h|e| |l|a|z|y| |d|o|g| +0&#ffffff0@19
+|~+0#4040ff13&| @58
+|:+0#0000000&|s|e|t| |n|u|m|b|e|r| @30|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_below_after_empty_3.dump b/src/testdir/dumps/Test_prop_below_after_empty_3.dump
new file mode 100644
index 0000000..8658af0
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_below_after_empty_3.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| >v+0#0000000&|i|m|9|s|c|r|i|p|t| @45
+| +0#af5f00255&@1|2| | +0#0000000&@55
+| +0#af5f00255&@3| +0#0000000&|T+0#ffffff16#e000002|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g| +0#0000000#ffffff0@11
+| +0#af5f00255&@1|3| |t+0#0000000&|h|r|e@1| @50
+| +0#af5f00255&@1|4| | +0#0000000&@55
+| +0#af5f00255&@3|T+0#0000000#ffd7ff255|h|e| |s|l|o|w| |f|o|x| |b|u|m|p|s| |i|n|t|o| |t|h|e| |l|a|z|y| |d|o|g| +0&#ffffff0@19
+|~+0#4040ff13&| @58
+|:+0#0000000&|s|e|t| |n|o|w|r|a|p| @30|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_below_split_line_1.dump b/src/testdir/dumps/Test_prop_below_split_line_1.dump
new file mode 100644
index 0000000..c1dba26
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_below_split_line_1.dump
@@ -0,0 +1,8 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| @63
+|t|w|o| |t|w|o| |t|w|o| @63
+@3|└+0&#ffff4012|─| |V|i|r|t|u|a|l| |t|e|x|t| |b|e|l|o|w| |t|h|e| |2|n|d| |l|i|n|e| +0&#ffffff0@37
+|x@1> @72
+|t|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| @57
+|~+0#4040ff13&| @73
+|~| @73
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@44|3|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_below_split_line_2.dump b/src/testdir/dumps/Test_prop_below_split_line_2.dump
new file mode 100644
index 0000000..e0fc050
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_below_split_line_2.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| |o+0#0000000&|n|e| |o|n|e| |o|n|e| @59
+| +0#af5f00255&@1|2| |t+0#0000000&|w|o| |t|w|o| |t|w|o| @59
+| +0#af5f00255&@3| +0#0000000&@2|└+0&#ffff4012|─| |V|i|r|t|u|a|l| |t|e|x|t| |b|e|l|o|w| |t|h|e| |2|n|d| |l|i|n|e| +0&#ffffff0@33
+| +0#af5f00255&@1|3| |x+0#0000000&>x| @68
+| +0#af5f00255&@1|4| |t+0#0000000&|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| @53
+|~+0#4040ff13&| @73
+|~| @73
+|:+0#0000000&|s|e|t| |n|u|m|b|e|r| @45|3|,|2| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_below_split_line_3.dump b/src/testdir/dumps/Test_prop_below_split_line_3.dump
new file mode 100644
index 0000000..df881af
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_below_split_line_3.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| |o+0#0000000&|n|e| |o|n|e| |o|n|e| @59
+| +0#af5f00255&@1|2| |t+0#0000000&|w|o| |t|w|o| |t|w|o| @59
+| +0#af5f00255&@3| +0#0000000&@2|└+0&#ffff4012|─| |V|i|r|t|u|a|l| |t|e|x|t| |b|e|l|o|w| |t|h|e| |2|n|d| |l|i|n|e| +0&#ffffff0@33
+| +0#af5f00255&@1|3| |x+0#0000000&>x| @68
+| +0#af5f00255&@1|4| |t+0#0000000&|h|r|e@1| |t|h|r|e@1| |t|h|r|e@1| @53
+|~+0#4040ff13&| @73
+|~| @73
+|:+0#0000000&|s|e|t| |n|o|w|r|a|p| @45|3|,|2| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_delete_updates_1.dump b/src/testdir/dumps/Test_prop_delete_updates_1.dump
new file mode 100644
index 0000000..400824f
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_delete_updates_1.dump
@@ -0,0 +1,10 @@
+|s+0&#ffffff0|o|m|e| |t|e|x|t| @50
+@3|T+0&#ffd7ff255|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g| +0&#ffffff0@13
+@5|T+0&#ffd7ff255|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g| +0&#ffffff0@11
+|m|o|r|e| |t|e|x|t| @50
+>t|h|e| |e|n|d| @52
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_delete_updates_2.dump b/src/testdir/dumps/Test_prop_delete_updates_2.dump
new file mode 100644
index 0000000..e7074f5
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_delete_updates_2.dump
@@ -0,0 +1,10 @@
+|s+0&#ffffff0|o|m|e| |t|e|x|t| @50
+|m|o|r|e| |t|e|x|t| @50
+>t|h|e| |e|n|d| @52
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_delete_updates_3.dump b/src/testdir/dumps/Test_prop_delete_updates_3.dump
new file mode 100644
index 0000000..651ed4b
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_delete_updates_3.dump
@@ -0,0 +1,10 @@
+|s+0&#ffffff0|o|m|e| |t|e|x|t| @50
+>m|o|r|e| |t|e|x|t| @50
+|t|h|e| |e|n|d| @52
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_diff_mode_1.dump b/src/testdir/dumps/Test_prop_diff_mode_1.dump
new file mode 100644
index 0000000..069c08d
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_diff_mode_1.dump
@@ -0,0 +1,10 @@
+>0+0&#ffd7ff255@2| @26||+1&#ffffff0|<+0&#ffd7ff255|t|e|x|t|>|9+2&#ff404010|0+0&#ffd7ff255@2| @18
+|0@2| @26||+1&#ffffff0|0+0&#ffd7ff255@2|9+2&#ff404010|<+0&#ffd7ff255|t|e|x|t|>| @18
+|0@2| @26||+1&#ffffff0|0+0&#ffd7ff255@2|9+2&#ff404010| +0&#ffd7ff255@18|<|t|e|x|t|>
+|0@2| @26||+1&#ffffff0|<+0&#ffd7ff255|t|e|x|t|>| @22
+|0@2| @26||+1&#ffffff0|9+2&#ff404010|0+0&#ffd7ff255@2| @24
+|~+0#4040ff13#ffffff0| @28||+1#0000000&|0+0&#ffd7ff255@2|9+2&#ff404010| +0&#ffd7ff255@24
+|~+0#4040ff13#ffffff0| @28||+1#0000000&|<+0&#ffd7ff255|t|e|x|t|>| @22
+|~+0#4040ff13#ffffff0| @28||+1#0000000&|~+0#4040ff13&| @27
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @1|1|,|1| @8|A|l@1| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @1|1|,|1|-|7| @5|A|l@1
+| +0&&@59
diff --git a/src/testdir/dumps/Test_prop_diff_mode_2.dump b/src/testdir/dumps/Test_prop_diff_mode_2.dump
new file mode 100644
index 0000000..243ec0d
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_diff_mode_2.dump
@@ -0,0 +1,10 @@
+| +0#af5f00255#ffffff0@1|1| |0+0#0000000#ffd7ff255@2| @22||+1&#ffffff0| +0#af5f00255&@1|1| |<+0#0000000#ffd7ff255|t|e|x|t|>>9+2&#ff404010|0+0&#ffd7ff255@2| @14
+| +0#af5f00255#ffffff0@1|2| |0+0#0000000#ffd7ff255@2| @22||+1&#ffffff0| +0#af5f00255&@1|2| |0+0#0000000#ffd7ff255@2|9+2&#ff404010|<+0&#ffd7ff255|t|e|x|t|>| @14
+| +0#af5f00255#ffffff0@1|3| |0+0#0000000#ffd7ff255@2| @22||+1&#ffffff0| +0#af5f00255&@1|3| |0+0#0000000#ffd7ff255@2|9+2&#ff404010| +0&#ffd7ff255@14|<|t|e|x|t|>
+| +0#af5f00255#ffffff0@1|4| |0+0#0000000#ffd7ff255@2| @22||+1&#ffffff0| +0#af5f00255&@3|<+0#0000000#ffd7ff255|t|e|x|t|>| @18
+| +0#af5f00255#ffffff0@1|5| |0+0#0000000#ffd7ff255@2| @22||+1&#ffffff0| +0#af5f00255&@1|4| |9+2#0000000#ff404010|0+0&#ffd7ff255@2| @20
+|~+0#4040ff13#ffffff0| @28||+1#0000000&| +0#af5f00255&@1|5| |0+0#0000000#ffd7ff255@2|9+2&#ff404010| +0&#ffd7ff255@20
+|~+0#4040ff13#ffffff0| @28||+1#0000000&| +0#af5f00255&@3|<+0#0000000#ffd7ff255|t|e|x|t|>| @18
+|~+0#4040ff13#ffffff0| @28||+1#0000000&|~+0#4040ff13&| @27
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @1|1|,|1| @8|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @1|1|,|1|-|7| @5|A|l@1
+|:+0&&|w|i|n|d|o| |s|e|t| |n|u|m|b|e|r| @42
diff --git a/src/testdir/dumps/Test_prop_insert_list_mode_1.dump b/src/testdir/dumps/Test_prop_insert_list_mode_1.dump
new file mode 100644
index 0000000..3f481d5
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_insert_list_mode_1.dump
@@ -0,0 +1,8 @@
+|T+0&#ffffff0|h|i|s| |i|s| |a| |l|i|n|e| |w|i|t|h| |q|u|i|t|e| |a| |b|i|t| |o|f| |t|e|x|t| |h|e|r|e|.|$+0#4040ff13&|T+0#ffffff16#ff404010|h|e| |q|u|i|c|k| |b|r|o|…
+>s+0#0000000#ffffff0|e|c|o|n|d| |l|i|n|e|$+0#4040ff13&| +0#0000000&@47
+|t|h|i|r|d| |l|i|n|e|$+0#4040ff13&| +0#0000000&@48
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_insert_list_mode_2.dump b/src/testdir/dumps/Test_prop_insert_list_mode_2.dump
new file mode 100644
index 0000000..26abd88
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_insert_list_mode_2.dump
@@ -0,0 +1,8 @@
+|T+0&#ffffff0|h|i|s| |i|s| |a| |l|i|n|e| |w|i|t|h| |q|u|i|t|e| |a| |b|i|t| |o|f| |t|e|x|t| |h|e|r|e|.|$+0#4040ff13&|T+0#ffffff16#ff404010|h|e| |q|u|i|c|k| |b|r|o|»+0#4040ff13#ffffff0
+>s+0#0000000&|e|c|o|n|d| |l|i|n|e|$+0#4040ff13&| +0#0000000&@47
+|t|h|i|r|d| |l|i|n|e|$+0#4040ff13&| +0#0000000&@48
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|:+0#0000000&|s|e|t| |n|o|w|r|a|p| @30|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_insert_list_mode_3.dump b/src/testdir/dumps/Test_prop_insert_list_mode_3.dump
new file mode 100644
index 0000000..58db9f6
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_insert_list_mode_3.dump
@@ -0,0 +1,8 @@
+>o+0&#ffffff0|f| |t|e|x|t| |h|e|r|e|.|$+0#4040ff13&| +0#0000000&@2|T+0#ffffff16#ff404010|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g
+|s+0#0000000#ffffff0|e|c|o|n|d| |l|i|n|e|$+0#4040ff13&| +0#0000000&@47
+|t|h|i|r|d| |l|i|n|e|$+0#4040ff13&| +0#0000000&@48
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|:+0#0000000&|s|e|t| |n|o|w|r|a|p| @30|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_insert_start_incl_1.dump b/src/testdir/dumps/Test_prop_insert_start_incl_1.dump
new file mode 100644
index 0000000..de1f3d4
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_insert_start_incl_1.dump
@@ -0,0 +1,8 @@
+|t+0&#ffffff0|e|x|t| |a+0#4040ff13&|f|t|e|r| >o+0#0000000&|n|e| |t|e|x|t| |b+0#4040ff13&|e|f|o|r|e| |t+0#0000000&|w|o| @29
+@60
+|f|u|n|c|t|i|o|n|(|a+0&#ffd7ff255|r|g|:| |a+0&#ffffff0|r|g|)| @41
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|,|6|-|1|2| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_insert_start_incl_2.dump b/src/testdir/dumps/Test_prop_insert_start_incl_2.dump
new file mode 100644
index 0000000..f0c9ac0
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_insert_start_incl_2.dump
@@ -0,0 +1,8 @@
+|t+0&#ffffff0|e|x|t| |a+0#4040ff13&|f|t|e|r| >o+0#0000000&|n|e| |t|e|x|t| |b+0#4040ff13&|e|f|o|r|e| |t+0#0000000&|w|o| @29
+@60
+|f|u|n|c|t|i|o|n|(|a+0&#ffd7ff255|r|g|:| |a+0&#ffffff0|r|g|)| @41
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@29|1|,|6|-|1|2| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_insert_start_incl_3.dump b/src/testdir/dumps/Test_prop_insert_start_incl_3.dump
new file mode 100644
index 0000000..5a8578b
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_insert_start_incl_3.dump
@@ -0,0 +1,8 @@
+|t+0&#ffffff0|e|x|t| |a+0#4040ff13&|f|t|e|r| |x+0#0000000&>x|o|n|e| |t|e|x|t| |b+0#4040ff13&|e|f|o|r|e| |t+0#0000000&|w|o| @27
+@60
+|f|u|n|c|t|i|o|n|(|a+0&#ffd7ff255|r|g|:| |a+0&#ffffff0|r|g|)| @41
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|,|7|-|1|3| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_insert_start_incl_4.dump b/src/testdir/dumps/Test_prop_insert_start_incl_4.dump
new file mode 100644
index 0000000..bf67a1e
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_insert_start_incl_4.dump
@@ -0,0 +1,8 @@
+|t+0&#ffffff0|e|x|t| |a+0#4040ff13&|f|t|e|r| |x+0#0000000&@1|o|n|e| |t|e|x|t| >b+0#4040ff13&|e|f|o|r|e| |t+0#0000000&|w|o| @27
+@60
+|f|u|n|c|t|i|o|n|(|a+0&#ffd7ff255|r|g|:| |a+0&#ffffff0|r|g|)| @41
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@29|1|,|1|7|-|2|3| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_insert_start_incl_5.dump b/src/testdir/dumps/Test_prop_insert_start_incl_5.dump
new file mode 100644
index 0000000..270c8a0
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_insert_start_incl_5.dump
@@ -0,0 +1,8 @@
+|t+0&#ffffff0|e|x|t| |a+0#4040ff13&|f|t|e|r| |x+0#0000000&@1|o|n|e| |t|e|x|t| |y>y|b+0#4040ff13&|e|f|o|r|e| |t+0#0000000&|w|o| @25
+@60
+|f|u|n|c|t|i|o|n|(|a+0&#ffd7ff255|r|g|:| |a+0&#ffffff0|r|g|)| @41
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|,|1|8|-|2|4| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_insert_start_incl_6.dump b/src/testdir/dumps/Test_prop_insert_start_incl_6.dump
new file mode 100644
index 0000000..96156a8
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_insert_start_incl_6.dump
@@ -0,0 +1,8 @@
+|t+0&#ffffff0|e|x|t| |a+0#4040ff13&|f|t|e|r| |x+0#0000000&@1|o|n|e| |t|e|x|t| |y@1|b+0#4040ff13&|e|f|o|r|e| |t+0#0000000&|w|o| @25
+@60
+|f|u|n|c|t|i|o|n|(| @50
+@7> |a+0&#ffd7ff255|r|g|:| |a+0&#ffffff0|r|g|)| @42
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|4|,|1|-|8| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_insert_start_incl_7.dump b/src/testdir/dumps/Test_prop_insert_start_incl_7.dump
new file mode 100644
index 0000000..43545a8
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_insert_start_incl_7.dump
@@ -0,0 +1,8 @@
+|t+0&#ffffff0|e|x|t| |a+0#4040ff13&|f|t|e|r| |x+0#0000000&@1|o|n|e| |t|e|x|t| |y@1|b+0#4040ff13&|e|f|o|r|e| |t+0#0000000&|w|o| @25
+@60
+|f|u|n|c|t|i|o|n|(| @50
+@12|a+0&#ffd7ff255|r|g|:| >a+0&#ffffff0|r|g|)| @38
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|4|,|6|-|1|8| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_insert_start_incl_8.dump b/src/testdir/dumps/Test_prop_insert_start_incl_8.dump
new file mode 100644
index 0000000..9d46839
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_insert_start_incl_8.dump
@@ -0,0 +1,8 @@
+|t+0&#ffffff0|e|x|t| |a+0#4040ff13&|f|t|e|r| |x+0#0000000&@1|o|n|e| |t|e|x|t| |y@1|b+0#4040ff13&|e|f|o|r|e| |t+0#0000000&|w|o| @25
+@60
+|f|u|n|c|t|i|o|n|(| @50
+@4|a+0&#ffd7ff255|r|g|:| >a+0&#ffffff0|r|g|)| @46
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|4|,|5|-|1|0| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_1.dump b/src/testdir/dumps/Test_prop_inserts_text_1.dump
new file mode 100644
index 0000000..7d1b102
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_1.dump
@@ -0,0 +1,8 @@
+|i+0&#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d| |s|o
+|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0&#5fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n>g| @27
+|p|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @40
+|F|o@1| |f|o@1| |=| |{| |.+0#0000e05&|x|=|1+0#0000000&|,| |.+0#0000e05&|y|=|2+0#0000000&| |}|;| @34
+|e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@49
+|l|o@1|k| |n|o| |h|i|g|h|l|i|g|h|t| @42
+|~+0#4040ff13&| @58
+| +0#0000000&@41|1|,|7|6|-|9|2| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_2.dump b/src/testdir/dumps/Test_prop_inserts_text_2.dump
new file mode 100644
index 0000000..2a5b2f3
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_2.dump
@@ -0,0 +1,8 @@
+| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d|
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0&#5fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n>g| @23
+| +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @38
+| +0#0000e05#a8a8a8255@1|F+0#0000000#ffffff0|o@1| |f|o@1| |=| |{| |.+0#0000e05&|x|=|1+0#0000000&|,| |.+0#0000e05&|y|=|2+0#0000000&| |}|;| @32
+| +0#0000e05#a8a8a8255@1|e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@47
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|o@1|k| |n|o| |h|i|g|h|l|i|g|h|t| @40
+|~+0#4040ff13&| @58
+| +0#0000000&@41|1|,|7|6|-|9|2| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_3.dump b/src/testdir/dumps/Test_prop_inserts_text_3.dump
new file mode 100644
index 0000000..36a4b8c
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_3.dump
@@ -0,0 +1,8 @@
+| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d|
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0&#5fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n|g| @23
+| +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s>t| @38
+| +0#0000e05#a8a8a8255@1|F+0#0000000#ffffff0|o@1| |f|o@1| |=| |{| |.+0#0000e05&|x|=|1+0#0000000&|,| |.+0#0000e05&|y|=|2+0#0000000&| |}|;| @32
+| +0#0000e05#a8a8a8255@1|e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@47
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|o@1|k| |n|o| |h|i|g|h|l|i|g|h|t| @40
+|~+0#4040ff13&| @58
+| +0#0000000&@41|2|,|7|-|1|9| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_4.dump b/src/testdir/dumps/Test_prop_inserts_text_4.dump
new file mode 100644
index 0000000..8bb637a
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_4.dump
@@ -0,0 +1,8 @@
+| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d|
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0&#5fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n|g| @23
+| +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @38
+| +0#0000e05#a8a8a8255@1|F+0#0000000#ffffff0|o@1| |f|o@1| |=| |{| |.+0#0000e05&|x|=>1+0#0000000&|,| |.+0#0000e05&|y|=|2+0#0000000&| |}|;| @32
+| +0#0000e05#a8a8a8255@1|e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@47
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|o@1|k| |n|o| |h|i|g|h|l|i|g|h|t| @40
+|~+0#4040ff13&| @58
+| +0#0000000&@41|3|,|1|3|-|1|6| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_5.dump b/src/testdir/dumps/Test_prop_inserts_text_5.dump
new file mode 100644
index 0000000..75194f6
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_5.dump
@@ -0,0 +1,8 @@
+| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d|
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0&#5fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n|g| @23
+| +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @38
+| +0#0000e05#a8a8a8255@1|F+0#0000000#ffffff0|o@1| |f|o@1| |=| |{| |.+0#0000e05&|x|=|1+0#0000000&|,| |.+0#0000e05&|y|=>2+0#0000000&| |}|;| @32
+| +0#0000e05#a8a8a8255@1|e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@47
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|o@1|k| |n|o| |h|i|g|h|l|i|g|h|t| @40
+|~+0#4040ff13&| @58
+| +0#0000000&@41|3|,|1|6|-|2@1| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_6.dump b/src/testdir/dumps/Test_prop_inserts_text_6.dump
new file mode 100644
index 0000000..fb25ddf
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_6.dump
@@ -0,0 +1,8 @@
+| +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |S+0#ffffff16#e000002|O|M|E| |h+0#0000000#ffffff0|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |O+0&#ffff4012|T|H|E|R| |t+0&#ffffff0|h|e|r|e| |a|n|d|
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| |a|f|t|e|r| |M+0&#5fd7ff255|O|R|E| |w+0&#ffffff0|r|a|p@1|i|n|g| @23
+| +0#0000e05#a8a8a8255@1|p+0#0000000#ffffff0|r|e|s+0&#e0e0e08|ö|m|e|和*&|平|t+&|é|x|t|p+0&#ffffff0|o|s|t| @38
+| +0#0000e05#a8a8a8255@1|F+0#0000000#ffffff0|o@1| |f|o@1| |=| |{| |.+0#0000e05&|x|=|1+0#0000000&|,| |.+0#0000e05&|y|=|2+0#0000000&| |}|;| @32
+| +0#0000e05#a8a8a8255@1>e+0#ffffff16#e000002|m|p|t|y| |l|i|n|e| +0#0000000#ffffff0@47
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|o@1|k| |n|o| |h|i|g|h|l|i|g|h|t| @40
+|~+0#4040ff13&| @58
+| +0#0000000&@41|4|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_hi_1.dump b/src/testdir/dumps/Test_prop_inserts_text_hi_1.dump
new file mode 100644
index 0000000..863ded3
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_hi_1.dump
@@ -0,0 +1,6 @@
+>i+0&#ffffff0|n|s|e|r|t| |s|o|m|e| |t|e|x|t| |B+0#ffffff16#e000002|E|F|O|R|E|(+0#0000000#5fd7ff255|h+0&#ffffff0|e|r|e|)| |a|n|d| |t|h|e|r|e| @20
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_hi_2.dump b/src/testdir/dumps/Test_prop_inserts_text_hi_2.dump
new file mode 100644
index 0000000..1d9d11a
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_hi_2.dump
@@ -0,0 +1,6 @@
+|i+0&#ffffff0|n|s|e|r|t| |s|o|m|e| >t+0&#ffff4012|e|x|t| |B+0#ffffff16#e000002|E|F|O|R|E|(+0#0000000#5fd7ff255|h+0&#ffff4012|e|r+0&#ffffff0|e|)| |a|n|d| |t|h|e|r|e| @20
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|/+0#0000000&|t|e|x|t| |(|h|e| @32|1|,|1|3| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_hi_3.dump b/src/testdir/dumps/Test_prop_inserts_text_hi_3.dump
new file mode 100644
index 0000000..85ad7dd
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_hi_3.dump
@@ -0,0 +1,6 @@
+|i+0&#ffffff0|n|s|e|r|t| |s|o|m|e| >t+0&#ffff4012|e|x|t| |B+0#ffffff16#e000002|E|F|O|R|E|(+0#0000000#ffff4012|h|e|r+0&#ffffff0|e|)| |a|n|d| |t|h|e|r|e| @20
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|:+0#0000000&|c|a|l@1| |m|a|t|c|h|d|e|l|e|t|e|(|t|h|e|m|a|t|c|h|)| @14|1|,|1|3| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_hi_4.dump b/src/testdir/dumps/Test_prop_inserts_text_hi_4.dump
new file mode 100644
index 0000000..a5592ac
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_hi_4.dump
@@ -0,0 +1,6 @@
+|i+0&#ffffff0|n|s|e|r|t| |s|o|m|e| >t|e|x|t| |(+0&#5fd7ff255|A+0#ffffff16#e000002|F|T|E|R|h+0#0000000#ffffff0|e|r|e|)| |a|n|d| |t|h|e|r|e| @21
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|:+0#0000000&|c|a|l@1| |D|o|A|f|t|e|r|(|)| @26|1|,|1|3| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_hi_5.dump b/src/testdir/dumps/Test_prop_inserts_text_hi_5.dump
new file mode 100644
index 0000000..0002aa8
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_hi_5.dump
@@ -0,0 +1,6 @@
+|i+0&#ffffff0|n|s|e|r|t| |s|o|m|e| >t+0&#ffff4012|e|x|t| |(+0&#5fd7ff255|A+0#ffffff16#e000002|F|T|E|R|h+0#0000000#ffff4012|e|r+0&#ffffff0|e|)| |a|n|d| |t|h|e|r|e| @21
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|s+0#e000002&|e|a|r|c|h| |h|i|t| |B|O|T|.@2|t|i|n|u|i|n|g| |a|t| |T|O|P| +0#0000000&@10|1|,|1|3| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_inserts_text_hi_6.dump b/src/testdir/dumps/Test_prop_inserts_text_hi_6.dump
new file mode 100644
index 0000000..631f51a
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_inserts_text_hi_6.dump
@@ -0,0 +1,6 @@
+|i+0&#ffffff0|n|s|e|r|t| |s|o|m|e| >t+0&#ffff4012|e|x|t| |(|A+0#ffffff16#e000002|F|T|E|R|h+0#0000000#ffff4012|e|r+0&#ffffff0|e|)| |a|n|d| |t|h|e|r|e| @21
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|:+0#0000000&|c|a|l@1| |m|a|t|c|h|d|e|l|e|t|e|(|t|h|e|m|a|t|c|h|)| @14|1|,|1|3| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_linebreak_1.dump b/src/testdir/dumps/Test_prop_linebreak_1.dump
new file mode 100644
index 0000000..c1a56e8
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_linebreak_1.dump
@@ -0,0 +1,10 @@
+>x+0&#ffffff0@49|]+0&#40ffff15| +0&#ffffff0@23
+|x@69| @4
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_linebreak_2.dump b/src/testdir/dumps/Test_prop_linebreak_2.dump
new file mode 100644
index 0000000..e705f71
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_linebreak_2.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@1>x+0&#ffffff0@49|]+0&#40ffff15| +0#0000000#ffffff0@21
+| +0#0000e05#a8a8a8255@1|x+0&#ffffff0@69| +0#0000000&@2
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_multibyte_below_1.dump b/src/testdir/dumps/Test_prop_multibyte_below_1.dump
new file mode 100644
index 0000000..838611b
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_multibyte_below_1.dump
@@ -0,0 +1,10 @@
+| +0#af5f00255#ffffff0@1|1| |©+0#0000000&| @54
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|2| |©+0#0000000&| @54
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+| +0#af5f00255&@1|3| >©+0#0000000&| @54
+| +0#af5f00255&@3|++0#0000001#ffff4012@2| +0#0000000#ffffff0@52
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_negative_error_1.dump b/src/testdir/dumps/Test_prop_negative_error_1.dump
new file mode 100644
index 0000000..47458d8
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_negative_error_1.dump
@@ -0,0 +1,8 @@
+>o+0&#ffffff0|n|e| @56
+|t|w|o| @56
+|t+0#ffffff16#ff404010|h|r|e@1| +0#0000000#ffffff0@54
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_negative_error_2.dump b/src/testdir/dumps/Test_prop_negative_error_2.dump
new file mode 100644
index 0000000..188224c
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_negative_error_2.dump
@@ -0,0 +1,8 @@
+|~+0#4040ff13#ffffff0| @58
+|~| @58
+|~| @58
+|E+0#ffffff16#e000002|r@1|o|r| |d|e|t|e|c|t|e|d| |w|h|i|l|e| |p|r|o|c|e|s@1|i|n|g| |f|u|n|c|t|i|o|n| |A|d@1|T|e|x|t|p|r|o|p|:| +0#0000000#ffffff0@6
+|l+0#af5f00255&|i|n|e| @3|5|:| +0#0000000&@49
+|E+0#ffffff16#e000002|1|3@1|9|:| |C|a|n@1|o|t| |a|d@1| |a| |t|e|x|t|p|r|o|p| |w|i|t|h| |t|e|x|t| |a|f|t|e|r| |u|s|i|n|g| |a| |t|e|x|t|p|r|o
+|p| |w|i|t|h| |a| |n|e|g|a|t|i|v|e| |i|d| +0#0000000#ffffff0@39
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@20
diff --git a/src/testdir/dumps/Test_prop_right_align_twice_1.dump b/src/testdir/dumps/Test_prop_right_align_twice_1.dump
new file mode 100644
index 0000000..f3f1afc
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_right_align_twice_1.dump
@@ -0,0 +1,8 @@
+|s+0&#ffffff0|o|m|e| |t|e|x|t| |s|o|m|e| |t|e|x|t| |s|o|m|e| |t|e|x|t| |s|o|m|e| |t|e|x|t| +0&#ffd7ff255|n|o|t|h|i|n|g| |h|e|r|e| +0&#ffffff0@12|S+0#ffffff16#e000002|o|m|e| |e|r@1|o|r
+| +0#0000000#ffffff0@61|A+0#ffffff16#e000002|n|o|t|h|e|r| |e|r@1|o|r
+|l+0#0000000#ffffff0|i|n|e| |t|w>o| @66
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|2|,|8| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_right_align_twice_2.dump b/src/testdir/dumps/Test_prop_right_align_twice_2.dump
new file mode 100644
index 0000000..c4cd617
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_right_align_twice_2.dump
@@ -0,0 +1,8 @@
+|s+0&#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t|s|o|m|e| |t|e|x|t| |s|o|m|e| |t|e|x|t| |s|o|m|e| |t|e|x|t| |s|o|m|e| |t|e|x|t| +0&#ffd7ff255|n|o|t|h|i|n|g| |h|e|r|e| +0&#ffffff0@8
+@65|S+0#ffffff16#e000002|o|m|e| |e|r@1|o|r
+| +0#0000000#ffffff0@61|A+0#ffffff16#e000002|n|o|t|h|e|r| |e|r@1|o|r
+|l+0#0000000#ffffff0|i|n|e| |t|w>o| @66
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|2|,|8| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_right_align_twice_3.dump b/src/testdir/dumps/Test_prop_right_align_twice_3.dump
new file mode 100644
index 0000000..2c4cbee
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_right_align_twice_3.dump
@@ -0,0 +1,8 @@
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t|s|o|m|e| |t|e|x|t| |s|o|m|e| |t|e|x|t| |s|o|m|e| |t|e|x|t| |s|o|m|e| |t|e|x|t| +0&#ffd7ff255|n|o|t|h|i|n|g| |h|e|r|e| +0&#ffffff0@6
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@62|S+0#ffffff16#e000002|o|m|e| |e|r@1|o|r
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@59|A+0#ffffff16#e000002|n|o|t|h|e|r| |e|r@1|o|r
+| +0#0000e05#a8a8a8255@1|l+0#0000000#ffffff0|i|n|e| |t|w>o| @64
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|2|,|8| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_text_change_arg_1.dump b/src/testdir/dumps/Test_prop_text_change_arg_1.dump
new file mode 100644
index 0000000..174af07
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_text_change_arg_1.dump
@@ -0,0 +1,5 @@
+>S+0&#ffffff0|e|t|E|r@1|o|r|C|o|d|e|(| |i+0&#ffd7ff255|d|:|-+0#4040ff13#ffffff0|1+0#0000000&|0|,| |i+0&#ffd7ff255|d|:|-+0#4040ff13#ffffff0|2+0#0000000&|0| |)| @29
+|s|e|c|o|n|d| |l|i|n|e| @48
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_text_change_arg_2.dump b/src/testdir/dumps/Test_prop_text_change_arg_2.dump
new file mode 100644
index 0000000..57e9a46
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_text_change_arg_2.dump
@@ -0,0 +1,5 @@
+|S+0&#ffffff0|e|t|E|r@1|o|r|C|o|d|e|(| |i+0&#ffd7ff255|d|:|-+0#4040ff13#ffffff0|1+0#0000000&|2|3>4|,| |i+0&#ffd7ff255|d|:|-+0#4040ff13#ffffff0|2+0#0000000&|0| |)| @27
+|s|e|c|o|n|d| |l|i|n|e| @48
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|1|,|1|8|-|2@1| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_text_with_padding_1.dump b/src/testdir/dumps/Test_prop_text_with_padding_1.dump
new file mode 100644
index 0000000..1fde5e9
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_text_with_padding_1.dump
@@ -0,0 +1,8 @@
+>S+0&#ffffff0|o|m|e| |t|e|x|t| |t|o| |a|d@1| |v|i|r|t|u|a|l| |t|e|x|t| |t|o|.| @2|a+0&#ffd7ff255|f|t|e|r| +0&#ffffff0@5|r+0&#ffd7ff255|i|g|h|t| |a|l|i|g|n|e|d
+| +0&#ffffff0@3|b+0&#ffd7ff255|e|l|o|w| |t|h|e| |l|i|n|e| +0&#ffffff0@41
+|s|e|c|o|n|d| |l|i|n|e| @48
+|A|n|o|t|h|e|r| |l|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |t|o| |m|a|k|e| |t|h|e| |w|r|a|p|.| @5|r+0&#ffd7ff255|i|g|h|t|m|o|s|t
+|~+0#4040ff13#ffffff0| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_text_with_padding_2.dump b/src/testdir/dumps/Test_prop_text_with_padding_2.dump
new file mode 100644
index 0000000..abedaae
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_text_with_padding_2.dump
@@ -0,0 +1,8 @@
+|x+0&#ffffff0@9|S|o|m|e| |t|e|x|t| |t|o| |a|d@1| |v|i|r|t|u|a|l| |t|e|x|t| |t|o|.| @2|a+0&#ffd7ff255|f|t|e|r| +0&#ffffff0@4|r+0&#ffd7ff255|i|g|…
+| +0&#ffffff0@3|b+0&#ffd7ff255|e|l|o|w| |t|h|e| |l|i|n|e| +0&#ffffff0@41
+|s|e|c|o|n|d| |l|i|n|e| @48
+>x|A|n|o|t|h|e|r| |l|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |t|o| |m|a|k|e| |t|h|e| |w|r|a|p|.| @13
+@51|r+0&#ffd7ff255|i|g|h|t|m|o|s|t
+|~+0#4040ff13#ffffff0| @58
+|~| @58
+| +0#0000000&@41|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_text_with_padding_3.dump b/src/testdir/dumps/Test_prop_text_with_padding_3.dump
new file mode 100644
index 0000000..2911162
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_text_with_padding_3.dump
@@ -0,0 +1,8 @@
+>x+0&#ffffff0@10|S|o|m|e| |t|e|x|t| |t|o| |a|d@1| |v|i|r|t|u|a|l| |t|e|x|t| |t|o|.| @2|a+0&#ffd7ff255|f|t|e|r| +0&#ffffff0@7
+@47|r+0&#ffd7ff255|i|g|h|t| |a|l|i|g|n|e|d
+| +0&#ffffff0@3|b+0&#ffd7ff255|e|l|o|w| |t|h|e| |l|i|n|e| +0&#ffffff0@41
+|s|e|c|o|n|d| |l|i|n|e| @48
+|x|A|n|o|t|h|e|r| |l|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |t|o| |m|a|k|e| |t|h|e| |w|r|a|p|.| @13
+@51|r+0&#ffd7ff255|i|g|h|t|m|o|s|t
+|~+0#4040ff13#ffffff0| @58
+| +0#0000000&@41|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_text_with_padding_4.dump b/src/testdir/dumps/Test_prop_text_with_padding_4.dump
new file mode 100644
index 0000000..b0b0156
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_text_with_padding_4.dump
@@ -0,0 +1,8 @@
+>x+0&#ffffff0@10|S|o|m|e| |t|e|x|t| |t|o| |a|d@1| |v|i|r|t|u|a|l| |t|e|x|t| |t|o|.|$+0#4040ff13&| +0#0000000&@2|a+0&#ffd7ff255|f|t|e|r| +0&#ffffff0@6
+@47|r+0&#ffd7ff255|i|g|h|t| |a|l|i|g|n|e|d
+| +0&#ffffff0@3|b+0&#ffd7ff255|e|l|o|w| |t|h|e| |l|i|n|e| +0&#ffffff0@41
+|s|e|c|o|n|d| |l|i|n|e|$+0#4040ff13&| +0#0000000&@47
+|x|A|n|o|t|h|e|r| |l|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |t|o| |m|a|k|e| |t|h|e| |w|r|a|p|.|$+0#4040ff13&| +0#0000000&@12
+@51|r+0&#ffd7ff255|i|g|h|t|m|o|s|t
+| +0&#ffffff0@59
+|:|s|e|t| |l|i|s|t| @32|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_linebreak_1.dump b/src/testdir/dumps/Test_prop_with_linebreak_1.dump
new file mode 100644
index 0000000..9cae5d6
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_linebreak_1.dump
@@ -0,0 +1,6 @@
+>o+0&#ffffff0|n|e|:+0#e000e06&| |v|i|r|t|u|a|l| |t|e|x|t| +0#0000000&|t|w|o|w|o|r|d| @24
+|~+0#4040ff13&| @48
+|~| @48
+|~| @48
+|~| @48
+| +0#0000000&@31|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_linebreak_2.dump b/src/testdir/dumps/Test_prop_with_linebreak_2.dump
new file mode 100644
index 0000000..6614eb2
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_linebreak_2.dump
@@ -0,0 +1,6 @@
+|a+0&#ffffff0|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a>s|o|n|e|:+0#e000e06&| |v|i|r|t|u|a|l| |t|e|x|t| +0#0000000&@5
+|t|w|o|w|o|r|d| @42
+|~+0#4040ff13&| @48
+|~| @48
+|~| @48
+| +0#0000000&@31|1|,|2|7| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_1.dump b/src/testdir/dumps/Test_prop_with_text_above_1.dump
new file mode 100644
index 0000000..1a478f1
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_1.dump
@@ -0,0 +1,9 @@
+|f+0&#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@42
+|s+0&#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@41
+|o|n|e| |t|w|o| @52
+|t|h|r>e@1| |f|o|u|r| @49
+@3|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| +0&#ffffff0@43
+|f|i|v|e| |s|i|x| @51
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|2|,|4| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_1a.dump b/src/testdir/dumps/Test_prop_with_text_above_1a.dump
new file mode 100644
index 0000000..67d7a6b
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_1a.dump
@@ -0,0 +1,9 @@
+|f+0&#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@42
+|s+0&#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@41
+|o|n|e| |t|w>o| @52
+|t|h|r|e@1| |f|o|u|r| @49
+@3|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| +0&#ffffff0@43
+|f|i|v|e| |s|i|x| @51
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|1|,|7|-|1|2|7| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_1b.dump b/src/testdir/dumps/Test_prop_with_text_above_1b.dump
new file mode 100644
index 0000000..24fffb5
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_1b.dump
@@ -0,0 +1,9 @@
+|f+0&#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@42
+|s+0&#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@41
+>o|n|e| |t|w|o| @52
+|t|h|r|e@1| |f|o|u|r| @49
+@3|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| +0&#ffffff0@43
+|f|i|v|e| |s|i|x| @51
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|1|,|1|-|1|2|1| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_1c.dump b/src/testdir/dumps/Test_prop_with_text_above_1c.dump
new file mode 100644
index 0000000..bdf8811
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_1c.dump
@@ -0,0 +1,9 @@
+|f+0&#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@42
+|s+0&#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@41
+|o|n>e| |t|w|o| @52
+|t|h|r|e@1| |f|o|u|r| @49
+@3|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| +0&#ffffff0@43
+|f|i|v|e| |s|i|x| @51
+|~+0#4040ff13&| @58
+|~| @58
+|:+0#0000000&|s|e|t| |s|h|o|w|b|r|e|a|k|=|>@1| @24|1|,|3|-|1|2|3| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_2.dump b/src/testdir/dumps/Test_prop_with_text_above_2.dump
new file mode 100644
index 0000000..3df0967
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_2.dump
@@ -0,0 +1,9 @@
+|f+0&#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@42
+|s+0&#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@41
+>o|n|e| |t|w|o| @52
+|t|h|r|e@1| |f|o|u|r| @49
+@3|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| +0&#ffffff0@43
+|f|i|v|e| |s|i|x| @51
+|~+0#4040ff13&| @58
+|~| @58
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@29|1|,|1|-|1|2|1| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_3.dump b/src/testdir/dumps/Test_prop_with_text_above_3.dump
new file mode 100644
index 0000000..f58a95b
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_3.dump
@@ -0,0 +1,9 @@
+|f+0&#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@42
+|s+0&#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@41
+|i|n|s|e|r|t|e|d> |o|n|e| |t|w|o| @43
+|t|h|r|e@1| |f|o|u|r| @49
+@3|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| +0&#ffffff0@43
+|f|i|v|e| |s|i|x| @51
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|1|,|9|-|1|2|9| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_4.dump b/src/testdir/dumps/Test_prop_with_text_above_4.dump
new file mode 100644
index 0000000..2a207eb
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_4.dump
@@ -0,0 +1,9 @@
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|f+0#0000000#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@36
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|s+0#0000000#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@35
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|1| |i+0#0000000&|n|s|e|r|t|e|d> |o|n|e| |t|w|o| @37
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|2| |t+0#0000000&|h|r|e@1| |f|o|u|r| @43
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3| +0#0000000&@2|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| +0&#ffffff0@37
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|3| |f+0#0000000&|i|v|e| |s|i|x| @45
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|1|,|9|-|1@1|7| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_5.dump b/src/testdir/dumps/Test_prop_with_text_above_5.dump
new file mode 100644
index 0000000..8494bb1
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_5.dump
@@ -0,0 +1,9 @@
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|f+0#0000000#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@36
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|s+0#0000000#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@35
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|1| |i+0#0000000&|n|s|e|r|t|e|d| |o|n|e| |t|w|o| @37
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|2| |t+0#0000000&|h|r|e@1| |f|o|u>r| @43
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3| +0#0000000&@2|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| +0&#ffffff0@37
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|3| |f+0#0000000&|i|v|e| |s|i|x| @45
+|~+0#4040ff13&| @58
+|~| @58
+|:+0#0000000&|s|e|t| |n|o|w|r|a|p| @30|2|,|1|0| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_6.dump b/src/testdir/dumps/Test_prop_with_text_above_6.dump
new file mode 100644
index 0000000..da28228
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_6.dump
@@ -0,0 +1,9 @@
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|f+0#0000000#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@36
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|s+0#0000000#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@35
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|1| |i+0#0000000#e0e0e08|n|s|e|r|t|e>d+0&#ffffff0| |o|n|e| |t|w|o| @37
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|b+0#0000000#5fd7ff255|e|l|o|w| +0&#ffffff0@48
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|2| |t+0#0000000&|h|r|e@1| |f|o|u|r| @43
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3| +0#0000000&@2|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| +0&#ffffff0@37
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|3| |f+0#0000000&|i|v|e| |s|i|x| @45
+|~+0#4040ff13&| @58
+|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@19|8| @8|1|,|8|-|1@1|6| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_7.dump b/src/testdir/dumps/Test_prop_with_text_above_7.dump
new file mode 100644
index 0000000..c50749b
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_7.dump
@@ -0,0 +1,9 @@
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|f+0#0000000#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@36
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|s+0#0000000#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@35
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|1| |i+0#0000000#e0e0e08|n|s|e|r|t|e>d+0&#ffffff0| +0&#e0e0e08|o|n|e| |t|w|o| +0&#ffffff0@37
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|b+0#0000000#5fd7ff255|e|l|o|w| +0#4040ff13#ffffff0| +0#0000000&@47
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|2| |t+0#0000000&|h|r|e@1| |f|o|u|r| @43
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3| +0#0000000&@2|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| +0&#ffffff0@37
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|3| |f+0#0000000&|i|v|e| |s|i|x| @45
+|~+0#4040ff13&| @58
+|-+2#0000000&@1| |V|I|S|U|A|L| |L|I|N|E| |-@1| +0&&@14|1| @8|1|,|8|-|1@1|6| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_8.dump b/src/testdir/dumps/Test_prop_with_text_above_8.dump
new file mode 100644
index 0000000..b807db5
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_8.dump
@@ -0,0 +1,9 @@
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|f+0#0000000#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@36
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|s+0#0000000#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@35
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|1| |i+0#0000000&|n|s|e|r|t|e|d| @45
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|2| >o+0#0000000&|n|e| |t|w|o| @46
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|b+0#0000000#5fd7ff255|e|l|o|w| +0&#ffffff0@48
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|3| |t+0#0000000&|h|r|e@1| |f|o|u|r| @43
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3| +0#0000000&@2|a+0&#ffff4012|n|o|t|h|e|r| |t|h|i|n|g| +0&#ffffff0@37
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|4| |f+0#0000000&|i|v|e| |s|i|x| @45
+@42|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_above_9.dump b/src/testdir/dumps/Test_prop_with_text_above_9.dump
new file mode 100644
index 0000000..727f859
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_above_9.dump
@@ -0,0 +1,9 @@
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|f+0#0000000#ffff4012|i|r|s|t| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@36
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|s+0#0000000#ffd7ff255|e|c|o|n|d| |t|h|i|n|g| |a|b|o|v|e| +0&#ffffff0@35
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3| +0#0000000&@1|0+0&#ffff4012| |1| |2| |3| |4| |5| |6| |7| |8| |9| |1|0| |1@1| |1|2| |1|3| |1|4| |1|5| |1|6| |1|7| |1|8| |1|9| |2|…
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|1| |i+0#0000000&|n|s|e|r|t|e|d| @45
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@1|2| >o+0#0000000&|n|e| |t|w|o| @46
+| +0#0000e05#a8a8a8255@1| +0#af5f00255#ffffff0@3|b+0#0000000#5fd7ff255|e|l|o|w| +0&#ffffff0@48
+|~+0#4040ff13&| @58
+|~| @58
+|:+0#0000000&|c|a|l@1| |A|d@1|L|o|n|g|P|r|o|p|A|b|o|v|e|(|)| @17|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_1.dump b/src/testdir/dumps/Test_prop_with_text_after_1.dump
new file mode 100644
index 0000000..159e394
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_1.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@2|s|o|m|e| |t|e|x|t| |h|e|r|e| |a|n|d| |o|t|h|e|r| |t|e|x|t| |t|h|e|r|e| +0&#ffff4012|A|F|T|E|R| | +0&#ffffff0@7| +0#ffffff16#e000002|R|I|G|H|T|
+| +0#0000000#5fd7ff255|B|E|L|O|W| | +0&#ffffff0@52
+| +0&#5fd7ff255|A|L|S|O| |B|E|L|O|W| | +0&#ffffff0@47
+|L|a|s|t| |l|i|n|e>.| +0&#ffff4012|A|f|t|e|r| |L|a|s|t| | +0&#ffffff0@37
+|r|i|g|h|t| |h|e|r|e| @37|s+0#ffffff16#e000002|ö|m|e|和*&|平|t+&|é|x|t
+|~+0#4040ff13#ffffff0| @58
+|~| @58
+| +0#0000000&@41|2|,|1|0| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_below_trunc_1.dump b/src/testdir/dumps/Test_prop_with_text_after_below_trunc_1.dump
new file mode 100644
index 0000000..8481c9c
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_below_trunc_1.dump
@@ -0,0 +1,8 @@
+|o+0&#ffffff0|n|a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d| |f|a|s| |d|f|t+0#e000e06&|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|…
+| +0#0000000&@3|t+0&#ffd7ff255|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g| +0&#ffffff0@12
+|t|w>o| @56
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|"+0#0000000&|f|o@1|b|a|r|"| |[|N|e|w|]| @27|2|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_below_trunc_2.dump b/src/testdir/dumps/Test_prop_with_text_after_below_trunc_2.dump
new file mode 100644
index 0000000..afa1a36
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_below_trunc_2.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| |o+0#0000000&|n|a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d| |f|a|s| |d|f|t+0#e000e06&|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|…
+| +0#af5f00255&@3| +0#0000000&@3|t+0&#ffd7ff255|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g| +0&#ffffff0@8
+| +0#af5f00255&@1|2| |t+0#0000000&|w>o| @52
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|:+0#0000000&|s|e|t| |n|u|m|b|e|r| @30|2|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_below_trunc_3.dump b/src/testdir/dumps/Test_prop_with_text_after_below_trunc_3.dump
new file mode 100644
index 0000000..7b93c7f
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_below_trunc_3.dump
@@ -0,0 +1,8 @@
+| +8#af5f00255#ffffff0@1|1| >o+8#0000000&|n|a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d| |f|a|s| |d|f|t+8#e000e06&|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|…
+| +8#af5f00255&@3| +8#0000000&@3|t+8&#ffd7ff255|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g| +8&#ffffff0@8
+| +0#af5f00255&@1|2| |t+0#0000000&|w|o| @52
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|:+0#0000000&|s|e|t| |c|u|r|s|o|r|l|i|n|e| @26|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_join_split_1.dump b/src/testdir/dumps/Test_prop_with_text_after_join_split_1.dump
new file mode 100644
index 0000000..4aab0b1
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_join_split_1.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0@1| @57
+>2@1| @57
+| +0#ffffff16#e000002|B|e|l|o|w| |t|h|e| |l|i|n|e| | +0#0000000#ffffff0@43
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_join_split_2.dump b/src/testdir/dumps/Test_prop_with_text_after_join_split_2.dump
new file mode 100644
index 0000000..d17aacf
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_join_split_2.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0@1> |2@1| @54
+| +0#ffffff16#e000002|B|e|l|o|w| |t|h|e| |l|i|n|e| | +0#0000000#ffffff0@43
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_join_split_3.dump b/src/testdir/dumps/Test_prop_with_text_after_join_split_3.dump
new file mode 100644
index 0000000..51a397f
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_join_split_3.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0@1> |2@1| +0&#ffff4012|a|f|t|e|r| |t|h|e| |t|e|x|t| | +0&#ffffff0@27| +0&#ffff4012|r|i|g|h|t| |h|e|r|e
+| +0#ffffff16#e000002|B|e|l|o|w| |t|h|e| |l|i|n|e| | +0#0000000#ffffff0@43
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+|:+0#0000000&|c|a|l@1| |A|d@1|M|o|r|e|(|)| @26|1|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_join_split_4.dump b/src/testdir/dumps/Test_prop_with_text_after_join_split_4.dump
new file mode 100644
index 0000000..7ec94b1
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_join_split_4.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0@1| @57
+>2@1| +0&#ffff4012|a|f|t|e|r| |t|h|e| |t|e|x|t| | +0&#ffffff0@30| +0&#ffff4012|r|i|g|h|t| |h|e|r|e
+| +0#ffffff16#e000002|B|e|l|o|w| |t|h|e| |l|i|n|e| | +0#0000000#ffffff0@43
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_join_split_5.dump b/src/testdir/dumps/Test_prop_with_text_after_join_split_5.dump
new file mode 100644
index 0000000..991b64d
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_join_split_5.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0@1> |2@1| +0&#ffff4012|a|f|t|e|r| |t|h|e| |t|e|x|t| | +0&#ffffff0@27| +0&#ffff4012|r|i|g|h|t| |h|e|r|e
+| +0#ffffff16#e000002|B|e|l|o|w| |t|h|e| |l|i|n|e| | +0#0000000#ffffff0@43
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_joined_1.dump b/src/testdir/dumps/Test_prop_with_text_after_joined_1.dump
new file mode 100644
index 0000000..0a4e73d
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_joined_1.dump
@@ -0,0 +1,6 @@
+|o+0&#ffffff0|n|e| |t|w|o| @52
+|t|h|r|e@1| |f|o|u|r| +0&#ffff4012|F|O|U|R| +0&#ffffff0@44
+|a| |b| |c| |d| |e> |f| +0&#ffff4012|F@2| +0&#ffffff0@44
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|3|,|1|0| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_nowrap_1.dump b/src/testdir/dumps/Test_prop_with_text_after_nowrap_1.dump
new file mode 100644
index 0000000..610f14f
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_nowrap_1.dump
@@ -0,0 +1,12 @@
+|o+0&#ffffff0|n|e| +0&#ffd7ff255|A|f|t|e|r| |t|h|e| |t|e|x|t| +0&#ffffff0@31|r+0&#ffd7ff255|i|g|h|t| |h|e|r|e
+| +0#ffffff16#e000002|B|e|l|o|w| |t|h|e| |l|i|n|e| | +0#0000000#ffffff0@43
+|t|w|o| @56
+|a+0&#ffff4012|n|o|t|h|e|r| +0&#ffffff0@52
+|O+0#ffffff16#e000002|n|e| |M|o|r|e| |H|e|r|e| +0#0000000#ffffff0@46
+|t|h|r|e>e| @41|r+0&#ffff4012|i|g|h|t| |a|l|i|g|n|e|d
+| +0&#ffffff0@41|a+0&#ffff4012|l|s|o| |r|i|g|h|t| |a|l|i|g|n|e|d
+|f+0&#ffffff0|o|u|r| @55
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|3|,|5| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump b/src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump
new file mode 100644
index 0000000..1d5c534
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump
@@ -0,0 +1,12 @@
+| +0#0000e05#a8a8a8255@4|o+0#0000000#ffffff0|n|e| +0&#ffd7ff255|A|f|t|e|r| |t|h|e| |t|e|x|t| +0&#ffffff0@26|r+0&#ffd7ff255|i|g|h|t| |h|e|r|e
+| +0#0000e05#a8a8a8255@4| +0#ffffff16#e000002|B|e|l|o|w| |t|h|e| |l|i|n|e| | +0#0000000#ffffff0@38
+| +0#0000e05#a8a8a8255@4|t+0#0000000#ffffff0|w|o| @51
+| +0#0000e05#a8a8a8255@4|a+0#0000000#ffff4012|n|o|t|h|e|r| +0&#ffffff0@47
+| +0#0000e05#a8a8a8255@4|O+0#ffffff16#e000002|n|e| |M|o|r|e| |H|e|r|e| +0#0000000#ffffff0@41
+| +0#0000e05#a8a8a8255@4|t+8#0000000#e0e0e08|h|r|e>e| @36|r+8&#ffff4012|i|g|h|t| |a|l|i|g|n|e|d
+| +0#0000e05#a8a8a8255@4| +8#0000000#e0e0e08@36|a+8&#ffff4012|l|s|o| |r|i|g|h|t| |a|l|i|g|n|e|d
+| +0#0000e05#a8a8a8255@4|f+0#0000000#ffffff0|o|u|r| @50
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|3|,|5| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_nowrap_3.dump b/src/testdir/dumps/Test_prop_with_text_after_nowrap_3.dump
new file mode 100644
index 0000000..ca84912
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_nowrap_3.dump
@@ -0,0 +1,12 @@
+| +0#0000e05#a8a8a8255@4|o+0#0000000#ffffff0|n|e| +0&#ffd7ff255|A|f|t|e|r| |t|h|e| |t|e|x|t| +0&#ffffff0@26|r+0&#ffd7ff255|i|g|h|t| |h|e|r|e
+| +0#0000e05#a8a8a8255@4| +0#ffffff16#e000002|B|e|l|o|w| |t|h|e| |l|i|n|e| | +0#0000000#ffffff0@38
+| +0#0000e05#a8a8a8255@4|t+0#0000000#ffffff0|w|o| @51
+| +0#0000e05#a8a8a8255@4|a+0#0000000#ffff4012|n|o|t|h|e|r| +0&#ffffff0@47
+| +0#0000e05#a8a8a8255@4|O+0#ffffff16#e000002|n|e| |M|o|r|e| |H|e|r|e| +0#0000000#ffffff0@41
+| +0#0000e05#a8a8a8255@4|t+0#0000000#ffffff0|h|r|e@1| @36|r+0&#ffff4012|i|g|h|t| |a|l|i|g|n|e|d
+| +0#0000e05#a8a8a8255@4| +0#0000000#ffffff0@36|a+0&#ffff4012|l|s|o| |r|i|g|h|t| |a|l|i|g|n|e|d
+| +0#0000e05#a8a8a8255@4|f+8#0000000#e0e0e08|o|u>r| @50
+|~+0#4040ff13#ffffff0| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|4|,|4| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_trunc_1.dump b/src/testdir/dumps/Test_prop_with_text_after_trunc_1.dump
new file mode 100644
index 0000000..c8e6369
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_trunc_1.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| +0&#ffff4012|O|N|E| |a|n|d| |T|W|O| |a|n|d| |T|H|R|E@1| |a|n|d|…
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1| |A|N|D|…
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| @26
+| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1| |A|N|D| |f|o|u|r| |A|N|D| |f|i|v|e| |l|e|t|s| |w|r|a|p| |a|f|t|e|r| |s|o|…
+|c+0&#ffffff0|u|r|s|o|r| >h|e|r|e| @48
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|4|,|8| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_after_trunc_2.dump b/src/testdir/dumps/Test_prop_with_text_after_trunc_2.dump
new file mode 100644
index 0000000..c6fd499
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_trunc_2.dump
@@ -0,0 +1,9 @@
+>o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| +0&#ffff4012|O|N|…||+1&#ffffff0|o+0&&|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v
+|o|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| +0&#ffff4012|o|n|…||+1&#ffffff0|e+0&&| |s|i|x| |s|e|v|e|n| +0&#ffff4012|o|n|e| |A|N|D| |t|…
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| @3||+1&&|o+0&&|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v
+| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1| |A|N|D| |f|o|u|r| |A|N|D| |…||+1&#ffffff0|e+0&&| |s|i|x| |s|e|v|e|n| @10
+|c|u|r|s|o|r| |h|e|r|e| @25||+1&&| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e|…
+|~+0#4040ff13#ffffff0| @35||+1#0000000&|c+0&&|u|r|s|o|r| |h|e|r|e| @10
+|~+0#4040ff13&| @35||+1#0000000&|~+0#4040ff13&| @20
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @5|1|,|1| @11|A|l@1| |<+1&&|N|a|m|e|]| |[|+|]| |4|,|8| @4|B|o|t
+|:+0&&|3|7|v|s|p| @53
diff --git a/src/testdir/dumps/Test_prop_with_text_after_trunc_3.dump b/src/testdir/dumps/Test_prop_with_text_after_trunc_3.dump
new file mode 100644
index 0000000..5834170
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_trunc_3.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| +0&#ffff4012|O|N||+1&#ffffff0|o+0&&|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e
+|E+0&#ffff4012| |a|n|d| |T|W|O| |a|n|d| |T|H|R|E@1| |a|n|d| |F|O|U|R| |a|n|d| |F|I|…||+1&#ffffff0| +0&&|s|i|x| |s|e|v|e|n| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o|…
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e>n| +0&#ffff4012|o|n||+1&#ffffff0|o+0&&|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e
+|e+0&#ffff4012| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1| |A|N|D| |f|o|u|r| |A|N|D| |f|i|…||+1&#ffffff0| +0&&|s|i|x| |s|e|v|e|n| @12
+|o|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| @2||+1&&| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1|…
+| |o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1| |A|N|D| |f|o|u|r| |A|N|D|…||+1&#ffffff0|c+0&&|u|r|s|o|r| |h|e|r|e| @11
+|c|u|r|s|o|r| |h|e|r|e| @24||+1&&|~+0#4040ff13&| @21
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @4|2|,|3@1| @10|A|l@1| |<+1&&| |N|a|m|e|]| |[|+|]| |4|,|8| @4|B|o|t
+|:+0&&|3|6|w|i|n|c|m|d| ||| @48
diff --git a/src/testdir/dumps/Test_prop_with_text_after_trunc_4.dump b/src/testdir/dumps/Test_prop_with_text_after_trunc_4.dump
new file mode 100644
index 0000000..165020a
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_trunc_4.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n||+1&&|o+0&&|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i
+| +0&#ffff4012|O|N|E| |a|n|d| |T|W|O| |a|n|d| |T|H|R|E@1| |a|n|d| |F|O|U|R| |…||+1&#ffffff0|x+0&&| |s|e|v|e|n| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|…
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e>n||+1&&|o+0&&|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i
+| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1| |A|N|D| |f|o|u|r| |…||+1&#ffffff0|x+0&&| |s|e|v|e|n| @18
+|o|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n||+1&&| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1| |A|N|…
+| |o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1| |A|N|D| |f|o|u|r| |…||+1&#ffffff0|c+0&&|u|r|s|o|r| |h|e|r|e| @14
+|c|u|r|s|o|r| |h|e|r|e| @21||+1&&|~+0#4040ff13&| @24
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @3|2|,|3@1| @8|A|l@1| |<+1&&|o| |N|a|m|e|]| |[|+|]| |4|,|8| @6|B|o|t
+|:+0&&|3@1|w|i|n|c|m|d| ||| @48
diff --git a/src/testdir/dumps/Test_prop_with_text_after_trunc_5.dump b/src/testdir/dumps/Test_prop_with_text_after_trunc_5.dump
new file mode 100644
index 0000000..e134443
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_trunc_5.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r||+1&&|o+0&&|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| +0&#ffff4012|o|n|e| |A|N|…
+| +0&#ffffff0|f|i|v|e| |s|i|x| |s|e|v|e|n| +0&#ffff4012|O|N||+1&#ffffff0|o+0&&|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| @7
+|E+0&#ffff4012| |a|n|d| |T|W|O| |a|n|d| |T|H|R|…||+1&#ffffff0| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1| |A|N|D| |f|o|u|r| |A|N|D| |f|i|v|e|…
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r||+1&&|c+0&&|u|r|s|o|r| |h|e|r|e| @29
+@1|f|i|v|e| |s|i>x| |s|e|v|e|n| +0&#ffff4012|o|n||+1&#ffffff0|~+0#4040ff13&| @39
+|e+0#0000000#ffff4012| |A|N|D| |t|w|o| |A|N|D| |t|h|r|…||+1&#ffffff0|~+0#4040ff13&| @39
+|@@2| @14||+1#0000000&|~+0#4040ff13&| @39
+|<+3#0000000&|m|e|]| |[|+|]| |2|,|2|7| @1|T|o|p| |[+1&&|N|o| |N|a|m|e|]| |[|+|]| @9|4|,|8| @11|B|o|t
+|:+0&&|1|8|w|i|n|c|m|d| ||| @48
diff --git a/src/testdir/dumps/Test_prop_with_text_after_wraps_1.dump b/src/testdir/dumps/Test_prop_with_text_after_wraps_1.dump
new file mode 100644
index 0000000..7642f8f
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_after_wraps_1.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| +0&#ffff4012|O|N|E| |a|n|d| |T|W|O| |a|n|d| |T|H|R|E@1| |a|n|d|
+|F|O|U|R| |a|n|d| |F|I|V|E| +0&#ffffff0@46
+|o|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| @26
+@20| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1| |A|N|D| |f|o|u|r| |A|N|D| |f|i|v|e
+|o+0&#ffffff0|n|e| |t|w|o| |t|h|r|e@1| |f|o|u|r| |f|i|v|e| |s|i|x| |s|e|v|e|n| @26
+| +0&#ffff4012|o|n|e| |A|N|D| |t|w|o| |A|N|D| |t|h|r|e@1| |A|N|D| |f|o|u|r| |A|N|D| |f|i|v|e| |l|e|t|s| |w|r|a|p| |a|f|t|e|r| |s|o|m
+|e| |m|o|r|e| |t|e|x|t| +0&#ffffff0@48
+|c|u|r|s|o|r| >h|e|r|e| @48
+@42|4|,|8| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_below_after_match_1.dump b/src/testdir/dumps/Test_prop_with_text_below_after_match_1.dump
new file mode 100644
index 0000000..b4c09fa
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_below_after_match_1.dump
@@ -0,0 +1,8 @@
+| +0#0000e05#a8a8a8255@1>v+0#0000000#ffffff0|i|m|9|s|c|r|i|p|t+0&#ffff4012| +0&#ffffff0@47
+| +0#0000e05#a8a8a8255@1|T+0#ffffff16#ff404010|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| +0#0000000#ffffff0@38
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|o|m|e| |t|e|x|t| @48
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_below_cul_1.dump b/src/testdir/dumps/Test_prop_with_text_below_cul_1.dump
new file mode 100644
index 0000000..0bfd304
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_below_cul_1.dump
@@ -0,0 +1,6 @@
+>s+8&#ffffff0|o|m|e| |t|e|x|t| @50
+@4|T+8&#ffd7ff255|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g| +8&#ffffff0@12
+|l+0&&|a|s|t| |l|i|n|e| @50
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_below_nowrap_1.dump b/src/testdir/dumps/Test_prop_with_text_below_nowrap_1.dump
new file mode 100644
index 0000000..e7f1837
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_below_nowrap_1.dump
@@ -0,0 +1,8 @@
+|o+0&#ffffff0|n|a|s|d|f| |a|s|d|f| |a|s|d|f| |s|d|f| |d|f| |a|s|d|f| |a|s|d|f| |e| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|
+|t+0#e000e06&|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g| +0#0000000&@16
+|t|w>o| @56
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|"+0#0000000&|f|o@1|b|a|r|"| |[|N|e|w|]| @27|2|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_below_nowrap_2.dump b/src/testdir/dumps/Test_prop_with_text_below_nowrap_2.dump
new file mode 100644
index 0000000..0bcaf66
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_below_nowrap_2.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0|a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d| |f|a|s| |d>f|t+0#e000e06&|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e
+|t|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s| |o|v|e|r| |t|h|e| |l|a|z|y| |d|o|g| +0#0000000&@16
+@60
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|"+0#0000000&|f|o@1|b|a|r|"| |[|N|e|w|]| @27|1|,|6@1| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_cursormoved_1.dump b/src/testdir/dumps/Test_prop_with_text_cursormoved_1.dump
new file mode 100644
index 0000000..6a3c9e4
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_cursormoved_1.dump
@@ -0,0 +1,8 @@
+|t+0&#ffffff0|h|i|s| >i|s| |l|i|n|e| |o|n|e|x+0#ffffff16#ff404010@43
+@60
+@16| +0#0000000#ffffff0@43
+|t|h|i|s| |i|s| |l|i|n|e| |t|w|o| @43
+|t|h|r|e@1| @54
+|f|o|u|r| @55
+|f|i|v|e| @55
+@42|1|,|6| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_cursormoved_2.dump b/src/testdir/dumps/Test_prop_with_text_cursormoved_2.dump
new file mode 100644
index 0000000..c1b5f0c
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_cursormoved_2.dump
@@ -0,0 +1,8 @@
+|t+0&#ffffff0|h|i|s| |i|s| |l|i|n|e| |o|n|e| @43
+|t|h|i|s| >i|s| |l|i|n|e| |t|w|o| @43
+|t|h|r|e@1| @54
+|f|o|u|r| @55
+|f|i|v|e| @55
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|2|,|6| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_empty_line_1.dump b/src/testdir/dumps/Test_prop_with_text_empty_line_1.dump
new file mode 100644
index 0000000..426d64e
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_empty_line_1.dump
@@ -0,0 +1,8 @@
+>X+0&#ffff4012@59
+|a+0&#ffffff0@2| @56
+|X+0&#ffff4012@59
+@1| +0&#ffffff0@58
+|b@5| @53
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|1|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_empty_line_2.dump b/src/testdir/dumps/Test_prop_with_text_empty_line_2.dump
new file mode 100644
index 0000000..426d64e
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_empty_line_2.dump
@@ -0,0 +1,8 @@
+>X+0&#ffff4012@59
+|a+0&#ffffff0@2| @56
+|X+0&#ffff4012@59
+@1| +0&#ffffff0@58
+|b@5| @53
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|1|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_empty_line_3.dump b/src/testdir/dumps/Test_prop_with_text_empty_line_3.dump
new file mode 100644
index 0000000..3e3e9ea
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_empty_line_3.dump
@@ -0,0 +1,8 @@
+|X+0&#ffff4012@59
+|a+0&#ffffff0@1>a| @56
+|X+0&#ffff4012@59
+@1| +0&#ffffff0@58
+|b@5| @53
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|2|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_empty_line_4.dump b/src/testdir/dumps/Test_prop_with_text_empty_line_4.dump
new file mode 100644
index 0000000..8689ac4
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_empty_line_4.dump
@@ -0,0 +1,8 @@
+|X+0&#ffff4012@59
+|a+0&#ffffff0@2| @56
+>X+0&#ffff4012@59
+@1| +0&#ffffff0@58
+|b@5| @53
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|3|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_empty_line_5.dump b/src/testdir/dumps/Test_prop_with_text_empty_line_5.dump
new file mode 100644
index 0000000..9ea16dc
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_empty_line_5.dump
@@ -0,0 +1,8 @@
+|X+0&#ffff4012@59
+|a+0&#ffffff0@2| @56
+|X+0&#ffff4012@59
+@1| +0&#ffffff0@58
+|b@4>b| @53
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|4|,|6| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_override_1.dump b/src/testdir/dumps/Test_prop_with_text_override_1.dump
new file mode 100644
index 0000000..50b8511
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_override_1.dump
@@ -0,0 +1,6 @@
+>s+8&#e0e0e08|o|m|e| | +8#4040ff13#40ffff15|i|n|s|e|r|t|e|d| |t+8#0000000#e0e0e08|e|x|t| |h|e|r|e| @35
+|~+0#4040ff13#ffffff0| @58
+|~| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_text_override_2.dump b/src/testdir/dumps/Test_prop_with_text_override_2.dump
new file mode 100644
index 0000000..334929e
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_text_override_2.dump
@@ -0,0 +1,6 @@
+|s+0&#ffffff0|o|m+0&#e0e0e08|e| | +0#4040ff13#40ffff15|i|n|s|e|r|t|e|d| |t+0#0000000#e0e0e08|e|x|t| |h|e>r+0&#ffffff0|e| @35
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@19|1@1| @7|1|,|1|3|-|2|3| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_prop_with_wrap_1.dump b/src/testdir/dumps/Test_prop_with_wrap_1.dump
new file mode 100644
index 0000000..6b6d664
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_with_wrap_1.dump
@@ -0,0 +1,6 @@
+|a+0&#ffffff0|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|s+0#e000e06&|o|m|e| |v|i|r
+|t|u|a|l| |t|e|x|t|d+0#0000000&|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f| |a|s|d|f> @8
+|~+0#4040ff13&| @48
+|~| @48
+|~| @48
+| +0#0000000&@31|1|,|7|5|-|9|2| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_props_after_1.dump b/src/testdir/dumps/Test_props_after_1.dump
new file mode 100644
index 0000000..dd607f6
--- /dev/null
+++ b/src/testdir/dumps/Test_props_after_1.dump
@@ -0,0 +1,8 @@
+|o+0&#ffffff0|n|e| @2|0+0#e000e06&| |1| |2| |3| |4| |5| |6| |7| |8| |9| |1|0| |1@1| |1|2| |1|3| |1|4| |1|5| |1|6| |1|7| |1|8| |1|9| |2|0| |…
+| +0#0000000&@4|0+0#e000e06&|-|1|-|2|-|3|-|4|-|5|-|6|-|7|-|8|-|9|-|1|0|-|1@1|-|1|2|-|1|3|-|1|4|-|1|5|-|1|6|-|1|7|-|1|8|-|1|9|-|2|0|-|2|…
+| +0#0000000&|0+0#e000e06&|.|1|.|2|.|3|.|4|.|5|.|6|.|7|.|8|.|9|.|1|0|.|1@1|.|1|2|.|1|3|.|1|4|.|1|5|.|1|6|.|1|7|.|1|8|.|1|9|.|2|0|.|2|1|.|2@1|…
+|t+0#0000000&|w>o| @56
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|2|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_props_after_2.dump b/src/testdir/dumps/Test_props_after_2.dump
new file mode 100644
index 0000000..146f045
--- /dev/null
+++ b/src/testdir/dumps/Test_props_after_2.dump
@@ -0,0 +1,8 @@
+|o+0&#ffffff0|n|e|$+0#4040ff13&| +0#0000000&@2|0+0#e000e06&| |1| |2| |3| |4| |5| |6| |7| |8| |9| |1|0| |1@1| |1|2| |1|3| |1|4| |1|5| |1|6| |1|7| |1|8| |1|9| |2|0|…
+| +0#0000000&@4|0+0#e000e06&|-|1|-|2|-|3|-|4|-|5|-|6|-|7|-|8|-|9|-|1|0|-|1@1|-|1|2|-|1|3|-|1|4|-|1|5|-|1|6|-|1|7|-|1|8|-|1|9|-|2|0|-|2|…
+| +0#0000000&|0+0#e000e06&|.|1|.|2|.|3|.|4|.|5|.|6|.|7|.|8|.|9|.|1|0|.|1@1|.|1|2|.|1|3|.|1|4|.|1|5|.|1|6|.|1|7|.|1|8|.|1|9|.|2|0|.|2|1|.|2@1|…
+|t+0#0000000&|w>o|$+0#4040ff13&| +0#0000000&@55
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|:+0#0000000&|s|e|t| |l|i|s|t| @32|2|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_pum_preview_1.dump b/src/testdir/dumps/Test_pum_preview_1.dump
new file mode 100644
index 0000000..e8f4225
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_preview_1.dump
@@ -0,0 +1,12 @@
+|o+0&#ffffff0|n|e| |o|t|h|e|r> @65
+|╔+0#0000001#ffd7ff255| |X| +0&#e0e0e08|o|t|h|e|r| @9|═+0&#ffd7ff255@21|X| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|l+0#af5f00255&|e| +0#0000001&|o|n|c|e| @32|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|l+0#af5f00255&|e| +0#0000001&|o|n|l|y| @32|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|e+0#af5f00255&|c| +0#0000001&|o|f@1| @33|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|e+0#af5f00255&|c| +0#0000001&|o|n|e| @33|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|c+0#af5f00255&|a|l@1| +0#0000001&|s+0#00e0e07&|y|s|t|e|m|(+0#e000e06&|'+0#e000002&|e|c|h|o| |h|e|l@1|o|'|)+0#e000e06&| +0#0000001&@14|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|"+0#0000e05&| |t|h|e| |e|n|d| +0#0000001&@30|║| +0#4040ff13#ffffff0@32
+|╚+0#0000001#ffd7ff255|═@39|⇲| +0#4040ff13#ffffff0@32
+|~| @73
+|~| @73
+|-+2#0000000&@1| |K|e|y|w|o|r|d| |c|o|m|p|l|e|t|i|o|n| |(|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |5| +0#0000000&@33
diff --git a/src/testdir/dumps/Test_pum_preview_2.dump b/src/testdir/dumps/Test_pum_preview_2.dump
new file mode 100644
index 0000000..a9fcfc9
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_preview_2.dump
@@ -0,0 +1,12 @@
+|o+0&#ffffff0|n|e| |o|n|c|e> @66
+|╔+0#0000001#ffd7ff255| |X| |o|t|h|e|r| @9|═@21|X| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|l+0#af5f00255&|e| +0#0000001#e0e0e08|o|n|c|e| @10| +0&#ffd7ff255@21|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|l+0#af5f00255&|e| +0#0000001&|o|n|l|y| @32|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|e+0#af5f00255&|c| +0#0000001&|o|f@1| @33|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|e+0#af5f00255&|c| +0#0000001&|o|n|e| @33|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|c+0#af5f00255&|a|l@1| +0#0000001&|s+0#00e0e07&|y|s|t|e|m|(+0#e000e06&|'+0#e000002&|e|c|h|o| |h|e|l@1|o|'|)+0#e000e06&| +0#0000001&@14|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|"+0#0000e05&| |t|h|e| |e|n|d| +0#0000001&@30|║| +0#4040ff13#ffffff0@32
+|╚+0#0000001#ffd7ff255|═@39|⇲| +0#4040ff13#ffffff0@32
+|~| @73
+|~| @73
+|-+2#0000000&@1| |K|e|y|w|o|r|d| |c|o|m|p|l|e|t|i|o|n| |(|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |2| |o|f| |5| +0#0000000&@33
diff --git a/src/testdir/dumps/Test_pum_preview_3.dump b/src/testdir/dumps/Test_pum_preview_3.dump
new file mode 100644
index 0000000..6b14ce3
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_preview_3.dump
@@ -0,0 +1,12 @@
+|o+0&#ffffff0|n|e| |o|n|l|y> @66
+|╔+0#0000001#ffd7ff255| |X| |o|t|h|e|r| @9|═@21|X| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|l+0#af5f00255&|e| +0#0000001&|o|n|c|e| @32|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|l+0#af5f00255&|e| +0#0000001#e0e0e08|o|n|l|y| @10| +0&#ffd7ff255@21|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|e+0#af5f00255&|c| +0#0000001&|o|f@1| @33|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|e+0#af5f00255&|c| +0#0000001&|o|n|e| @33|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|c+0#af5f00255&|a|l@1| +0#0000001&|s+0#00e0e07&|y|s|t|e|m|(+0#e000e06&|'+0#e000002&|e|c|h|o| |h|e|l@1|o|'|)+0#e000e06&| +0#0000001&@14|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|"+0#0000e05&| |t|h|e| |e|n|d| +0#0000001&@30|║| +0#4040ff13#ffffff0@32
+|╚+0#0000001#ffd7ff255|═@39|⇲| +0#4040ff13#ffffff0@32
+|~| @73
+|~| @73
+|-+2#0000000&@1| |K|e|y|w|o|r|d| |c|o|m|p|l|e|t|i|o|n| |(|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |3| |o|f| |5| +0#0000000&@33
diff --git a/src/testdir/dumps/Test_pum_preview_4.dump b/src/testdir/dumps/Test_pum_preview_4.dump
new file mode 100644
index 0000000..40254a8
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_preview_4.dump
@@ -0,0 +1,12 @@
+|o+0&#ffffff0|n|e| |o|f@1> @67
+|╔+0#0000001#ffd7ff255| |X| |o|t|h|e|r| @9|═@21|X| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|l+0#af5f00255&|e| +0#0000001&|o|n|c|e| @32|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|l+0#af5f00255&|e| +0#0000001&|o|n|l|y| @32|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|e+0#af5f00255&|c| +0#0000001#e0e0e08|o|f@1| @11| +0&#ffd7ff255@21|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|e+0#af5f00255&|c| +0#0000001&|o|n|e| @33|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|c+0#af5f00255&|a|l@1| +0#0000001&|s+0#00e0e07&|y|s|t|e|m|(+0#e000e06&|'+0#e000002&|e|c|h|o| |h|e|l@1|o|'|)+0#e000e06&| +0#0000001&@14|║| +0#0000000#ffffff0@32
+|║+0#0000001#ffd7ff255|"+0#0000e05&| |t|h|e| |e|n|d| +0#0000001&@30|║| +0#4040ff13#ffffff0@32
+|╚+0#0000001#ffd7ff255|═@39|⇲| +0#4040ff13#ffffff0@32
+|~| @73
+|~| @73
+|-+2#0000000&@1| |K|e|y|w|o|r|d| |c|o|m|p|l|e|t|i|o|n| |(|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |4| |o|f| |5| +0#0000000&@33
diff --git a/src/testdir/dumps/Test_pum_rightleft_01.dump b/src/testdir/dumps/Test_pum_rightleft_01.dump
new file mode 100644
index 0000000..8e8f6b4
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_rightleft_01.dump
@@ -0,0 +1,8 @@
+|w+0&#ffffff0|v|u|t|s|r|q|p|o|n|m|l|k|j|i|h|g|f|e|d|c|b|a|z|y|x|w|v|u|t|s|r|q|p|o|n|m|l|k|j|i|h|g|f|e|d|c|b|a|z|y|x|w|v|u|t|s|r|q|p|o|n|m|l|k|j|i|h|g|f|e|d|c|b|a
+| @45|z|y|x|w|v|u|t|s|r|q|p|o|n|m|l|k|j|i|h|g|f|e|d|c|b|a|z|y|x
+| @71|m|i|v
+| @67|y|r|o|t|c|i|v
+| @66> |y|r|o|t|c|i|v
+|w+0#0000001#ffd7ff255|v|u|t|s|r|q|p|o|n|m|l|k|j|i|h|g|f|e|d|c|b|a|z|y|x|w|v|u|t|s|r|q|p|o|n|m|l|k|j|i|h|g|f|e|d|c|b|a|z|y|x|w|v|u|t|s|r|q|p|o|n|m|l|k|j|i|h|g|f|e|d|c|b|a
+| @71|m|i|v
+| +0&#e0e0e08@67|y|r|o|t|c|i|v
diff --git a/src/testdir/dumps/Test_pum_rightleft_02.dump b/src/testdir/dumps/Test_pum_rightleft_02.dump
new file mode 100644
index 0000000..0c658c0
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_rightleft_02.dump
@@ -0,0 +1,7 @@
+| +0&#ffffff0@63|o|w|t| @4|e|n|o
+| @61|e@1|r|h|t| @4|e|n|o
+| @70|r|u|o|f
+| @60> |e@1|r|h|t| @4|e|n|o
+| +0#4040ff13&@59| +0#0000001#ffd7ff255@6|o|w|t| @1|e|n|o
+| +0#4040ff13#ffffff0@59| +0#0000001#e0e0e08@4|e@1|r|h|t| @1|e|n|o
+| +0#4040ff13#ffffff0@73|~
diff --git a/src/testdir/dumps/Test_pum_scrollbar_01.dump b/src/testdir/dumps/Test_pum_scrollbar_01.dump
new file mode 100644
index 0000000..af134d0
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_scrollbar_01.dump
@@ -0,0 +1,7 @@
+|o+0&#ffffff0|n|e| @71
+|t|w|o| @71
+|t|h|r|e@1| @69
+|o|n|e> @71
+|o+0#0000001#e0e0e08|n|e| @11| +0#0000000#0000001| +0#4040ff13#ffffff0@58
+|t+0#0000001#ffd7ff255|w|o| @11| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@58
+|~| @73
diff --git a/src/testdir/dumps/Test_pum_scrollbar_02.dump b/src/testdir/dumps/Test_pum_scrollbar_02.dump
new file mode 100644
index 0000000..1a462bc
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_scrollbar_02.dump
@@ -0,0 +1,7 @@
+| +0&#ffffff0@71|e|n|o
+| @71|o|w|t
+| @69|e@1|r|h|t
+| @70> |e|n|o
+| +0#4040ff13&@58| +0#0000000#0000001| +0#0000001#e0e0e08@11|e|n|o
+| +0#4040ff13#ffffff0@58| +0#0000000#a8a8a8255| +0#0000001#ffd7ff255@11|o|w|t
+| +0#4040ff13#ffffff0@73|~
diff --git a/src/testdir/dumps/Test_pum_stopped_by_timer.dump b/src/testdir/dumps/Test_pum_stopped_by_timer.dump
new file mode 100644
index 0000000..77ad5ce
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_stopped_by_timer.dump
@@ -0,0 +1,12 @@
+|h+0&#ffffff0|e|l@1|o| @69
+|h|u|l@1|o| @69
+|h|e@2>e| @69
+|h|e|l@1|o| @69
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|3|,|5| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_pum_with_folds_two_tabs.dump b/src/testdir/dumps/Test_pum_with_folds_two_tabs.dump
new file mode 100644
index 0000000..2414cdc
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_with_folds_two_tabs.dump
@@ -0,0 +1,10 @@
+| +8#0000001#e0e0e08|+| |[|N|o| |N|a|m|e|]| | +2#0000000#ffffff0|+| |[|N|o| |N|a|m|e|]| | +1&&@47|X+8#0000001#e0e0e08
+|"+0#0000000#ffffff0| |x| |{@2|1| @66
+|"| |a|0> |s|o|m|e| |t|e|x|t| @60
+|"| +0#0000001#e0e0e08|a|0| @12| +0#0000000#0000001| +0&#ffffff0@56
+|"| +0#0000001#ffd7ff255|a|1| @12| +0#0000000#0000001| +0&#ffffff0@56
+|"| +0#0000001#ffd7ff255|a|2| @12| +0#0000000#0000001| +0&#ffffff0@56
+|"| +0#0000001#ffd7ff255|a|3| @12| +0#0000000#a8a8a8255| +0&#ffffff0@56
+|"| +0#0000001#ffd7ff255|a|4| @12| +0#0000000#a8a8a8255| +0&#ffffff0@56
+|"| +0#0000001#ffd7ff255|a|5| @12| +0#0000000#a8a8a8255| +0&#ffffff0@56
+|-+2&&@1| |K|e|y|w|o|r|d| |c|o|m|p|l|e|t|i|o|n| |(|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |1|0| +0#0000000&@32
diff --git a/src/testdir/dumps/Test_pum_with_preview_win.dump b/src/testdir/dumps/Test_pum_with_preview_win.dump
new file mode 100644
index 0000000..ad0df78
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_with_preview_win.dump
@@ -0,0 +1,12 @@
+|1+0&#ffffff0|i|n|f|o| @69
+|~+0#4040ff13&| @73
+|~| @73
+|[+1#0000000&|S|c|r|a|t|c|h|]| |[|P|r|e|v|i|e|w|]| @37|1|,|1| @11|A|l@1
+|o+0&&|n|e> @71
+|o+0#0000001#e0e0e08|n|e| @11| +0#4040ff13#ffffff0@59
+|t+0#0000001#ffd7ff255|w|o| @11| +0#4040ff13#ffffff0@59
+|t+0#0000001#ffd7ff255|h|r|e@1| @9| +0#4040ff13#ffffff0@59
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|A|l@1
+|-+2&&@1| |O|m|n|i| |c|o|m|p|l|e|t|i|o|n| |(|^|O|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |3| +0#0000000&@34
diff --git a/src/testdir/dumps/Test_quickfix_cwindow_1.dump b/src/testdir/dumps/Test_quickfix_cwindow_1.dump
new file mode 100644
index 0000000..c2b4872
--- /dev/null
+++ b/src/testdir/dumps/Test_quickfix_cwindow_1.dump
@@ -0,0 +1,12 @@
+|s+0&#ffffff0|o|m|e| @70
+|t|e|x|t| @70
+|w|i|t|h| @70
+|m|a|t|c|h|e|s| @67
+|~+0#4040ff13&| @73
+|X+1#0000000&|C|w|i|n|d|o|w| @48|1|,|4| @11|A|l@1
+>X+0#0000e05#ffff4012|C|w|i|n|d|o|w||+0#0000000&|1+0#af5f00255&| |c|o|l| |4|-|5||+0#0000000&| |s|o|m|e| @50
+|X+0#0000e05#ffffff0|C|w|i|n|d|o|w||+0#0000000&|2+0#af5f00255&| |c|o|l| |2|-|3||+0#0000000&| |t|e|x|t| @50
+|X+0#0000e05&|C|w|i|n|d|o|w||+0#0000000&|4+0#af5f00255&| |c|o|l| |6|-|7||+0#0000000&| |m|a|t|c|h|e|s| @47
+|~+0#4040ff13&| @73
+|[+3#0000000&|Q|u|i|c|k|f|i|x| |L|i|s|t|]| |:|v|i|m|g|r|e|p| |e| |X|C|w|i|n|d|o|w| @20|1|,|1| @12|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_quickfix_cwindow_2.dump b/src/testdir/dumps/Test_quickfix_cwindow_2.dump
new file mode 100644
index 0000000..0e7fa3c
--- /dev/null
+++ b/src/testdir/dumps/Test_quickfix_cwindow_2.dump
@@ -0,0 +1,12 @@
+|s+0&#ffffff0|o|m|e| @70
+|t>e|x|t| @70
+|w|i|t|h| @70
+|m|a|t|c|h|e|s| @67
+|~+0#4040ff13&| @73
+|X+3#0000000&|C|w|i|n|d|o|w| @48|2|,|2| @11|A|l@1
+|X+0#0000e05&|C|w|i|n|d|o|w||+0#0000000&|1+0#af5f00255&| |c|o|l| |4|-|5||+0#0000000&| |s|o|m|e| @50
+|X+0#0000e05#ffff4012|C|w|i|n|d|o|w||+0#0000000&|2+0#af5f00255&| |c|o|l| |2|-|3||+0#0000000&| |t|e|x|t| @50
+|X+0#0000e05#ffffff0|C|w|i|n|d|o|w||+0#0000000&|4+0#af5f00255&| |c|o|l| |6|-|7||+0#0000000&| |m|a|t|c|h|e|s| @47
+|~+0#4040ff13&| @73
+|[+1#0000000&|Q|u|i|c|k|f|i|x| |L|i|s|t|]| |:|v|i|m|g|r|e|p| |e| |X|C|w|i|n|d|o|w| @20|2|,|1| @12|A|l@1
+|:+0&&|c|n|e|x|t| @68
diff --git a/src/testdir/dumps/Test_quickfix_cwindow_3.dump b/src/testdir/dumps/Test_quickfix_cwindow_3.dump
new file mode 100644
index 0000000..d4a2e16
--- /dev/null
+++ b/src/testdir/dumps/Test_quickfix_cwindow_3.dump
@@ -0,0 +1,12 @@
+|s+0&#ffffff0|o|m|e| @70
+|t|e|x|t| @70
+|w|i|t|h| @70
+|m|a|t|c|h|e|s| @67
+|~+0#4040ff13&| @73
+|X+1#0000000&|C|w|i|n|d|o|w| @48|2|,|2| @11|A|l@1
+|X+0#0000e05&|C|w|i|n|d|o|w||+0#0000000&|1+0#af5f00255&| |c|o|l| |4|-|5||+0#0000000&| |s|o|m|e| @50
+>X+8#0000e05#ffff4012|C|w|i|n|d|o|w||+8#0000000&|2+8#af5f00255&| |c|o|l| |2|-|3||+8#0000000&| |t|e|x|t| @50
+|X+0#0000e05#ffffff0|C|w|i|n|d|o|w||+0#0000000&|4+0#af5f00255&| |c|o|l| |6|-|7||+0#0000000&| |m|a|t|c|h|e|s| @47
+|~+0#4040ff13&| @73
+|[+3#0000000&|Q|u|i|c|k|f|i|x| |L|i|s|t|]| |:|v|i|m|g|r|e|p| |e| |X|C|w|i|n|d|o|w| @20|2|,|1| @12|A|l@1
+|:+0&&| @73
diff --git a/src/testdir/dumps/Test_quickfix_cwindow_4.dump b/src/testdir/dumps/Test_quickfix_cwindow_4.dump
new file mode 100644
index 0000000..bb92ffc
--- /dev/null
+++ b/src/testdir/dumps/Test_quickfix_cwindow_4.dump
@@ -0,0 +1,12 @@
+|s+0&#ffffff0|o|m|e| @70
+|t|e|x|t| @70
+|w|i|t|h| @70
+|m|a|t|c|h|e|s| @67
+|~+0#4040ff13&| @73
+|X+1#0000000&|C|w|i|n|d|o|w| @48|2|,|2| @11|A|l@1
+|X+0#0000e05&|C|w|i|n|d|o|w||+0#0000000&|1+0#af5f00255&| |c|o|l| |4|-|5||+0#0000000&| |s|o|m|e| @50
+|X+0#0000e05#ffff4012|C|w|i|n|d|o|w||+0#0000000&|2+0#af5f00255&| |c|o|l| |2|-|3||+0#0000000&| |t|e|x|t| @50
+>X+8#0000e05#ffffff0|C|w|i|n|d|o|w||+8#0000000&|4+8#af5f00255&| |c|o|l| |6|-|7||+8#0000000&| |m|a|t|c|h|e|s| @47
+|~+0#4040ff13&| @73
+|[+3#0000000&|Q|u|i|c|k|f|i|x| |L|i|s|t|]| |:|v|i|m|g|r|e|p| |e| |X|C|w|i|n|d|o|w| @20|3|,|1| @12|A|l@1
+|:+0&&| @73
diff --git a/src/testdir/dumps/Test_quickfix_window_fails.dump b/src/testdir/dumps/Test_quickfix_window_fails.dump
new file mode 100644
index 0000000..769e30a
--- /dev/null
+++ b/src/testdir/dumps/Test_quickfix_window_fails.dump
@@ -0,0 +1,13 @@
+|a+0&#ffffff0|n|y|t|h|i|n|g| @66
+> @74
+|t|r|y| @71
+|X+3&&|q|u|i|c|k|f|i|x|F|a|i|l|s| |[|+|]| @38|2|,|0|-|1| @9|T|o|p
+| +0&&@74
+|t|r|y| @71
+@2|a|n|y|t|h|i|n|g| @64
+|X+1&&|q|u|i|c|k|f|i|x|F|a|i|l|s| |[|+|]| @38|2|,|0|-|1| @9|5|0|%
+| +0&&@74
+|~+0#4040ff13&| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_quit_long_message.dump b/src/testdir/dumps/Test_quit_long_message.dump
new file mode 100644
index 0000000..270a233
--- /dev/null
+++ b/src/testdir/dumps/Test_quit_long_message.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_redraw_in_autocmd_1.dump b/src/testdir/dumps/Test_redraw_in_autocmd_1.dump
new file mode 100644
index 0000000..8939b70
--- /dev/null
+++ b/src/testdir/dumps/Test_redraw_in_autocmd_1.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|f|o|r| |i| |i|n| |r|a|n|g|e|(|3|)| @56
+|:| @1> @71
diff --git a/src/testdir/dumps/Test_redraw_in_autocmd_2.dump b/src/testdir/dumps/Test_redraw_in_autocmd_2.dump
new file mode 100644
index 0000000..17b7e04
--- /dev/null
+++ b/src/testdir/dumps/Test_redraw_in_autocmd_2.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&| @1|l|e|t| |i| |=> @64
+@75
diff --git a/src/testdir/dumps/Test_redrawstatus_in_autocmd_1.dump b/src/testdir/dumps/Test_redrawstatus_in_autocmd_1.dump
new file mode 100644
index 0000000..d6b3c0d
--- /dev/null
+++ b/src/testdir/dumps/Test_redrawstatus_in_autocmd_1.dump
@@ -0,0 +1,8 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+| +3#0000000&@45|:|e|c|h|o| |"|o|n|e|\|n|t|w|o|\|n|t|h|r|e@1|\|n|f|o|u|r|"
+|o+0&&|n|e| @71
+|t|w|o| @71
+|t|h|r|e@1| @69
+|f|o|u|r| @70
+|:|f|o@1|b|a|r> @67
diff --git a/src/testdir/dumps/Test_redrawstatus_in_autocmd_2.dump b/src/testdir/dumps/Test_redrawstatus_in_autocmd_2.dump
new file mode 100644
index 0000000..0c28c20
--- /dev/null
+++ b/src/testdir/dumps/Test_redrawstatus_in_autocmd_2.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +3#0000000&@55|:|f|o|r| |i|n| |i|n| |r|a|n|g|e|(|3|)
+|:+0&&|f|o|r| |i|n| |i|n| |r|a|n|g|e|(|3|)> @55
diff --git a/src/testdir/dumps/Test_redrawstatus_in_autocmd_3.dump b/src/testdir/dumps/Test_redrawstatus_in_autocmd_3.dump
new file mode 100644
index 0000000..9b64605
--- /dev/null
+++ b/src/testdir/dumps/Test_redrawstatus_in_autocmd_3.dump
@@ -0,0 +1,8 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +3#0000000&@55|:|f|o|r| |i|n| |i|n| |r|a|n|g|e|(|3|)
+|:+0&&|f|o|r| |i|n| |i|n| |r|a|n|g|e|(|3|)| @55
+|:| @1|:|e|n|d|f|o|r> @64
diff --git a/src/testdir/dumps/Test_redrawstatus_in_autocmd_4.dump b/src/testdir/dumps/Test_redrawstatus_in_autocmd_4.dump
new file mode 100644
index 0000000..8ed408c
--- /dev/null
+++ b/src/testdir/dumps/Test_redrawstatus_in_autocmd_4.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +3#0000000&@55|:|f|o|r| |i|n| |i|n| |r|a|n|g|e|(|3|)
+|:+0&&|f|o|r| |i|n| |i|n| |r|a|n|g|e|(|3|)> @55
+@75
diff --git a/src/testdir/dumps/Test_redrawstatus_in_autocmd_5.dump b/src/testdir/dumps/Test_redrawstatus_in_autocmd_5.dump
new file mode 100644
index 0000000..d3e28a8
--- /dev/null
+++ b/src/testdir/dumps/Test_redrawstatus_in_autocmd_5.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +3#0000000&@66|:@1|e|n|d|f|o|r
+|:+0&&|f|o|r| |i|n| |i|n| |r|a|n|g|e|(|3|)| @55
+|:| @1|:|e|n|d|f|o|r> @64
diff --git a/src/testdir/dumps/Test_relativenumber_callback_1.dump b/src/testdir/dumps/Test_relativenumber_callback_1.dump
new file mode 100644
index 0000000..f25612d
--- /dev/null
+++ b/src/testdir/dumps/Test_relativenumber_callback_1.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|0| >a+0#0000000&@4| @65
+| +0#af5f00255&@1|1| |b+0#0000000&@4| @65
+| +0#af5f00255&@1|2| |c+0#0000000&@4| @65
+| +0#af5f00255&@1|3| |d+0#0000000&@4| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|4|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_relnr_colors_1.dump b/src/testdir/dumps/Test_relnr_colors_1.dump
new file mode 100644
index 0000000..ad0ddd9
--- /dev/null
+++ b/src/testdir/dumps/Test_relnr_colors_1.dump
@@ -0,0 +1,10 @@
+| +0#ff404010#ffffff0@1|4| |1+0#0000000&|0|6| @42
+| +0#ff404010&@1|3| |1+0#0000000&|0|7| @42
+| +0#ff404010&@1|2| |1+0#0000000&|0|8| @42
+| +0#ff404010&@1|1| |1+0#0000000&|0|9| @42
+|1+0#ff404010&@2| >1+0#0000000&@1|0| @42
+| +0#ff404010&@1|1| |1+0#0000000&@2| @42
+| +0#ff404010&@1|2| |1+0#0000000&@1|2| @42
+| +0#ff404010&@1|3| |1+0#0000000&@1|3| @42
+| +0#ff404010&@1|4| |1+0#0000000&@1|4| @42
+@32|1@2|,|1| @8|5@1|%|
diff --git a/src/testdir/dumps/Test_relnr_colors_2.dump b/src/testdir/dumps/Test_relnr_colors_2.dump
new file mode 100644
index 0000000..e9de7fa
--- /dev/null
+++ b/src/testdir/dumps/Test_relnr_colors_2.dump
@@ -0,0 +1,10 @@
+| +0#4040ff13#ffffff0@1|4| |1+0#0000000&|0|6| @42
+| +0#4040ff13&@1|3| |1+0#0000000&|0|7| @42
+| +0#4040ff13&@1|2| |1+0#0000000&|0|8| @42
+| +0#4040ff13&@1|1| |1+0#0000000&|0|9| @42
+|1+0#ff404010&@2| >1+0#0000000&@1|0| @42
+| +0#ff404010&@1|1| |1+0#0000000&@2| @42
+| +0#ff404010&@1|2| |1+0#0000000&@1|2| @42
+| +0#ff404010&@1|3| |1+0#0000000&@1|3| @42
+| +0#ff404010&@1|4| |1+0#0000000&@1|4| @42
+|:| @30|1@2|,|1| @8|5@1|%|
diff --git a/src/testdir/dumps/Test_relnr_colors_3.dump b/src/testdir/dumps/Test_relnr_colors_3.dump
new file mode 100644
index 0000000..65f637a
--- /dev/null
+++ b/src/testdir/dumps/Test_relnr_colors_3.dump
@@ -0,0 +1,10 @@
+| +0#4040ff13#ffffff0@1|4| |1+0#0000000&|0|6| @42
+| +0#4040ff13&@1|3| |1+0#0000000&|0|7| @42
+| +0#4040ff13&@1|2| |1+0#0000000&|0|8| @42
+| +0#4040ff13&@1|1| |1+0#0000000&|0|9| @42
+|1+0#ff404010&@2| >1+0#0000000&@1|0| @42
+| +0#40ff4011&@1|1| |1+0#0000000&@2| @42
+| +0#40ff4011&@1|2| |1+0#0000000&@1|2| @42
+| +0#40ff4011&@1|3| |1+0#0000000&@1|3| @42
+| +0#40ff4011&@1|4| |1+0#0000000&@1|4| @42
+|:| @30|1@2|,|1| @8|5@1|%|
diff --git a/src/testdir/dumps/Test_relnr_colors_4.dump b/src/testdir/dumps/Test_relnr_colors_4.dump
new file mode 100644
index 0000000..8202819
--- /dev/null
+++ b/src/testdir/dumps/Test_relnr_colors_4.dump
@@ -0,0 +1,10 @@
+| +0#ff404010#ffffff0@1|4| |1+0#0000000&|0|6| @42
+| +0#ff404010&@1|3| |1+0#0000000&|0|7| @42
+| +0#ff404010&@1|2| |1+0#0000000&|0|8| @42
+| +0#ff404010&@1|1| |1+0#0000000&|0|9| @42
+|1+0#ff404010&@2| >1+0#0000000&@1|0| @42
+| +0#40ff4011&@1|1| |1+0#0000000&@2| @42
+| +0#40ff4011&@1|2| |1+0#0000000&@1|2| @42
+| +0#40ff4011&@1|3| |1+0#0000000&@1|3| @42
+| +0#40ff4011&@1|4| |1+0#0000000&@1|4| @42
+|:|h|i| |c|l|e|a|r| |L|i|n|e|N|r|A|b|o|v|e| @10|1@2|,|1| @8|5@1|%|
diff --git a/src/testdir/dumps/Test_scroll_no_region_1.dump b/src/testdir/dumps/Test_scroll_no_region_1.dump
new file mode 100644
index 0000000..c0c21b5
--- /dev/null
+++ b/src/testdir/dumps/Test_scroll_no_region_1.dump
@@ -0,0 +1,10 @@
+>1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+| +0&&@74
diff --git a/src/testdir/dumps/Test_scroll_no_region_2.dump b/src/testdir/dumps/Test_scroll_no_region_2.dump
new file mode 100644
index 0000000..b8f7c03
--- /dev/null
+++ b/src/testdir/dumps/Test_scroll_no_region_2.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0| @73
+|2| @73
+>4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1| @11|T|o|p
+| +0&&@74
diff --git a/src/testdir/dumps/Test_scroll_no_region_3.dump b/src/testdir/dumps/Test_scroll_no_region_3.dump
new file mode 100644
index 0000000..7ec5a3c
--- /dev/null
+++ b/src/testdir/dumps/Test_scroll_no_region_3.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0| @73
+|2| @73
+|4| @73
+|5| @73
+>3| @73
+|6| @73
+|7| @73
+|8| @73
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @43|5|,|1| @11|T|o|p
+| +0&&@74
diff --git a/src/testdir/dumps/Test_scroll_no_region_4.dump b/src/testdir/dumps/Test_scroll_no_region_4.dump
new file mode 100644
index 0000000..835a991
--- /dev/null
+++ b/src/testdir/dumps/Test_scroll_no_region_4.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0| @73
+|2| @73
+>3| @73
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+|:|s|e|t| |l|a|s|t|s|t|a|t|u|s|=|0| @39|3|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_scroll_no_region_5.dump b/src/testdir/dumps/Test_scroll_no_region_5.dump
new file mode 100644
index 0000000..98152c7
--- /dev/null
+++ b/src/testdir/dumps/Test_scroll_no_region_5.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0| @73
+|2| @73
+>4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+|1|0| @72
+@57|3|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_scroll_no_region_6.dump b/src/testdir/dumps/Test_scroll_no_region_6.dump
new file mode 100644
index 0000000..0394608
--- /dev/null
+++ b/src/testdir/dumps/Test_scroll_no_region_6.dump
@@ -0,0 +1,10 @@
+|1+0&#ffffff0| @73
+|2| @73
+|4| @73
+|5| @73
+>3| @73
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+@57|5|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_scrollbar_on_wide_char.dump b/src/testdir/dumps/Test_scrollbar_on_wide_char.dump
new file mode 100644
index 0000000..04d7e7e
--- /dev/null
+++ b/src/testdir/dumps/Test_scrollbar_on_wide_char.dump
@@ -0,0 +1,10 @@
+|a+0&#ffffff0@1|0|b@1> @69
+|a+0#0000001#e0e0e08@1|0|b@1| @9| +0#0000000#0000001|啊*0&#ffffff0| +&@56
+|a+0#0000001#ffd7ff255@1|1|b@1| @9| +0#0000000#0000001| +0&#ffffff0|哦*&| +&@55
+|a+0#0000001#ffd7ff255@1|2|b@1| @9| +0#0000000#0000001|呃*0&#ffffff0@1| +&@54
+|a+0#0000001#ffd7ff255@1|3|b@1| @9| +0#0000000#0000001| +0&#ffffff0@58
+|a+0#0000001#ffd7ff255@1|4|b@1| @9| +0#0000000#0000001| +0&#ffffff0@58
+|a+0#0000001#ffd7ff255@1|5|b@1| @9| +0#0000000#0000001| +0&#ffffff0@58
+|a+0#0000001#ffd7ff255@1|6|b@1| @9| +0#0000000#a8a8a8255| +0&#ffffff0@58
+|a+0#0000001#ffd7ff255@1|7|b@1| @9| +0#0000000#a8a8a8255| +0&#ffffff0@58
+|-+2&&@1| |K|e|y|w|o|r|d| |c|o|m|p|l|e|t|i|o|n| |(|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |1| |o|f| |1|0| +0#0000000&@32
diff --git a/src/testdir/dumps/Test_searchstat_1.dump b/src/testdir/dumps/Test_searchstat_1.dump
new file mode 100644
index 0000000..52b13f2
--- /dev/null
+++ b/src/testdir/dumps/Test_searchstat_1.dump
@@ -0,0 +1,10 @@
+|f+0&#ffffff0|o@1|b|a|r| @68
+>f|i|n|d| |t|h|i|s| @65
+|f|o@4|b|a|r| @65
+|f|o|b|a| @70
+|f|o@1|b|a|r| @68
+|f|o@1|b|a|r| @68
+|f|o@1| @71
+|f|o@4|b|a|r| @65
+|f|o|b|a| @70
+|/|f|i|n|d| |t|h|i|s| @29|[|1|/|2|]| @11|2|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_searchstat_2.dump b/src/testdir/dumps/Test_searchstat_2.dump
new file mode 100644
index 0000000..a6ced4f
--- /dev/null
+++ b/src/testdir/dumps/Test_searchstat_2.dump
@@ -0,0 +1,10 @@
+|f+0&#ffffff0|o@1|b|a|r| @68
+>f|i|n|d| |t|h|i|s| @65
+|f|o@4|b|a|r| @65
+|f|o|b|a| @70
+|f|o@1|b|a|r| @68
+|f|o@1|b|a|r| @68
+|f|o@1| @71
+|f|o@4|b|a|r| @65
+|f|o|b|a| @70
+@40|[|1|/|2|]| @11|2|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_searchstat_3.dump b/src/testdir/dumps/Test_searchstat_3.dump
new file mode 100644
index 0000000..a21b47e
--- /dev/null
+++ b/src/testdir/dumps/Test_searchstat_3.dump
@@ -0,0 +1,10 @@
+|i+0&#ffffff0|f| @72
+>++0#0000e05#a8a8a8255|-@1| @1|2| |l|i|n|e|s|:| |f|o@1|-@57
+|e+0#0000000#ffffff0|n|d|i|f| @69
+@75
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|/+0#0000000&|f|o@1| @35|[|1|/|2|]| @11|2|,|2|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_searchstat_4.dump b/src/testdir/dumps/Test_searchstat_4.dump
new file mode 100644
index 0000000..899c8fb
--- /dev/null
+++ b/src/testdir/dumps/Test_searchstat_4.dump
@@ -0,0 +1,10 @@
+|t+0&#ffffff0|h|i|s| |i|s| |s+1&&|o|m|e|t|h|i|n|g| +0&&@57
+@75
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|1|/|1|]| @69
+|/+0&&|s|o|m|e|t|h|i|n|g> @64
diff --git a/src/testdir/dumps/Test_searchstat_inc_1.dump b/src/testdir/dumps/Test_searchstat_inc_1.dump
new file mode 100644
index 0000000..aa4b6c5
--- /dev/null
+++ b/src/testdir/dumps/Test_searchstat_inc_1.dump
@@ -0,0 +1,10 @@
+| +1&#ffffff0@74
+|a+0#0000001#ffff4012|b|c|-+0#0000000#ffffff0@1|c| @68
+|-@7|a+1&&|b|c| +0&&@63
+|-@1|a+0#0000001#ffff4012|b|c| +0#0000000#ffffff0@69
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|/+0#0000000&|a|b|c> @70
diff --git a/src/testdir/dumps/Test_searchstat_inc_2.dump b/src/testdir/dumps/Test_searchstat_inc_2.dump
new file mode 100644
index 0000000..3b580ef
--- /dev/null
+++ b/src/testdir/dumps/Test_searchstat_inc_2.dump
@@ -0,0 +1,10 @@
+|3+1&#ffffff0|/|3| @71
+|a+0#0000001#ffff4012|b|c|-+0#0000000#ffffff0@1|c| @68
+|-@7|a+0#0000001#ffff4012|b|c| +0#0000000#ffffff0@63
+|-@1|a+1&&|b|c| +0&&@69
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|/+0#0000000&|a|b|c> @70
diff --git a/src/testdir/dumps/Test_searchstat_inc_3.dump b/src/testdir/dumps/Test_searchstat_inc_3.dump
new file mode 100644
index 0000000..a57b4d1
--- /dev/null
+++ b/src/testdir/dumps/Test_searchstat_inc_3.dump
@@ -0,0 +1,10 @@
+|1+1&#ffffff0|/|3| @71
+|a|b|c|-+0&&@1|c| @68
+|-@7|a+0#0000001#ffff4012|b|c| +0#0000000#ffffff0@63
+|-@1|a+0#0000001#ffff4012|b|c| +0#0000000#ffffff0@69
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|/+0#0000000&|a|b|c> @70
diff --git a/src/testdir/dumps/Test_searchstatgd_1.dump b/src/testdir/dumps/Test_searchstatgd_1.dump
new file mode 100644
index 0000000..672af91
--- /dev/null
+++ b/src/testdir/dumps/Test_searchstatgd_1.dump
@@ -0,0 +1,10 @@
+|i+0&#ffffff0|n|t| |c|a|t|;| @66
+|i|n|t| >d+0&#ffff4012|o|g|;+0&#ffffff0| @66
+|c|a|t| |=| |d+0&#ffff4012|o|g|;+0&#ffffff0| @64
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|/+0#0000000&|d|o|g| @35|[|1|/|2|]| @11|2|,|5| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_searchstatgd_2.dump b/src/testdir/dumps/Test_searchstatgd_2.dump
new file mode 100644
index 0000000..ea1ac4d
--- /dev/null
+++ b/src/testdir/dumps/Test_searchstatgd_2.dump
@@ -0,0 +1,10 @@
+|i+0&#ffffff0|n|t| >c+0&#ffff4012|a|t|;+0&#ffffff0| @66
+|i|n|t| |d|o|g|;| @66
+|c+0&#ffff4012|a|t| +0&#ffffff0|=| |d|o|g|;| @64
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|5| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_setcellwidths_dump_1.dump b/src/testdir/dumps/Test_setcellwidths_dump_1.dump
new file mode 100644
index 0000000..0bb2788
--- /dev/null
+++ b/src/testdir/dumps/Test_setcellwidths_dump_1.dump
@@ -0,0 +1,6 @@
+>+0&#ffffff0|D|e|s|k|t|o|p| @66
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_setcellwidths_dump_2.dump b/src/testdir/dumps/Test_setcellwidths_dump_2.dump
new file mode 100644
index 0000000..f7b4b0f
--- /dev/null
+++ b/src/testdir/dumps/Test_setcellwidths_dump_2.dump
@@ -0,0 +1,6 @@
+>+0&#ffffff0| |D|e|s|k|t|o|p| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_sign_cursor_1.dump b/src/testdir/dumps/Test_sign_cursor_1.dump
new file mode 100644
index 0000000..9ca4481
--- /dev/null
+++ b/src/testdir/dumps/Test_sign_cursor_1.dump
@@ -0,0 +1,6 @@
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@72
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@1| @70
+|=+0&#ffff4012|>>m+0&#ffffff0@3| @68
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0@3| @68
+|~+0#4040ff13&| @73
+| +0#0000000&@56|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_sign_cursor_2.dump b/src/testdir/dumps/Test_sign_cursor_2.dump
new file mode 100644
index 0000000..2d10a2c
--- /dev/null
+++ b/src/testdir/dumps/Test_sign_cursor_2.dump
@@ -0,0 +1,6 @@
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@72
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@1| @70
+|-+0&#ffff4012|)>m+0&#ffffff0@3| @68
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0@3| @68
+|~+0#4040ff13&| @73
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| |s|1| |t|e|x|t|=|-|)| @33|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_sign_cursor_3.dump b/src/testdir/dumps/Test_sign_cursor_3.dump
new file mode 100644
index 0000000..88264e4
--- /dev/null
+++ b/src/testdir/dumps/Test_sign_cursor_3.dump
@@ -0,0 +1,6 @@
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@72
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@1| @70
+|-+0&#ffff4012|)>m+0#0000001#ffd7ff255@3| @68
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0@3| @68
+|~+0#4040ff13&| @73
+|:+0#0000000&|s|i|g|n| |p|l|a|c|e| |1@1| |l|i|n|e|=|2| |n|a|m|e|=|s|2| @27|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_sign_cursor_4.dump b/src/testdir/dumps/Test_sign_cursor_4.dump
new file mode 100644
index 0000000..92643c3
--- /dev/null
+++ b/src/testdir/dumps/Test_sign_cursor_4.dump
@@ -0,0 +1,6 @@
+|x+0&#ffffff0@74
+>m@3| @70
+|y@3| @70
+|~+0#4040ff13&| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| |u|n|p|l|a|c|e| |1|0| @40|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_sign_cursor_5.dump b/src/testdir/dumps/Test_sign_cursor_5.dump
new file mode 100644
index 0000000..2f256a5
--- /dev/null
+++ b/src/testdir/dumps/Test_sign_cursor_5.dump
@@ -0,0 +1,6 @@
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@72
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@1| @70
+| +0#0000e05#a8a8a8255@1>m+8#0000001#40ff4011@3| @68
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0@3| @68
+|~+0#4040ff13&| @73
+|:+0#0000000&| @55|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_sign_cursor_6.dump b/src/testdir/dumps/Test_sign_cursor_6.dump
new file mode 100644
index 0000000..efd9042
--- /dev/null
+++ b/src/testdir/dumps/Test_sign_cursor_6.dump
@@ -0,0 +1,6 @@
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@72
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@1| @70
+| +0#0000e05#a8a8a8255@1>m+8#0000001#ffd7ff255@3| @68
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0@3| @68
+|~+0#4040ff13&| @73
+|:+0#0000000&| @55|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_smooth_diff_1.dump b/src/testdir/dumps/Test_smooth_diff_1.dump
new file mode 100644
index 0000000..4e2696e
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_diff_1.dump
@@ -0,0 +1,8 @@
+|-+0#0000e05#a8a8a8255| >j+0#0000000#ffffff0|u|s|t| |s|o|m|e| |t|e|x|t| |h|e|r|e| @53
+|~+0#4040ff13&| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|A|l@1
+|-+0#0000e05#a8a8a8255| |j+0#0000000#ffffff0|u|s|t| |s|o|m|e| |t|e|x|t| |h|e|r|e| @53
+|~+0#4040ff13&| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_smooth_list_1.dump b/src/testdir/dumps/Test_smooth_list_1.dump
new file mode 100644
index 0000000..b155df2
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_list_1.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2|t+0#0000000&| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y|
+>l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t|
+|v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g|
+|t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |$+0#4040ff13&| +0#0000000&@18
+|t|h|r|e@1|$+0#4040ff13&| +0#0000000&@33
+|~+0#4040ff13&| @38
+|~| @38
+| +0#0000000&@21|2|,|8|1| @9|B|o|t|
diff --git a/src/testdir/dumps/Test_smooth_list_2.dump b/src/testdir/dumps/Test_smooth_list_2.dump
new file mode 100644
index 0000000..82d17b4
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_list_2.dump
@@ -0,0 +1,8 @@
+|#+0#4040ff13#ffffff0|e+0#0000000&|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y|
+>l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t|
+|v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g|
+|t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |$+0#4040ff13&| +0#0000000&@18
+|t|h|r|e@1|$+0#4040ff13&| +0#0000000&@33
+|~+0#4040ff13&| @38
+|~| @38
+|:+0#0000000&|s|e|t| |l|i|s|t|c|h|a|r|s|+|=|p|r|e|c|e|d|2|,|8|1| @9|B|o|t|
diff --git a/src/testdir/dumps/Test_smooth_long_1.dump b/src/testdir/dumps/Test_smooth_long_1.dump
new file mode 100644
index 0000000..86c27ed
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_1.dump
@@ -0,0 +1,6 @@
+|L+0&#ffffff0|i|n|e| |w|i|t|h> |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t
+| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o
+|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e
+| @21|3|,|1|0| @9|6@1|%|
diff --git a/src/testdir/dumps/Test_smooth_long_10.dump b/src/testdir/dumps/Test_smooth_long_10.dump
new file mode 100644
index 0000000..10634be
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_10.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|o+0#0000000&|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |e|n|d| @11
+>f|o|u|r| @35
+|~+0#4040ff13&| @38
+|~| @38
+|:+0#0000000&|s|e|t| |s|c|r|o|l@1|o| @9|4|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smooth_long_11.dump b/src/testdir/dumps/Test_smooth_long_11.dump
new file mode 100644
index 0000000..0aa7a4b
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_11.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|t+0#0000000&|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o
+|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |e|n|d| @11
+>f|o|u|r| @35
+|:|s|e|t| |s|c|r|o|l@1|o| @9|4|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smooth_long_12.dump b/src/testdir/dumps/Test_smooth_long_12.dump
new file mode 100644
index 0000000..10634be
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_12.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|o+0#0000000&|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |e|n|d| @11
+>f|o|u|r| @35
+|~+0#4040ff13&| @38
+|~| @38
+|:+0#0000000&|s|e|t| |s|c|r|o|l@1|o| @9|4|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smooth_long_13.dump b/src/testdir/dumps/Test_smooth_long_13.dump
new file mode 100644
index 0000000..62d7992
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_13.dump
@@ -0,0 +1,6 @@
+>f+0&#ffffff0|o|u|r| @35
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|4|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smooth_long_14.dump b/src/testdir/dumps/Test_smooth_long_14.dump
new file mode 100644
index 0000000..7f5bff7
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_14.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|t+0#0000000&|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o
+|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |e|n|d| @11
+>f|o|u|r| @35
+@22|4|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smooth_long_15.dump b/src/testdir/dumps/Test_smooth_long_15.dump
new file mode 100644
index 0000000..b82fca5
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_15.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|t+0#0000000&|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o
+|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |e|n|d| @11
+|f|o|u>r| @35
+@22|4|,|4| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smooth_long_2.dump b/src/testdir/dumps/Test_smooth_long_2.dump
new file mode 100644
index 0000000..6800ba4
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_2.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|t+0#0000000&|h| |l|o|t>s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o
+|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e
+|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w
+| @21|3|,|5|0| @9|6@1|%|
diff --git a/src/testdir/dumps/Test_smooth_long_3.dump b/src/testdir/dumps/Test_smooth_long_3.dump
new file mode 100644
index 0000000..63d9794
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_3.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2| +0#0000000&|l|o|t|s| >o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h|
+|l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s
+| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f|
+|t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t
+| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+| @21|3|,|2|5|0| @8|6@1|%|
diff --git a/src/testdir/dumps/Test_smooth_long_4.dump b/src/testdir/dumps/Test_smooth_long_4.dump
new file mode 100644
index 0000000..479dee4
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_4.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|t+0#0000000&|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o
+|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e
+|x|t| |w|i|t|h| |l>o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w
+| @21|3|,|2|1|0| @8|6@1|%|
diff --git a/src/testdir/dumps/Test_smooth_long_5.dump b/src/testdir/dumps/Test_smooth_long_5.dump
new file mode 100644
index 0000000..0b728b2
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_5.dump
@@ -0,0 +1,6 @@
+|L+0&#ffffff0|i|n|e| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t
+| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o
+|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i>t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e
+| @21|3|,|1|7|0| @8|6@1|%|
diff --git a/src/testdir/dumps/Test_smooth_long_6.dump b/src/testdir/dumps/Test_smooth_long_6.dump
new file mode 100644
index 0000000..ba48c28
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_6.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|t+0#0000000&|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+|h| |l|o|t|s| |o|f> |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o
+|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e
+|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w
+| @21|3|,|9|0| @9|6@1|%|
diff --git a/src/testdir/dumps/Test_smooth_long_7.dump b/src/testdir/dumps/Test_smooth_long_7.dump
new file mode 100644
index 0000000..222e001
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_7.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|t+0#0000000&|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o
+|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i>t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e
+|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w
+| @21|3|,|1|7|0| @8|6@1|%|
diff --git a/src/testdir/dumps/Test_smooth_long_8.dump b/src/testdir/dumps/Test_smooth_long_8.dump
new file mode 100644
index 0000000..6d2f13c
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_8.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|t+0#0000000&|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o
+|t|s| |o|f| |t|e|x>t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e
+|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w
+| @21|3|,|1|3|0| @8|6@1|%|
diff --git a/src/testdir/dumps/Test_smooth_long_9.dump b/src/testdir/dumps/Test_smooth_long_9.dump
new file mode 100644
index 0000000..6d2f13c
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_9.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|t+0#0000000&|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t
+|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o
+|t|s| |o|f| |t|e|x>t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o
+|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e
+|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w
+| @21|3|,|1|3|0| @8|6@1|%|
diff --git a/src/testdir/dumps/Test_smooth_long_showbreak_1.dump b/src/testdir/dumps/Test_smooth_long_showbreak_1.dump
new file mode 100644
index 0000000..0071dee
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_showbreak_1.dump
@@ -0,0 +1,6 @@
+>w+0&#ffffff0|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |i|n| |o|n|e| |l|i|n|e| |w|i|t|h| |l|o|t|s|
+|++0#4040ff13&@2| |o+0#0000000&|f| |t|e|x|t| |i|n| |o|n|e| |l|i|n|e| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x
+|++0#4040ff13&@2| |t+0#0000000&| |i|n| |o|n|e| |l|i|n|e| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |i|n| |o
+|++0#4040ff13&@2| |n+0#0000000&|e| |l|i|n|e| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |i|n| |o|n|e| |l|i|n
+|++0#4040ff13&@2| |e+0#0000000&| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |i|n| |o|n|e| |l|i|n|e| @4
+@22|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_smooth_long_showbreak_2.dump b/src/testdir/dumps/Test_smooth_long_showbreak_2.dump
new file mode 100644
index 0000000..646b8e2
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_long_showbreak_2.dump
@@ -0,0 +1,6 @@
+|++0#4040ff13#ffffff0@2| >o+0#0000000&|f| |t|e|x|t| |i|n| |o|n|e| |l|i|n|e| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x
+|++0#4040ff13&@2| |t+0#0000000&| |i|n| |o|n|e| |l|i|n|e| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |i|n| |o
+|++0#4040ff13&@2| |n+0#0000000&|e| |l|i|n|e| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |i|n| |o|n|e| |l|i|n
+|++0#4040ff13&@2| |e+0#0000000&| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |i|n| |o|n|e| |l|i|n|e| @4
+|~+0#4040ff13&| @38
+| +0#0000000&@21|1|,|4|1|-|4|5| @6|A|l@1|
diff --git a/src/testdir/dumps/Test_smooth_number_1.dump b/src/testdir/dumps/Test_smooth_number_1.dump
new file mode 100644
index 0000000..7953319
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_number_1.dump
@@ -0,0 +1,12 @@
+| +0#af5f00255#ffffff0@1|1| |o+0#0000000&|n|e| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o
+|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o
+|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @12
+| +0#af5f00255&@1|2| |t+0#0000000&|w|o| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o
+|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @2
+| +0#af5f00255&@1|3| >l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|4| |l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|5| |l+0#0000000&|i|n|e| @31
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_smooth_number_2.dump b/src/testdir/dumps/Test_smooth_number_2.dump
new file mode 100644
index 0000000..110775d
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_number_2.dump
@@ -0,0 +1,12 @@
+|<+0#4040ff13#ffffff0@2|w+0#0000000&|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o
+|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @12
+| +0#af5f00255&@1|2| |t+0#0000000&|w|o| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o
+|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @2
+| +0#af5f00255&@1|3| >l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|4| |l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|5| |l+0#0000000&|i|n|e| @31
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_smooth_number_3.dump b/src/testdir/dumps/Test_smooth_number_3.dump
new file mode 100644
index 0000000..3f35de6
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_number_3.dump
@@ -0,0 +1,12 @@
+|<+0#4040ff13#ffffff0@2|w+0#0000000&|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @12
+| +0#af5f00255&@1|2| |t+0#0000000&|w|o| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o
+|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @2
+| +0#af5f00255&@1|3| >l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|4| |l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|5| |l+0#0000000&|i|n|e| @31
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_smooth_number_4.dump b/src/testdir/dumps/Test_smooth_number_4.dump
new file mode 100644
index 0000000..6ea393d
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_number_4.dump
@@ -0,0 +1,12 @@
+|<+0#4040ff13#ffffff0@2| +0#af5f00255&|d+0#0000000&| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @4
+| +0#af5f00255&@1|2| |t+0#0000000&|w|o| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o
+| +0#af5f00255&@3|n+0#0000000&|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r
+| +0#af5f00255&@3|d+0#0000000&| @34
+| +0#af5f00255&@1|3| >l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|4| |l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|5| |l+0#0000000&|i|n|e| @31
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+|:+0#0000000&|s|e|t| |c|p|o|-|=|n| @10|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_smooth_number_5.dump b/src/testdir/dumps/Test_smooth_number_5.dump
new file mode 100644
index 0000000..4602de2
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_number_5.dump
@@ -0,0 +1,12 @@
+|<+0#4040ff13#ffffff0@2| +0#af5f00255&|r+0#0000000&|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r
+| +0#af5f00255&@3|d+0#0000000&| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @4
+| +0#af5f00255&@1|2| |t+0#0000000&|w|o| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o
+| +0#af5f00255&@3|n+0#0000000&|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r
+| +0#af5f00255&@3|d+0#0000000&| @34
+| +0#af5f00255&@1|3| >l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|4| |l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|5| |l+0#0000000&|i|n|e| @31
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|:+0#0000000&|s|e|t| |c|p|o|-|=|n| @10|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_smooth_number_6.dump b/src/testdir/dumps/Test_smooth_number_6.dump
new file mode 100644
index 0000000..bec58b5
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_number_6.dump
@@ -0,0 +1,12 @@
+| +0#af5f00255#ffffff0@1|1| |o+0#0000000&|n|e| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o
+| +0#af5f00255&@3|r+0#0000000&|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r
+| +0#af5f00255&@3|d+0#0000000&| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @4
+| +0#af5f00255&@1|2| |t+0#0000000&|w|o| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o
+| +0#af5f00255&@3|n+0#0000000&|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r
+| +0#af5f00255&@3|d+0#0000000&| @34
+| +0#af5f00255&@1|3| >l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|4| |l+0#0000000&|i|n|e| @31
+| +0#af5f00255&@1|5| |l+0#0000000&|i|n|e| @31
+|~+0#4040ff13&| @38
+|~| @38
+|:+0#0000000&|s|e|t| |c|p|o|-|=|n| @10|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_smooth_number_7.dump b/src/testdir/dumps/Test_smooth_number_7.dump
new file mode 100644
index 0000000..b617dc0
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_number_7.dump
@@ -0,0 +1,12 @@
+|2+0#af5f00255#ffffff0|<+0#4040ff13&@2>o+0#0000000&|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e
+| +0#af5f00255&@3|x+0#0000000&|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r
+| +0#af5f00255&@3|y+0#0000000&| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g
+| +0#af5f00255&@3| +0#0000000&|t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t|
+| +0#af5f00255&@1|1| |t+0#0000000&|h|r|e@1| @30
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+|-+0#0000000&@1|N|o|.@2|e|r|-@1| @10|2|,|3|7| @9|B|o|t|
diff --git a/src/testdir/dumps/Test_smooth_one_long_1.dump b/src/testdir/dumps/Test_smooth_one_long_1.dump
new file mode 100644
index 0000000..82c1ea3
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_one_long_1.dump
@@ -0,0 +1,6 @@
+>w+0&#ffffff0|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h
+| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t
+|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f
+| |t|e|x|t| @34
+|~+0#4040ff13&| @38
+| +0#0000000&@21|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_smooth_one_long_2.dump b/src/testdir/dumps/Test_smooth_one_long_2.dump
new file mode 100644
index 0000000..46e4f59
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_one_long_2.dump
@@ -0,0 +1,6 @@
+|<+0#4040ff13#ffffff0@2|t+0#0000000&|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t
+>s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f| |t|e|x|t| |w|i|t|h| |l|o|t|s| |o|f
+| |t|e|x|t| @34
+|~+0#4040ff13&| @38
+|~| @38
+| +0#0000000&@21|1|,|8|1| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_smooth_wrap_1.dump b/src/testdir/dumps/Test_smooth_wrap_1.dump
new file mode 100644
index 0000000..0b52d40
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_wrap_1.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2|h+0#0000000&| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+|L|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+>L|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+@22|3|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_smooth_wrap_2.dump b/src/testdir/dumps/Test_smooth_wrap_2.dump
new file mode 100644
index 0000000..65a357d
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_wrap_2.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2|h+0#0000000&| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+|L|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+>L|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+@22|4|,|1| @10|2|5|%|
diff --git a/src/testdir/dumps/Test_smooth_wrap_3.dump b/src/testdir/dumps/Test_smooth_wrap_3.dump
new file mode 100644
index 0000000..4bf5130
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_wrap_3.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2|h+0#0000000&| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+|L|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+>L|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+@22|5|,|1| @10|5|0|%|
diff --git a/src/testdir/dumps/Test_smooth_wrap_4.dump b/src/testdir/dumps/Test_smooth_wrap_4.dump
new file mode 100644
index 0000000..c23f494
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_wrap_4.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2|h+0#0000000&| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+|L|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+>L|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+@22|7|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smooth_wrap_5.dump b/src/testdir/dumps/Test_smooth_wrap_5.dump
new file mode 100644
index 0000000..31f1544
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_wrap_5.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffffff0@2>h+0#0000000&| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+|L|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+|L|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+@22|5|,|8|4| @9|B|o|t|
diff --git a/src/testdir/dumps/Test_smooth_wrap_6.dump b/src/testdir/dumps/Test_smooth_wrap_6.dump
new file mode 100644
index 0000000..04a17f9
--- /dev/null
+++ b/src/testdir/dumps/Test_smooth_wrap_6.dump
@@ -0,0 +1,8 @@
+>L+0&#ffffff0|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+|L|i|n|e| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h|
+|s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t|
+|w|i|t|h| |s|o|m|e| |t|e|x|t| |w|i|t|h| |s|o|m|e| |t|e|x|t| @10
+|@+0#4040ff13&@2| @36
+| +0#0000000&@21|5|,|1| @10|8|0|%|
diff --git a/src/testdir/dumps/Test_smoothscroll_1.dump b/src/testdir/dumps/Test_smoothscroll_1.dump
new file mode 100644
index 0000000..7a8c020
--- /dev/null
+++ b/src/testdir/dumps/Test_smoothscroll_1.dump
@@ -0,0 +1,12 @@
+|w+0&#ffffff0|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
+|w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
+|w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
+|l|i|n|e| |t|h|r|e@1| @29
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @10
+>l|i|n|e| @35
+|l|i|n|e| @35
+|l|i|n|e| @35
+|~+0#4040ff13&| @38
+|~| @38
+| +0#0000000&@21|5|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smoothscroll_2.dump b/src/testdir/dumps/Test_smoothscroll_2.dump
new file mode 100644
index 0000000..e8ca1a7
--- /dev/null
+++ b/src/testdir/dumps/Test_smoothscroll_2.dump
@@ -0,0 +1,12 @@
+|<+0#4040ff13#ffffff0@2|d+0#0000000&| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
+|w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
+|l|i|n|e| |t|h|r|e@1| @29
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @10
+>l|i|n|e| @35
+|l|i|n|e| @35
+|l|i|n|e| @35
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|5|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smoothscroll_3.dump b/src/testdir/dumps/Test_smoothscroll_3.dump
new file mode 100644
index 0000000..5c2ed94
--- /dev/null
+++ b/src/testdir/dumps/Test_smoothscroll_3.dump
@@ -0,0 +1,12 @@
+|<+0#4040ff13#ffffff0@2|d+0#0000000&| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
+|l|i|n|e| |t|h|r|e@1| @29
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @10
+>l|i|n|e| @35
+|l|i|n|e| @35
+|l|i|n|e| @35
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|5|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smoothscroll_4.dump b/src/testdir/dumps/Test_smoothscroll_4.dump
new file mode 100644
index 0000000..63539c9
--- /dev/null
+++ b/src/testdir/dumps/Test_smoothscroll_4.dump
@@ -0,0 +1,12 @@
+|l+0&#ffffff0|i|n|e| |t|h|r|e@1| @29
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @10
+|l|i|n|e| @35
+|l|i|n|e| @35
+>l|i|n|e| @35
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|7|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smoothscroll_5.dump b/src/testdir/dumps/Test_smoothscroll_5.dump
new file mode 100644
index 0000000..b88bd3d
--- /dev/null
+++ b/src/testdir/dumps/Test_smoothscroll_5.dump
@@ -0,0 +1,12 @@
+|<+0#4040ff13#ffffff0@2|d+0#0000000&| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
+|l|i|n|e| |t|h|r|e@1| @29
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @10
+|l|i|n|e| @35
+|l|i|n|e| @35
+>l|i|n|e| @35
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|7|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smoothscroll_6.dump b/src/testdir/dumps/Test_smoothscroll_6.dump
new file mode 100644
index 0000000..fb73356
--- /dev/null
+++ b/src/testdir/dumps/Test_smoothscroll_6.dump
@@ -0,0 +1,12 @@
+|<+0#4040ff13#ffffff0@2|d+0#0000000&| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
+|w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
+|l|i|n|e| |t|h|r|e@1| @29
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @10
+|l|i|n|e| @35
+|l|i|n|e| @35
+>l|i|n|e| @35
+|~+0#4040ff13&| @38
+|~| @38
+|~| @38
+| +0#0000000&@21|7|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smoothscroll_7.dump b/src/testdir/dumps/Test_smoothscroll_7.dump
new file mode 100644
index 0000000..0579f6f
--- /dev/null
+++ b/src/testdir/dumps/Test_smoothscroll_7.dump
@@ -0,0 +1,12 @@
+|w+0&#ffffff0|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
+|w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
+|w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
+|l|i|n|e| |t|h|r|e@1| @29
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @10
+|l|i|n|e| @35
+|l|i|n|e| @35
+>l|i|n|e| @35
+|~+0#4040ff13&| @38
+|~| @38
+| +0#0000000&@21|7|,|1| @10|B|o|t|
diff --git a/src/testdir/dumps/Test_smoothscroll_8.dump b/src/testdir/dumps/Test_smoothscroll_8.dump
new file mode 100644
index 0000000..b7a5bce
--- /dev/null
+++ b/src/testdir/dumps/Test_smoothscroll_8.dump
@@ -0,0 +1,12 @@
+|l+0&#ffffff0|i|n|e| |o|n|e| @31
+|w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
+|w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d|
+|w|o|r|d| |w|o|r|d| |w|o|r|d| |w|o|r|d| @20
+|l|i|n|e| |t|h|r|e@1| @29
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d|
+|l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| |l|o|n|g| |w|o|r|d| @10
+|l|i|n|e| @35
+|l|i|n|e| @35
+>l|i|n|e| @35
+|~+0#4040ff13&| @38
+| +0#0000000&@21|7|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_smoothscroll_zero_1.dump b/src/testdir/dumps/Test_smoothscroll_zero_1.dump
new file mode 100644
index 0000000..5a99f57
--- /dev/null
+++ b/src/testdir/dumps/Test_smoothscroll_zero_1.dump
@@ -0,0 +1,6 @@
+> +0&#ffffff0@59
+@60
+@60
+@60
+@60
+@60
diff --git a/src/testdir/dumps/Test_smoothscroll_zero_2.dump b/src/testdir/dumps/Test_smoothscroll_zero_2.dump
new file mode 100644
index 0000000..1879381
--- /dev/null
+++ b/src/testdir/dumps/Test_smoothscroll_zero_2.dump
@@ -0,0 +1,6 @@
+|:+0&#ffffff0|s|i|l| |n|o|r|m| |^|W|^|N| @45
+> @59
+@60
+@60
+@60
+@60
diff --git a/src/testdir/dumps/Test_spell_1.dump b/src/testdir/dumps/Test_spell_1.dump
new file mode 100644
index 0000000..2025be1
--- /dev/null
+++ b/src/testdir/dumps/Test_spell_1.dump
@@ -0,0 +1,8 @@
+>T+0&#ffffff0|h|i|s| |i|s| |s|o|m|e| |t|e|x|t| |w|i|t|h|o|u|t| |a|n|y| |s|p|e|l@1| |e|r@1|o|r|s|.| @1|E|v|e|r|y|t|h|i|n|g| @19
+|s|h|o|u|l|d| |j|u|s|t| |b|e| |b|l|a|c|k|,| |n|o|t|h|i|n|g| |w|r|o|n|g| |h|e|r|e|.| @33
+@75
+|T|h|i|s| |l|i|n|e| |h|a|s| |a| |s+0&#ffd7d7255|e|p|l@1| +0&#ffffff0|e|r@1|o|r|.| |a+0&#5fd7ff255|n|d| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p|s|.| @28
+|A+0&#ffd7d7255|n|d| |a|n|d| +0&#ffffff0|t|h|i|s| |i|s| |t+0&#ffd7d7255|h|e| |t|h|e| +0&#ffffff0|d|u|p|l|i|c|a|t|i|o|n|.| @38
+|w+0&#5fd7ff255|i|t|h| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p|s| |h|e|r|e|.| @51
+|~+0#4040ff13&| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_spell_2.dump b/src/testdir/dumps/Test_spell_2.dump
new file mode 100644
index 0000000..961949b
--- /dev/null
+++ b/src/testdir/dumps/Test_spell_2.dump
@@ -0,0 +1,8 @@
+> +0&#ffffff0@2|T|h|i|s| |l|i|n|e| |h|a|s| |a| |s+0&#ffd7d7255|e|p|l@1| +0&#ffffff0|e|r@1|o|r|.| |a+0&#5fd7ff255|n|d| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p|s| |a|n|d| |t|r|a|i|l|i|n|g| |s|p|a|c|e|s|.| @5
+|a+0&#5fd7ff255|n|o|t|h|e|r| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p| |h|e|r|e|.| @49
+@75
+|a+0&#5fd7ff255|n|d| +0&#ffffff0|h|e|r|e|.| @65
+@75
+|a+0&#5fd7ff255|n|d| +0&#ffffff0|h|e|r|e|.| @65
+|~+0#4040ff13&| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_spell_3.dump b/src/testdir/dumps/Test_spell_3.dump
new file mode 100644
index 0000000..8dcd045
--- /dev/null
+++ b/src/testdir/dumps/Test_spell_3.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@2|T|h|i|s| |l|i|n|e| |h|a|s| |a| |s+0&#ffd7d7255|e|p|l@1| +0&#ffffff0|e|r@1|o|r|.| |a+0&#5fd7ff255|n|d| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p|s| |a|n|d| |t|r|a|i|l|i|n|g| |s|p|a|c|e|s|.| @5
+|a+0&#5fd7ff255|n|o|t|h|e|r| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p| |h|e|r|e|.| @49
+|N|o>t| @71
+|a|n|d| |h|e|r|e|.| @65
+@75
+|a+0&#5fd7ff255|n|d| +0&#ffffff0|h|e|r|e|.| @65
+|~+0#4040ff13&| @73
+| +0#0000000&@56|3|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_spell_4.dump b/src/testdir/dumps/Test_spell_4.dump
new file mode 100644
index 0000000..c49dc84
--- /dev/null
+++ b/src/testdir/dumps/Test_spell_4.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@2|T|h|i|s| |l|i|n|e| |h|a|s| |a| |s+0&#ffd7d7255|e|p|l@1| +0&#ffffff0|e|r@1|o|r|.| |a+0&#5fd7ff255|n|d| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p|s| |a|n|d| |t|r|a|i|l|i|n|g| |s|p|a|c|e|s|.| @5
+|a+0&#5fd7ff255|n|o|t|h|e|r| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p| |h|e|r|e|.| @49
+|N|o|t| @71
+|a|n|d| |h|e|r>e| @66
+|a|n|d| |h|e|r|e|.| @65
+|~+0#4040ff13&| @73
+|~| @73
+| +0#0000000&@56|4|,|8| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_spell_5.dump b/src/testdir/dumps/Test_spell_5.dump
new file mode 100644
index 0000000..a23ce5c
--- /dev/null
+++ b/src/testdir/dumps/Test_spell_5.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@2|T|h|i|s| |l|i|n|e| |h|a|s| |a| |s+0&#ffd7d7255|e|p|l@1| +0&#ffffff0|e|r@1|o|r|.| |a+0&#5fd7ff255|n|d| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p|s| |a|n|d| |t|r|a|i|l|i|n|g| |s|p|a|c|e|s|.| @5
+|a+0&#5fd7ff255|n|o|t|h|e|r| +0&#ffffff0|m|i|s@1|i|n|g| |c|a|p| |h|e|r|e|.| @49
+|N|o|t| @71
+|a|n|d| |h|e|r|e>.| @65
+|a+0&#5fd7ff255|n|d| +0&#ffffff0|h|e|r|e|.| @65
+|~+0#4040ff13&| @73
+|~| @73
+| +0#0000000&@56|4|,|9| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_spell_compatible_1.dump b/src/testdir/dumps/Test_spell_compatible_1.dump
new file mode 100644
index 0000000..4f6b268
--- /dev/null
+++ b/src/testdir/dumps/Test_spell_compatible_1.dump
@@ -0,0 +1,8 @@
+|t+0&#5fd7ff255|e|s|t| +0&#ffffff0|t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| >t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t|
+|t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t|$| @49
+@75
+|e+0&#5fd7ff255|n|d| +0&#ffffff0@71
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@44|1|,|5|1| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_spell_compatible_2.dump b/src/testdir/dumps/Test_spell_compatible_2.dump
new file mode 100644
index 0000000..e1243a6
--- /dev/null
+++ b/src/testdir/dumps/Test_spell_compatible_2.dump
@@ -0,0 +1,8 @@
+|t+0&#5fd7ff255|e|s|t| +0&#ffffff0|t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |x>e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t|
+|t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t| |t|e|s|t|$| @49
+@75
+|e+0&#5fd7ff255|n|d| +0&#ffffff0@71
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@44|1|,|5|2| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_splitkeep_callback_1.dump b/src/testdir/dumps/Test_splitkeep_callback_1.dump
new file mode 100644
index 0000000..4f3a851
--- /dev/null
+++ b/src/testdir/dumps/Test_splitkeep_callback_1.dump
@@ -0,0 +1,8 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+>4+0&&| @73
+|5| @73
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @43|5|,|1| @11|6@1|%
+| +0&&@74
diff --git a/src/testdir/dumps/Test_splitkeep_callback_2.dump b/src/testdir/dumps/Test_splitkeep_callback_2.dump
new file mode 100644
index 0000000..1537db5
--- /dev/null
+++ b/src/testdir/dumps/Test_splitkeep_callback_2.dump
@@ -0,0 +1,8 @@
+>0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+|4+0&&| @73
+|5| @73
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|6@1|%
+| +0&&@74
diff --git a/src/testdir/dumps/Test_splitkeep_callback_3.dump b/src/testdir/dumps/Test_splitkeep_callback_3.dump
new file mode 100644
index 0000000..7f265b9
--- /dev/null
+++ b/src/testdir/dumps/Test_splitkeep_callback_3.dump
@@ -0,0 +1,8 @@
+>1+0&#ffffff0| @73
+|2| @73
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1| @11|1|6|%
+|4+0&&| @73
+|5| @73
+|6| @73
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|6|,|1| @11|8|0|%
+| +0&&@74
diff --git a/src/testdir/dumps/Test_splitkeep_callback_4.dump b/src/testdir/dumps/Test_splitkeep_callback_4.dump
new file mode 100644
index 0000000..25da180
--- /dev/null
+++ b/src/testdir/dumps/Test_splitkeep_callback_4.dump
@@ -0,0 +1,8 @@
+|1+0&#ffffff0| @73
+|2| @73
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|8|,|1| @11|1|6|%
+|4+0&&| @73
+>5| @73
+|6| @73
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @43|6|,|1| @11|8|0|%
+| +0&&@74
diff --git a/src/testdir/dumps/Test_splitkeep_fold_1.dump b/src/testdir/dumps/Test_splitkeep_fold_1.dump
new file mode 100644
index 0000000..748a3c8
--- /dev/null
+++ b/src/testdir/dumps/Test_splitkeep_fold_1.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@1|1| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0@1|8| >a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255@1|9| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0|1|6| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @43|8|,|1| @11|T|o|p
+| +0#af5f00255&|2|4| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255|2|5| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0|3|2| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+|[+1&&|N|o| |N|a|m|e|]| |[|+|]| @43|2|3|,|1| @10|3|2|%
+|:+0&&|w|i|n|c|m|d| |s| @65
diff --git a/src/testdir/dumps/Test_splitkeep_fold_2.dump b/src/testdir/dumps/Test_splitkeep_fold_2.dump
new file mode 100644
index 0000000..959cb64
--- /dev/null
+++ b/src/testdir/dumps/Test_splitkeep_fold_2.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@1|1| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0@1|8| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255@1|9| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0|1|6| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255|1|7| >+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0|2|4| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255|2|5| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0|3|2| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255|3@1| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+|:+0#0000000#ffffff0|q|u|i|t| @51|1|7|,|1| @9|T|o|p|
diff --git a/src/testdir/dumps/Test_splitkeep_fold_3.dump b/src/testdir/dumps/Test_splitkeep_fold_3.dump
new file mode 100644
index 0000000..6880104
--- /dev/null
+++ b/src/testdir/dumps/Test_splitkeep_fold_3.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@1|1| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0@1|8| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255@1|9| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1| @11|T|o|p
+| +0#0000e05#a8a8a8255|1|7| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0|2|4| >a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255|2|5| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0|3|2| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+|[+3&&|N|o| |N|a|m|e|]| |[|+|]| @43|2|4|,|1| @10|2|5|%
+|:+0&&|b|e|l|o|w| |s|p|l|i|t| @62
diff --git a/src/testdir/dumps/Test_splitkeep_fold_4.dump b/src/testdir/dumps/Test_splitkeep_fold_4.dump
new file mode 100644
index 0000000..959cb64
--- /dev/null
+++ b/src/testdir/dumps/Test_splitkeep_fold_4.dump
@@ -0,0 +1,10 @@
+| +0#0000e05#a8a8a8255@1|1| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0@1|8| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255@1|9| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0|1|6| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255|1|7| >+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0|2|4| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255|2|5| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+| +0#af5f00255#ffffff0|3|2| |a+0#0000000&|f|t|e|r| |f|o|l|d| @60
+| +0#0000e05#a8a8a8255|3@1| |+|-@1| @1|7| |l|i|n|e|s|:| |i|n|t| |F|u|n|c|N|a|m|e|(|)| |{|-@40
+|:+0#0000000#ffffff0|q|u|i|t| @51|1|7|,|1| @9|T|o|p|
diff --git a/src/testdir/dumps/Test_splitkeep_status_1.dump b/src/testdir/dumps/Test_splitkeep_status_1.dump
new file mode 100644
index 0000000..1131c69
--- /dev/null
+++ b/src/testdir/dumps/Test_splitkeep_status_1.dump
@@ -0,0 +1,10 @@
+|a+0&#ffffff0| @73
+|b| @73
+|c| @73
+|~+0#4040ff13&| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|1|,|1| @11|A|l@1
+>b+0&&| @73
+|c| @73
+|[+3&&|N|o| |N|a|m|e|]| @47|2|,|1| @11|B|o|t
+|:+0&&|c|a|l@1| |w|i|n|_|m|o|v|e|_|s|t|a|t|u|s|l|i|n|e|(|w|i|n|,| |1|)| @41
diff --git a/src/testdir/dumps/Test_start_with_tabs.dump b/src/testdir/dumps/Test_start_with_tabs.dump
new file mode 100644
index 0000000..0659466
--- /dev/null
+++ b/src/testdir/dumps/Test_start_with_tabs.dump
@@ -0,0 +1,20 @@
+| +2&#ffffff0|a| | +8#0000001#e0e0e08|b| @1|c| | +1#0000000#ffffff0@64|X+8#0000001#e0e0e08
+> +0#0000000#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|"+0#0000000&|a|"| |[|N|e|w|]| @47|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_statusline_1.dump b/src/testdir/dumps/Test_statusline_1.dump
new file mode 100644
index 0000000..f981685
--- /dev/null
+++ b/src/testdir/dumps/Test_statusline_1.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@49
+|~+0#4040ff13&| @48
+|~| @48
+|~| @48
+|~| @48
+|~| @48
+|~| @48
+|~| @48
+| +3#0000000&|Q|≡| @46
+| +0&&@49
diff --git a/src/testdir/dumps/Test_statusline_hl.dump b/src/testdir/dumps/Test_statusline_hl.dump
new file mode 100644
index 0000000..cebece5
--- /dev/null
+++ b/src/testdir/dumps/Test_statusline_hl.dump
@@ -0,0 +1,6 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|<+0#ffffff16#e000002|F|G+0#0000e05#ffffff0|H|I| @69
+| +0#0000000&@74
diff --git a/src/testdir/dumps/Test_statusline_mode_1.dump b/src/testdir/dumps/Test_statusline_mode_1.dump
new file mode 100644
index 0000000..9d111c9
--- /dev/null
+++ b/src/testdir/dumps/Test_statusline_mode_1.dump
@@ -0,0 +1,7 @@
+> +0&#ffffff0@49
+|~+0#4040ff13&| @48
+|++3#0000000&|n|+| @46
+| +0&&@49
+|~+0#4040ff13&| @48
+|-+1#0000000&|n|-| @46
+| +0&&@49
diff --git a/src/testdir/dumps/Test_statusline_mode_2.dump b/src/testdir/dumps/Test_statusline_mode_2.dump
new file mode 100644
index 0000000..f195543
--- /dev/null
+++ b/src/testdir/dumps/Test_statusline_mode_2.dump
@@ -0,0 +1,7 @@
+| +0&#ffffff0@49
+|~+0#4040ff13&| @48
+|++3#0000000&|c|+| @46
+| +0&&@49
+|~+0#4040ff13&| @48
+|-+1#0000000&|c|-| @46
+|:+0&&> @48
diff --git a/src/testdir/dumps/Test_statusline_showcmd_1.dump b/src/testdir/dumps/Test_statusline_showcmd_1.dump
new file mode 100644
index 0000000..626f60b
--- /dev/null
+++ b/src/testdir/dumps/Test_statusline_showcmd_1.dump
@@ -0,0 +1,6 @@
+|++0#0000e05#a8a8a8255|-@1| @1|2| |l|i|n|e|s|:| |a|-@59
+>c+0#0000000#ffffff0| @73
+|~+0#4040ff13&| @73
+|~| @73
+|g+3#0000000&| @73
+| +0&&@74
diff --git a/src/testdir/dumps/Test_statusline_showcmd_2.dump b/src/testdir/dumps/Test_statusline_showcmd_2.dump
new file mode 100644
index 0000000..2844f12
--- /dev/null
+++ b/src/testdir/dumps/Test_statusline_showcmd_2.dump
@@ -0,0 +1,6 @@
+>a+0&#ffffff0| @73
+|b| @73
+|c| @73
+|~+0#4040ff13&| @73
+| +3#0000000&@74
+| +0&&@74
diff --git a/src/testdir/dumps/Test_statusline_showcmd_3.dump b/src/testdir/dumps/Test_statusline_showcmd_3.dump
new file mode 100644
index 0000000..049e0f7
--- /dev/null
+++ b/src/testdir/dumps/Test_statusline_showcmd_3.dump
@@ -0,0 +1,6 @@
+|a+0&#e0e0e08| +0&#ffffff0@73
+|b+0&#e0e0e08| +0&#ffffff0@73
+|c+0&#e0e0e08> +0&#ffffff0@73
+|~+0#4040ff13&| @73
+|3+3#0000000&|x|2| @71
+|-+2&&@1| |V|I|S|U|A|L| |B|L|O|C|K| |-@1| +0&&@56
diff --git a/src/testdir/dumps/Test_statusline_showcmd_4.dump b/src/testdir/dumps/Test_statusline_showcmd_4.dump
new file mode 100644
index 0000000..c443662
--- /dev/null
+++ b/src/testdir/dumps/Test_statusline_showcmd_4.dump
@@ -0,0 +1,6 @@
+|a+0&#ffffff0| @73
+|b| @73
+>c| @73
+|~+0#4040ff13&| @73
+|1+3#0000000&|2|3|4| @70
+| +0&&@74
diff --git a/src/testdir/dumps/Test_statusline_showcmd_5.dump b/src/testdir/dumps/Test_statusline_showcmd_5.dump
new file mode 100644
index 0000000..26ba377
--- /dev/null
+++ b/src/testdir/dumps/Test_statusline_showcmd_5.dump
@@ -0,0 +1,6 @@
+|a+0&#ffffff0| @73
+|b| @73
+>c| @73
+|~+0#4040ff13&| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @32|1|2|3|4| @6|3|,|1| @11|A|l@1
+|:+0&&| @73
diff --git a/src/testdir/dumps/Test_sub_highlight_zer_match_1.dump b/src/testdir/dumps/Test_sub_highlight_zer_match_1.dump
new file mode 100644
index 0000000..481d0bb
--- /dev/null
+++ b/src/testdir/dumps/Test_sub_highlight_zer_match_1.dump
@@ -0,0 +1,8 @@
+|o+1&#ffffff0|n+0&&|e| @56
+|t|w|o| @56
+|t|h|r|e@1| @54
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|~| @58
+|r+0#00e0003&|e|p|l|a|c|e| |w|i|t|h| @1|.@2|/|a|/|q|/|l|/|^|E|/|^|Y|)|?> +0#0000000&@10|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_syntax_c_01.dump b/src/testdir/dumps/Test_syntax_c_01.dump
new file mode 100644
index 0000000..7224216
--- /dev/null
+++ b/src/testdir/dumps/Test_syntax_c_01.dump
@@ -0,0 +1,20 @@
+|/+0#0000e05#ffffff0|*| |c|o|m@1|e|n|t| |l|i|n|e| |a|t| |t|h|e| |t|o|p| |*|/| +0#0000000&@45
+|i+0#00e0003&|n|t| +0#0000000&|m|a|i|n|(|i+0#00e0003&|n|t| +0#0000000&|a|r|g|c|,| |c+0#00e0003&|h|a|r| +0#0000000&|*@1|a|r|g|v|)| |{| |/+0#0000e05&@1| |a|n|o|t|h|e|r| |c|o|m@1|e|n|t| +0#0000000&@22
+|#+0#e000e06&|i|f| |0| +0#0000000&@69
+| +0#0000e05&@2|i|n|t| @2|n|o|t|_|u|s|e|d|;| +0#0000000&@56
+|#+0#e000e06&|e|l|s|e| +0#0000000&@69
+@3|i+0#00e0003&|n|t| +0#0000000&@2|u|s|e|d|;| @60
+|#+0#e000e06&|e+0&#e0e0e08|n|d|i|f| +0#0000000&| +0&#ffffff0@67
+| +0&#e0e0e08@2|p|r|i|n|t|f|(|"+0#e000002&|J|u|s|t| |a|n| |e|x|a|m|p|l|e| |p|i|e|c|e| |o|f| >C+0&#ffffff0| |c|o|d|e|\+0#e000e06&|n|"+0#e000002&|)+0#0000000&|;| @27
+@3|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|0+0#e000002&|x|0|f@1|;+0#0000000&| @58
+|}| @73
+| +0#ffffff16#ff404010@16| +0#0000000#ffffff0@57
+@3|s+0#00e0003&|t|a|t|i|c| +0#0000000&|v+0#00e0003&|o|i|d| +0#0000000&@60
+|m|y|F|u|n|c|t|i|o|n|(|c+0#00e0003&|o|n|s|t| +0#0000000&|d+0#00e0003&|o|u|b|l|e| +0#0000000&|c|o|u|n|t|,| |s+0#00e0003&|t|r|u|c|t| +0#0000000&|n|o|t|h|i|n|g|,| |l+0#00e0003&|o|n|g| +0#0000000&|t|h|e|r|e|)| |{| @14
+@8|/+0#0000e05&@1| |1+0#e000002&|2|3|:+0#0000e05&| |n|o|t|h|i|n|g| |t|o| |e+0&#ffff4012|n|d|i|f| +0&#ffffff0|h|e|r|e| +0#0000000&@37
+@8|f+0#af5f00255&|o|r| +0#0000000&|(|i+0#00e0003&|n|t| +0#0000000&|i| |=| |0+0#e000002&|;+0#0000000&| |i| |<| |c|o|u|n|t|;| |+@1|i|)| |{| @33
+@11|b+0#af5f00255&|r|e|a|k|;+0#0000000&| @57
+@8|}| @65
+@8|N+0&#ffff4012|o|t|e|:+0&#ffffff0| |a|s|d|f| @56
+|}| @73
+|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@34|2| @8|8|,|3|7| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_tabline_showcmd_1.dump b/src/testdir/dumps/Test_tabline_showcmd_1.dump
new file mode 100644
index 0000000..40fea4e
--- /dev/null
+++ b/src/testdir/dumps/Test_tabline_showcmd_1.dump
@@ -0,0 +1,6 @@
+|g+1&#ffffff0| @73
+|++0#0000e05#a8a8a8255|-@1| @1|2| |l|i|n|e|s|:| |a|-@59
+>c+0#0000000#ffffff0| @73
+|~+0#4040ff13&| @73
+|~| @73
+| +0#0000000&@56|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_tabline_showcmd_2.dump b/src/testdir/dumps/Test_tabline_showcmd_2.dump
new file mode 100644
index 0000000..9765de4
--- /dev/null
+++ b/src/testdir/dumps/Test_tabline_showcmd_2.dump
@@ -0,0 +1,6 @@
+| +1&#ffffff0@74
+>a+0&&| @73
+|b| @73
+|c| @73
+|~+0#4040ff13&| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_tabline_showcmd_3.dump b/src/testdir/dumps/Test_tabline_showcmd_3.dump
new file mode 100644
index 0000000..3e29cda
--- /dev/null
+++ b/src/testdir/dumps/Test_tabline_showcmd_3.dump
@@ -0,0 +1,6 @@
+|3+1&#ffffff0|x|2| @71
+|a+0&#e0e0e08| +0&#ffffff0@73
+|b+0&#e0e0e08| +0&#ffffff0@73
+|c+0&#e0e0e08> +0&#ffffff0@73
+|~+0#4040ff13&| @73
+|-+2#0000000&@1| |V|I|S|U|A|L| |B|L|O|C|K| |-@1| +0&&@38|3|,|2| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_tabline_showcmd_4.dump b/src/testdir/dumps/Test_tabline_showcmd_4.dump
new file mode 100644
index 0000000..f9aac49
--- /dev/null
+++ b/src/testdir/dumps/Test_tabline_showcmd_4.dump
@@ -0,0 +1,6 @@
+|1+1&#ffffff0|2|3|4| @70
+|a+0&&| @73
+|b| @73
+>c| @73
+|~+0#4040ff13&| @73
+| +0#0000000&@56|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_tabline_showcmd_5.dump b/src/testdir/dumps/Test_tabline_showcmd_5.dump
new file mode 100644
index 0000000..4eaa198
--- /dev/null
+++ b/src/testdir/dumps/Test_tabline_showcmd_5.dump
@@ -0,0 +1,6 @@
+| +2&#ffffff0|+| |[|N|o| |N|a|m|e|]| | +1&&@51|1+8#0000001#e0e0e08|2|3|4| +1#0000000#ffffff0@5
+|a+0&&| @73
+|b| @73
+>c| @73
+|~+0#4040ff13&| @73
+|:+0#0000000&| @55|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_tabpage_cmdheight.dump b/src/testdir/dumps/Test_tabpage_cmdheight.dump
new file mode 100644
index 0000000..74ac734
--- /dev/null
+++ b/src/testdir/dumps/Test_tabpage_cmdheight.dump
@@ -0,0 +1,20 @@
+| +8#0000001#e0e0e08|[|N|o| |N|a|m|e|]| | +2#0000000#ffffff0|[|N|o| |N|a|m|e|]| | +1&&@51|X+8#0000001#e0e0e08
+> +0#0000000#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
+@75
+@75
diff --git a/src/testdir/dumps/Test_tenc_euc_jp_01.dump b/src/testdir/dumps/Test_tenc_euc_jp_01.dump
new file mode 100644
index 0000000..14a4313
--- /dev/null
+++ b/src/testdir/dumps/Test_tenc_euc_jp_01.dump
@@ -0,0 +1,10 @@
+>E+0&#ffffff0|8|9|:| |バ*&|ッ|フ|ァ| +&|%|l|d| |の*&|変|更|は|保|存|さ|れ|て|い|ま|せ|ん| +&|(|!| |で*&|変|更|を|破|棄|)+&| @13
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|X+3#0000000&|e|u|c|_|j|p|.|t|x|t| @45|1|,|1| @11|A|l@1
+|E+0&&|8|3|:| |バ*&|ッ|フ|ァ|を|作|成|で|き|な|い|の|で|、|他|の|を|使|用|し|ま|す|.+&@2| @22
+|~+0#4040ff13&| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|5|2| @10|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_term_popup_bufline.dump b/src/testdir/dumps/Test_term_popup_bufline.dump
new file mode 100644
index 0000000..50ba4a6
--- /dev/null
+++ b/src/testdir/dumps/Test_term_popup_bufline.dump
@@ -0,0 +1,15 @@
+|1+0&#ffffff0| @73
+|2| @73
+|3| @73
+|4| @73
+>5| @35|0+0#0000001#ffd7ff255| +0#0000000#ffffff0@36
+|~+0#4040ff13&| @35|1+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@36
+|!+2#ffffff16#00e0003|s|e|q| |1| |5| |[|f|i|n|i|s|h|e|d|]| @17|2+0#0000001#ffd7ff255| +2#ffffff16#00e0003@18|5|,|1| @11|A|l@1
+| +0#0000000#ffffff0@36|3+0#0000001#ffd7ff255| +0#0000000#ffffff0@36
+|~+0#4040ff13&| @35|4+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@36
+|~| @35| +0#0000001#ffd7ff255| +0#4040ff13#ffffff0@36
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_terminal_all_ansi_colors.dump b/src/testdir/dumps/Test_terminal_all_ansi_colors.dump
new file mode 100644
index 0000000..2a0d481
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_all_ansi_colors.dump
@@ -0,0 +1,10 @@
+>A+0#0000001#8080809@1|B+0#e000002#ff404010@1|C+0#00e0003#40ff4011@1|D+0#e0e0004#ffff4012@1|E+0#0000e05#4040ff13@1|F+0#e000e06#ff40ff14@1|G+0#00e0e07#40ffff15@1|H+0#e0e0e08#ffffff16@1|I+0#8080809#0000001@1|J+0#ff404010#e000002@1|K+0#40ff4011#00e0003@1|L+0#ffff4012#e0e0004@1|M+0#4040ff13#0000e05@1|N+0#ff40ff14#e000e06@1|O+0#40ffff15#00e0e07@1|P+0#ffffff16#e0e0e08@1| +0#0000000#ffffff0|X+2#e000002&@1|Y+2#40ff4011&@1|Z+2#ff40ff14#e000e06@1| +0#0000000#ffffff0@35
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_terminal_color_MyTermCol.dump b/src/testdir/dumps/Test_terminal_color_MyTermCol.dump
new file mode 100644
index 0000000..8b16c28
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_MyTermCol.dump
@@ -0,0 +1,15 @@
+|h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35
+|h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35
+> +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|2+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|3+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|4+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|5+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|6+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|7+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|8+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|9+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|0| @34
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&@1| @34
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|2| @34
+|!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_MyTermCol_over_Terminal.dump b/src/testdir/dumps/Test_terminal_color_MyTermCol_over_Terminal.dump
new file mode 100644
index 0000000..8b16c28
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_MyTermCol_over_Terminal.dump
@@ -0,0 +1,15 @@
+|h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35
+|h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35
+> +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|2+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|3+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|4+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|5+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|6+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|7+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|8+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|9+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|0| @34
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&@1| @34
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|2| @34
+|!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_MyWinCol.dump b/src/testdir/dumps/Test_terminal_color_MyWinCol.dump
new file mode 100644
index 0000000..e89d056
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_MyWinCol.dump
@@ -0,0 +1,15 @@
+|h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35
+|h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35
+> +0#ff404010#e0e0004@36||+1#0000000#ffffff0|2+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|3+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|4+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|5+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|6+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|7+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|8+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|9+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&|0| @34
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&@1| @34
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&|2| @34
+|!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_MyWinCol_over_group.dump b/src/testdir/dumps/Test_terminal_color_MyWinCol_over_group.dump
new file mode 100644
index 0000000..e89d056
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_MyWinCol_over_group.dump
@@ -0,0 +1,15 @@
+|h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35
+|h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35
+> +0#ff404010#e0e0004@36||+1#0000000#ffffff0|2+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|3+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|4+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|5+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|6+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|7+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|8+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|9+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&|0| @34
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&@1| @34
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|1+0&&|2| @34
+|!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_Terminal.dump b/src/testdir/dumps/Test_terminal_color_Terminal.dump
new file mode 100644
index 0000000..9480ccf
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_Terminal.dump
@@ -0,0 +1,15 @@
+|h+0#4040ff13#ffff4012|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35
+|h+0#4040ff13#ffff4012|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35
+> +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|2+0&&| @35
+| +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|3+0&&| @35
+| +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|4+0&&| @35
+| +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|5+0&&| @35
+| +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|6+0&&| @35
+| +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|7+0&&| @35
+| +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|8+0&&| @35
+| +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|9+0&&| @35
+| +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|1+0&&|0| @34
+| +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|1+0&&@1| @34
+| +0#4040ff13#ffff4012@36||+1#0000000#ffffff0|1+0&&|2| @34
+|!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_gui_MyTermCol.dump b/src/testdir/dumps/Test_terminal_color_gui_MyTermCol.dump
new file mode 100644
index 0000000..363582f
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_gui_MyTermCol.dump
@@ -0,0 +1,15 @@
+|h+0#007800255#6789ff255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35
+|h+0#007800255#6789ff255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35
+> +0#007800255#6789ff255@36||+1#0000000#ffffff0|2+0&&| @35
+| +0#007800255#6789ff255@36||+1#0000000#ffffff0|3+0&&| @35
+| +0#007800255#6789ff255@36||+1#0000000#ffffff0|4+0&&| @35
+| +0#007800255#6789ff255@36||+1#0000000#ffffff0|5+0&&| @35
+| +0#007800255#6789ff255@36||+1#0000000#ffffff0|6+0&&| @35
+| +0#007800255#6789ff255@36||+1#0000000#ffffff0|7+0&&| @35
+| +0#007800255#6789ff255@36||+1#0000000#ffffff0|8+0&&| @35
+| +0#007800255#6789ff255@36||+1#0000000#ffffff0|9+0&&| @35
+| +0#007800255#6789ff255@36||+1#0000000#ffffff0|1+0&&|0| @34
+| +0#007800255#6789ff255@36||+1#0000000#ffffff0|1+0&&@1| @34
+| +0#007800255#6789ff255@36||+1#0000000#ffffff0|1+0&&|2| @34
+|!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_gui_MyWinCol.dump b/src/testdir/dumps/Test_terminal_color_gui_MyWinCol.dump
new file mode 100644
index 0000000..cb3d0c8
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_gui_MyWinCol.dump
@@ -0,0 +1,15 @@
+|h+0#fe1122255#818100255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35
+|h+0#fe1122255#818100255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35
+> +0#fe1122255#818100255@36||+1#0000000#ffffff0|2+0&&| @35
+| +0#fe1122255#818100255@36||+1#0000000#ffffff0|3+0&&| @35
+| +0#fe1122255#818100255@36||+1#0000000#ffffff0|4+0&&| @35
+| +0#fe1122255#818100255@36||+1#0000000#ffffff0|5+0&&| @35
+| +0#fe1122255#818100255@36||+1#0000000#ffffff0|6+0&&| @35
+| +0#fe1122255#818100255@36||+1#0000000#ffffff0|7+0&&| @35
+| +0#fe1122255#818100255@36||+1#0000000#ffffff0|8+0&&| @35
+| +0#fe1122255#818100255@36||+1#0000000#ffffff0|9+0&&| @35
+| +0#fe1122255#818100255@36||+1#0000000#ffffff0|1+0&&|0| @34
+| +0#fe1122255#818100255@36||+1#0000000#ffffff0|1+0&&@1| @34
+| +0#fe1122255#818100255@36||+1#0000000#ffffff0|1+0&&|2| @34
+|!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_gui_Terminal.dump b/src/testdir/dumps/Test_terminal_color_gui_Terminal.dump
new file mode 100644
index 0000000..c5455e4
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_gui_Terminal.dump
@@ -0,0 +1,15 @@
+|h+0#3344ff255#b0a700255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35
+|h+0#3344ff255#b0a700255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35
+> +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|2+0&&| @35
+| +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|3+0&&| @35
+| +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|4+0&&| @35
+| +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|5+0&&| @35
+| +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|6+0&&| @35
+| +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|7+0&&| @35
+| +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|8+0&&| @35
+| +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|9+0&&| @35
+| +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|1+0&&|0| @34
+| +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|1+0&&@1| @34
+| +0#3344ff255#b0a700255@36||+1#0000000#ffffff0|1+0&&|2| @34
+|!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_gui_transp_MyTermCol.dump b/src/testdir/dumps/Test_terminal_color_gui_transp_MyTermCol.dump
new file mode 100644
index 0000000..337c5a3
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_gui_transp_MyTermCol.dump
@@ -0,0 +1,15 @@
+|h+0#007800255#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35
+|h+0#007800255&|e|l@1|o| @31||+1#0000000&|1+0&&| @35
+> +0#007800255&@36||+1#0000000&|2+0&&| @35
+| +0#007800255&@36||+1#0000000&|3+0&&| @35
+| +0#007800255&@36||+1#0000000&|4+0&&| @35
+| +0#007800255&@36||+1#0000000&|5+0&&| @35
+| +0#007800255&@36||+1#0000000&|6+0&&| @35
+| +0#007800255&@36||+1#0000000&|7+0&&| @35
+| +0#007800255&@36||+1#0000000&|8+0&&| @35
+| +0#007800255&@36||+1#0000000&|9+0&&| @35
+| +0#007800255&@36||+1#0000000&|1+0&&|0| @34
+| +0#007800255&@36||+1#0000000&|1+0&&@1| @34
+| +0#007800255&@36||+1#0000000&|1+0&&|2| @34
+|!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_gui_transp_MyWinCol.dump b/src/testdir/dumps/Test_terminal_color_gui_transp_MyWinCol.dump
new file mode 100644
index 0000000..42cb856
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_gui_transp_MyWinCol.dump
@@ -0,0 +1,15 @@
+|h+0#fe1122255#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35
+|h+0#fe1122255&|e|l@1|o| @31||+1#0000000&|1+0&&| @35
+> +0#fe1122255&@36||+1#0000000&|2+0&&| @35
+| +0#fe1122255&@36||+1#0000000&|3+0&&| @35
+| +0#fe1122255&@36||+1#0000000&|4+0&&| @35
+| +0#fe1122255&@36||+1#0000000&|5+0&&| @35
+| +0#fe1122255&@36||+1#0000000&|6+0&&| @35
+| +0#fe1122255&@36||+1#0000000&|7+0&&| @35
+| +0#fe1122255&@36||+1#0000000&|8+0&&| @35
+| +0#fe1122255&@36||+1#0000000&|9+0&&| @35
+| +0#fe1122255&@36||+1#0000000&|1+0&&|0| @34
+| +0#fe1122255&@36||+1#0000000&|1+0&&@1| @34
+| +0#fe1122255&@36||+1#0000000&|1+0&&|2| @34
+|!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_gui_transp_Terminal.dump b/src/testdir/dumps/Test_terminal_color_gui_transp_Terminal.dump
new file mode 100644
index 0000000..3e640bf
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_gui_transp_Terminal.dump
@@ -0,0 +1,15 @@
+|h+0#3344ff255#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35
+|h+0#3344ff255&|e|l@1|o| @31||+1#0000000&|1+0&&| @35
+> +0#3344ff255&@36||+1#0000000&|2+0&&| @35
+| +0#3344ff255&@36||+1#0000000&|3+0&&| @35
+| +0#3344ff255&@36||+1#0000000&|4+0&&| @35
+| +0#3344ff255&@36||+1#0000000&|5+0&&| @35
+| +0#3344ff255&@36||+1#0000000&|6+0&&| @35
+| +0#3344ff255&@36||+1#0000000&|7+0&&| @35
+| +0#3344ff255&@36||+1#0000000&|8+0&&| @35
+| +0#3344ff255&@36||+1#0000000&|9+0&&| @35
+| +0#3344ff255&@36||+1#0000000&|1+0&&|0| @34
+| +0#3344ff255&@36||+1#0000000&|1+0&&@1| @34
+| +0#3344ff255&@36||+1#0000000&|1+0&&|2| @34
+|!+2#ffffff255#006400255|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_transp_MyTermCol.dump b/src/testdir/dumps/Test_terminal_color_transp_MyTermCol.dump
new file mode 100644
index 0000000..3fe2ec1
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_transp_MyTermCol.dump
@@ -0,0 +1,15 @@
+|h+0#00e0003#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35
+|h+0#00e0003&|e|l@1|o| @31||+1#0000000&|1+0&&| @35
+> +0#00e0003&@36||+1#0000000&|2+0&&| @35
+| +0#00e0003&@36||+1#0000000&|3+0&&| @35
+| +0#00e0003&@36||+1#0000000&|4+0&&| @35
+| +0#00e0003&@36||+1#0000000&|5+0&&| @35
+| +0#00e0003&@36||+1#0000000&|6+0&&| @35
+| +0#00e0003&@36||+1#0000000&|7+0&&| @35
+| +0#00e0003&@36||+1#0000000&|8+0&&| @35
+| +0#00e0003&@36||+1#0000000&|9+0&&| @35
+| +0#00e0003&@36||+1#0000000&|1+0&&|0| @34
+| +0#00e0003&@36||+1#0000000&|1+0&&@1| @34
+| +0#00e0003&@36||+1#0000000&|1+0&&|2| @34
+|!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_transp_MyWinCol.dump b/src/testdir/dumps/Test_terminal_color_transp_MyWinCol.dump
new file mode 100644
index 0000000..2648d5a
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_transp_MyWinCol.dump
@@ -0,0 +1,15 @@
+|h+0#ff404010#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35
+|h+0#ff404010&|e|l@1|o| @31||+1#0000000&|1+0&&| @35
+> +0#ff404010&@36||+1#0000000&|2+0&&| @35
+| +0#ff404010&@36||+1#0000000&|3+0&&| @35
+| +0#ff404010&@36||+1#0000000&|4+0&&| @35
+| +0#ff404010&@36||+1#0000000&|5+0&&| @35
+| +0#ff404010&@36||+1#0000000&|6+0&&| @35
+| +0#ff404010&@36||+1#0000000&|7+0&&| @35
+| +0#ff404010&@36||+1#0000000&|8+0&&| @35
+| +0#ff404010&@36||+1#0000000&|9+0&&| @35
+| +0#ff404010&@36||+1#0000000&|1+0&&|0| @34
+| +0#ff404010&@36||+1#0000000&|1+0&&@1| @34
+| +0#ff404010&@36||+1#0000000&|1+0&&|2| @34
+|!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_color_transp_Terminal.dump b/src/testdir/dumps/Test_terminal_color_transp_Terminal.dump
new file mode 100644
index 0000000..33d0281
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_color_transp_Terminal.dump
@@ -0,0 +1,15 @@
+|h+0#4040ff13#ffffff0|e|l@1|o| @31||+1#0000000&|0+0&&| @35
+|h+0#4040ff13&|e|l@1|o| @31||+1#0000000&|1+0&&| @35
+> +0#4040ff13&@36||+1#0000000&|2+0&&| @35
+| +0#4040ff13&@36||+1#0000000&|3+0&&| @35
+| +0#4040ff13&@36||+1#0000000&|4+0&&| @35
+| +0#4040ff13&@36||+1#0000000&|5+0&&| @35
+| +0#4040ff13&@36||+1#0000000&|6+0&&| @35
+| +0#4040ff13&@36||+1#0000000&|7+0&&| @35
+| +0#4040ff13&@36||+1#0000000&|8+0&&| @35
+| +0#4040ff13&@36||+1#0000000&|9+0&&| @35
+| +0#4040ff13&@36||+1#0000000&|1+0&&|0| @34
+| +0#4040ff13&@36||+1#0000000&|1+0&&@1| @34
+| +0#4040ff13&@36||+1#0000000&|1+0&&|2| @34
+|!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|c|a|l@1| |O|p|e|n|T|e|r|m|(|)| @58
diff --git a/src/testdir/dumps/Test_terminal_combining.dump b/src/testdir/dumps/Test_terminal_combining.dump
new file mode 100644
index 0000000..390da0a
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_combining.dump
@@ -0,0 +1,9 @@
+>ポ*0&#ffffff0| +&@72
+|~+0#4040ff13&| @73
+|~| @73
+|!+2#ffffff16#00e0003|/|b|i|n|/|s|h| |[|f|i|n|i|s|h|e|d|]| @37|1|,|1| @11|A|l@1
+| +0#0000000#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_terminal_dumpload.dump b/src/testdir/dumps/Test_terminal_dumpload.dump
new file mode 100644
index 0000000..7d2e1b0
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_dumpload.dump
@@ -0,0 +1,15 @@
+>1+0&#ffffff0| @73
+|2| |╔+0&#5fd7ff255|═@11|╗| +0&#ffffff0@5|╔+0&#dadada255|═@11|╗+0&#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255@13| +0&#ffffff0@2|#+0&#5fd7ff255|x@11|#| +0&#ffffff0@1
+|3| |║+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|║+0#0000000#5fd7ff255| +0&#ffffff0@5|║+0&#a8a8a8255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|║+0#0000000#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|x+0#0000000#5fd7ff255| +0&#ffffff0@2|x+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|x+0#0000000#5fd7ff255| +0&#ffffff0@1
+|4| |╚+0&#5fd7ff255|═@11|╝| +0&#ffffff0@5|║+0&#a8a8a8255|a+0#0000001#ffd7ff255|n|d| |m|o|r|e| @3|║+0#0000000#8a8a8a255| +0&#ffffff0@5|x+0&#5fd7ff255|l+0#0000001#ffd7ff255|i|n|e|s| |o|n|l|y| @1|x+0#0000000#5fd7ff255| +0&#ffffff0@2|x+0&#5fd7ff255|w+0#0000001#ffd7ff255|i|t|h| |c|o|r|n|e|r|s|x+0#0000000#5fd7ff255| +0&#ffffff0@1
+|5| @20|╚+0&#585858255|═@11|╝| +0&#ffffff0@5|x+0&#5fd7ff255@13| +0&#ffffff0@2|#+0&#5fd7ff255|x@11|#| +0&#ffffff0@1
+|6| |4+0&#5fd7ff255|0@11|5| +0&#ffffff0@58
+|7| |3+0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r|1+0#0000000#5fd7ff255| +0&#ffffff0@5| +0&#5fd7ff255@13| +0&#ffffff0@38
+|8| |3+0&#5fd7ff255|w+0#0000001#ffd7ff255|i|t|h| |n|u|m|b|e|r|s|1+0#0000000#5fd7ff255| +0&#ffffff0@5| +0&#5fd7ff255|h+0#0000001#ffd7ff255|e|l@1|o| |b|o|r|d|e|r| +0#0000000#5fd7ff255| +0&#ffffff0@38
+|9| |7+0&#5fd7ff255|2@11|6| +0&#ffffff0@5| +0&#5fd7ff255|j+0#0000001#ffd7ff255|u|s|t| |b|l|a|n|k|s| | +0#0000000#5fd7ff255| +0&#ffffff0@38
+|1|0| @19| +0&#5fd7ff255@13| +0&#ffffff0@38
+|1@1| @72
+|d+2#ffffff16#00e0003|u|m|p| |d|i|f@1| |d|u|m|p|s|/|T|e|s|t|_|p|o|p|u|p|w|i|n|_|2@1|.|d|u|m|p| |[|f|i|n|i|s|h|e|d|]| @8|1|,|1| @11|T|o|p
+| +0#0000000#ffffff0@74
+|[+1&&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_terminal_focus_1.dump b/src/testdir/dumps/Test_terminal_focus_1.dump
new file mode 100644
index 0000000..caf67e7
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_focus_1.dump
@@ -0,0 +1,6 @@
+>I+0&#ffffff0| |a|m| |l|o|s|t| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_terminal_focus_2.dump b/src/testdir/dumps/Test_terminal_focus_2.dump
new file mode 100644
index 0000000..d02c151
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_focus_2.dump
@@ -0,0 +1,6 @@
+>I+0&#ffffff0| |a|m| |b|a|c|k| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_terminal_focus_3.dump b/src/testdir/dumps/Test_terminal_focus_3.dump
new file mode 100644
index 0000000..8ece5a2
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_focus_3.dump
@@ -0,0 +1,6 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|x@73
+@6> @68
diff --git a/src/testdir/dumps/Test_terminal_from_cmd.dump b/src/testdir/dumps/Test_terminal_from_cmd.dump
new file mode 100644
index 0000000..5eea73f
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_from_cmd.dump
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+@75
+@75
+@75
+@75
+@75
+@75
+@75
+@75
+|!+2#ffffff16#00e0003|/|b|i|n|/|s|h| |[|f|i|n|i|s|h|e|d|]| @37|0|,|0|-|1| @9|A|l@1
+|a+0#0000000#ffffff0| @73
+|b| @73
+|c| @73
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1| @11|A|l@1
+|/+0&&> @73
diff --git a/src/testdir/dumps/Test_terminal_normal_1.dump b/src/testdir/dumps/Test_terminal_normal_1.dump
new file mode 100644
index 0000000..471419a
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_normal_1.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| |1+0#0000000&@4| @65
+| +0#af5f00255&@1|2| |1+0#0000000&@3|2| @65
+| +8#af5f00255&@1|3| >1+8#0000000&@3|3| @65
+| +0#af5f00255&@1|4| |1+0#0000000&@3|4| @65
+| +0#af5f00255&@1|5| |1+0#0000000&@3|5| @65
+| +0#af5f00255&@1|6| |1+0#0000000&@3|6| @65
+| +0#af5f00255&@1|7| |1+0#0000000&@3|7| @65
+|:|s|e|t| |n|u|m|b|e|r| |c|u|r|s|o|r|l|i|n|e| |c|u|l|o|p|t|=|b|o|t|h| @22|3|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_terminal_normal_2.dump b/src/testdir/dumps/Test_terminal_normal_2.dump
new file mode 100644
index 0000000..b255d89
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_normal_2.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| |1+0#0000000&@4| @65
+| +0#af5f00255&@1|2| |1+0#0000000&@3|2| @65
+| +8#af5f00255&@1|3| >1+0#0000000&@3|3| @65
+| +0#af5f00255&@1|4| |1+0#0000000&@3|4| @65
+| +0#af5f00255&@1|5| |1+0#0000000&@3|5| @65
+| +0#af5f00255&@1|6| |1+0#0000000&@3|6| @65
+| +0#af5f00255&@1|7| |1+0#0000000&@3|7| @65
+|:|s|e|t| |c|u|l|o|p|t|=|n|u|m|b|e|r| @38|3|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_terminal_normal_3.dump b/src/testdir/dumps/Test_terminal_normal_3.dump
new file mode 100644
index 0000000..aa82fe8
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_normal_3.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| |1+0#0000000&@4| @65
+| +0#af5f00255&@1|2| |1+0#0000000&@3|2| @65
+| +0#af5f00255&@1|3| >1+8#0000000&@3|3| @65
+| +0#af5f00255&@1|4| |1+0#0000000&@3|4| @65
+| +0#af5f00255&@1|5| |1+0#0000000&@3|5| @65
+| +0#af5f00255&@1|6| |1+0#0000000&@3|6| @65
+| +0#af5f00255&@1|7| |1+0#0000000&@3|7| @65
+|:|s|e|t| |c|u|l|o|p|t|=|l|i|n|e| @40|3|,|1| @10|T|o|p|
diff --git a/src/testdir/dumps/Test_terminal_popup_1.dump b/src/testdir/dumps/Test_terminal_popup_1.dump
new file mode 100644
index 0000000..d4311ba
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_1.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @12|╔+0#0000001#ffd7ff255|═@44|╗| +0#0000000#ffffff0@13
+|4| @12|║+0#0000001#ffd7ff255>s+0#0000000#ffffff0|o|m|e| |t|e|x|t| @35|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|5| @12|║+0#0000001#ffd7ff255|t+0#0000000#ffffff0|o| |e|d|i|t| @37|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|6| @12|║+0#0000001#ffd7ff255|i+0#0000000#ffffff0|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| @27|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|7| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|8| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|9| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|1|0| @11|║+0#0000001#ffd7ff255|:+0#0000000#ffffff0| @25|1|,|1| @10|A|l@1| |║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|1@1| @11|╚+0#0000001#ffd7ff255|═@44|⇲| +0#0000000#ffffff0@13
+|1|2| @72
+|1|3| @72
+|t|e|r|m|i|n|a|l| |p|o|p|u|p| @60
diff --git a/src/testdir/dumps/Test_terminal_popup_2.dump b/src/testdir/dumps/Test_terminal_popup_2.dump
new file mode 100644
index 0000000..5e53e71
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_2.dump
@@ -0,0 +1,15 @@
+>0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+|1|0| @72
+|1@1| @72
+|1|2| @72
+|1|3| @72
+|"|[|N|o| |N|a|m|e|]|"| |[|M|o|d|i|f|i|e|d|]| |l|i|n|e| |1| |o|f| |2|0| |-@1|5|%|-@1| |c|o|l| |1| @26
diff --git a/src/testdir/dumps/Test_terminal_popup_3.dump b/src/testdir/dumps/Test_terminal_popup_3.dump
new file mode 100644
index 0000000..9177082
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_3.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @12|╔+0&#a8a8a8255|═@44|╗| +0&#ffffff0@13
+|4| @12|║+0&#a8a8a8255|s|o|m|e| |t|e|x|t| @35|║| +0&#ffffff0@13
+|5| @12|║+0&#a8a8a8255|t|o| >e+0&#ffff4012|d|i|t| +0&#a8a8a8255@37|║| +0&#ffffff0@13
+|6| @12|║+0&#a8a8a8255|i|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| @27|║| +0&#ffffff0@13
+|7| @12|║+0&#a8a8a8255|~+0#4040ff13&| @43|║+0#0000000&| +0&#ffffff0@13
+|8| @12|║+0&#a8a8a8255|~+0#4040ff13&| @43|║+0#0000000&| +0&#ffffff0@13
+|9| @12|║+0&#a8a8a8255|~+0#4040ff13&| @43|║+0#0000000&| +0&#ffffff0@13
+|1|0| @11|║+0&#a8a8a8255|/|e|d|i|t| @21|2|,|4| @10|A|l@1| |║| +0&#ffffff0@13
+|1@1| @11|╚+0&#a8a8a8255|═@44|⇲| +0&#ffffff0@13
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_4.dump b/src/testdir/dumps/Test_terminal_popup_4.dump
new file mode 100644
index 0000000..de1e6c9
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_4.dump
@@ -0,0 +1,15 @@
+|3+0&#ffffff0| @12|╔+0&#a8a8a8255|═@44|╗| +0&#ffffff0@13
+|4| @12|║+0&#a8a8a8255|s|o|m|e| |t|e|x|t| @35|║| +0&#ffffff0@13
+|5| @12|║+0&#a8a8a8255|t|o| |e+0&#ffff4012|d|i|t| +0&#a8a8a8255@37|║| +0&#ffffff0@13
+|6| @12|║+0&#a8a8a8255|i|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| @27|║| +0&#ffffff0@13
+|7| @12|║+0&#a8a8a8255|~+0#4040ff13&| @43|║+0#0000000&| +0&#ffffff0@13
+|8| @12|║+0&#a8a8a8255|~+0#4040ff13&| @43|║+0#0000000&| +0&#ffffff0@13
+|9| @12|║+0&#a8a8a8255|~+0#4040ff13&| @43|║+0#0000000&| +0&#ffffff0@13
+|1|0| @11|║+0&#a8a8a8255|/|e|d|i|t| @21|2|,|4| @10|A|l@1| |║| +0&#ffffff0@13
+|1@1| @11|╚+0&#a8a8a8255|═@44|⇲| +0&#ffffff0@13
+|1|2| @72
+|1|3| @72
+|E+0#ffffff16#e000002|r@1|o|r| |d|e|t|e|c|t|e|d| |w|h|i|l|e| |p|r|o|c|e|s@1|i|n|g| |f|u|n|c|t|i|o|n| |H|i|d|e|P|o|p|u|p|:| +0#0000000#ffffff0@23
+|l+0#af5f00255&|i|n|e| @3|1|:| +0#0000000&@64
+|E+0#ffffff16#e000002|8|6|3|:| |N|o|t| |a|l@1|o|w|e|d| |f|o|r| |a| |t|e|r|m|i|n|a|l| |i|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| +0#0000000#ffffff0@24
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35
diff --git a/src/testdir/dumps/Test_terminal_popup_5.dump b/src/testdir/dumps/Test_terminal_popup_5.dump
new file mode 100644
index 0000000..42808b0
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_5.dump
@@ -0,0 +1,15 @@
+>0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|9| @73
+|1|0| @72
+|1@1| @72
+|1|2| @72
+|1|3| @72
+|:|c|a|l@1| |C|l|o|s|e|P|o|p|u|p|(|)| @56
diff --git a/src/testdir/dumps/Test_terminal_popup_6.dump b/src/testdir/dumps/Test_terminal_popup_6.dump
new file mode 100644
index 0000000..da5cf46
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_6.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @12|╔+0#0000001#ffd7ff255|═@44|╗| +0#0000000#ffffff0@13
+|4| @12|║+0#0000001#ffd7ff255|s+0#0000000#ffffff0|o|m|e| |t|e|x|t| @35|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|5| @12|║+0#0000001#ffd7ff255|t+0#0000000#ffffff0|o| >e+0&#ffff4012|d|i|t| +0&#ffffff0@37|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|6| @12|║+0#0000001#ffd7ff255|i+0#0000000#ffffff0|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| @27|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|7| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|8| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|9| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|1|0| @11|║+0#0000001#ffd7ff255|/+0#0000000#ffffff0|e|d|i|t| @21|2|,|4| @10|A|l@1| |║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|1@1| @11|╚+0#0000001#ffd7ff255|═@44|╝| +0#0000000#ffffff0@13
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_7.dump b/src/testdir/dumps/Test_terminal_popup_7.dump
new file mode 100644
index 0000000..e7e5aae
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_7.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @12|╔+0#0000001#ffd7ff255|═@44|╗| +0#0000000#ffffff0@13
+|4| @12|║+0#0000001#ffd7ff255|s|o|m|e| |t|e|x|t| @35|║| +0#0000000#ffffff0@13
+|5| @12|║+0#0000001#ffd7ff255|t|o| |e+0&#ffff4012|d|i|t| +0&#ffd7ff255@37|║| +0#0000000#ffffff0@13
+|6| @12|║+0#0000001#ffd7ff255|i+0&#e0e0e08|n| |a| >p+0&#ffd7ff255|o|p|u|p| |w|i|n|d|o|w| @27|║| +0#0000000#ffffff0@13
+|7| @12|║+0#0000001#ffd7ff255|~+0#4040ff13&| @43|║+0#0000001&| +0#0000000#ffffff0@13
+|8| @12|║+0#0000001#ffd7ff255|~+0#4040ff13&| @43|║+0#0000001&| +0#0000000#ffffff0@13
+|9| @12|║+0#0000001#ffd7ff255|~+0#4040ff13&| @43|║+0#0000001&| +0#0000000#ffffff0@13
+|1|0| @11|║+0#0000001#ffd7ff255|/|e|d|i|t| @21|2|,|4| @10|A|l@1| |║| +0#0000000#ffffff0@13
+|1@1| @11|╚+0#0000001#ffd7ff255|═@44|╝| +0#0000000#ffffff0@13
+|1|2| @72
+|1|3| @72
+|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@51|6| @9
diff --git a/src/testdir/dumps/Test_terminal_popup_8.dump b/src/testdir/dumps/Test_terminal_popup_8.dump
new file mode 100644
index 0000000..da5cf46
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_8.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @12|╔+0#0000001#ffd7ff255|═@44|╗| +0#0000000#ffffff0@13
+|4| @12|║+0#0000001#ffd7ff255|s+0#0000000#ffffff0|o|m|e| |t|e|x|t| @35|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|5| @12|║+0#0000001#ffd7ff255|t+0#0000000#ffffff0|o| >e+0&#ffff4012|d|i|t| +0&#ffffff0@37|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|6| @12|║+0#0000001#ffd7ff255|i+0#0000000#ffffff0|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| @27|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|7| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|8| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|9| @12|║+0#0000001#ffd7ff255|~+0#4040ff13#ffffff0| @43|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|1|0| @11|║+0#0000001#ffd7ff255|/+0#0000000#ffffff0|e|d|i|t| @21|2|,|4| @10|A|l@1| |║+0#0000001#ffd7ff255| +0#0000000#ffffff0@13
+|1@1| @11|╚+0#0000001#ffd7ff255|═@44|╝| +0#0000000#ffffff0@13
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_MyPopupHlCol.dump b/src/testdir/dumps/Test_terminal_popup_MyPopupHlCol.dump
new file mode 100644
index 0000000..639ba98
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_MyPopupHlCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#40ffff15#40ff4011|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#40ffff15#40ff4011|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26
+|6| @24|║+0#40ffff15#40ff4011|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26
+|7| @24|║+0#40ffff15#40ff4011> @19|║| +0#0000000#ffffff0@26
+|8| @24|║+0#40ffff15#40ff4011| @19|║| +0#0000000#ffffff0@26
+|9| @24|║+0#40ffff15#40ff4011| @19|║| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#40ffff15#40ff4011|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_MyTermCol.dump b/src/testdir/dumps/Test_terminal_popup_MyTermCol.dump
new file mode 100644
index 0000000..82fcec7
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_MyTermCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#0000001#ffd7ff255|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#0000001#ffd7ff255|h+0#00e0003#5fd7ff255|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|6| @24|║+0#0000001#ffd7ff255|h+0#00e0003#5fd7ff255|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|7| @24|║+0#0000001#ffd7ff255> +0#00e0003#5fd7ff255@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|8| @24|║+0#0000001#ffd7ff255| +0#00e0003#5fd7ff255@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|9| @24|║+0#0000001#ffd7ff255| +0#00e0003#5fd7ff255@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#0000001#ffd7ff255|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_MyTermCol_over_Terminal.dump b/src/testdir/dumps/Test_terminal_popup_MyTermCol_over_Terminal.dump
new file mode 100644
index 0000000..82fcec7
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_MyTermCol_over_Terminal.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#0000001#ffd7ff255|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#0000001#ffd7ff255|h+0#00e0003#5fd7ff255|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|6| @24|║+0#0000001#ffd7ff255|h+0#00e0003#5fd7ff255|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|7| @24|║+0#0000001#ffd7ff255> +0#00e0003#5fd7ff255@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|8| @24|║+0#0000001#ffd7ff255| +0#00e0003#5fd7ff255@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|9| @24|║+0#0000001#ffd7ff255| +0#00e0003#5fd7ff255@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#0000001#ffd7ff255|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_MyWinCol.dump b/src/testdir/dumps/Test_terminal_popup_MyWinCol.dump
new file mode 100644
index 0000000..502782a
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_MyWinCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#ff404010#e0e0004|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#ff404010#e0e0004|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26
+|6| @24|║+0#ff404010#e0e0004|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26
+|7| @24|║+0#ff404010#e0e0004> @19|║| +0#0000000#ffffff0@26
+|8| @24|║+0#ff404010#e0e0004| @19|║| +0#0000000#ffffff0@26
+|9| @24|║+0#ff404010#e0e0004| @19|║| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#ff404010#e0e0004|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_MyWinCol_over_group.dump b/src/testdir/dumps/Test_terminal_popup_MyWinCol_over_group.dump
new file mode 100644
index 0000000..502782a
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_MyWinCol_over_group.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#ff404010#e0e0004|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#ff404010#e0e0004|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26
+|6| @24|║+0#ff404010#e0e0004|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26
+|7| @24|║+0#ff404010#e0e0004> @19|║| +0#0000000#ffffff0@26
+|8| @24|║+0#ff404010#e0e0004| @19|║| +0#0000000#ffffff0@26
+|9| @24|║+0#ff404010#e0e0004| @19|║| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#ff404010#e0e0004|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_Terminal.dump b/src/testdir/dumps/Test_terminal_popup_Terminal.dump
new file mode 100644
index 0000000..938b419
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_Terminal.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#0000001#ffd7ff255|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#0000001#ffd7ff255|h+0#4040ff13#ffff4012|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|6| @24|║+0#0000001#ffd7ff255|h+0#4040ff13#ffff4012|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|7| @24|║+0#0000001#ffd7ff255> +0#4040ff13#ffff4012@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|8| @24|║+0#0000001#ffd7ff255| +0#4040ff13#ffff4012@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|9| @24|║+0#0000001#ffd7ff255| +0#4040ff13#ffff4012@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#0000001#ffd7ff255|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_gui_MyPopupHlCol.dump b/src/testdir/dumps/Test_terminal_popup_gui_MyPopupHlCol.dump
new file mode 100644
index 0000000..5eb125f
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_gui_MyPopupHlCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#00e8f0255#126521255|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#00e8f0255#126521255|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26
+|6| @24|║+0#00e8f0255#126521255|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26
+|7| @24|║+0#00e8f0255#126521255> @19|║| +0#0000000#ffffff0@26
+|8| @24|║+0#00e8f0255#126521255| @19|║| +0#0000000#ffffff0@26
+|9| @24|║+0#00e8f0255#126521255| @19|║| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#00e8f0255#126521255|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_gui_MyTermCol.dump b/src/testdir/dumps/Test_terminal_popup_gui_MyTermCol.dump
new file mode 100644
index 0000000..a4570e4
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_gui_MyTermCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0&#ff8bff255|═@19|╗| +0&#ffffff0@26
+|5| @24|║+0&#ff8bff255|h+0#007800255#6789ff255|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|6| @24|║+0&#ff8bff255|h+0#007800255#6789ff255|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|7| @24|║+0&#ff8bff255> +0#007800255#6789ff255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|8| @24|║+0&#ff8bff255| +0#007800255#6789ff255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|9| @24|║+0&#ff8bff255| +0#007800255#6789ff255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|1|0| @23|╚+0&#ff8bff255|═@19|╝| +0&#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_gui_MyWinCol.dump b/src/testdir/dumps/Test_terminal_popup_gui_MyWinCol.dump
new file mode 100644
index 0000000..10ed686
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_gui_MyWinCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#fe1122255#818100255|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#fe1122255#818100255|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26
+|6| @24|║+0#fe1122255#818100255|h|e|l@1|o| @14|║| +0#0000000#ffffff0@26
+|7| @24|║+0#fe1122255#818100255> @19|║| +0#0000000#ffffff0@26
+|8| @24|║+0#fe1122255#818100255| @19|║| +0#0000000#ffffff0@26
+|9| @24|║+0#fe1122255#818100255| @19|║| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#fe1122255#818100255|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_gui_Terminal.dump b/src/testdir/dumps/Test_terminal_popup_gui_Terminal.dump
new file mode 100644
index 0000000..eff82b7
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_gui_Terminal.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0&#ff8bff255|═@19|╗| +0&#ffffff0@26
+|5| @24|║+0&#ff8bff255|h+0#3344ff255#b0a700255|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|6| @24|║+0&#ff8bff255|h+0#3344ff255#b0a700255|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|7| @24|║+0&#ff8bff255> +0#3344ff255#b0a700255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|8| @24|║+0&#ff8bff255| +0#3344ff255#b0a700255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|9| @24|║+0&#ff8bff255| +0#3344ff255#b0a700255@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|1|0| @23|╚+0&#ff8bff255|═@19|╝| +0&#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_gui_transp_MyPopupHlCol.dump b/src/testdir/dumps/Test_terminal_popup_gui_transp_MyPopupHlCol.dump
new file mode 100644
index 0000000..763929f
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_gui_transp_MyPopupHlCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#00e8f0255&|═@19|╗| +0#0000000&@26
+|5| @24|║+0#00e8f0255&|h|e|l@1|o| @14|║| +0#0000000&@26
+|6| @24|║+0#00e8f0255&|h|e|l@1|o| @14|║| +0#0000000&@26
+|7| @24|║+0#00e8f0255&> @19|║| +0#0000000&@26
+|8| @24|║+0#00e8f0255&| @19|║| +0#0000000&@26
+|9| @24|║+0#00e8f0255&| @19|║| +0#0000000&@26
+|1|0| @23|╚+0#00e8f0255&|═@19|╝| +0#0000000&@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_gui_transp_MyTermCol.dump b/src/testdir/dumps/Test_terminal_popup_gui_transp_MyTermCol.dump
new file mode 100644
index 0000000..f0621c1
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_gui_transp_MyTermCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0&#ff8bff255|═@19|╗| +0&#ffffff0@26
+|5| @24|║+0&#ff8bff255|h+0#007800255#ffffff0|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|6| @24|║+0&#ff8bff255|h+0#007800255#ffffff0|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|7| @24|║+0&#ff8bff255> +0#007800255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|8| @24|║+0&#ff8bff255| +0#007800255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|9| @24|║+0&#ff8bff255| +0#007800255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|1|0| @23|╚+0&#ff8bff255|═@19|╝| +0&#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_gui_transp_MyWinCol.dump b/src/testdir/dumps/Test_terminal_popup_gui_transp_MyWinCol.dump
new file mode 100644
index 0000000..d7067c1
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_gui_transp_MyWinCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#fe1122255&|═@19|╗| +0#0000000&@26
+|5| @24|║+0#fe1122255&|h|e|l@1|o| @14|║| +0#0000000&@26
+|6| @24|║+0#fe1122255&|h|e|l@1|o| @14|║| +0#0000000&@26
+|7| @24|║+0#fe1122255&> @19|║| +0#0000000&@26
+|8| @24|║+0#fe1122255&| @19|║| +0#0000000&@26
+|9| @24|║+0#fe1122255&| @19|║| +0#0000000&@26
+|1|0| @23|╚+0#fe1122255&|═@19|╝| +0#0000000&@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_gui_transp_Terminal.dump b/src/testdir/dumps/Test_terminal_popup_gui_transp_Terminal.dump
new file mode 100644
index 0000000..072e2f8
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_gui_transp_Terminal.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0&#ff8bff255|═@19|╗| +0&#ffffff0@26
+|5| @24|║+0&#ff8bff255|h+0#3344ff255#ffffff0|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|6| @24|║+0&#ff8bff255|h+0#3344ff255#ffffff0|e|l@1|o| @14|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|7| @24|║+0&#ff8bff255> +0#3344ff255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|8| @24|║+0&#ff8bff255| +0#3344ff255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|9| @24|║+0&#ff8bff255| +0#3344ff255#ffffff0@19|║+0#0000000#ff8bff255| +0&#ffffff0@26
+|1|0| @23|╚+0&#ff8bff255|═@19|╝| +0&#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_m1.dump b/src/testdir/dumps/Test_terminal_popup_m1.dump
new file mode 100644
index 0000000..0ab9534
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_m1.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#0000001#ffd7ff255|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#0000001#ffd7ff255|a|n|o|t|h|e|r| |t|e|x|t| @7|║| +0#0000000#ffffff0@26
+|6| @24|║+0#0000001#ffd7ff255|t|o| |s|h|o|w| @12|║| +0#0000000#ffffff0@26
+|7| @24|║+0#0000001#ffd7ff255>i|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| @2|║| +0#0000000#ffffff0@26
+|8| @24|║+0#0000001#ffd7ff255| +0#4040ff13&@19|║+0#0000001&| +0#0000000#ffffff0@26
+|9| @24|║+0#0000001#ffd7ff255| +0#4040ff13&@19|║+0#0000001&| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#0000001#ffd7ff255|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+|:| @73
diff --git a/src/testdir/dumps/Test_terminal_popup_transp_MyPopupHlCol.dump b/src/testdir/dumps/Test_terminal_popup_transp_MyPopupHlCol.dump
new file mode 100644
index 0000000..508d812
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_transp_MyPopupHlCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#40ffff15&|═@19|╗| +0#0000000&@26
+|5| @24|║+0#40ffff15&|h|e|l@1|o| @14|║| +0#0000000&@26
+|6| @24|║+0#40ffff15&|h|e|l@1|o| @14|║| +0#0000000&@26
+|7| @24|║+0#40ffff15&> @19|║| +0#0000000&@26
+|8| @24|║+0#40ffff15&| @19|║| +0#0000000&@26
+|9| @24|║+0#40ffff15&| @19|║| +0#0000000&@26
+|1|0| @23|╚+0#40ffff15&|═@19|╝| +0#0000000&@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_transp_MyTermCol.dump b/src/testdir/dumps/Test_terminal_popup_transp_MyTermCol.dump
new file mode 100644
index 0000000..9336e76
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_transp_MyTermCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#0000001#ffd7ff255|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#0000001#ffd7ff255|h+0#00e0003#ffffff0|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|6| @24|║+0#0000001#ffd7ff255|h+0#00e0003#ffffff0|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|7| @24|║+0#0000001#ffd7ff255> +0#00e0003#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|8| @24|║+0#0000001#ffd7ff255| +0#00e0003#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|9| @24|║+0#0000001#ffd7ff255| +0#00e0003#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#0000001#ffd7ff255|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_transp_MyWinCol.dump b/src/testdir/dumps/Test_terminal_popup_transp_MyWinCol.dump
new file mode 100644
index 0000000..9669964
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_transp_MyWinCol.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#ff404010&|═@19|╗| +0#0000000&@26
+|5| @24|║+0#ff404010&|h|e|l@1|o| @14|║| +0#0000000&@26
+|6| @24|║+0#ff404010&|h|e|l@1|o| @14|║| +0#0000000&@26
+|7| @24|║+0#ff404010&> @19|║| +0#0000000&@26
+|8| @24|║+0#ff404010&| @19|║| +0#0000000&@26
+|9| @24|║+0#ff404010&| @19|║| +0#0000000&@26
+|1|0| @23|╚+0#ff404010&|═@19|╝| +0#0000000&@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_popup_transp_Terminal.dump b/src/testdir/dumps/Test_terminal_popup_transp_Terminal.dump
new file mode 100644
index 0000000..828b0f5
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_transp_Terminal.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#0000001#ffd7ff255|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#0000001#ffd7ff255|h+0#4040ff13#ffffff0|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|6| @24|║+0#0000001#ffd7ff255|h+0#4040ff13#ffffff0|e|l@1|o| @14|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|7| @24|║+0#0000001#ffd7ff255> +0#4040ff13#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|8| @24|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|9| @24|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@19|║+0#0000001#ffd7ff255| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#0000001#ffd7ff255|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+@75
diff --git a/src/testdir/dumps/Test_terminal_scrollback_1.dump b/src/testdir/dumps/Test_terminal_scrollback_1.dump
new file mode 100644
index 0000000..a242bb7
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_scrollback_1.dump
@@ -0,0 +1,20 @@
+|4+0&#ffffff0|2| @72
+|4|3| @72
+|4@1| @72
+|4|5| @72
+|4|6| @72
+|4|7| @72
+|4|8| @72
+>4|9| @72
+|~+0#4040ff13&| @73
+|!+2#ffffff16#00e0003|/|b|i|n|/|s|h| |[|T|e|r|m|i|n|a|l|]| @55
+| +0#0000000#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @65
+| +0&&@74
diff --git a/src/testdir/dumps/Test_terminal_scrollback_2.dump b/src/testdir/dumps/Test_terminal_scrollback_2.dump
new file mode 100644
index 0000000..427a9ad
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_scrollback_2.dump
@@ -0,0 +1,20 @@
+|4+0&#ffffff0|2| @72
+|4|3| @72
+|4@1| @72
+|4|5| @72
+|4|6| @72
+|4|7| @72
+>4|8| @72
+|4|9| @72
+|~+0#4040ff13&| @73
+|!+2#ffffff16#00e0003|/|b|i|n|/|s|h| |[|T|e|r|m|i|n|a|l|]| @55
+| +0#0000000#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @65
+| +0&&@74
diff --git a/src/testdir/dumps/Test_terminal_scrollback_3.dump b/src/testdir/dumps/Test_terminal_scrollback_3.dump
new file mode 100644
index 0000000..0796088
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_scrollback_3.dump
@@ -0,0 +1,20 @@
+|4+0&#ffffff0|3| @72
+|4@1| @72
+|4|5| @72
+|4|6| @72
+|4|7| @72
+|4|8| @72
+|4|9| @72
+|o|n|e| |m|o|r|e| |l|i|n|e| @61
+> @74
+|!+2#ffffff16#00e0003|/|b|i|n|/|s|h| |[|r|u|n@1|i|n|g|]| @56
+| +0#0000000#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @65
+| +0&&@74
diff --git a/src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol.dump b/src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol.dump
new file mode 100644
index 0000000..3633ffe
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol.dump
@@ -0,0 +1,15 @@
+|h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35
+|h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35
+> +0#ff404010#e0e0004@36||+1#0000000#ffffff0|2+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|3+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|4+0&&| @35
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0|5+0&&| @35
+|!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @22||+1#0000000#ffffff0|6+0&&| @35
+|h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|7+0&&| @35
+|h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|8+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|9+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|0| @34
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&@1| @34
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|1+0&&|2| @34
+|!+0#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|s|e|t| |w|i|n|c|o|l|o|r|=|M|y|W|i|n|C|o|l| @52
diff --git a/src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol2.dump b/src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol2.dump
new file mode 100644
index 0000000..ce69e3b
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol2.dump
@@ -0,0 +1,15 @@
+|h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|h+0#0000001#4040ff13|e|l@1|o| @31
+|h+0#ff404010#e0e0004|e|l@1|o| @31||+1#0000000#ffffff0|h+0#0000001#4040ff13|e|l@1|o| @31
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0> +0#0000001#4040ff13@36
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0| +0#0000001#4040ff13@36
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0| +0#0000001#4040ff13@36
+| +0#ff404010#e0e0004@36||+1#0000000#ffffff0| +0#0000001#4040ff13@36
+|!+0#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @22||+1#0000000#ffffff0|!+2#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @22
+|h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|0+0&&| @35
+|h+0#00e0003#5fd7ff255|e|l@1|o| @31||+1#0000000#ffffff0|1+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|2+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|3+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|4+0&&| @35
+| +0#00e0003#5fd7ff255@36||+1#0000000#ffffff0|5+0&&| @35
+|!+0#ffffff16#00e0003|c|a|t| |[|r|u|n@1|i|n|g|]| @23|[+1#0000000#ffffff0|N|o| |N|a|m|e|]| |[|+|]| @23
+|:+0&&|s|e|t| |w|i|n|c|o|l|o|r|=|M|y|W|i|n|C|o|l|2| @51
diff --git a/src/testdir/dumps/Test_text_after_nowrap_1.dump b/src/testdir/dumps/Test_text_after_nowrap_1.dump
new file mode 100644
index 0000000..0781e6c
--- /dev/null
+++ b/src/testdir/dumps/Test_text_after_nowrap_1.dump
@@ -0,0 +1,8 @@
+|f+0&#ffffff0|i|r|s|t| |l|i|n|e| @1|r+0&#ffd7ff255|i|g|h|t| |a|f|t|e|r| |t|h|e| |t|e|x|t| |r|i|g|h|t| |a|f|t|e|r| |t|h|e| |t|e|x|t| |r|i|g|h|t|
+|0+0&#ffffff0| >1| |2| |3| |4| |5| |6| |7| |8| |9| |1|0| |1@1| |1|2| |1|3| |1|4| |1|5| |1|6| |1|7| |1|8| |1|9| |2|0| |2|1| |2@1| |2
+|t|h|i|r|d| @54
+|f|o|u|r|t|h| @53
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|2|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_text_after_nowrap_2.dump b/src/testdir/dumps/Test_text_after_nowrap_2.dump
new file mode 100644
index 0000000..28a45f3
--- /dev/null
+++ b/src/testdir/dumps/Test_text_after_nowrap_2.dump
@@ -0,0 +1,8 @@
+| +0&#ffd7ff255|r|i|g|h|t| |a|f|t|e|r| |t|h|e| | +0&#ffffff0@2|i+0&#ffd7ff255|n| |t|h|e| |m|i|d@1|l|e| |i|n| |t|h|e| |m|i|d@1|l|e| |i|n| |t|h|e| |m|i|d@1|l
+|2+0&#ffffff0|1| |2@1| |2|3| |2|4| |2|5| |2|6| |2|7| |2|8| |2|9| |3|0| >3|1| |3|2| |3@1| |3|4| |3|5| |3|6| |3|7| |3|8| |3|9| |4|0|
+@60
+@60
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|2|,|8|4| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_text_after_nowrap_3.dump b/src/testdir/dumps/Test_text_after_nowrap_3.dump
new file mode 100644
index 0000000..0a7cb3b
--- /dev/null
+++ b/src/testdir/dumps/Test_text_after_nowrap_3.dump
@@ -0,0 +1,8 @@
+|h+0&#ffd7ff255|e| |m|i|d@1|l|e| | +0&#ffffff0|t+0&#ffd7ff255|h|e| |l|a|s|t| |o|n|e| |t|h|e| |l|a|s|t| |o|n|e| |t|h|e| |l|a|s|t| |o|n|e| | +0&#ffffff0@9
+|4|3| |4@1| |4|5| |4|6| |4|7| |4|8| |4|9| |5|0| |5|1| |5|2| >5|3| |5|4| |5@1| |5|6| |5|7| |5|8| |5|9| |6|0| |6|1| |6|2|
+@60
+@60
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|2|,|1|5|0| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_text_after_nowrap_4.dump b/src/testdir/dumps/Test_text_after_nowrap_4.dump
new file mode 100644
index 0000000..ffe1c76
--- /dev/null
+++ b/src/testdir/dumps/Test_text_after_nowrap_4.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@59
+|9| |7|0| |7|1| |7|2| |7|3| |7|4| |7|5| |7|6| |7@1| |7|8| |7>9| @28
+@60
+@60
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+| +0#0000000&@41|2|,|2@1|9| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_text_after_nowrap_5.dump b/src/testdir/dumps/Test_text_after_nowrap_5.dump
new file mode 100644
index 0000000..ffd5708
--- /dev/null
+++ b/src/testdir/dumps/Test_text_after_nowrap_5.dump
@@ -0,0 +1,8 @@
+|f+0&#ffffff0|i|r|s|t| |l|i|n|e|$+0#4040ff13&| +0#0000000&@1|j+0&#ffd7ff255|u|s|t| |a|f|t|e|r| |t|x|t| |j|u|s|t| |a|f|t|e|r| |t|x|t| |j|u|s|t| |a|f|t|e|r| |t|x|t| | +0&#ffffff0|i+0&#ffd7ff255
+>0+0&#ffffff0| |1| |2| |3| |4| |5| |6| |7| |8| |9| |1|0| |1@1| |1|2| |1|3| |1|4| |1|5| |1|6| |1|7| |1|8| |1|9| |2|0| |2|1| |2@1| |2
+|t|h|i|r|d|$+0#4040ff13&| +0#0000000&@53
+|f|o|u|r|t|h|$+0#4040ff13&| +0#0000000&@52
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|:+0#0000000&|c|a|l@1| |C|h|a|n|g|e|T|e|x|t|(|)| @23|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_text_after_nowrap_list_1.dump b/src/testdir/dumps/Test_text_after_nowrap_list_1.dump
new file mode 100644
index 0000000..bbbbe28
--- /dev/null
+++ b/src/testdir/dumps/Test_text_after_nowrap_list_1.dump
@@ -0,0 +1,6 @@
+|s+0&#ffffff0|o|m|e| |t|e|x|t| |h|e|r|e|$+0#4040ff13&| +0#0000000&@1|T+0&#ffd7ff255|h|e| |q|u|i|c|k| |b|r|o|w|n| |f|o|x| |j|u|m|p|s|.| +0&#ffffff0@1|■+0&#ffd7ff255| |T|h|e| |f|o|x| |j|u|m|p|>+0#4040ff13#ffffff0
+|$| +0#0000000&@58
+|l|a|s|t| |l|i|n>e|$+0#4040ff13&| +0#0000000&@49
+|~+0#4040ff13&| @58
+|~| @58
+| +0#0000000&@41|3|,|9| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_text_below_nowrap_1.dump b/src/testdir/dumps/Test_text_below_nowrap_1.dump
new file mode 100644
index 0000000..3325411
--- /dev/null
+++ b/src/testdir/dumps/Test_text_below_nowrap_1.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| |f+0#0000000&|i|r|s|t| |l|i|n|e| @45
+| +0#af5f00255&@3| +0#0000000&@1|o+0&#ffd7ff255|n|e| |b|e|l|o|w| |t|h|e| |t|e|x|t| |o|n|e| |b|e|l|o|w| |t|h|e| |t|e|x|t| |o|n|e| |b|e|l|o|w| |t|h|e| |t|e
+| +0#af5f00255#ffffff0@3| +0#0000000&@1|t+0&#ffd7ff255|w|o| |b|e|l|o|w| |t|h|e| |t|e|x|t| |t|w|o| |b|e|l|o|w| |t|h|e| |t|e|x|t| |t|w|o| |b|e|l|o|w| |t|h|e| |t|e
+| +0#af5f00255#ffffff0@1|2| |s+0#0000000&|e|c|o|n|d| >l|i|n|e| |s|e|c|o|n|d| |l|i|n|e| |s|e|c|o|n|d| |l|i|n|e| |s|e|c|o|n|d| |l|i|n|e| |s|e|c|o|n|d| |l
+| +0#af5f00255&@1|3| |t+0#0000000&|h|i|r|d| @50
+| +0#af5f00255&@1|4| |f+0#0000000&|o|u|r|t|h| @49
+|~+0#4040ff13&| @58
+| +0#0000000&@41|2|,|8| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_textprop_01.dump b/src/testdir/dumps/Test_textprop_01.dump
new file mode 100644
index 0000000..b8a50be
--- /dev/null
+++ b/src/testdir/dumps/Test_textprop_01.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffffff0@1|1| |O+0#0000000&|n|e| +0&#ffff4012|t|w|o| +0&#ffffff0@63
+| +0#af5f00255&@1|2| |N+0#0000000#ffff4012|u|m|b|é|r| |1+0#4040ff13&|2|3| +0#0000000&|ä|n|d| |t|h|œ|n| |4+0#4040ff13&|¾|7|.+0#0000000&| +0&#ffffff0@46
+| +8#af5f00255&@1|3| >-+8#0000000#ffff4012|x+8&#ffffff0|a+8#4040ff13&@1|x+8#0000000&|-@1|x+8#4040ff13&|b@1|x+8#0000000&|-@1|x|c+8#4040ff13&@1|x|-+8#0000000&@1|x+8#4040ff13&|d@1|x|-+8#0000000&@1| @45
+| +0#af5f00255&@1|4| |/+0#40ff4011&@1| |c|o|m+0#0000000#e0e0e08@1|e|n+0#40ff4011#ffffff0|t| |w+0&#e0e0e08|i|t|h| |e+8&&|r@1|o|r| +0&#ffffff0|i|n| |i|t| +0#0000000&@43
+| +0#af5f00255&@1|5| |f+0#0000000&|i|r|s|t| |l+0&#ffff4012|i|n|e| @1|s|e|c|o|n|d| +0&#ffffff0|l|i|n|e| @1|t|h|i|r|d| |l|i|n|e| +0&#ffff4012|f+0&#ffffff0|o|u|r|t|h| |l+0&#ffff4012|i|n|e| +0&#ffffff0@23
+|~+0#4040ff13&| @73
+|~| @73
+| +0#0000000&@56|3|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_textprop_hl_override_1.dump b/src/testdir/dumps/Test_textprop_hl_override_1.dump
new file mode 100644
index 0000000..ce447e7
--- /dev/null
+++ b/src/testdir/dumps/Test_textprop_hl_override_1.dump
@@ -0,0 +1,8 @@
+|O+0&#ffffff0|n|e| |o+0#4040ff13#ffff4012|n|e| |o+0#0000000#ffffff0|n|e| |o+0#4040ff13#ffff4012|n|e| |o+0#0000000#ffffff0|n|e| @55
+>T+10#ff404010#40ff4011|w|o| |t|w|o| |t|w|o| |t+10#4040ff13#ffff4012|w|o| |t+10#ff404010#40ff4011|w|o| @55
+|T+0#0000000#ffffff0|h|r|e|e+0#4040ff13#ffff4012| |t|h|r+0#0000000#ffffff0|e@1| |t+0#4040ff13#ffff4012|h|r|e|e+0#0000000#ffffff0| |t|h|r|e@1| @51
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_textprop_hl_override_2.dump b/src/testdir/dumps/Test_textprop_hl_override_2.dump
new file mode 100644
index 0000000..187233d
--- /dev/null
+++ b/src/testdir/dumps/Test_textprop_hl_override_2.dump
@@ -0,0 +1,8 @@
+|O+0&#ffffff0|n|e| |o+0#4040ff13#ffff4012|n|e| |o+0#0000000#ffffff0|n|e| |o+0#4040ff13#ffff4012|n|e| |o+0#0000000#ffffff0|n|e| @55
+|T|w|o| |t+0#4040ff13#ffff4012|w|o| |t+0#0000000#ffffff0|w|o| |t+0#4040ff13#ffff4012|w|o| |t+0#0000000#ffffff0|w|o| @55
+|T|h|r+0&#e0e0e08|e|e+0#4040ff13&| |t|h|r+0#0000000&|e@1| |t+0#4040ff13#ffff4012|h|r|e|e+0#0000000#e0e0e08| |t|h|r>e+0&#ffffff0@1| @51
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@34|2|0| @7|3|,|2@1| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_textprop_nesting.dump b/src/testdir/dumps/Test_textprop_nesting.dump
new file mode 100644
index 0000000..e02cc54
--- /dev/null
+++ b/src/testdir/dumps/Test_textprop_nesting.dump
@@ -0,0 +1,8 @@
+> +0&#ffffff0@74
+|c|o|n|s|t| |f|u|n|c|:| |f|u|n|c|.|I|F|u|n|c|t|i|o|n| |=| |(|{+0#ffffff16#e000002|t|e|x|t| |l|o|n|g| |e|n|o|u|g|h| |t|o| |w|r|a|p| |l|i|n|e|,| |t|e|x|t| |l|o|n|g| |e|n|…
+| @3|s|e|t|L|o|a|d|i|n|g| +0#0000000#ffffff0@60
+| +0#ffffff16#e000002| +0#0000000#ffffff0|}|)| |=|>| |{| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_textprop_nowrap_01.dump b/src/testdir/dumps/Test_textprop_nowrap_01.dump
new file mode 100644
index 0000000..f0fe7db
--- /dev/null
+++ b/src/testdir/dumps/Test_textprop_nowrap_01.dump
@@ -0,0 +1,6 @@
+>a+0&#ffffff0|l@1|e|r| |t|h|a|n| |4+0#ffffff16#e000002|5|6|7|.+0#0000000#ffffff0|X@58
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|2|1| @9|A|l@1|
diff --git a/src/testdir/dumps/Test_textprop_nowrap_02.dump b/src/testdir/dumps/Test_textprop_nowrap_02.dump
new file mode 100644
index 0000000..104c674
--- /dev/null
+++ b/src/testdir/dumps/Test_textprop_nowrap_02.dump
@@ -0,0 +1,6 @@
+|X+0&#ffffff0@36>X| @36
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1@2| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_textprop_syn_1.dump b/src/testdir/dumps/Test_textprop_syn_1.dump
new file mode 100644
index 0000000..6f5aff5
--- /dev/null
+++ b/src/testdir/dumps/Test_textprop_syn_1.dump
@@ -0,0 +1,6 @@
+>(+0&#40ffff15|a+0#e000e06#ffffff0|b|c|)+0#0000000#40ffff15| +0&#ffffff0@69
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_textprop_tab.dump b/src/testdir/dumps/Test_textprop_tab.dump
new file mode 100644
index 0000000..a1b7705
--- /dev/null
+++ b/src/testdir/dumps/Test_textprop_tab.dump
@@ -0,0 +1,6 @@
+| +0&#ffffff0@6> |x+0&#ffff4012@2| +0&#ffffff0@63
+|x| @6|x+0&#ffff4012@2| +0&#ffffff0@63
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1|-|8| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_textprop_vis_01.dump b/src/testdir/dumps/Test_textprop_vis_01.dump
new file mode 100644
index 0000000..f411d30
--- /dev/null
+++ b/src/testdir/dumps/Test_textprop_vis_01.dump
@@ -0,0 +1,12 @@
+|x+0&#ffffff0@4>x@1| |1+0&#ffff4012|2|3| +0&#ffffff0|x| @61
+|x@5| |1+0&#ffff4012|2|3| +0&#ffffff0|x| @62
+|x@4| |1+0&#ffff4012|2|3| +0&#ffffff0|x| @63
+|x@4|1+0&#ffff4012|2|3| +0&#ffffff0|x| @64
+|x@4|2+0&#ffff4012|3| +0&#ffffff0|x| @65
+|x@3| |3+0&#ffff4012| +0&#ffffff0|x@1| @65
+|x@2| |1+0&#ffff4012| +0&#ffffff0|x@2| @65
+|x@1| |1+0&#ffff4012|2|x+0&#ffffff0@3| @65
+|x| |1+0&#ffff4012|2|3|x+0&#ffffff0@3| @65
+@1|1+0&#ffff4012|2|3| +0&#ffffff0|x@3| @65
+|~+0#4040ff13&| @73
+| +0#0000000&@56|1|,|6| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_textprop_vis_02.dump b/src/testdir/dumps/Test_textprop_vis_02.dump
new file mode 100644
index 0000000..d999ae1
--- /dev/null
+++ b/src/testdir/dumps/Test_textprop_vis_02.dump
@@ -0,0 +1,12 @@
+|x+0&#ffffff0@4> |1+0&#ffff4012|2|3| +0&#ffffff0|x| @63
+|x@4|1+0&#ffff4012|2|3| +0&#ffffff0|x| @64
+|x@4|2+0&#ffff4012|3| +0&#ffffff0|x| @65
+|x@4|3+0&#ffff4012| +0&#ffffff0|x| @66
+|x@4| |x| @67
+|x@3| |x@1| @67
+|x@2| |1+0&#ffff4012|x+0&#ffffff0@1| @67
+|x@1| |1+0&#ffff4012|2|x+0&#ffffff0@1| @67
+|x| |1+0&#ffff4012|2|3|x+0&#ffffff0@1| @67
+@1|1+0&#ffff4012|2|3| +0&#ffffff0|x@1| @67
+|~+0#4040ff13&| @73
+| +0#0000000&@56|1|,|6| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_tselect_1.dump b/src/testdir/dumps/Test_tselect_1.dump
new file mode 100644
index 0000000..9090122
--- /dev/null
+++ b/src/testdir/dumps/Test_tselect_1.dump
@@ -0,0 +1,10 @@
+>i+0#00e0003#ffffff0|n|t| +0#0000000&|m|a|i|n|(|)| @39
+|v+0#00e0003&|o|i|d| +0#0000000&|t|e|s|t|(|)| @38
+|~+0#4040ff13&| @48
+|~| @48
+|~| @48
+|~| @48
+|~| @48
+|~| @48
+|~| @48
+|"+0#0000000&|X|t|e|s|t|.|c|"| |2|L|,| |2|3|B| @14|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_undo_after_write_1.dump b/src/testdir/dumps/Test_undo_after_write_1.dump
new file mode 100644
index 0000000..92410d4
--- /dev/null
+++ b/src/testdir/dumps/Test_undo_after_write_1.dump
@@ -0,0 +1,6 @@
+|t+0&#ffffff0|e|s>t| @70
+@75
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|1+0#0000000&| |l|i|n|e| |l|e|s@1|;| |b|e|f|o|r|e| |#|2| @1|0| |s|e|c|o|n|d|s| |a|g|o| @19|1|,|4| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_undo_after_write_2.dump b/src/testdir/dumps/Test_undo_after_write_2.dump
new file mode 100644
index 0000000..029e324
--- /dev/null
+++ b/src/testdir/dumps/Test_undo_after_write_2.dump
@@ -0,0 +1,6 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|2+0#0000000&| |f|e|w|e|r| |l|i|n|e|s|;| |b|e|f|o|r|e| |#|1| @1|1| |s|e|c|o|n|d| |a|g|o| @18|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_undo_after_write_2.vim b/src/testdir/dumps/Test_undo_after_write_2.vim
new file mode 100644
index 0000000..d1d3c3d
--- /dev/null
+++ b/src/testdir/dumps/Test_undo_after_write_2.vim
@@ -0,0 +1,2 @@
+" Filter that changes the "1 second ago" message to "0 seconds ago".
+6s+|1| |s|e|c|o|n|d| |a|g|o| @18|+|0| |s|e|c|o|n|d|s| |a|g|o| @17|+e
diff --git a/src/testdir/dumps/Test_verbose_option_1.dump b/src/testdir/dumps/Test_verbose_option_1.dump
new file mode 100644
index 0000000..192d102
--- /dev/null
+++ b/src/testdir/dumps/Test_verbose_option_1.dump
@@ -0,0 +1,12 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|E+0#0000000&|x|e|c|u|t|i|n|g|:| |D|o|S|o|m|e|t|h|i|n|g| @52
+|E|x|e|c|u|t|i|n|g|:| |e|c|h|o| |'|h|e|l@1|o|'| |||s|e|t| |t|s|=|4| |||l|e|t| |v| |=| |'|1|2|3|'| |||e|c|h|o| |v| @18
+|h|e|l@1|o| @69
+|E|x|e|c|u|t|i|n|g|:| |s|e|t| |t|s|=|4| |||l|e|t| |v| |=| |'|1|2|3|'| |||e|c|h|o| |v| @32
+|E|x|e|c|u|t|i|n|g|:| |l|e|t| |v| |=| |'|1|2|3|'| |||e|c|h|o| |v| @42
+|E|x|e|c|u|t|i|n|g|:| |e|c|h|o| |v| @57
+|1|2|3| @71
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35
diff --git a/src/testdir/dumps/Test_verbose_system_1.dump b/src/testdir/dumps/Test_verbose_system_1.dump
new file mode 100644
index 0000000..6723b54
--- /dev/null
+++ b/src/testdir/dumps/Test_verbose_system_1.dump
@@ -0,0 +1,10 @@
+|C+0&#ffffff0|a|l@1|i|n|g| |s|h|e|l@1| |t|o| |e|x|e|c|u|t|e|:| |"|(|s|e|q| |2|0|)|>|/|t|m|p|/|v|W|4|d|k|0|a|/|0| |2|>|&|1|"| @18
+|1| @73
+|2| @73
+|3| @73
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|-+0#00e0003&@1| |M|o|r|e| |-@1> +0#0000000&@64
diff --git a/src/testdir/dumps/Test_verbose_system_1.vim b/src/testdir/dumps/Test_verbose_system_1.vim
new file mode 100644
index 0000000..65e9c8a
--- /dev/null
+++ b/src/testdir/dumps/Test_verbose_system_1.vim
@@ -0,0 +1,5 @@
+" Filter that removes the ever changing temp directory name from the screendump
+" that shows the system() command executed.
+" This should be on the first line, but if it isn't there ignore the error,
+" the screendump will then show the problem.
+1s+|t|m|p|/|.|.|.*| |+|t|m|p|/|x|x|x|x|x|x|x|/|1| |+e
diff --git a/src/testdir/dumps/Test_verbose_system_2.dump b/src/testdir/dumps/Test_verbose_system_2.dump
new file mode 100644
index 0000000..ed65719
--- /dev/null
+++ b/src/testdir/dumps/Test_verbose_system_2.dump
@@ -0,0 +1,10 @@
+|C+0&#ffffff0|a|l@1|i|n|g| |s|h|e|l@1| |t|o| |e|x|e|c|u|t|e|:| |"|(|s|e|q| |2|0|)|>|/|t|m|p|/|v|V|v|w|c|g|V|/|1| |2|>|&|1|"| @18
+|1| @73
+|2| @73
+|3| @73
+|4| @73
+|5| @73
+|6| @73
+|7| @73
+|8| @73
+|-+0#00e0003&@1| |M|o|r|e| |-@1> +0#0000000&@64
diff --git a/src/testdir/dumps/Test_verbose_system_2.vim b/src/testdir/dumps/Test_verbose_system_2.vim
new file mode 100644
index 0000000..65e9c8a
--- /dev/null
+++ b/src/testdir/dumps/Test_verbose_system_2.vim
@@ -0,0 +1,5 @@
+" Filter that removes the ever changing temp directory name from the screendump
+" that shows the system() command executed.
+" This should be on the first line, but if it isn't there ignore the error,
+" the screendump will then show the problem.
+1s+|t|m|p|/|.|.|.*| |+|t|m|p|/|x|x|x|x|x|x|x|/|1| |+e
diff --git a/src/testdir/dumps/Test_vim9_closure_fails.dump b/src/testdir/dumps/Test_vim9_closure_fails.dump
new file mode 100644
index 0000000..dd0103c
--- /dev/null
+++ b/src/testdir/dumps/Test_vim9_closure_fails.dump
@@ -0,0 +1,6 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|0+0#0000000&| @55|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_vim9_no_redraw.dump b/src/testdir/dumps/Test_vim9_no_redraw.dump
new file mode 100644
index 0000000..1d77a08
--- /dev/null
+++ b/src/testdir/dumps/Test_vim9_no_redraw.dump
@@ -0,0 +1,6 @@
+|s+0&#ffffff0|o+0&#e0e0e08|m|e| |t|e|x|t| | +0&#ffffff0@64
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|'|<|,|'|>> @68
diff --git a/src/testdir/dumps/Test_vim9_reject_declaration_1.dump b/src/testdir/dumps/Test_vim9_reject_declaration_1.dump
new file mode 100644
index 0000000..e4f5623
--- /dev/null
+++ b/src/testdir/dumps/Test_vim9_reject_declaration_1.dump
@@ -0,0 +1,6 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|E+0#ffffff16#e000002|1|0|7|9|:| |C|a|n@1|o|t| |d|e|c|l|a|r|e| |a| |v|a|r|i|a|b|l|e| |o|n| |t|h|e| |c|o|m@1|a|n|d| |l|i|n|e| +0#0000000#ffffff0@22
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35
diff --git a/src/testdir/dumps/Test_vim9_reject_declaration_2.dump b/src/testdir/dumps/Test_vim9_reject_declaration_2.dump
new file mode 100644
index 0000000..a6d516c
--- /dev/null
+++ b/src/testdir/dumps/Test_vim9_reject_declaration_2.dump
@@ -0,0 +1,6 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|1+0#0000000&|2|3| @53|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_vim9_silent_echo.dump b/src/testdir/dumps/Test_vim9_silent_echo.dump
new file mode 100644
index 0000000..f5f7927
--- /dev/null
+++ b/src/testdir/dumps/Test_vim9_silent_echo.dump
@@ -0,0 +1,6 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|a|b|c> @70
diff --git a/src/testdir/dumps/Test_virtual_text_in_popup_highlight_1.dump b/src/testdir/dumps/Test_virtual_text_in_popup_highlight_1.dump
new file mode 100644
index 0000000..b8c5b14
--- /dev/null
+++ b/src/testdir/dumps/Test_virtual_text_in_popup_highlight_1.dump
@@ -0,0 +1,8 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @17| +0#0000001#ffd7ff255@16| +0#4040ff13#ffffff0@38
+|~| @17| +0#0000001#ffd7ff255| +0#0000e05&|+| |S+0#0000001&|o|m|e| | +0#4040ff13#afffff255|x| |t+0#0000001#ffd7ff255|e|x|t| | +0#4040ff13#ffffff0@38
+|~| @17| +0#0000001#ffd7ff255@16| +0#4040ff13#ffffff0@38
+|~| @73
+|~| @73
+| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_visual_block_with_virtualedit.dump b/src/testdir/dumps/Test_visual_block_with_virtualedit.dump
new file mode 100644
index 0000000..2991a63
--- /dev/null
+++ b/src/testdir/dumps/Test_visual_block_with_virtualedit.dump
@@ -0,0 +1,8 @@
+|a+0&#e0e0e08@5> +0&#ffffff0@43
+|b+0&#e0e0e08@3| @2| +0&#ffffff0@42
+|c+0&#e0e0e08@1| @4| +0&#ffffff0@42
+|~+0#4040ff13&| @48
+|~| @48
+|~| @48
+|~| @48
+|-+2#0000000&@1| |V|I|S|U|A|L| |B|L|O|C|K| |-@1| +0&&@3|3|x|7| @6|1|,|7| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_visual_block_with_virtualedit2.dump b/src/testdir/dumps/Test_visual_block_with_virtualedit2.dump
new file mode 100644
index 0000000..3c62156
--- /dev/null
+++ b/src/testdir/dumps/Test_visual_block_with_virtualedit2.dump
@@ -0,0 +1,8 @@
+|a+0&#e0e0e08@5| | +0&#ffffff0@42
+|b+0&#e0e0e08@3| @2| +0&#ffffff0@42
+|c+0&#e0e0e08@1> +0&#ffffff0| +0&#e0e0e08@3| +0&#ffffff0@42
+|~+0#4040ff13&| @48
+|~| @48
+|~| @48
+|~| @48
+|-+2#0000000&@1| |V|I|S|U|A|L| |B|L|O|C|K| |-@1| +0&&@3|3|x|3| @6|3|,|3| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_wildmenu_1.dump b/src/testdir/dumps/Test_wildmenu_1.dump
new file mode 100644
index 0000000..76b930d
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_1.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|v+0#0000001#ffff4012|i|m|9|c|m|d| +3#0000000#ffffff0@1|v|i|m|9|s|c|r|i|p|t| @1|v|i|m|g|r|e|p| @1|v|i|m|g|r|e|p|a|d@1| @34
+|:+0&&|v|i|m|9|c|m|d> @66
diff --git a/src/testdir/dumps/Test_wildmenu_2.dump b/src/testdir/dumps/Test_wildmenu_2.dump
new file mode 100644
index 0000000..17b6b02
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_2.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|v+3#0000000&|i|m|9|c|m|d| @1|v+0#0000001#ffff4012|i|m|9|s|c|r|i|p|t| +3#0000000#ffffff0@1|v|i|m|g|r|e|p| @1|v|i|m|g|r|e|p|a|d@1| @34
+|:+0&&|v|i|m|9|s|c|r|i|p|t> @63
diff --git a/src/testdir/dumps/Test_wildmenu_3.dump b/src/testdir/dumps/Test_wildmenu_3.dump
new file mode 100644
index 0000000..578c8f0
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_3.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|v+3#0000000&|i|m|9|c|m|d| @1|v|i|m|9|s|c|r|i|p|t| @1|v+0#0000001#ffff4012|i|m|g|r|e|p| +3#0000000#ffffff0@1|v|i|m|g|r|e|p|a|d@1| @34
+|:+0&&|v|i|m|g|r|e|p> @66
diff --git a/src/testdir/dumps/Test_wildmenu_4.dump b/src/testdir/dumps/Test_wildmenu_4.dump
new file mode 100644
index 0000000..4b16a37
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_4.dump
@@ -0,0 +1,8 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|v+3#0000000&|i|m|9|c|m|d| @1|v|i|m|9|s|c|r|i|p|t| @1|v|i|m|g|r|e|p| @1|v|i|m|g|r|e|p|a|d@1| @34
+|:+0&&|v|i|m> @70
diff --git a/src/testdir/dumps/Test_wildmenu_pum_01.dump b/src/testdir/dumps/Test_wildmenu_pum_01.dump
new file mode 100644
index 0000000..8c48229
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_01.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#e0e0e08|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e> @62
diff --git a/src/testdir/dumps/Test_wildmenu_pum_02.dump b/src/testdir/dumps/Test_wildmenu_pum_02.dump
new file mode 100644
index 0000000..f118df7
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_02.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#e0e0e08|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |l|i|s|t> @64
diff --git a/src/testdir/dumps/Test_wildmenu_pum_03.dump b/src/testdir/dumps/Test_wildmenu_pum_03.dump
new file mode 100644
index 0000000..c3276ab
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_03.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#e0e0e08|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |p|l|a|c|e> @63
diff --git a/src/testdir/dumps/Test_wildmenu_pum_04.dump b/src/testdir/dumps/Test_wildmenu_pum_04.dump
new file mode 100644
index 0000000..f118df7
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_04.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#e0e0e08|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |l|i|s|t> @64
diff --git a/src/testdir/dumps/Test_wildmenu_pum_05.dump b/src/testdir/dumps/Test_wildmenu_pum_05.dump
new file mode 100644
index 0000000..1c3a2e8
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_05.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#e0e0e08|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |j|u|m|p> @64
diff --git a/src/testdir/dumps/Test_wildmenu_pum_06.dump b/src/testdir/dumps/Test_wildmenu_pum_06.dump
new file mode 100644
index 0000000..4b60c57
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_06.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| > @68
diff --git a/src/testdir/dumps/Test_wildmenu_pum_07.dump b/src/testdir/dumps/Test_wildmenu_pum_07.dump
new file mode 100644
index 0000000..20a39ab
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_07.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| |u|n|p|l|a|c|e> @61
diff --git a/src/testdir/dumps/Test_wildmenu_pum_08.dump b/src/testdir/dumps/Test_wildmenu_pum_08.dump
new file mode 100644
index 0000000..7354738
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_08.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| |u|n> @66
diff --git a/src/testdir/dumps/Test_wildmenu_pum_09.dump b/src/testdir/dumps/Test_wildmenu_pum_09.dump
new file mode 100644
index 0000000..2e8a0a1
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_09.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @3| +0#0000001#e0e0e08|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |u|n|d|e|f|i|n|e> @60
diff --git a/src/testdir/dumps/Test_wildmenu_pum_10.dump b/src/testdir/dumps/Test_wildmenu_pum_10.dump
new file mode 100644
index 0000000..9851b7c
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_10.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#e0e0e08|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |u|n|p|l|a|c|e> @61
diff --git a/src/testdir/dumps/Test_wildmenu_pum_11.dump b/src/testdir/dumps/Test_wildmenu_pum_11.dump
new file mode 100644
index 0000000..4697c8a
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_11.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @10| +0#0000001#e0e0e08|c|u|l|h|l|=| @8| +0#4040ff13#ffffff0@46
+|~| @10| +0#0000001#ffd7ff255|i|c|o|n|=| @9| +0#4040ff13#ffffff0@46
+|~| @10| +0#0000001#ffd7ff255|l|i|n|e|h|l|=| @7| +0#4040ff13#ffffff0@46
+|~| @10| +0#0000001#ffd7ff255|n|u|m|h|l|=| @8| +0#4040ff13#ffffff0@46
+|~| @10| +0#0000001#ffd7ff255|t|e|x|t|=| @9| +0#4040ff13#ffffff0@46
+|~| @10| +0#0000001#ffd7ff255|t|e|x|t|h|l|=| @7| +0#4040ff13#ffffff0@46
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| |c|u|l|h|l|=> @55
diff --git a/src/testdir/dumps/Test_wildmenu_pum_12.dump b/src/testdir/dumps/Test_wildmenu_pum_12.dump
new file mode 100644
index 0000000..d93631d
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_12.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @17| +0#0000001#e0e0e08|c|u|l|h|l|=| @8| +0#4040ff13#ffffff0@39
+|~| @17| +0#0000001#ffd7ff255|i|c|o|n|=| @9| +0#4040ff13#ffffff0@39
+|~| @17| +0#0000001#ffd7ff255|l|i|n|e|h|l|=| @7| +0#4040ff13#ffffff0@39
+|~| @17| +0#0000001#ffd7ff255|n|u|m|h|l|=| @8| +0#4040ff13#ffffff0@39
+|~| @17| +0#0000001#ffd7ff255|t|e|x|t|=| @9| +0#4040ff13#ffffff0@39
+|~| @17| +0#0000001#ffd7ff255|t|e|x|t|h|l|=| @7| +0#4040ff13#ffffff0@39
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| |c|u|l|h|l|=| |c|u|l|h|l|=> @48
diff --git a/src/testdir/dumps/Test_wildmenu_pum_13.dump b/src/testdir/dumps/Test_wildmenu_pum_13.dump
new file mode 100644
index 0000000..b2b1424
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_13.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @24| +0#0000001#e0e0e08|c|u|l|h|l|=| @8| +0#4040ff13#ffffff0@32
+|~| @24| +0#0000001#ffd7ff255|i|c|o|n|=| @9| +0#4040ff13#ffffff0@32
+|~| @24| +0#0000001#ffd7ff255|l|i|n|e|h|l|=| @7| +0#4040ff13#ffffff0@32
+|~| @24| +0#0000001#ffd7ff255|n|u|m|h|l|=| @8| +0#4040ff13#ffffff0@32
+|~| @24| +0#0000001#ffd7ff255|t|e|x|t|=| @9| +0#4040ff13#ffffff0@32
+|~| @24| +0#0000001#ffd7ff255|t|e|x|t|h|l|=| @7| +0#4040ff13#ffffff0@32
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| |c|u|l|h|l|=| |c|u|l|h|l|=| |c|u|l|h|l|=> @41
diff --git a/src/testdir/dumps/Test_wildmenu_pum_14.dump b/src/testdir/dumps/Test_wildmenu_pum_14.dump
new file mode 100644
index 0000000..7f5546b
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_14.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @9| +0#0000001#e0e0e08|X|d|i|r|A|/| @8| +0#4040ff13#ffffff0@47
+|~| @9| +0#0000001#ffd7ff255|X|f|i|l|e|A| @8| +0#4040ff13#ffffff0@47
+|:+0#0000000&|e| |X|n|a|m|e|d|i|r|/|X|d|i|r|A|/> @56
diff --git a/src/testdir/dumps/Test_wildmenu_pum_15.dump b/src/testdir/dumps/Test_wildmenu_pum_15.dump
new file mode 100644
index 0000000..59f1fc5
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_15.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @15| +0#0000001#e0e0e08|X|d|i|r|B|/| @8| +0#4040ff13#ffffff0@41
+|~| @15| +0#0000001#ffd7ff255|X|f|i|l|e|B| @8| +0#4040ff13#ffffff0@41
+|:+0#0000000&|e| |X|n|a|m|e|d|i|r|/|X|d|i|r|A|/|X|d|i|r|B|/> @50
diff --git a/src/testdir/dumps/Test_wildmenu_pum_16.dump b/src/testdir/dumps/Test_wildmenu_pum_16.dump
new file mode 100644
index 0000000..7f5546b
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_16.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @9| +0#0000001#e0e0e08|X|d|i|r|A|/| @8| +0#4040ff13#ffffff0@47
+|~| @9| +0#0000001#ffd7ff255|X|f|i|l|e|A| @8| +0#4040ff13#ffffff0@47
+|:+0#0000000&|e| |X|n|a|m|e|d|i|r|/|X|d|i|r|A|/> @56
diff --git a/src/testdir/dumps/Test_wildmenu_pum_17.dump b/src/testdir/dumps/Test_wildmenu_pum_17.dump
new file mode 100644
index 0000000..5eef94d
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_17.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| |j|u|m|p| |l|i|s|t| |p|l|a|c|e| |u|n|d|e|f|i|n|e| |u|n|p|l|a|c|e> @29
diff --git a/src/testdir/dumps/Test_wildmenu_pum_18.dump b/src/testdir/dumps/Test_wildmenu_pum_18.dump
new file mode 100644
index 0000000..09b0b3e
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_18.dump
@@ -0,0 +1,10 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| @62
+|d|e|f|i|n|e| @68
+|:|s|i|g|n| |d|e|f|i|n|e> @62
diff --git a/src/testdir/dumps/Test_wildmenu_pum_19.dump b/src/testdir/dumps/Test_wildmenu_pum_19.dump
new file mode 100644
index 0000000..fa51c76
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_19.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#e0e0e08|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |u|n|d|e|f|i|n|e> @60
diff --git a/src/testdir/dumps/Test_wildmenu_pum_20.dump b/src/testdir/dumps/Test_wildmenu_pum_20.dump
new file mode 100644
index 0000000..99c2900
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_20.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@74
diff --git a/src/testdir/dumps/Test_wildmenu_pum_21.dump b/src/testdir/dumps/Test_wildmenu_pum_21.dump
new file mode 100644
index 0000000..ca37931
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_21.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e|x> @61
diff --git a/src/testdir/dumps/Test_wildmenu_pum_22.dump b/src/testdir/dumps/Test_wildmenu_pum_22.dump
new file mode 100644
index 0000000..3fd00ad
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_22.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|[+1&&|N|o| |N|a|m|e|]| @65
+|:+0#4040ff13&|s+0#af5f00255&|e|t| +0#0000000&|w+0#e000e06&|i|l|d|m|o|d|e|=+0#0000000&|l|o|n|g|e|s|t|,+0#af5f00255&|f+0#0000000&|u|l@1| @48
+|:+0#4040ff13&|s+0#af5f00255&|e|t| +0#0000000&|w+0#e000e06&|i|l|d|m|o|d|e|=+0#0000000&|f|u|l@1| @56
+|:+0#4040ff13&|s+0#af5f00255&|i|g|n| +0#0000000&|d|e|f|i|n|e| @62
+|:+0#4040ff13&|s+0#af5f00255&|i|g|n| +0#0000000&|d|e|f|i|n|e> @62
+|~+0#4040ff13&| @73
+|~| @73
+|[+3#0000000&|C|o|m@1|a|n|d| |L|i|n|e|]| @60
+|Y+0#0000001#ffff4012|o|u| |d|i|s|c|o|v|e|r|e|d| |t|h|e| |c|o|m@1|a|n|d|-|l|i|n|e| |w|i|n|d|o|w|!| |Y|o|u| |c|a|n| |c|l|o|s|e| |i|t| |w|i|t|h| |"|:|q|"|.| +0#0000000#ffffff0@7
diff --git a/src/testdir/dumps/Test_wildmenu_pum_23.dump b/src/testdir/dumps/Test_wildmenu_pum_23.dump
new file mode 100644
index 0000000..0bd6243
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_23.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |u> @67
diff --git a/src/testdir/dumps/Test_wildmenu_pum_24.dump b/src/testdir/dumps/Test_wildmenu_pum_24.dump
new file mode 100644
index 0000000..f5767f7
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_24.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000001#e0e0e08|b|u|f|d|o| @9| +0#4040ff13#ffffff0@58
+| +0#0000001#ffd7ff255|b|u|f@1|e|r| @8| +0#4040ff13#ffffff0@58
+| +0#0000001#ffd7ff255|b|u|f@1|e|r|s| @7| +0#4040ff13#ffffff0@58
+| +0#0000001#ffd7ff255|b|u|n|l|o|a|d| @7| +0#4040ff13#ffffff0@58
+|:+0#0000000&|b|u|f|d|o> @68
diff --git a/src/testdir/dumps/Test_wildmenu_pum_25.dump b/src/testdir/dumps/Test_wildmenu_pum_25.dump
new file mode 100644
index 0000000..b7d117d
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_25.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|b|u|f|d>o| @68
diff --git a/src/testdir/dumps/Test_wildmenu_pum_26.dump b/src/testdir/dumps/Test_wildmenu_pum_26.dump
new file mode 100644
index 0000000..30786c9
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_26.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n> @63
diff --git a/src/testdir/dumps/Test_wildmenu_pum_27.dump b/src/testdir/dumps/Test_wildmenu_pum_27.dump
new file mode 100644
index 0000000..4b60c57
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_27.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| > @68
diff --git a/src/testdir/dumps/Test_wildmenu_pum_28.dump b/src/testdir/dumps/Test_wildmenu_pum_28.dump
new file mode 100644
index 0000000..910e224
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_28.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&> @73
diff --git a/src/testdir/dumps/Test_wildmenu_pum_29.dump b/src/testdir/dumps/Test_wildmenu_pum_29.dump
new file mode 100644
index 0000000..7a82fce
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_29.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| |x|y|z> @65
diff --git a/src/testdir/dumps/Test_wildmenu_pum_30.dump b/src/testdir/dumps/Test_wildmenu_pum_30.dump
new file mode 100644
index 0000000..76e4780
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_30.dump
@@ -0,0 +1,10 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|c|n| @71
+|c|n|e|w|e|r| @6|c|n|f|i|l|e| @6|c|n|o|r|e|m|a|p| @40
+|c|n|e|x|t| @7|c|n|o|r|e|a|b@1|r|e|v| @1|c|n|o|r|e|m|e|n|u| @39
+|:|c|n> @71
diff --git a/src/testdir/dumps/Test_wildmenu_pum_31.dump b/src/testdir/dumps/Test_wildmenu_pum_31.dump
new file mode 100644
index 0000000..157f16c
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_31.dump
@@ -0,0 +1,10 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|c|n| @71
+|c|n|e|w|e|r| @6|c|n|f|i|l|e| @6|c|n|o|r|e|m|a|p| @40
+|c|n|e|x|t| @7|c|n|o|r|e|a|b@1|r|e|v| @1|c|n|o|r|e|m|e|n|u| @39
+|:|c|n|s> @70
diff --git a/src/testdir/dumps/Test_wildmenu_pum_32.dump b/src/testdir/dumps/Test_wildmenu_pum_32.dump
new file mode 100644
index 0000000..9bff1a5
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_32.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @16| +0#0000001#e0e0e08|1|2|3| @11| +0#4040ff13#ffffff0@40
+|~| @16| +0#0000001#ffd7ff255|a|b|c| @11| +0#4040ff13#ffffff0@40
+|~| @16| +0#0000001#ffd7ff255|x|y|z| @11| +0#4040ff13#ffffff0@40
+|:+0#0000000&|e| |X|n|a|m|e|d|i|r|/|あ*&|い|う|/+&|1|2|3> @52
diff --git a/src/testdir/dumps/Test_wildmenu_pum_33.dump b/src/testdir/dumps/Test_wildmenu_pum_33.dump
new file mode 100644
index 0000000..3955edb
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_33.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| |j|u|m|p| |l|i|s|t| |p|l|a|c|e| |u|n|d|e|f|i|n|e| |u|n|p|l|a|c|e|x> @28
diff --git a/src/testdir/dumps/Test_wildmenu_pum_34.dump b/src/testdir/dumps/Test_wildmenu_pum_34.dump
new file mode 100644
index 0000000..e28b913
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_34.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| |j|u|m|p| |l|i|s|t| |p|l|a|c|e| |u|n|d|e|f|i|n|e| |u|n|p|l|a|c>e| @29
diff --git a/src/testdir/dumps/Test_wildmenu_pum_35.dump b/src/testdir/dumps/Test_wildmenu_pum_35.dump
new file mode 100644
index 0000000..3fbd30a
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_35.dump
@@ -0,0 +1,10 @@
+|~+0#4040ff13#ffffff0| @73
+|:+0#0000000&|T|c|m|d| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3
+| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3
+| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3
+| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3
+| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3
+| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3
+| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3
+| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3| |a@3
+| |a@1>a@1| @69
diff --git a/src/testdir/dumps/Test_wildmenu_pum_36.dump b/src/testdir/dumps/Test_wildmenu_pum_36.dump
new file mode 100644
index 0000000..9d7b6b0
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_36.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|e| |X|d|i|r|B|/| |X|f|i|l|e|B> @58
diff --git a/src/testdir/dumps/Test_wildmenu_pum_37.dump b/src/testdir/dumps/Test_wildmenu_pum_37.dump
new file mode 100644
index 0000000..5eef94d
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_37.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| |j|u|m|p| |l|i|s|t| |p|l|a|c|e| |u|n|d|e|f|i|n|e| |u|n|p|l|a|c|e> @29
diff --git a/src/testdir/dumps/Test_wildmenu_pum_38.dump b/src/testdir/dumps/Test_wildmenu_pum_38.dump
new file mode 100644
index 0000000..44c66ed
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_38.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&|c|o|m|c|l|e|a|r| > @64
diff --git a/src/testdir/dumps/Test_wildmenu_pum_39.dump b/src/testdir/dumps/Test_wildmenu_pum_39.dump
new file mode 100644
index 0000000..27be763
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_39.dump
@@ -0,0 +1,10 @@
+> +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|s+3#0000000&|t|a|t|u|s| @68
+| +0&&@74
diff --git a/src/testdir/dumps/Test_wildmenu_pum_40.dump b/src/testdir/dumps/Test_wildmenu_pum_40.dump
new file mode 100644
index 0000000..75aa01a
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_40.dump
@@ -0,0 +1,10 @@
+|m+1&#ffffff0|y| |t|a|b| |l|i|n|e| @63
+> +0&&@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|b+3#0000000&|a|r| @71
+| +0&&@74
diff --git a/src/testdir/dumps/Test_wildmenu_pum_41.dump b/src/testdir/dumps/Test_wildmenu_pum_41.dump
new file mode 100644
index 0000000..6f23d92
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_41.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000001#e0e0e08|a|b@1|r|e|v|i|a|t|e| @4| +0#4040ff13#ffffff0@58
+| +0#0000001#ffd7ff255|a|b|c|l|e|a|r| @7| +0#4040ff13#ffffff0@58
+| +0#0000001#ffd7ff255|a|b|o|v|e|l|e|f|t| @5| +0#4040ff13#ffffff0@58
+| +0#0000001#ffd7ff255|a|b|s|t|r|a|c|t| @6| +0#4040ff13#ffffff0@58
+|:+0#0000000&|a|b@1|r|e|v|i|a|t|e> @63
diff --git a/src/testdir/dumps/Test_wildmenu_pum_42.dump b/src/testdir/dumps/Test_wildmenu_pum_42.dump
new file mode 100644
index 0000000..fa51c76
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_42.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#e0e0e08|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |u|n|d|e|f|i|n|e> @60
diff --git a/src/testdir/dumps/Test_wildmenu_pum_43.dump b/src/testdir/dumps/Test_wildmenu_pum_43.dump
new file mode 100644
index 0000000..372fc8e
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_43.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#e0e0e08|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |u|n|p|l|a|c|e> @61
diff --git a/src/testdir/dumps/Test_wildmenu_pum_44.dump b/src/testdir/dumps/Test_wildmenu_pum_44.dump
new file mode 100644
index 0000000..7b99b47
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_44.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| > @68
diff --git a/src/testdir/dumps/Test_wildmenu_pum_45.dump b/src/testdir/dumps/Test_wildmenu_pum_45.dump
new file mode 100644
index 0000000..8c48229
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_45.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#e0e0e08|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e> @62
diff --git a/src/testdir/dumps/Test_wildmenu_pum_46.dump b/src/testdir/dumps/Test_wildmenu_pum_46.dump
new file mode 100644
index 0000000..372fc8e
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_46.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#e0e0e08|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |u|n|p|l|a|c|e> @61
diff --git a/src/testdir/dumps/Test_wildmenu_pum_47.dump b/src/testdir/dumps/Test_wildmenu_pum_47.dump
new file mode 100644
index 0000000..7b99b47
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_47.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| > @68
diff --git a/src/testdir/dumps/Test_wildmenu_pum_48.dump b/src/testdir/dumps/Test_wildmenu_pum_48.dump
new file mode 100644
index 0000000..372fc8e
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_48.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#e0e0e08|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |u|n|p|l|a|c|e> @61
diff --git a/src/testdir/dumps/Test_wildmenu_pum_49.dump b/src/testdir/dumps/Test_wildmenu_pum_49.dump
new file mode 100644
index 0000000..1c3a2e8
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_49.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#ffd7ff255|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#e0e0e08|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |j|u|m|p> @64
diff --git a/src/testdir/dumps/Test_wildmenu_pum_50.dump b/src/testdir/dumps/Test_wildmenu_pum_50.dump
new file mode 100644
index 0000000..8c48229
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_50.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @3| +0#0000001#e0e0e08|d|e|f|i|n|e| @8| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|j|u|m|p| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +0#4040ff13#ffffff0@53
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e> @62
diff --git a/src/testdir/dumps/Test_wildmenu_pum_clear_entries_1.dump b/src/testdir/dumps/Test_wildmenu_pum_clear_entries_1.dump
new file mode 100644
index 0000000..b5825eb
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_clear_entries_1.dump
@@ -0,0 +1,10 @@
+| +0#0000001#e0e0e08|!| @14| +0#0000000#0000001| +0&#ffffff0@56
+| +0#0000001#ffd7ff255|#| @14| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@56
+| +0#0000001#ffd7ff255|&| @14| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@56
+| +0#0000001#ffd7ff255|*| @14| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@56
+| +0#0000001#ffd7ff255|+@1| @13| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@56
+| +0#0000001#ffd7ff255|-@1| @13| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@56
+| +0#0000001#ffd7ff255|<| @14| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@56
+| +0#0000001#ffd7ff255|=| @14| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@56
+| +0#0000001#ffd7ff255|>| @14| +0#0000000#a8a8a8255| +0#4040ff13#ffffff0@56
+|:+0#0000000&|!> @72
diff --git a/src/testdir/dumps/Test_wildmenu_pum_term_01.dump b/src/testdir/dumps/Test_wildmenu_pum_term_01.dump
new file mode 100644
index 0000000..b619875
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_pum_term_01.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+@75
+@75
+@5| +0#0000001#e0e0e08|d|e|f|i|n|e| @8| +0#0000000#ffffff0@53
+|<+2#ffffff16#00e0003|o|r|t| | +0#0000001#ffd7ff255|j|u|m|p| @10|w+2#ffffff16#00e0003|r|i|t|e|(|s|y|s|.|s|t|d|i|n|.|r|e|a|d|(|)@1|"| |[|r|u|n@1|i|n|g|]| @1|0|,|0|-|1| @9|A|l@1
+| +0#0000000#ffffff0@4| +0#0000001#ffd7ff255|l|i|s|t| @10| +0#0000000#ffffff0@53
+|~+0#4040ff13&| @3| +0#0000001#ffd7ff255|p|l|a|c|e| @9| +0#4040ff13#ffffff0@53
+|~| @3| +0#0000001#ffd7ff255|u|n|d|e|f|i|n|e| @6| +0#4040ff13#ffffff0@53
+|[+1#0000000&|N|o| |N| +0#0000001#ffd7ff255|u|n|p|l|a|c|e| @7| +1#0000000#ffffff0@35|0|,|0|-|1| @9|A|l@1
+|:+0&&|s|i|g|n| |d|e|f|i|n|e> @62
diff --git a/src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_1.dump b/src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_1.dump
new file mode 100644
index 0000000..ad57067
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_1.dump
@@ -0,0 +1,10 @@
+|f+0#0000e05#a8a8a8255|o@1|-@71
+|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| @60
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+| +0#0000001#e0e0e08|s|e|t| @11| +0#4040ff13#ffffff0@58
+| +0#0000001#ffd7ff255|s|e|t|f|i|l|e|t|y|p|e| @3| +0#4040ff13#ffffff0@58
+| +0#0000001#ffd7ff255|s|e|t|g|l|o|b|a|l| @5| +0#4040ff13#ffffff0@58
+| +0#0000001#ffd7ff255|s|e|t|l|o|c|a|l| @6| +0#4040ff13#ffffff0@58
+|:+0#0000000&|s|e|t> @70
diff --git a/src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_2.dump b/src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_2.dump
new file mode 100644
index 0000000..93270a5
--- /dev/null
+++ b/src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_2.dump
@@ -0,0 +1,10 @@
+>f+0#0000e05#a8a8a8255|o@1|-@71
+|s+0#0000000#ffffff0|o|m|e| |m|o|r|e| |t|e|x|t| @60
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_win_gotoid_1.dump b/src/testdir/dumps/Test_win_gotoid_1.dump
new file mode 100644
index 0000000..0faf579
--- /dev/null
+++ b/src/testdir/dumps/Test_win_gotoid_1.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @73
+|[+1&&|N|o| |N|a|m|e|]| @47|1|,|1| @11|T|o|p
+>2+0&&|1| @72
+|2@1| @72
+|2|3| @72
+|2|4| @72
+|2|5| @72
+|2|6| @72
+|[+3&&|N|o| |N|a|m|e|]| @47|1|,|1| @11|T|o|p
+|r+0&&|e|g| |=| |"|f|o@1|"| @63
+@75
diff --git a/src/testdir/dumps/Test_win_gotoid_2.dump b/src/testdir/dumps/Test_win_gotoid_2.dump
new file mode 100644
index 0000000..7a778f5
--- /dev/null
+++ b/src/testdir/dumps/Test_win_gotoid_2.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @73
+|[+1&&|N|o| |N|a|m|e|]| @47|1|,|1| @11|T|o|p
+|2+0&&|1| @72
+|2@1| @72
+|2+0&#e0e0e08>3+0&#ffffff0| @72
+|2|4| @72
+|2|5| @72
+|2|6| @72
+|[+3&&|N|o| |N|a|m|e|]| @47|3|,|2| @11|T|o|p
+|r+0&&|e|g| |=| |"|2|3|"| @64
+|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@51|2| @9
diff --git a/src/testdir/dumps/Test_win_gotoid_3.dump b/src/testdir/dumps/Test_win_gotoid_3.dump
new file mode 100644
index 0000000..2de7346
--- /dev/null
+++ b/src/testdir/dumps/Test_win_gotoid_3.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+>2| @73
+|3| @73
+|4| @73
+|[+3&&|N|o| |N|a|m|e|]| @47|3|,|1| @11|T|o|p
+|2+0&&|1| @72
+|2@1| @72
+|2|3| @72
+|2|4| @72
+|2|5| @72
+|2|6| @72
+|[+1&&|N|o| |N|a|m|e|]| @47|3|,|1| @11|T|o|p
+|r+0&&|e|g| |=| |"|2|3|"| @64
+@75
diff --git a/src/testdir/dumps/Test_winbar_not_visible.dump b/src/testdir/dumps/Test_winbar_not_visible.dump
new file mode 100644
index 0000000..894ac21
--- /dev/null
+++ b/src/testdir/dumps/Test_winbar_not_visible.dump
@@ -0,0 +1,10 @@
+|[+1&#ffffff0|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+> +0&&@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
diff --git a/src/testdir/dumps/Test_winbar_not_visible_custom_statusline.dump b/src/testdir/dumps/Test_winbar_not_visible_custom_statusline.dump
new file mode 100644
index 0000000..9eff5ba
--- /dev/null
+++ b/src/testdir/dumps/Test_winbar_not_visible_custom_statusline.dump
@@ -0,0 +1,10 @@
+|a+1&#ffffff0|b|c|d|e| @69
+> +0&&@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|a+3#0000000&|b|c|d|e| @69
+| +0&&@74
diff --git a/src/testdir/dumps/Test_wincolor_01.dump b/src/testdir/dumps/Test_wincolor_01.dump
new file mode 100644
index 0000000..5a5ccf5
--- /dev/null
+++ b/src/testdir/dumps/Test_wincolor_01.dump
@@ -0,0 +1,8 @@
+| +0#af5f00255#ffd7ff255@1|2| | +0#0000001&@4| +0&#e0e0e08| +0&#ffd7ff255@64
+| +0#af5f00255&@1|1| |1+0#0000001&@4|1+0&#e0e0e08@4| | +0&#ffd7ff255@59
+| +8#af5f00255&@1|0| |2+0#0000001#e0e0e08@4>2+0&#ffd7ff255@5| +8&&@59
+| +0#af5f00255&@1|1| |3+0#0000001&| |h|e|r|e+0&#e0e0e08| +0&#ffd7ff255|3| @62
+| +0#af5f00255&@1|2| | +0#0000001&@4| +0&#e0e0e08| +0&#ffd7ff255@64
+| +0#af5f00255&@1|3| |t+0#40ff4011&|h|e| |c|a+0&#e0e0e08|t+0&#ffd7ff255| |i|s| |o+1&&|u|t| +0&&|o|f| |t|h|e| |b|a|g| +0#0000001&@45
+|~+0#4040ff13&| @73
+|-+2#0000000#ffffff0@1| |V|I|S|U|A|L| |-@1| +0&&@34|2| @8|3|,|6| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_wincolor_lcs.dump b/src/testdir/dumps/Test_wincolor_lcs.dump
new file mode 100644
index 0000000..1e146b2
--- /dev/null
+++ b/src/testdir/dumps/Test_wincolor_lcs.dump
@@ -0,0 +1,8 @@
+|<+0#4040ff13#ffff4012| +0#0000001&@73
+|-+0#0000e05&@2|>|-@6>s+0#0000001&|o|m|e|.+0#0000e05&|r+0#0000001&|a|n|d|o|m|.+0#0000e05&|*+0#e0e0e08#6c6c6c255|.+0#0000e05#ffff4012|e+0#0000001&|n|o|u|g|h|.+0#0000e05&|l+0#0000001&|o|n|g|.+0#0000e05&|t+0#0000001&|o|.+0#0000e05&|s+0#0000001&|h|o|w|.+0#0000e05&|'+0#0000001&|e|x|t|e|n|d|s|'|.+0#0000e05&|a+0#0000001&|n|d|.+0#0000e05&|'+0#0000001&|p|r|e|c|e|d|e|s|'|.+0#0000e05&|i+0#0000001&|n|c|l|>+0#4040ff13&
+|<| +0#0000001&@73
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000#ffffff0@56|2|,|3|-|1|7| @7|A|l@1|
diff --git a/src/testdir/dumps/Test_winline_rnu.dump b/src/testdir/dumps/Test_winline_rnu.dump
new file mode 100644
index 0000000..31d579e
--- /dev/null
+++ b/src/testdir/dumps/Test_winline_rnu.dump
@@ -0,0 +1,5 @@
+|1+8#5fafaf255#303030255| @2> +0#0000000#ffffff0@45
+| +0#af5f00255&@1|1| |a+0#0000000&@45
+| +0#af5f00255&@3|a+0#0000000&@45
+| +0#af5f00255&@3|a+0#0000000&@17| @27
+@32|1|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_winscrolled_not_when_defined_1.dump b/src/testdir/dumps/Test_winscrolled_not_when_defined_1.dump
new file mode 100644
index 0000000..ef42464
--- /dev/null
+++ b/src/testdir/dumps/Test_winscrolled_not_when_defined_1.dump
@@ -0,0 +1,10 @@
+>a+0&#ffffff0@2| @56
+|b@2| @56
+|~+0#4040ff13&| @58
+|~| @58
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @28|1|,|1| @11|A|l@1
+|a+0&&@2| @56
+|b@2| @56
+|~+0#4040ff13&| @58
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @28|1|,|1| @11|A|l@1
+|:+0&&|a|u| |W|i|n|S|c|r|o|l@1|e|d| |*| |c|a|l@1| |t|i|m|e|r|_|s|t|a|r|t|(|1|0@1|,| |'|S|h|o|w|T|r|i|g@1|e|r|e|d|'|)| @3
diff --git a/src/testdir/dumps/Test_winscrolled_not_when_defined_2.dump b/src/testdir/dumps/Test_winscrolled_not_when_defined_2.dump
new file mode 100644
index 0000000..b5cbca4
--- /dev/null
+++ b/src/testdir/dumps/Test_winscrolled_not_when_defined_2.dump
@@ -0,0 +1,10 @@
+>b+0&#ffffff0@2| @56
+|~+0#4040ff13&| @58
+|~| @58
+|~| @58
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @28|2|,|1| @11|B|o|t
+|a+0&&@2| @56
+|b@2| @56
+|~+0#4040ff13&| @58
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @28|1|,|1| @11|A|l@1
+|t+0&&|r|i|g@1|e|r|e|d| @50
diff --git a/src/testdir/dumps/Test_winscrolled_once_only_1.dump b/src/testdir/dumps/Test_winscrolled_once_only_1.dump
new file mode 100644
index 0000000..56d6401
--- /dev/null
+++ b/src/testdir/dumps/Test_winscrolled_once_only_1.dump
@@ -0,0 +1,10 @@
+|a+0&#ffffff0@2| @26||+1&&>b+0&&@2| @25
+|b@2| @26||+1&&|~+0#4040ff13&| @27
+|~| @28||+1#0000000&|~+0#4040ff13&| @27
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @1|1|,|1| @8|A|l@1|||~+0#4040ff13&| @27
+|a+0#0000000&@2| @26||+1&&|~+0#4040ff13&| @27
+|b+0#0000000&@2| @26||+1&&|~+0#4040ff13&| @27
+|~| @28||+1#0000000&|~+0#4040ff13&| @27
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @1|1|,|1| @8|A|l@1| |[+3&&|N|o| |N|a|m|e|]| |[|+|]| @1|2|,|1| @7|B|o|t
+|1+0&&| |1|0@2| |[|'|r|o|w|'|,| |[@1|'|c|o|l|'|,| |[@1|'|l|e|a|f|'|,| |1|0@1|2|]|,| |[|'|l|e|a|f|'|,| |1|0@1|1|]@2|,| |[
+|'|l|e|a|f|'|,| |1|0@2|]@2| @44