summaryrefslogtreecommitdiffstats
path: root/src/drawscreen.c
AgeCommit message (Collapse)Author
2023-08-19patch 9.0.1747: screenpos() may cause unnecessary redrawv9.0.1747zeertzjq
Problem: screenpos() may cause unnecessary redraw. Solution: Don't unnecessarily reset VALID_WROW flag. VALID_WROW flag is only used by two functions: validate_cursor() and cursor_valid(), and cursor_valid() is only used once in ex_sleep(). When adjust_plines_for_skipcol() was first added in patch 9.0.0640, it was called in two functions: comp_botline() and curs_rows(). - comp_botline() is called in two places: - onepage(), which resets VALID_WROW flag immediately afterwards. - validate_botline_win(), where resetting a VALID_ flag is strange. - curs_rows() is called in two places: - curs_columns(), which sets VALID_WROW flag afterwards. - validate_cline_row(), which is only used by GUI mouse focus. Therefore resetting VALID_WROW there doesn't seem to do anything useful. Also, a w_skipcol check (which resets VALID_WROW flag) was added to check_cursor_moved() in patch 9.0.0734, which seems to make more sense than resetting that flag in the middle of a computation. While at it make adjust_plines_for_skipcol() and textpos2screenpos() a bit less confusing: - Make adjust_plines_for_skipcol() return "off" instead of "n - off". - Use 0-based "row" in textpos2screenpos() until W_WINROW is added. closes: #12832 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-08-17patch 9.0.1729: screenpos() wrong when w_skipcol and cpoptions+=nv9.0.1729zeertzjq
Problem: screenpos() wrong result with w_skipcol and cpoptions+=n Solution: Use adjust_plines_for_skipcol() instead of subtracting w_skipcol. closes: #12625 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2023-05-31patch 9.0.1595: line pointer becomes invalid when using spell checkingv9.0.1595Luuk van Baal
Problem: Line pointer becomes invalid when using spell checking. Solution: Call ml_get() at the right places. (Luuk van Baal, closes #12456)
2023-05-27patch 9.0.1585: weird use of static variables for spell checkingv9.0.1585Luuk van Baal
Problem: Weird use of static variables for spell checking. Solution: Move the variables to a structure and pass them from win_update() to win_line(). (Luuk van Baal, closes #12448)
2023-05-25patch 9.0.1578: SpellCap highlight not always updated when neededv9.0.1578Luuk van Baal
Problem: SpellCap highlight not always updated when needed. Solution: Handle updating line below closed fold and other situations where only part of the window is redrawn. (Luuk van Baal, closes #12428, closes #12420)
2023-05-06patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' setv9.0.1512Luuk van Baal
Problem: Inserting lines when scrolling with 'smoothscroll' set. Solution: Adjust line height computation for w_skipcol. (Luuk van Baal, closes #12350)
2022-12-15patch 9.0.1061: cannot display 'showcmd' somewhere elsev9.0.1061Luuk van Baal
Problem: Cannot display 'showcmd' somewhere else. Solution: Add the 'showcmdloc' option. (Luuk van Baal, closes #11684)
2022-11-29patch 9.0.0972: build failure on some systemsv9.0.0972Bram Moolenaar
Problem: Build failure on some systems. Solution: Adjust #ifdefs related to the termresponse feature.
2022-11-07patch 9.0.0844: handling 'statusline' errors is spread outv9.0.0844Luuk van Baal
Problem: Handling 'statusline' errors is spread out. Solution: Pass the option name to the lower levels so the option can be reset there when an error is encountered. (Luuk van Baal, closes #11467)
2022-10-14patch 9.0.0750: crash when popup closed in callbackv9.0.0750Bram Moolenaar
Problem: Crash when popup closed in callback. (Maxim Kim) Solution: In syntax_end_parsing() check that syn_block is valid.
2022-10-13patch 9.0.0747: too many #ifdefsv9.0.0747Martin Tournoij
Problem: Too many #ifdefs. Solution: Gradudate the +cmdline_info feature. (Martin Tournoij, closes #11330)
2022-10-04patch 9.0.0661: multi-byte "lastline" in 'fillchars' does not work properlyv9.0.0661zeertzjq
Problem: Multi-byte "lastline" item in 'fillchars' does not work properly when the window is two columns wide. Solution: Compute the text length correctly. (closes #11280)
2022-10-04patch 9.0.0657: too many #ifdefsv9.0.0657Martin Tournoij
Problem: Too many #ifdefs. Solution: Graduate the +cmdwin feature. Now the tiny and small builds are equal, drop the small build. (Martin Tournoij, closes #11268)
2022-10-04patch 9.0.0656: cannot specify another character to use instead of '@'v9.0.0656Bram Moolenaar
Problem: Cannot specify another character to use instead of '@' at the end of the window. Solution: Add "lastline" to 'fillchars'. (Martin Tournoij, closes #11264, closes #10963)
2022-10-03patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'v9.0.0652Bram Moolenaar
Problem: 'smoothscroll' not tested with 'number' and "n" in 'cpo'. Solution: Add tests, fix uncovered problem.
2022-09-29patch 9.0.0620: matchaddpos() can only add up to 8 matchesv9.0.0620Bram Moolenaar
Problem: matchaddpos() can only add up to 8 matches. Solution: Allocate the array of positions. (closes #11248)
2022-08-31patch 9.0.0340: the 'cmdheight' zero support causes too much troublev9.0.0340Bram Moolenaar
Problem: The 'cmdheight' zero support causes too much trouble. Solution: Revert support for 'cmdheight' being zero.
2022-08-30patch 9.0.0337: flicker when resetting cmdline_row after updating the screenv9.0.0337Bram Moolenaar
Problem: Flicker when resetting cmdline_row after updating the screen. Solution: Do not update cmdline_row. (issue #11017)
2022-08-29patch 9.0.0318: clearing screen causes flickerv9.0.0318Bram Moolenaar
Problem: Clearing screen causes flicker. Solution: Do not clear but redraw in more cases. Add () to "wait_return".
2022-08-29patch 9.0.0317: when updating the whole screen a popup may not be redrawnv9.0.0317Bram Moolenaar
Problem: When updating the whole screen a popup may not be redrawn. Solution: Mark the screen and windows for redraw also when not clearing. Also mark popup windows for redraw.
2022-08-29patch 9.0.0316: screen flickers when 'cmdheight' is zerov9.0.0316Bram Moolenaar
Problem: Screen flickers when 'cmdheight' is zero. Solution: Redraw over existing text instead of clearing.
2022-08-28patch 9.0.0311: test for hit-Enter prompt failsv9.0.0311Bram Moolenaar
Problem: Test for hit-Enter prompt fails. Solution: Only reset cmdline_row when 'cmdheight' is zero.
2022-08-28patch 9.0.0309: invalid memory access when cmdheight is zerov9.0.0309Bram Moolenaar
Problem: Invalid memory access when cmdheight is zero. Solution: Check index in w_lines is smaller than Rows.
2022-08-26patch 9.0.0279: the tiny version has the popup menu but not 'wildmenu'v9.0.0279Bram Moolenaar
Problem: The tiny version has the popup menu but not 'wildmenu'. Solution: Graduate the wildmenu feature.
2022-08-25patch 9.0.0263: too many #ifdefsv9.0.0263Bram Moolenaar
Problem: Too many #ifdefs. Solution: Make some functions always available.
2022-08-22patch 9.0.0245: mechanism to prevent recursive screen updating is incompletev9.0.0245Bram Moolenaar
Problem: Mechanism to prevent recursive screen updating is incomplete. Solution: Add "redraw_not_allowed" and set it in build_stl_str_hl(). (issue #10952)
2022-08-14patch 9.0.0206: redraw flags are not named specificallyv9.0.0206Bram Moolenaar
Problem: Redraw flags are not named specifically. Solution: Prefix "UPD_" to the flags, for UPDate_screen().
2022-08-11patch 9.0.0192: possible invalid memory access when 'cmdheight' is zerov9.0.0192Bram Moolenaar
Problem: Possible invalid memory access when 'cmdheight' is zero. (Martin Tournoij) Solution: Avoid going over the end of w_lines[] when w_height is Rows. (closes #10882)
2022-07-30patch 9.0.0114: the command line takes up space even when not usedv9.0.0114Shougo Matsushita
Problem: The command line takes up space even when not used. Solution: Allow for 'cmdheight' to be set to zero. (Shougo Matsushita, closes #10675, closes #940)
2022-07-04patch 9.0.0036: 'fillchars' cannot have window-local valuesv9.0.0036Bram Moolenaar
Problem: 'fillchars' cannot have window-local values. Solution: Make 'fillchars' global-local. (closes #5206)
2022-06-19patch 8.2.5128: syntax disabled when using synID() in searchpair() skip exprv8.2.5128Bram Moolenaar
Problem: Syntax highlighting disabled when using synID() in searchpair() skip expression and it times out. (Jaehwang Jung) Solution: Add the redrawtime_limit_set flag. (closes #10562)
2022-06-05patch 8.2.5057: using gettimeofday() for timeout is very inefficientv8.2.5057Paul Ollis
Problem: Using gettimeofday() for timeout is very inefficient. Solution: Set a platform dependent timer. (Paul Ollis, closes #10505)
2022-05-31patch 8.2.5047: CurSearch highlight is often wrongv8.2.5047Bram Moolenaar
Problem: CurSearch highlight is often wrong. Solution: Remember the last highlighted position and redraw when needed.
2022-05-07patch 8.2.4911: the mode #defines are not clearly namedv8.2.4911Bram Moolenaar
Problem: The mode #defines are not clearly named. Solution: Prepend MODE_. Renumber them to put the mapped modes first.
2022-04-09patch 8.2.4718: @@@ in the last line sometimes drawn in the wrong placev8.2.4718Bram Moolenaar
Problem: @@@ in the last line sometimes drawn in the wrong place. Solution: Make sure the column is valid. (closes #10130)
2022-03-29patch 8.2.4644: redrawing too often when 'relativenumber' is setv8.2.4644Lewis Russell
Problem: Redrawing too often when 'relativenumber' is set. Solution: Only redraw when the cursor line changed. (Lewis Russell, closes #10040)
2022-03-27patch 8.2.4638: superfluous check if a redraw is needed for 'cursorline'v8.2.4639v8.2.4638zeertzjq
Problem: Superfluous check if a redraw is needed for 'cursorline'. Solution: Remove check_redraw_cursorline(). (closes #10030, closes #10029)
2022-03-25patch 8.2.4626: Visual area not updated when removing sign in Visual modev8.2.4626Bram Moolenaar
Problem: Visual area not fully updated when removing sign in Visual mode while scrolling. Solution: Adjust check for topline. (closes #10017)
2022-03-23patch 8.2.4614: redrawing too much when 'cursorline' is setv8.2.4614zeertzjq
Problem: Redrawing too much when 'cursorline' is set and jumping around. Solution: Rely on win_update() to redraw the current and previous cursor line, do not mark lines as modified. (closes #9996)
2022-03-22patch 8.2.4610: some conditions are always truev8.2.4610Bram Moolenaar
Problem: Some conditions are always true. Solution: Remove the useless conditions. (closes #9993)
2022-03-19patch 8.2.4591: cursor line not updated when a callback moves the cursorv8.2.4591Bram Moolenaar
Problem: Cursor line not updated when a callback moves the cursor. Solution: Check if the cursor moved. (closes #9970)
2022-02-16patch 8.2.4402: missing parenthesis may cause unexpected problemsv8.2.4402kylo252
Problem: Missing parenthesis may cause unexpected problems. Solution: Add more parenthesis is macros. (closes #9788)
2022-02-14patch 8.2.4382: a custom 'tabline' may cause Esc to work like Enterv8.2.4382Bram Moolenaar
Problem: A custom 'tabline' may cause Esc to work like Enter on the command line when the popup menu is displayed. Solution: Save and restore KeyTyped. (closes #9776)
2022-02-11patch 8.2.4346: a custom statusline may cause Esc to work like Enterv8.2.4346Bram Moolenaar
Problem: A custom statusline may cause Esc to work like Enter on the command line when the popup menu is displayed. Solution: Save and restore KeyTyped. (closes #9749)
2022-02-08patch 8.2.4325: 'wildmenu' only shows few matchesv8.2.4325Yegappan Lakshmanan
Problem: 'wildmenu' only shows few matches. Solution: Add the "pum" option: use a popup menu to show the matches. (Yegappan Lakshmanan et al., closes #9707)
2022-02-03patch 8.2.4289: warnings reported by MSVCv8.2.4289K.Takata
Problem: Warnings reported by MSVC. Solution: Rename variables and other fixes. (Ken Takata, closes #9689)
2022-01-28patch 8.2.4241: some type casts are redundantv8.2.4241=?UTF-8?q?Dundar=20G=C3=B6c?=
Problem: Some type casts are redundant. Solution: Remove the type casts. (closes #9643)
2022-01-16patch 8.2.4108: going over the end of the w_lines arrayv8.2.4108Bram Moolenaar
Problem: Going over the end of the w_lines array. Solution: Check not going over the end and limit to Rows. (issue #9540)
2022-01-16patch 8.2.4106: going over the end of the w_lines arrayv8.2.4106Bram Moolenaar
Problem: Going over the end of the w_lines array. Solution: Break out of the loop when "idx" is too big. (issue #9540)
2022-01-13patch 8.2.4074: going over the end of NameBuffv8.2.4074Bram Moolenaar
Problem: Going over the end of NameBuff. Solution: Check length when appending a space.