aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/memline.c
Commit message (Collapse)AuthorAge
* 'inccommand': reworkJustin M. Keyes2016-11-08
| | | | | | | | | | | | | | | | | - Eliminate/isolate static/global variables - Remove special-case parameter from buflist_new() - Remove special-case ECMD_RESERVED_BUFNR - To determine when u_undo_and_forget() should be done, check b_changedtick instead of a heuristic. - use mb_string2cells() instead of strlen() to measure the :sub patterns - call ml_close() before buf_clear_file(). Avoids leaks caught by ASan. Original patch by: Robin Elrharbi-Fleury (Robinhola) Audrey Rayé (Adrey06) Philémon Hullot (DesbyP) Aymeric Collange (aym7) Clément Guyomard (Clement0)
* 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.1237 (#5092)Simon Weil2016-07-31
| | | | | | Problem: Can't translate message without adding a line break. Solution: Join the two parts of the message. https://github.com/vim/vim/commit/d9ea9069f5ef5b8b9f9e0d0daecdd124e2dcd818
* os/fs: Rename os_file_exists to os_path_exists (#4973)Daniel Xu2016-07-06
| | | | Because the old name did not indicate that the function would return true on directories as well.
* vim-patch:7.4.1276Michael Ennen2016-05-17
| | | | | | | Problem: Warning for not using return value of fcntl(). Solution: Explicitly ignore the return value. https://github.com/vim/vim/commit/fbc4b4db3a9690906a96e16724350a6241cf32a5
* *: Fix new linter errorsZyX2016-05-01
| | | | Originally there were 128 new errors, so I thought this is a good idea to fix all of them. Of course, this commit also fixes many suppressed errors.
* Merge tempfile.c back into fileio.cJurica Bradaric2016-04-20
|
* *: Make set_vim_var_\* functions have proper argument typesZyX2016-04-18
|
* Review of the memfile.c API and small refactoringsFelipe Oliveira Carvalho2016-03-16
| | | | | | | | | - Create `mf_free_fnames()` that frees and nullifies `mf_[f]fname` - Create `mf_set_fnames()` to set the `mf_fname` and the `mf_ffname` altoghether - Have `mf_do_open` return a bool to indicate success so that calles don't have to check `memfile_T::mf_fd` (file descriptor) - Inline `mf_write_block`
* Windows: Include <fcntl.h> for file constants.Seth Jackson2016-01-17
| | | | | | This header is required by POSIX for the constants (O_RDONLY, etc.) but we were only including it on Unix systems as a side effect of including <unistd.h>.
* Merge #3443 'vim-patch:7.4.{785,795,898}'Justin M. Keyes2015-12-13
|\
| * vim-patch:7.4.785Johan Klokkhammer Helsing2015-11-22
| | | | | | | | | | | | | | | | Problem: On some systems automatically adding the missing EOL causes problems. Setting 'binary' has too many side effects. Solution: Add the 'fixeol' option, default on. (Pavel Samarkin) https://github.com/vim/vim/commit/34d72d4b6c1a2b04a214d8a49b7d22c97bc7a8bc
* | 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.
* | src: README.txt -> README.mdMichael Reed2015-11-23
|/ | | | | The former no longer exists in this repo; see the top of src/nvim/README.md.
* undo: Do some refactoringZyX2015-10-29
| | | | | | Specifically refactor u_get_undo_file_name which will be modified to automatically create undo directory and replace `char_u` with `char` in some of the related functions.
* option: fix off-by-one error when handling &directoryVictor Adam2015-10-27
| | | | | | | a8e18d9 introduced an off-by-one error that caused the last character of &directory to be ignored. This commit is a straightforward fix for that error. fixes #3519
* *: Fix linter errorsZyX2015-10-23
|
* memline: Automatically create swap file directory for last directoryZyX2015-10-23
|
* vim-patch:7.4.781 #3065Marco Hinz2015-08-09
| | | | | | | | Problem: line2byte() returns one less when 'bin' and 'noeol' are set. Solution: Only adjust the size for the last line. (Rob Wu) Original patch: https://code.google.com/p/vim/source/detail?r=30c9301f33ed76d0b76b9e22362f5e78e26786da
* Remove POSIX 'cpoptions': '&'Michael Reed2015-07-19
|
* Split os_unix_defs.h into os/Yamakaky2015-07-06
|
* memline: Don't call memmove() with a NULL argument in ml_add_stack(). #2802oni-link2015-06-12
| | | | | | | | | When ml_add_stack() needs to increase the size of the empty stack, buf->b_ml.ml_stack is NULL and is used as argument in memmove(). This is undefined behaviour. Declaration of memmove() in string.h: extern void *memmove (void *__dest, const void *__src, size_t __n) __THROW __nonnull ((1, 2));
* minor cleanup. #2610Mark Bainter2015-05-13
| | | | | | | Update vim_isAbsName() to use bool type cleanup casts in vim_findfile() and recover_names() References #2470
* Remove char_u: message:smsg()Michael Reed2015-05-13
|
* Remove char_u: concat_fnames()Mark Bainter2015-05-06
|
* Remove char_u: make_percent_swname()Mark Bainter2015-05-06
|
* Remove char_u: fix_fname()Mark Bainter2015-05-06
|
* Remove char_u: vim_FullName()Mark Bainter2015-05-06
|
* Remove char_u: modname()Mark Bainter2015-05-06
|
* Remove char_u: after_pathstep()Mark Bainter2015-04-17
| | | | See: #459
* 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: segfault in ml_recover() if swap file not foundJustin M. Keyes2015-04-12
| | | | | - To reproduce: ":recover non_existent_swapfile" - Regression: 00f18e2e09af35494d0b94ae76a9dbc3e0319d89
* fix: segfault in recover_names(): must not concat full pathJustin M. Keyes2015-04-12
| | | | | - regression by 42f1bd9b2228aaca4fb8a5597a3b5774f7ef6876 - closes #1836
* passing-by: mark non-null return; remove invalid OOM check.Justin M. Keyes2015-04-12
| | | | remove some #ifdef noise
* vim-patch: Port parts of Vim 7.4.399.Florian Walch2015-04-08
| | | | | | | | | | | | | Resolves #1753. https://code.google.com/p/vim/source/detail?r=v7-4-399 Reviewed-by: Felipe Oliveira Carvalho <felipekde@gmail.com> Helped-by: David Bürgin <676c7473@gmail.com> Helped-by: Scott Prager <splinterofchaos@gmail.com> Helped-by: Michael Reed <m.reed@mykolab.com> Helped-by: Felipe Oliveira Carvalho <felipekde@gmail.com>
* 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.
* coverity/13777: String not null terminated: RI.Eliseo Martínez2015-03-22
| | | | | | | | | | | | | | Problem : String not null terminated @ 1543. Diagnostic : Real issue. Rationale : We are reading a struct block0, which contains some string fields, from a file, without checking for string fields to be correctly terminated. That could cause a buffer overrun if file has somehow been garbled. Resolution : Add string fields check for nul termination. Mark issue as intentional (there seems to be no way of teaching coverity about read_eintr being ok that way). Helped-by: oni-link <knil.ino@gmail.com>
* Clarify an out-of-memory cleanup, remove a function-wide loop counterAnton Ovchinnikov2015-03-16
|
* Merge pull request #2118 from rev112/fix_redundant_castJohn Szakmeister2015-03-13
|\ | | | | Remove redundant casts
| * Remove redundant castsAnton Ovchinnikov2015-03-09
| |
* | version: don't use NVIM_VERSION_* directly outside version.cBjörn Linse2015-03-08
|/ | | | This avoids recompiles after commiting.
* 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
* Remove nonnullret deadcode: xmalloc.Eliseo Martínez2015-01-27
|
* Macro cleanup: HAS_SWAP_EXISTS_ACTIONMichael Reed2015-01-14
| | | | | | | Neovim always ships with all features[0], so this serves no purpose. Besides, this always evaluated to true. [0]: https://github.com/neovim/neovim/wiki/Differences-from-vim
* 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.
* ui: Remove redundant ui.h includesThiago de Arruda2014-11-27
| | | | Also move read_error_exit to os/input.c
* ui: Remove ui_inchar/ui_char_availThiago de Arruda2014-11-27
| | | | | | | | | Also: - Remove NO_CONSOLE_INPUT/NO_CONSULE preprocessor conditionals - Remove ctrl_c_interrupts variable, check for mapped_ctrl_c directly in process_interrupts() - Move ui_inchar profiling to input_poll which is where Nvim blocks for input.
* Convert some values from buffer_defs.h to boolsWayne Rowcliffe2014-11-12
|
* Review: Remove long_u: memfile: Refactor: blocknr_T: long -> int64_t.Eliseo Martínez2014-11-06
| | | | | Replace long with int64_t. Apart from being convenient, not using long is required by clint.
* Review: Remove long_u: memfile: Refactor: int -> bool.Eliseo Martínez2014-11-06
| | | | Replace int with bool where appropriate.