Commit Graph

19394 Commits

Author SHA1 Message Date
Thiago de Arruda
5d9c73ce70 wstream: document default value for 'maxmem' 2014-07-17 11:30:01 -03:00
Pavel Platto
974408f2de Fix #963.
Problem: Bug was introduced because `os_open` returns `-errno` in case
of an error instead of just `-1` which was returned by `mch_open`.
Solution: Check return value with `< 0` instead of `== -1`.
2014-07-17 11:23:29 -03:00
John Szakmeister
92558ee3a4 Fix some newline issues in the sv translation. 2014-07-17 07:16:53 -04:00
John Szakmeister
531ded7865 Move po generation from Make to CMake.
Fixes #902: localization build: `install`, `uninstall`, `prefixcheck
targets.  All the language-related bits will now build under CMake.
Changes include:

  * Moving all non-generated sources into the NEOVIM_SOURCES variable
    to aid in generating the .pot file.
  * Moving a couple generated sources from NEOVIM_SOURCES and into
    NEOVIM_GENERATED_SOURCES.
  * Added NEOVIM_HEADERS to the executable and the library for folks who
    are using something other than Ninja or makefiles (that way the
    headers will show up in the IDE files).
  * Now uses gettext's `--update` switch to update the .po files, rather
    than doing a fragile `mv` dance that could leave you with a broken
    working tree if you press CTRL-C at the right time.
  * Creates `update-po-${LANG}` targets for updating individual
    languages, just like the original Makefile.
  * Also adds the `update-po` target for updating all the languages.
  * Ported the `check-${LANG}` style targets.  They're
    `check-po-${LANG}` under CMake.
  * Handles all the one-off instances that were in the original
    Makefile.  Fixed up ko.UTF-8.po to include the "Original
    translation" line like other .po files to make the generation of the
    "Generate from ..." comments consistent.  Updated ko.po with the new
    text.
2014-07-17 07:16:53 -04:00
John Szakmeister
1f3fb5ffea Customize the log file for the check targets based on the input file.
The idea being that it's better to segregate feedback, just in case
someone is working on several translations.  Now the check log will
appear in `./build/src/nvim/po/check-${LANG}.log`.
2014-07-17 07:16:53 -04:00
John Szakmeister
c261b351ed Revert "Merge #928 'Move po gen to cmake'"
This reverts commit 53fba180c3, reversing
changes made to a3b3db8256.
2014-07-17 06:10:38 -04:00
John Szakmeister
0edb95fa0c Customize the log file for the check targets based on the input file.
The idea being that it's better to segregate feedback, just in case
someone is working on several translations.  Now the check log will
appear in `./build/src/nvim/po/check-${LANG}.log`.
2014-07-17 05:47:32 -04:00
John Szakmeister
67533e0948 Move po generation from Make to CMake.
Fixes #902: localization build: `install`, `uninstall`, `prefixcheck
targets.  All the language-related bits will now build under CMake.
Changes include:

  * Moving all non-generated sources into the NEOVIM_SOURCES variable
    to aid in generating the .pot file.
  * Moving a couple generated sources from NEOVIM_SOURCES and into
    NEOVIM_GENERATED_SOURCES.
  * Added NEOVIM_HEADERS to the executable and the library for folks who
    are using something other than Ninja or makefiles (that way the
    headers will show up in the IDE files).
  * Now uses gettext's `--update` switch to update the .po files, rather
    than doing a fragile `mv` dance that could leave you with a broken
    working tree if you press CTRL-C at the right time.
  * Creates `update-po-${LANG}` targets for updating individual
    languages, just like the original Makefile.
  * Also adds the `update-po` target for updating all the languages.
  * Ported the `check-${LANG}` style targets.  They're
    `check-po-${LANG}` under CMake.
  * Handles all the one-off instances that were in the original
    Makefile.  Fixed up ko.UTF-8.po to include the "Original
    translation" line like other .po files to make the generation of the
    "Generate from ..." comments consistent.  Updated ko.po with the new
    text.
2014-07-17 05:47:32 -04:00
Nicolas Hillegeer
7c6079f6f0 vim: include used definitions in headers
This is not an exhaustive commit, it merely ameliorates the situations a
bit. There are quite a few header files that don't include all the types
they use in their function/struct/... definitions. This throws of the
testing infrastructure (but is not such a problem for the main binary that
has the "tumbleweed of includes"-phenomenon).
2014-07-16 19:07:45 +02:00
Nicolas Hillegeer
32ddfec84f memory.h: don't include vim.h in header files
Also include stdint.h in khash.h. It was transitively included by vim.h via
memory.h before. khash.h accidentally relied on that.
2014-07-16 19:05:35 +02:00
Nicolas Hillegeer
1710fa4337 vim: move vim_acl_T to types.h
Also include "types.h" in os_unix.h because it declares functions that
return vim_acl_T.
2014-07-16 19:05:35 +02:00
Nicolas Hillegeer
0564f781ab vim: move disptick_T from vim.h to syntax_defs.h
Make vim.h smaller, bit by bit.
2014-07-16 19:05:34 +02:00
Nicolas Hillegeer
e288ddaee7 vim: move linenr_T and colnr_T to pos.h
Try to cut down vim.h's size. It's keeping us from testing more things.
2014-07-16 19:05:34 +02:00
Nicolas Hillegeer
fb72f1ee37 vim: move long_u from vim.h to types.h
Seems to make no difference to the main binary, but it helps the tests a bit
further along.
2014-07-16 19:05:34 +02:00
Nicolas Hillegeer
08fad0f8f6 hashtab.h: don't include vim.h
Including vim.h in another header filer is asking for trouble. Test code
that includes separate header files (e.g.: cimport './src/nvim/buffer.h'),
has a really bad time with this. This is just one piece of the puzzle
though.
2014-07-16 19:05:34 +02:00
Nicolas Hillegeer
9386f5d41e profiling: move static to function scope
It wasn't used anywhere else, our coding guidelines mandate the tightest
scope possible.
2014-07-16 17:12:35 +02:00
Nicolas Hillegeer
db7cd61f62 profiling: implement on top of os_hrtime()
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/...
2014-07-16 17:12:34 +02:00
Nicolas Hillegeer
f172b19f43 os: implement os_hrtime
Just an alias to uv_hrtime. Provides a high-resolution timer.
2014-07-16 17:12:34 +02:00
Nicolas Hillegeer
095b4479c0 assert: add STATIC_ASSERT macro
Can be quite handy, attempt to provide fallbacks for compilers that don't
support _Static_assert (which is technically a C11 feature). Suppress
warnings as best we can (Clang and GCC warn that we're using a C11 feature
while in C99 mode).

Needs to be tested for MSVC still.
2014-07-16 17:12:34 +02:00
oni-link
510db30376 Add more commented patch numbers to version.c (3) #940
This should help reduce conflicts when merging patches from upstream.
2014-07-14 17:39:50 -04:00
Pavel Platto
14239ae331 Create os/os_defs.h for os specific definitions 2014-07-14 21:14:40 +02:00
Pavel Platto
8e2b570d6f tempfile.c: refactor vim_settempdir
- return result of setting and remove directory if the setting was not
  successful.
- don't do `STRCPY` in case of `vim_FullName` failure because
  `vim_FullName` already did it.
2014-07-14 21:14:40 +02:00
Pavel Platto
0e49e16c4e tempfile.c: fix style issues and comments 2014-07-14 21:14:40 +02:00
Pavel Platto
820694adb4 tempfile.c: enable -Wconversion 2014-07-14 21:14:40 +02:00
Pavel Platto
34330cf697 tempfile.c: add to clint-files and fix warnings 2014-07-14 21:14:40 +02:00
Pavel Platto
286ce271e7 Extract tempfile module from fileio
Though this module is relatively small it has very clear boundaries.
The last argument for extracting `tempfile` was the errors which I got
when I was writing unittests for it: `cimport './src/nvim/fileio.h'`
does not work for some reason.
2014-07-14 21:14:40 +02:00
Pavel Platto
8cfa7b3d15 Add vim_gettempdir(), remove global vim_tempdir
vim_gettempdir() and vim_maketempdir() was extracted from
vim_tempname().
2014-07-14 21:14:40 +02:00
Pavel Platto
29e0cd1571 Refactor vim_tempname
- temp_count is uint32_t now instead of long because it supposed to be
  at most 999999999 (comment on line 5227) temporary files. The most
  probably it was a long for compatibility with systems where int is
  16-bit.
- Use "nvim" as prefix for temp folder name instead of "v"
- Remove unused parameter from vim_tempname
2014-07-14 21:14:40 +02:00
Pavel Platto
edd7a8c5dd Remove #ifdefs TEMPDIRNAMES and add TEMPDIRNAMES for Windows
Vim does not define TEMPDIRNAMES for all systems, but it is defined for
all systems supported by Neovim.
Temporary directory names for Windows was obtained from GetTempPath()
function documentation at MSDN.
Additionally small renamings were performed.
2014-07-14 21:14:39 +02:00
Pavel Platto
ed10eb6fa9 Remove USE_TMPNAM
tmpnam() is deprecated.
2014-07-14 21:14:39 +02:00
Pavel Platto
f9710fba52 Remove HAVE_MKDTEMP
For now we provide simple `mkdtemp` for Windows, in the future we will
use libuv for that.
2014-07-14 21:14:39 +02:00
Pavel Platto
8b91ba929b Temporary os_mkdtemp implementation. Use it instead of mkdtemp. 2014-07-14 21:14:39 +02:00
Pavel Platto
47084ea765 Use strict function prototypes #945
`-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.
2014-07-14 20:28:40 +02:00
Justin M. Keyes
0ceebc2c91 os_open: add unit tests 2014-07-14 09:05:52 -04:00
Justin M. Keyes
180c84ed37 os_open: impl mch_open with libuv. ref #133
- use return value instead of open_req.result
- libuv uv_fs_open() returns `-errno` instead of always -1
- libuv always sets open_req.result to the return value, _except_ for OOM
  where it only sets the return value. So always use the return value.
- replace calls to mch_open macro.
- update call sites expecting -1 error
2014-07-14 09:04:54 -04:00
André Twupack
f44e908c11 os/server: Fix possible port overflow
- add documentation about port being optional
- parse port into long and check for valid value
2014-07-13 14:20:18 +02:00
André Twupack
fa5615022c os/server: Fix TCP connection
- remove unused errno
- remove unused port_end
- correct calculation of addr_len
- use correct string length during IP copy
2014-07-13 14:20:18 +02:00
André Twupack
7c473dc0a2 os/server: Fix indentation 2014-07-13 14:20:18 +02:00
Brandon Coleman
a32df5e734 move defines from vim.h
buffer.h:
   buflist_getfile() flags
   buflist_new() flags
   buf_freeall() flags
   do_buffer() flags

charset.h:
   chartab[] flags

edit.h:
   in_cinkeys() flags
   change_indent() flags
   beginline() flags
   insertchar() flags
   nv_mousescroll() flags

eval.c
   AUTOLOAD_CHAR

eval.h:
   enum for vimvars[]

ex_cmds.h:
   do_ecmd
   read_viminfo flags

ex_cmds2.h:
   check_changed() flags
   do_source() flags

ex_cmds_defs.h:
   BAD_* flags

ex_docmd.h:
   VALID_PATH VALID_HEAD
   EXMODE_*
   do_cmdline() flags
added include

ex_getln.c
   *_ESC_CHARS definitions

ex_getln.h:
   history table flags - used by add_to_history()

fileio.h:
   readfile() flags
   event_T definition

getchar.h:
   ins_typebuf() flags
   KEYLEN_*

globals.h:
   NO_SCREEN
   NO_BUFFERS
   SEA_* defines
   current_SID flags
   hlf_T enum
   HL_FLAGS
   do_profiling() flags
   schar_T
   sattr_T

indent.h:
   set_indent() flags

macros.h:
   BINARY_FILE_IO flags

mbyte.h:
   MB_BYTE2LEN*
   ENC_*

memfile.h:
   mf_sync() flags

misc1.h:
   open_line() flags

message.h:
   do_dialog() flags
   vim_dialogyesno() flags
   DLG_BUTTON_*

normal.h:
   find_ident_under_cursor() flags

ops.h:
   do_put() flags
   operator ID's

option.h:
   buf_copy_options() flags
   OPT_* flags

os_unix.h:
   mch_nodetype() flags

quickfix.h:
   skip_vimgrep_pat() flags

regexp.h:
   vim_regcomp() flags
   values for reg_do_extmatch

search.h:
   do_search() flags
   search_regcomp() flags
   findmatchlimit() flags

syntax.h:
   HL_* flags
      HL_FOLD is used in buffer_defs.h but nvim
      compiles just fine with the defines in
      syntax.h

tag.h:
   do_tag() flags
   find_tags() flags

term.h:
   TBUFSZ flags
   MOUSE flags

ui.h:
   jump_to_mouse() flags

window.h:
   file_name_in_line() flags
   win_split() flags
   MIN_LINES
   MIN_COLUMNS

Remove VimClipboard which should have been removed with PR #921.
2014-07-12 14:26:55 +02:00
Pavel Platto
add8cb784c Include stdbool.h in headers which have functions with bool in signature
Done by manual inspecting of the output of this script:
grep -r -l -w "bool" * | grep 'c$' | sed 's/.c$//' > has_bool
grep -r -l -w "stdbool.h" * | grep 'h$' | sed 's/.h$//' > has_include
grep -F -x -v -f has_include has_bool
2014-07-11 18:33:07 -04:00
Pavel Platto
1de9287a02 Remove stdbool.h from files which don't need it
Done by manual inspection of the output of this script:
grep -r -l -w "bool\|true\|false" * | grep 'c$\|h$' > has_bool
grep -r -l "stdbool.h" * | grep 'c$\|h$' > has_include
grep -F -x -v -f has_bool has_include
2014-07-11 18:33:07 -04:00
Pavel Platto
0868818d3e Include stdbool.h in some files which use it
Done by manual inspection of the output of this script:
grep -r -l -w "bool\|true\|false" * | grep 'c$\|h$' > has_bool
grep -r -l "stdbool.h" * | grep 'c$\|h$' > has_include
grep -F -x -v -f has_include has_bool
2014-07-11 18:33:07 -04:00
Björn Linse
b04a2236f3 Update Swedish (sv) translation: improve translations. 2014-07-11 18:25:35 -04:00
Björn Linse
5853b79bd2 Update Swedish (sv) translation: Sync to 11653ce2d7 2014-07-11 18:25:35 -04:00
Shane Iler
d61829dd06 Enable and fix misc2.c -Wconversion warnings #907 2014-07-11 18:11:20 -04:00
Will Stamper
fa1d9301f7 vim-patch:7.4.308 #832
Problem:    When using ":diffsplit" on an empty file the cursor is displayed
            on the command line.
Solution:   Limit the value of w_topfill.

https://code.google.com/p/vim/source/detail?r=e3d2b8d83bb30c428a051f50791e454fcbc080af
2014-07-11 17:31:51 -04:00
Will Stamper
1cdd4ff7f6 vim-patch:7.4.306 #842
Problem:    getchar(0) does not return Esc.
Solution:   Do not wait for an Esc sequence to be complete.  (Yasuhiro
            Matsumoto)

https://code.google.com/p/vim/source/detail?r=05e1d8afcc5e375bf708ccc9810e2fd1a5a8a3cf
2014-07-11 16:42:45 -04:00
Will Stamper
fdeb132cad vim-patch:7.4.295 #833
Problem:    Various typos, bad white space and unclear comments.
Solution:   Fix typos.  Improve white space. Update comments.

https://code.google.com/p/vim/source/detail?r=662ae48e7e246a63d38c9f3165b15b62252edaee
2014-07-11 16:38:49 -04:00
oni-link
3e8314abaa vim-patch:7.4.291 #879
Problem:    Compiler warning for int to pointer of different size when DEBUG
            is defined.
Solution:   use smsg() instead of EMSG3().

https://code.google.com/p/vim/source/detail?r=b5972833add9de714f4651e26fd9ea63ec4a880c
2014-07-11 16:29:21 -04:00
Nicolas Hillegeer
94f488d1ca c99: remove vim_round #909
C89 did not have round(), vim emulated it with vim_round. But since we're
using C99 this is not a problem anymore.
2014-07-11 13:10:59 -04:00