aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/window.c
Commit message (Collapse)AuthorAge
...
* | window: Fix cmd_with_count's formatting when sizeof(long) != 8James McCoy2016-10-11
|/ | | | | | | | | | | On architectures where `sizeof(long)` != 8, "%" PRId64 will read junk from memory. This was seen on various Debian builds where test/functional/legacy/close_count_spec.lua would fail due to `1<C-w>c` emitting an error like `E488: Trailing characters: close-87944975647104`. Changing the `Prenum` parameter to int64_t ensures it is safe to use `"%" PRId64`, and make another small step towards removal of the use of `long`.
* refactor: eliminate misc2.cJustin M. Keyes2016-09-13
| | | | | | | | | | move `call_shell` to misc1.c Move some fns to state.c Move some fns to option.c Move some fns to memline.c Move `vim_chdir*` fns to file_search.c Move some fns to new module, bytes.c Move some fns to fileio.c
* vim-patch:7.4.1558 (#5333)Justin M. Keyes2016-09-13
| | | | | | Problem: It is not easy to find out what windows display a buffer. Solution: Add win_findbuf(). https://github.com/vim/vim/commit/9cdf86b86f5fdb5a45b682f336846f9d9a9c6f1f
* tchdir: New tab should inherit CWD. (#5227)Alejandro Sanchez2016-09-04
| | | | When a new tabpage gets created it will copy the local working directory of the previous one, if there is any.
* api: unify buffer numbers and window ids with handlesBjörn Linse2016-08-31
| | | | also allow handle==0 meaning curbuf/curwin/curtab
* vim-patch:7.4.1557 (#5117)prollings2016-08-04
| | | | | | Problem: Windows cannot be identified. Solution: Add a unique window number to each window and functions to use it. https://github.com/vim/vim/commit/86edef664efccbfe685906c854b9cdd04e56f2d5
* window: Silence clang-analyzer null dereference error (#5032)Daniel Xu2016-07-12
|
* [RFC] Fix #4979: Trigger TabNewEntered also with <CTRL-W>TDimitri Merejkowsky2016-06-28
| | | | Original patch by @fmoralesc
* Always resize the embedded vterm properlyMarco Hinz2016-06-20
|
* vim-patch:7.4.822KillTheMule2016-04-23
| | | | | | | | | | Problem: More problems reported by coverity. Solution: Avoid the warnings. (Christian Brabandt) https://github.com/vim/vim/commit/cde885473099296c4837de261833f48b24caf87c Applied manually. Files that do not exst anymore: gui.c gui_w16.c gui_w32.c if_xcmdsrv.c os_unix.c
* Implement tab-local working directory feature.HiPhish2016-04-20
| | | | | | | | | | | | | | | | | New ex commands: 'tcd', 'tchdir' Changed Vimscript functions: 'haslocaldir', 'getcwd' The ex-commands ':tcd' and ':tchdir' are the tab-local equivalents of ':lcd' and ':lchdir'. There are no new Vimscript functions introduced, instead the functions 'haslocaldir' and 'getcwd' take in optional arguments. See the documentation for details Since there is now different levels of local directory a simple boolean at source level is no longer sufficient; a new enumeration type is used for the scope-level from now on. The documentation has been accommodated for these new commands and functional tests have been written to test the feature.
* Merge pull request #4323 from watiko/vim-7.4.961Justin M. Keyes2016-03-02
|\ | | | | vim-patch:7.4.961
| * vim-patch:7.4.961watiko2016-02-23
| | | | | | | | | | | | | | Problem: Test107 fails in some circunstances. Solution: When using "zt", "zb" and "z=" recompute the fraction. https://github.com/vim/vim/commit/9dc2ce398bb3456cc8f590ef0260459798b34d2a
* | Trigger TabNew before TabEnterMarco Hinz2016-03-01
|/
* vim-patch:7.4.936 #4271watiko2016-02-22
| | | | | | | | | | | | | | | Problem: Crash when dragging with the mouse. Solution: Add safety check for NULL pointer. Check mouse position for valid value. (Hirohito Higashi) https://github.com/vim/vim/commit/294a7e55b01149154807a23323038784549b8946 --- see: "Crash while mouse-selecting in two-buffer mode" https://github.com/vim/vim/issues/486 Fix #3704
* vim-patch:7.4.792watiko2016-02-11
| | | | | | | Problem: Can only conceal text by defining syntax items. Solution: Use matchadd() to define concealing. (Christian Brabandt) https://github.com/vim/vim/commit/6561d52ecbe6e24d1b90403078cc8b76c53c42fc
* Merge pull request #4113 from jbradaric/vim-7.4.709Justin M. Keyes2016-02-01
|\ | | | | vim-patch:7.4.709
| * vim-patch:7.4.709Jurica Bradaric2016-01-28
| | | | | | | | | | | | | | | | Problem: ":tabmove" does not work as documented. Solution: Make it work consistently. Update documentation and add tests. (Hirohito Higashi) https://github.com/vim/vim/commit/40ce3a4e1f50badb75ca812e26557a9bc5fde8c6
* | vim-patch:7.4.1137Justin M. Keyes2016-01-28
|/ | | | | | | | Problem: Illegal memory access when using :copen and :cclose. Solution: Avoid that curbuf is invalid. (suggestion by Justin M. Keyes) Add a test. https://github.com/vim/vim/commit/62ef797496c6243d111c596a592a8ef8c1d1e710
* window.c: change return types to boolCharles Joachim2016-01-25
| | | | Co-authored-by: Wayne Rowcliffe (@war1025)
* window: Skip backslash only if followed by spaceJurica Bradaric2016-01-22
|
* window: Fix code style.Jurica Bradaric2016-01-22
|
* window: Fix linter errors.Jurica Bradaric2016-01-22
|
* vim-patch:7.4.642Jurica Bradaric2016-01-22
| | | | | | | Problem: When using "gf" escaped spaces are not handled. Solution: Recognize escaped spaces. https://github.com/vim/vim/commit/d45c07ac7499358c5cb096cadb675ce74ae3eaf6
* src/*: Remove `VIM - Vi improved ...` headerMichael Reed2015-11-27
| | | | | | | | | | | | | | | | | | | Regarding the individual items in the header: `Vim - Vi improved by Bram Moolenar` Bram Moolenar is already mentioned throughout the documentation, as well as the intro screen. `:help uganda` It's already shown to all users who don't use `shortmess+=I` upon starting nvim, and is already placed prominently in help.txt, i.e., `:help` run with no arguments. `:help credits` Already mentioned near the top of help.txt. `README.md` Already mentioned in develop.txt.
* Remove unnecessary includes for errno.hRui Abreu Ferreira2015-11-25
|
* src: README.txt -> README.mdMichael Reed2015-11-23
| | | | | The former no longer exists in this repo; see the top of src/nvim/README.md.
* viminfo: First version of ShaDa file dumpingZyX2015-10-08
| | | | | | | | | | | | | | | | | | | | What works: 1. ShaDa file dumping: header, registers, jump list, history, search patterns, substitute strings, variables. 2. ShaDa file reading: registers, global marks, variables. Most was not tested. TODO: 1. Merging. 2. Reading history, local marks, jump and buffer lists. 3. Documentation update. 4. Converting some data from &encoding. 5. Safer variant of dumping viminfo (dump to temporary file then rename). 6. Removing old viminfo code (currently masked with `#if 0` in a ShaDa file for reference).
* hasFoldingWin now return boolNicolas Cornu2015-09-08
|
* Remove instances of TRUE/FALSE macroSteven Oliver2015-09-04
| | | | | | memory.c os_unix.c path.c
* fix for #2732 : win_new_width checks height before terminal_resizeFrederik Van Slycken2015-05-31
| | | | | | | | | | When splitting the window (win_split_ins), function win_new_width is already called before the height has been set. This calls terminal_resize, which passes a height of 0 on to libvterm, which doesn't handle a height of 0 properly. A fix is already in place in terminal.c for not passing on the height, but strictly speaking, it doesn't make sense for window to call terminal_resize when it isn't initialized completely yet.
* Remove char_u: ex_docmd:do_cmdline_cmd()Michael Reed2015-05-13
|
* Remove char_u: path_is_url()Mark Bainter2015-05-06
|
* vim-patch:7.4.706 #2546Bastian Winkler2015-04-30
| | | | | | | | Problem: Window drawn wrong when 'laststatus' is zero and there is a command-line window. (Yclept Nemo) Solution: Set the status height a bit later. (Christian Brabandt) https://github.com/vim/vim/commit/v7-4-706
* vim-patch:7.4.546Felipe Morales2015-04-28
| | | | | | | Problem: Repeated use of vim_snprintf() with a number. Solution: Move these vim_snprintf() calls into a function. https://code.google.com/p/vim/source/detail?name=v7-4-546
* vim-patch:7.4.530-531Felipe Morales2015-04-28
| | | | | | | | | | | | | | | | | | | | | | | Specify different kinds of counts for commands. Updated ex commands generator scripts. Includes fixes to comments from patch 7.4.531 Original message: Problem: Many commands take a count or range that is not using line numbers. Solution: For each command specify what kind of count it uses. For windows, buffers and arguments have "$" and "." have a relevant meaning. (Marcin Szamotulski) https://code.google.com/p/vim/source/detail?r=v7-4-530 https://code.google.com/p/vim/source/detail?r=v7-4-531 Add legacy tests for 7.4.530 https://code.google.com/p/vim/source/detail?r=1e6d87a36dcdca231721dde8cbbc26610fb3df27
* Enable -Wconversion: normal.c.Eliseo Martínez2015-04-27
| | | | | | | | | | | | | | | | | | | | | | | | Refactor summary: - extern int opcount --> extern long opcount - bool find_decl(..., int len, ...) --> bool find_decl(..., size_t len, ...) * int find_ident_under_cursor(...) --> size_t find_ident_under_cursor(...) - int find_ident_at_pos(...) --> size_t find_ident_at_pos(...) - int modify_fname(..., int *usedlen, ..., int *fnamelen) --> int modify_fname(..., size_t *usedlen, ..., size_t *fnamelen) * char_u *eval_vars(..., int *usedlen, ...) --> char_u *eval_vars(..., size_t *usedlen, ...) - int find_cmdline_var(..., int *usedlen) --> ssize_t find_cmdline_var(..., size_t *usedlen) - static char_u *repl_cmdline(..., int srclen, ...) --> static char_u *repl_cmdline(..., size_t srclen, ...) - bool get_visual_text(..., int *lenp) --> bool get_visual_text(..., size_t *lenp) * char_u *find_file_name_in_path(..., int len, ...) --> char_u *find_file_name_in_path(..., size_t len, ...) - static char_u *eval_includeexpr(..., int len) --> static char_u *eval_includeexpr(..., size_t len) - char_u *find_file_in_path(..., int len, ...) --> char_u *find_file_in_path(..., size_t len, ...) * char_u *find_file_in_path_option(..., int len, ...) --> char_u *find_file_in_path_option(..., size_t len, ...) - char_u *find_directory_in_path(..., int len, ...) --> char_u *find_directory_in_path(..., size_t len, ...) * int spell_move_to(...) --> size_t spell_move_to(...) - int spell_check(...) --> size_t spell_check(...) - static int spell_bad_len --> static size_t spell_bad_len - void find_pattern_in_path(..., int len, ...) --> void find_pattern_in_path(..., size_t len, ...) Helped-by: Justin M. Keyes <justinkz@gmail.com>
* memory: Add `free` wrapper and refactor project to use itThiago de Arruda2015-04-13
| | | | | | We already use wrappers for allocation, the new `xfree` function is the equivalent for deallocation and provides a way to fully replace the malloc implementation used by Neovim.
* Fix warnings: window.c: close_last_window_tabpage(): Np deref: RI.Eliseo Martínez2015-04-07
| | | | | | | | | | | | | | Problem : Dereference of null pointer @ 1769. Diagnostic : Real issue. Rationale : It seems buffer could be null. Not sure, though. Resolution : Check for buffer null. This resolution was chosen as it will always work. But it could be that buffer can't really be null at that point. autocmd_win is ruled out by close_window, so that can't be the case. I'm not sure if other windows without buffers are possible, so leaving it this way. If it's confirmed buffer can't be null, resolution through an assert would be possible and this would be FP, not RI.
* terminal: New module that implements a terminal emulatorThiago de Arruda2015-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit integrates libvterm with Neovim and implements a terminal emulator with nvim buffers as the display mechanism. Terminal buffers can be created using any of the following methods: - Opening a file with name following the "term://[${cwd}//[${pid}:]]${cmd}" URI pattern where: - cwd is the working directory of the process - pid is the process id. This is just for use in session files where a pid would have been assigned to the saved buffer title. - cmd is the command to run - Invoking the `:terminal` ex command - Invoking the `termopen` function which returns a job id for automating the terminal window. Some extra changes were also implemented to adapt with terminal buffers. Here's an overview: - The `main` function now sets a BufReadCmd autocmd to intercept the term:// URI and spawn the terminal buffer instead of reading the file. - terminal buffers behave as if the following local buffer options were set: - `nomodifiable` - `swapfile` - `undolevels=-1` - `bufhidden=hide` - All commands that delete buffers(`:bun`, `:bd` and `:bw`) behave the same for terminal buffers, but only work when bang is passed(eg: `:bwipeout!`) - A new "terminal" mode was added. A consequence is that a new set of mapping commands were implemented with the "t" prefix(tmap, tunmap, tnoremap...) - The `edit` function(which enters insert mode) will actually enter terminal mode if the current buffer is a terminal - The `put` operator was adapted to send data to the terminal instead of modifying the buffer directly. - A window being resized will also trigger a terminal resize if the window displays the terminal.
* Remove redundant castsAnton Ovchinnikov2015-03-09
|
* Macro cleanup: USE_ON_FLY_SCROLLMichael Reed2015-03-05
|
* Fix warnings: window.c: close_last_window_tabpage(): Use after free: RI.Eliseo Martínez2015-02-21
| | | | | | | | | | | | | Problem : Use after free @ 1795. Diagnostic : Real issue. Rationale : prev_curtab can in fact be freed as a result of call `win_close_othertab(win, free_buf, prev_curtab);`, but it's later used at `sprintf(..., tabpage_index(prev_curtab));`. This was introduced at 3ffc5d81c34cfdd535573a50790690c88e4324bb. Resolution : Move prev_idx calculation before the call freeing prev_curtab.
* refactor: Remove term modules and termcap optionsThiago de Arruda2015-02-21
| | | | | | | | | | | | | | | - Removed term.c, term.h and term_defs.h - Tests for T_* values were removed. screen.c was simplified as a consequence(the best strategy for drawing is implemented in the UI layer) - Redraw functions now call ui.c functions directly. Updates are flushed with `ui_flush()` - Removed all termcap options(they now return empty strings for compatibility) - &term/&ttybuiltin options return a constant value(nvim) - &t_Co is still available, but it mirrors t_colors directly - Remove cursor tracking from screen.c and the `screen_start` function. Now the UI is expected to maintain cursor state across any call, and reset it when resized. - Remove unused code
* Add TabClosed eventFelipe Morales2015-02-16
| | | | TabClosed is triggered when a tab page closes.
* vim-patch:7.4.446Pavel Platto2015-01-20
| | | | | | | | | Problem: In some situations, when setting up an environment to trigger an autocommand, the environment is not properly restored. Solution: Check the return value of switch_win() and call restore_win() always. (Daniel Hahler) https://code.google.com/p/vim/source/detail?r=v7-4-446
* Macro cleanup: PROTOMichael Reed2015-01-14
| | | | | | Regarding dict_lookup() in eval.c: both definitions are the same, the only difference being the spacing between the indirection operator and the indentation level.
* Merge pull request #1782 from fwalch/small-patchesJustin M. Keyes2015-01-13
|\ | | | | vim-patch: Multiple small patches
| * vim-patch:7.4.466Florian Walch2015-01-08
| | | | | | | | | | | | | | Problem: CTRL-W } does not open preview window. (Erik Falor) Solution: Don't set g_do_tagpreview for CTRL-W }. https://code.google.com/p/vim/source/detail?r=v7-4-466
* | Cleanup: Rename getdigits() family functions.Eliseo Martínez2015-01-11
| |