aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.c
Commit message (Collapse)AuthorAge
* vim-patch:7.4.314Damián Silvani2014-08-14
| | | | | | | Problem: Completion messages can get in the way of a plugin. Solution: Add 'c' flag to 'shortmess' option. (Shougo Matsu) https://code.google.com/p/vim/source/detail?r=4d7af1962d6ce61df65fdc5c86544a61951f9517
* clang-analyzer: Reduce scope in screen.c.Florian Walch2014-08-07
|
* profiling: implement on top of os_hrtime()Nicolas Hillegeer2014-07-16
| | | | | | | | | | | | | | | | | | | | | | | | | | Should be better than gettimeofday() since libuv uses higher resolution clocks on most UNIX platforms. Libuv also tries to use monotonic clocks, kernel bugs notwithstanding, which is another win over gettimeofday(). Necessary for Windows, which doesn't have gettimeofday(). In vanilla vim, Windows uses QueryPerformanceCounter, which is the correct primitive for this sort of things, but that was removed when slimming up the codebase. Libuv uses QueryPerformanceCounter to implement uv_hrtime() on Windows so the behaviour of vim profiling on Windows should now be the same. The behaviour on Linux should be different (better) though, libuv uses more accurate primitives than gettimeofday(). Other misc. changes: - Added function attributes where relevant (const, pure, ...) - Convert functions to receive scalars: Now that proftime_T is always a (uint64_t) scalar (and not a struct), it's clearer to convert the functions to receive it as such instead of a pointer to a scalar. - Extract profiling funcs to profile.c: make everything clearer and reduces the size of the "catch-all" ex_cmds2.c - Add profile.{c,h} to clint and -Wconv: - Don't use sprintf, use snprintf - Don't use long, use int16_t/int32_t/...
* Use strict function prototypes #945Pavel Platto2014-07-14
| | | | | | | | | | | | | | | | | | | `-Wstrict-prototypes` warn if a function is declared or defined without specifying the argument types. This warning disallow function prototypes with empty parameter list. In C, a function declared with an empty parameter list accepts an arbitrary number of arguments when being called. This is for historic reasons; originally, C functions didn't have prototypes, as C evolved from B, a typeless language. When prototypes were added, the original typeless declarations were left in the language for backwards compatibility. Instead we should provide `void` in argument list to state that function doesn't have arguments. Also this warning disallow declaring type of the parameters after the parentheses because Neovim header generator produce no declarations for old-stlyle prototypes: it expects to find `{` after prototype.
* move errno.h include out of vim.hBrandon Coleman2014-07-09
|
* move <inttypes.h> include out of vim.hBrandon Coleman2014-07-09
|
* move ascii.h include out of vim.hBrandon Coleman2014-07-09
|
* remove stdbool.h include from vim.h and globals.hBrandon Coleman2014-07-09
|
* Replaced most TRUE/FALSE macros in arabic, mbyte and spell. #645Klemen Košir2014-07-08
|
* Replace int with bool in some files. #654Klemen Košir2014-07-08
|
* keep statusline within window width. @oni-link fix #858Justin M. Keyes2014-06-29
| | | | | PR #866 ref #858
* vim-patch:7.4.303 #818oni-link2014-06-20
| | | | | | | | Problem: When using double-width characters the text displayed on the command line is sometimes truncated. Solution: Reset the string lenght. (Nobuhiro Takasaki) https://code.google.com/p/vim/source/detail?r=463ef551e9f62b63ac3f85f1f297b668b14bcd09
* vim-patch:7.4.302 #817oni-link2014-06-20
| | | | | | | | Problem: Signs placed with 'foldcolumn' set don't show up after filler lines. Solution: Take filler lines into account. (Olaf Dabrunz) https://code.google.com/p/vim/source/detail?r=df141c80ea3a1ffcbf82d05c1314675231fcfa75
* Replace vim_strncpy calls: screen.cDouglas Schneider2014-06-13
|
* Remove unnecessary (int) casts and fix stylePavel Platto2014-06-12
|
* move/remove W_* macrosBrandon Coleman2014-06-12
| | | | | move W_ENDCOL to screen.c remove the rest of the W_* macros
* text: remove useless arg from mb_string2cellsNicolas Hillegeer2014-06-08
| | | | | | | | | | | | | | | | | | mb_string2cells was always called like mb_string2cells(..., -1) so that was the only codepath that was tested. @tarruda was the first to try to input an actual length, after which valgrind detected that funny business was going on. It's not even possible to do the right thing with the current text codec infrastructure: they all assume to be working with C strings. Meaning that if there is no NUL-terminator, they will happily keep on reading past the end of Pascal strings. Ergo, passing the length parameter is moot. The condition in the for-loop was wrong as well (but that's no longer relevant). Also change the return value to size_t, by analogy with strlen. ref: https://github.com/neovim/neovim/commit/677d30d7966dd2766bbf20665791c568dacc427a
* Add automatic generation of headersZyX2014-06-02
| | | | | | | | | | | | | | | | | - The 'stripdecls.py' script replaces declarations in all headers by includes to generated headers. `ag '#\s*if(?!ndef NEOVIM_).*((?!#\s*endif).*\n)*#ifdef INCLUDE_GENERATED'` was used for this. - Add and integrate gendeclarations.lua into the build system to generate the required includes. - Add -Wno-unused-function - Made a bunch of old-style definitions ANSI This adds a requirement: all type and structure definitions must be present before INCLUDE_GENERATED_DECLARATIONS-protected include. Warning: mch_expandpath (path.h.generated.h) was moved manually. So far it is the only exception.
* Remove FEAT_DIFFHinidu2014-05-28
| | | | Support for vim's diff mode.
* Removed FEAT_WINDOWSHinidu2014-05-28
| | | | Support for multiple windows and status line.
* Remove ml_ prefix from cursor.h functionsPavel Platto2014-05-28
| | | | | s/ml_get_curline/get_cursor_line_ptr s/ml_get_cursor/get_cursor_pos_ptr
* Extract cursor.h from misc{1,2}.h and memline.hHinidu2014-05-28
|
* Remove long_u: do_outofmem_msg().Eliseo Martínez2014-05-24
| | | | | Remove long_u occurrences due to do_outofmem_msg() function. Refactor size parameter from long_u into size_t.
* Remove OOM checks: suggested changes in reviewFelipe Oliveira Carvalho2014-05-19
| | | | | | | | | | - Replace a vim_strsave/free pair with xrealloc - Use xmallocz() in some places - Use xrealloc() and forget about the NULL pointer case - Remove invalid comment - Remove unnecessary checks - Replace a complicated xmalloc/STRCPY/free code chunk code with xrealloc() - Replace a vim_strsave/free code chunk with xrealloc()
* Replace alloc() with xmalloc() and remove immediate OOM checksFelipe Oliveira Carvalho2014-05-19
|
* Replace ga->ga_len > 0 checks with !GA_EMPTY(ga)Felipe Oliveira Carvalho2014-05-17
| | | | | | | | | | | | | | | | | | | | | | Used Coccinelle to perform the changes ```diff @@ expression E; @@ <... ( - E.ga_len > 0 + !GA_EMPTY(&E) | - E->ga_len > 0 + !GA_EMPTY(E) ) ...> ``` `spatch --in-place --sp-file ga_empty.cocci <C_FILE>`
* Introduce nvim namespace: Fix unmasked strings.h issue.Eliseo Martínez2014-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | Problem: Now that nvim/strings.h is correctly namespaced, an issue that had been masked until now arises: When compiling, we get a lot of errors because of everywhere the functions in nvim/strings.h are used, there's no include to import them. But, how could this compile and work previously, then? It turns out that: - In every such case, we are also including vim.h, which in turn includes os_unix_defs.h. - os_unix_defs.h includes <string.h> and also <strings.h> in some systems (e.g. OSX). - Build had been modified previously to (even when importing system headers), prefer equally-named local ones. That was in fact done as a previous attempt to solve the same issue we are trying to solve another way now. So, we were including our "strings.h" as a side-effect of including <strings.h> through "vim.h" --> "os_unix_defs.h". Solution: Correctly include "nvim/strings.h" in every file needing it.
* Introduce nvim namespace: Fix project-local includes.Eliseo Martínez2014-05-15
| | | | Prepend 'nvim/' in all project-local (non-system) includes.
* Introduce nvim namespace: Move files.Eliseo Martínez2014-05-15
Move files from src/ to src/nvim/. - src/nvim/ becomes the new root dir for nvim executable sources. - src/libnvim/ is planned to become root dir of the neovim library.