aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/window.c
Commit message (Collapse)AuthorAge
* UI: add missing redraw after enter_tabpageBjörn Linse2018-10-25
| | | | | | | redraw_all_later() isn't guaranteed to update must_redraw after switching tab, we must do it ourselves. fixes #9152
* ui: disable clearing almost everywhereBjörn Linse2018-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid clearing the screen in most situations. NOT_VALID should be equivalent to CLEAR unless some external force messed up the terminal, for these situations <c-l> and :mode will still clear the screen. Also eliminate some obsolete code in screen.c, that dealt with that in vim drawing window 1 can mess up window 2, but this never happens in nvim. But what about slow terminals? There is two common meanings in which a terminal is said to be "slow": Most commonly (and in the sense of vim:s nottyfast) it means low bandwidth for sending bytes from nvim to the terminal. If the screen is very similar before and after the update_screen(CLEAR) this change should reduce bandwidth. If the screen is quite different, but there is no new regions of contiguous whitespace, clearing doesn't reduce bandwidth significantly. If the new screen contains a lot of whitespace, it will depend of if vsplits are used or not: as long as there is no vsplits, ce is used to cheaply clear the rest of the line, so full-screen clear is not needed to reduce bandwith. However a left vsplit currently needs to be padded with whitespace all the way to the separator. It is possible ec (clear N chars) can be used to reduce bandwidth here if this is a problem. (All of this assumes that one doesn't set Normal guibg=... on a non-BCE terminal, if you do you are doomed regardless of this change). Slow can also mean that drawing pixels on the screen is slow. E-ink screens is a recent example. Avoiding clearing and redrawing the unchanged part of the screen will always improve performance in these cases.
* lintJan Edmund Lazo2018-09-21
|
* replace fallthrough comment with macroJan Edmund Lazo2018-09-21
| | | | Follow-up of vim-patch:8.0.1215
* vim-patch:8.0.1215: newer gcc warns for implicit fallthroughJan Edmund Lazo2018-09-20
| | | | | | Problem: Newer gcc warns for implicit fallthrough. Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt) https://github.com/vim/vim/commit/2f40d129bf45cd35976e4120336ae6d504f5a5dd
* lintJan Edmund Lazo2018-09-06
|
* window: refactor boolean variables in win_close()Jan Edmund Lazo2018-09-06
| | | | free_buf (param) and help_window (variable) are bool.
* vim-patch:8.0.0782: using freed memory in quickfix codeJan Edmund Lazo2018-09-06
| | | | | | Problem: Using freed memory in quickfix code. (Dominique Pelle) Solution: Handle a help window differently. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/d28cc3f55d4a5a980f6ac6fa682382822a223720
* Merge #8863 'refactor: Remove mb_head_off()'Justin M. Keyes2018-08-28
|\
| * Merge #8863 'refactor: Remove mb_head_off() 'Justin M. Keyes2018-08-28
| |\
| | * lint: cleanup after parent commitsZviRackover2018-08-16
| | |
| | * Remove has_mbyte from lines near changes in parent commitZviRackover2018-08-16
| | |
| | * Remove occurences of mb_head_offZviRackover2018-08-15
| | |
* | | lintJan Edmund Lazo2018-08-28
| | |
* | | ex_cmds2: checkall in dialog_changed() is boolJan Edmund Lazo2018-08-28
|/ /
* | vim-patch:8.0.1790: 'winfixwidth' is not always respected by :closeJan Edmund Lazo2018-08-21
| | | | | | | | | | | | | | Problem: 'winfixwidth' is not always respected by :close. Solution: Prefer a frame without 'winfixwidth' or 'winfixheight'. (Jason Franklin) https://github.com/vim/vim/commit/c136af29c0b1939076fbae7d36afd90dce740315
* | vim-patch:8.0.1707: when 'wfh' is set ":bel 10new" scrolls windowJan Edmund Lazo2018-08-21
| | | | | | | | | | | | Problem: When 'wfh' is set ":bel 10new" scrolls window. (Andrew Pyatkov) Solution: Set the fraction before changing the window height. (closes vim/vim#2798) https://github.com/vim/vim/commit/98da6ecab905df48a67da36ce60233f45726c979
* | vim-patch:8.0.1426: "gf" and <cfile> don't accept ? and & in URLJan Edmund Lazo2018-08-21
| | | | | | | | | | | | Problem: "gf" and <cfile> don't accept ? and & in URL. (Dmitrii Tcyganok) Solution: Check for a URL and allow for extra characters. (closes vim/vim#2493) https://github.com/vim/vim/commit/9e3dfc650190e96739abc004eb9948afa68136b4
* | vim-patch:8.0.1331: possible crash when window can be zero lines highJan Edmund Lazo2018-08-21
|/ | | | | | | Problem: Possible crash when window can be zero lines high. (Joseph Dornisch) Solution: Only set w_fraction if the window is at least two lines high. https://github.com/vim/vim/commit/3679c17917d7ff22e836982c81e5816bd07451dd
* Merge #8744 from janlazo/vim-8.0.0890Justin M. Keyes2018-08-08
|\
| * window: no_display in restore_win() is boolJan Edmund Lazo2018-08-07
| |
| * vim-patch:8.0.1446: acessing freed memory after window command in auto commandJan Edmund Lazo2018-08-06
| | | | | | | | | | | | | | | | Problem: Acessing freed memory after window command in auto command. (gy741) Solution: Adjust the pointer in the parent frame. (Christian Brabandt, closes vim/vim#2467) https://github.com/vim/vim/commit/6f361c991221e96d5068c77b854967d997b1529b
| * vim-patch:8.0.1160: getting tab-local variable fails after closing windowJan Edmund Lazo2018-08-06
| | | | | | | | | | | | Problem: Getting tab-local variable fails after closing window. Solution: set tp_firstwin and tp_lastwin. (Jason Franklin, closes vim/vim#2170) https://github.com/vim/vim/commit/816968defc8ae79eb7e2319e991e74661be8d750
* | Remove all occurences of the mb_ptr2char macroZviRackover2018-08-06
|/ | | | | | | First step towards implemening issue #7401. The same can be done for all deprecated mb_ functions in follow-up patches.
* misc: refactor plines_win{,_nofill}()Jan Edmund Lazo2018-08-02
| | | | | Add const to params and variables (declare and init on same line). winheight (param) is bool so replace TRUE/FALSE macros with true/false.
* vim-patch:8.0.0451: some macros are in lower caseJan Edmund Lazo2018-06-12
| | | | | | | Problem: Some macros are in lower case. Solution: Make a few more macros upper case. Avoid lower case macros use an argument twice. https://github.com/vim/vim/commit/91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f
* vim-patch:8.0.0466: still macros that should be all-caps (#8510)Jan Edmund Lazo2018-06-10
| | | | | Problem: There are still a few macros that should be all-caps. Solution: Make a few more macros all-caps. https://github.com/vim/vim/commit/8820b48654b62472821d9b155fe03ab7ac13a05c
* window: Fix PVS/V547: expression already checked in previous if()ZyX2018-04-22
|
* window: Silence PVS/V547: height may be changed by curwin ptrZyX2018-04-22
|
* Merge #8001 from justinmk/vimpatchesJustin M. Keyes2018-02-12
|\
| * vim-patch:8.0.0858: can exit while a terminal is still running a jobJustin M. Keyes2018-02-11
| | | | | | | | | | | | | | Problem: Can exit while a terminal is still running a job. Solution: Consider a buffer with a running job like a changed file. https://github.com/vim/vim/commit/eb44a68b42eda207a5bc4def9ea8fc4d38acb650
* | vim-patch:8.0.0490: vertical split makes 'winfixwidth' window smaller (#7990)KunMing Xie2018-02-12
|/ | | | | | | | Problem: Splitting a 'winfixwidth' window vertically makes it one column smaller. (Dominique Pelle) Solution: Add one to the width for the separator. https://github.com/vim/vim/commit/38e3483637c16e018f88c07b1dcff97cdb821a29
* *: Provide list length when allocating listsZyX2018-01-14
|
* tests: termclose_spec: fix flaky SIGTERM test #7787Daniel Hahler2017-12-30
| | | | | Followup to https://github.com/neovim/neovim/pull/7217. Build failure: https://travis-ci.org/neovim/neovim/jobs/322930672#L2958.
* use snprintf and has_eventDaniel Hahler2017-12-29
|
* Move applying of TabClosed to win_close_othertabDaniel Hahler2017-12-29
|
* Fix TabClose autocommand via close_windowsDaniel Hahler2017-12-29
| | | | Fixes https://github.com/neovim/neovim/issues/7781
* Merge branch 'master' into hide-container-implZyX2017-12-16
|\
| * vim-patch:8.0.0074Michael Schupikov2017-12-15
| | | | | | | | | | | | | | | | | | | | Problem: Cannot make Vim fail on an internal error. Solution: Add IEMSG() and IEMSG2(). (Domenique Pelle) Avoid reporting an internal error without mentioning where. https://github.com/vim/vim/commit/95f096030ed1a8afea028f2ea295d6f6a70f466f Signed-off-by: Michael Schupikov <michael@schupikov.de>
* | window: Fix matchaddpos() and enhance error reportingZyX2017-12-15
| |
* | Merge branch 'master' into hide-container-implZyX2017-12-12
|\|
| * window.c: do BufEnter in correct window after closing help #7431glacambre2017-12-10
| | | | | | | | | | | | | | | | | | | | | | | | closes #7429 Problem: after a help window was closed, a window was selected and its autocommands triggered. After that, restore_snapshot was called and the focused window changed, confusing the user. Solution: Add function get_snapshot_focus() that returns the window that holds the cursor in a snapshot. Use this function in win_close to make sure the right window is selected before any autocommand is triggered.
* | *: Fix linter errorsZyX2017-12-11
| |
* | *: Hide list implementation in other files as wellZyX2017-12-10
|/
* :terminal : fix crash on resize (#7547)Justin M. Keyes2017-11-13
| | | | | | closes #7538 Fix wrong window references from #7440 Remove some eager resizing. Still mostly doesn't address #4997.
* terminal: Account for number column (#5310)Sam Wilson2017-10-27
|
* syntax.c: styleMatthieu Coudron2017-08-22
| | | | | Converts some documentation to doxygen format + minor styling improvements.
* vim-patch:8.0.0679Justin M. Keyes2017-08-16
| | | | | | | Problem: Using freed memory. Solution: Get the parent frame pointer earlier. https://github.com/vim/vim/commit/41cc038ff83498c589c7d25b3d2984145528eb92
* vim-patch:8.0.0678 closing a window does not trigger resizingJustin M. Keyes2017-08-16
| | | | | | | | | | | Closes #6748 Problem: When 'equalalways' is set and closing a window in a separate frame, not all window sizes are adjusted. (Glacambre) Solution: Resize all windows if the new current window is not in the same frame as the closed window. (closes vim/vim#1707) https://github.com/vim/vim/commit/8eeeba8c025ff844e6514c4a60cec11bf1fc1b35
* vim-patch:8.0.0073ckelsel2017-07-23
| | | | | | | Problem: More comparisons between firstwin and lastwin. Solution: Use ONE_WINDOW for consistency. (Hirohito Higashi) https://github.com/vim/vim/commit/459ca563128f2edb7e3bb190090bbb755a56dd55