Commit Graph

641 Commits

Author SHA1 Message Date
Nicolas Hillegeer
9e04e81ac7 test: no longer define ad-hoc C headers
With the improved cimport helper, we can just load what we want.
2014-04-28 16:17:25 -03:00
Nicolas Hillegeer
d699ccfb0c test: fix the cimport method
This commit will hopefully allow the cimport method to be used just as one
would use #inclue <header.h> in C. It follows the following method:

1. create a pseudoheader file that #include's all the requested header files
2. runs the pseudoheader through the C preprocessor (it will try various
   compilers if available on the system).
3. runs the preprocessed file through a C formatter, which attempts to group
   statements on one line. For example, a struct definition that was
   formerly on several lines will take just one line after formatting. This
   is done so that unique declarations can be detected. Duplicates are thus
   easy to remove.
4. remove lines that are too complex for the LuaJIT C parser (such as:
   Objective-C block syntax, crazy enums defined on linux, ...)
5. remove duplicate declarations
6. pass result to ffi.cdef
2014-04-28 16:17:25 -03:00
Nicolas Hillegeer
349f9da850 path: add 'garray.h' to headers
The function prototypes use garray_T* arguments, but the header is not
included in path.h. Technically we could also get away with a forward
declaration since we're just using the pointer, but I don't see the urgent
need for that.
2014-04-28 16:17:25 -03:00
oni-link
e772cfcc55 vim-patch:7.4.241
Problem:    The string returned by submatch() does not distinguish between a
            NL from a line break and a NL that stands for a NUL character.
Solution:   Add a second argument to return a list. (ZyX)

https://code.google.com/p/vim/source/detail?r=a63d0cd691dc925283815d17d62f4e948d723a59
2014-04-28 16:16:40 -03:00
Klemen Košir
d4f8a86700 vim-patch:7.4.265
Problem:    Can't call a global function with "g:" in an expression.
Solution:   Skip the "g:" when looking up the function.

https://code.google.com/p/vim/source/detail?r=8ec9d2196bee0c5108f2d2c196a660a7f4e5f29f
2014-04-28 13:26:04 -03:00
Mathias Bynens
f5a3df7b87 README: Use SVG badge for Travis 2014-04-28 09:28:36 -03:00
Leonard Ehrenfried
42939d7648 Hold java packages to speed up build 2014-04-28 09:27:58 -03:00
Marco Hinz
9b9c1dee13 vim-patch:7.4.264
Problem:  Can't define a function starting with "g:". Can't assign a
          funcref to a buffer-local variable.
Solution: Skip "g:" at the start of a function name.
          Don't check for colons when assigning to a variable.

https://code.google.com/p/vim/source/detail?r=00acac0af680c2d8c82db5258474b121a5908926
2014-04-28 08:00:28 -03:00
Eliseo Martínez
4d0dd14189 Use portable format specifiers: Improve arguments formatting.
At some places, printf-like function's arguments styling could be
improved to enhance readability.
2014-04-28 07:59:25 -03:00
Eliseo Martínez
e194324885 Use portable format specifiers: Clarify some casted expressions.
Though correct (to my understanding), some of the casts introduced in
previous commits could lead to confusion, by casting only the first
expression component instead of the whole expression.

This fixes that, parenthesizing casted expressions, except where
operator precedence rules make it unneccesary.
2014-04-28 07:59:25 -03:00
Marco Hinz
b8520b8ee4 Fix garray.* according to -Wconversion 2014-04-28 07:58:10 -03:00
Eliseo Martínez
6e2cb1bddb Use portable format specifiers: Case %ld - plain - sscanf.
Fix uses of plain "%ld" within sscanf():
- Replace "%ld" with "%" SCNd64.
- Create (int64_t) local variable and sscanf into that.
- Safely downcast into previous type (introduce assertion, to be removed
  when variable type refactored).
2014-04-28 07:49:14 -03:00
Marco Hinz
c79ff046a0 Remove useless modelines (pt2) 2014-04-28 07:48:28 -03:00
oni-link
38ac85da87 Call to list_append_string cannot fail.
Clean up the use of list_append_string and remove error checks.
2014-04-28 07:46:24 -03:00
oni-link
8d5a546d3f Call to list_append_dict cannot fail.
Clean up the use of list_append_dict and remove error checks.
2014-04-28 07:46:24 -03:00
Chris Watkins
9da32a1f78 Remove code and checks for unsupported systems.
Remove remnants of support for systems including
__EMX__, MSDOS, OS2, AMIGA and MORPHOS.
2014-04-28 07:43:57 -03:00
John Schmidt
4e1b364a3e Remove alloc_clear
Use `xcalloc` instead.
Inline `alloc_tv` and `alloc_string_tv` in eval.c
2014-04-28 07:41:45 -03:00
Steven Myint
c70a526a5d Remove deprecated "--use-mirrors"
In newer versions of `pip`, it is obsolete. See the following relevant links.

https://pip.readthedocs.org/en/latest/news.html
https://github.com/eddyxu/cpp-coveralls/pull/37
2014-04-26 08:48:30 -04:00
Marco Hinz
342764d70e vim-patch:7.4.260
Problem:  It is possible to define a function with a colon in the name.  It
          is possible to define a function with a lower case character if a
          "#" appears after the name.
Solution: Disallow using a colon other than with "s:".  Ignore "#" after the
          name.

https://code.google.com/p/vim/source/detail?r=6bc874e4789a0f912b4fd6b23afecf19d80b1605
2014-04-25 14:09:04 -03:00
Marco Hinz
a6e1738db3 Tests: prettify Makefile 2014-04-25 14:08:45 -03:00
Marco Hinz
6a63b0986f vim-patch:7.4.261
Problem:  When updating the window involves a regexp pattern, an
          interactive substitute to replace a "\n" with a line
          break fails. (Ingo Karkat)

Solution: Set reg_line_lbr in vim_regsub() and vim_regsub_multi().

https://code.google.com/p/vim/source/detail?r=43c6cd07c8defd8505acbe479c6970764c08e6f9
2014-04-25 14:06:01 -03:00
Eliseo Martínez
ae4090b2ce Broken build on 32 bit: Pending TODO: Reenable assertion.
On a1a0c00589, an assertion was disabled
because of breaking 32bit build.
This fixes that so that it now always works.
2014-04-24 10:59:44 -03:00
Chris Watkins
c3fb8240bc Add the neovim style guide to the contributing guide. 2014-04-24 10:50:50 -03:00
Chris Watkins
b951cf5bfc Remove O_EXTRA which was only for EMX and cygwin. 2014-04-24 10:49:14 -03:00
Stefan Hoffmann
bf9aeda01c Remove mch_screenmode, inline EMSG into ex_mode() 2014-04-24 10:38:42 -03:00
Felipe Oliveira Carvalho
3f38c384ef Add cast to unsigned to improve div by 2 in find_internal_func() 2014-04-24 10:32:47 -03:00
Felipe Oliveira Carvalho
db23cb05d1 Use /2 and 2* instead of >>1 and <<1 which are tricky with signed types
Today's compilers generate shift instructions to perform division and
multiplications by powers of 2 [1]. `(x >> 1)` looks straightforward enough, but
if x is signed the code will fail when x < 0. The compiler knows better: use
`x / 2`.

That's why we have code like this:

    (long)((long_u)Rows >> 1))

instead of the cleaner version that generates the same or better machine code:

    Rows / 2

[1] http://goo.gl/J4WpG7
2014-04-24 10:32:47 -03:00
Felipe Oliveira Carvalho
9a5b3eee5f Remove OOM test in set_context_in_menu_cmd() 2014-04-24 10:31:32 -03:00
Felipe Oliveira Carvalho
c68410de52 No OOM error condition in some ml_* functions
- ml_add_stack()
 - ml_encrypt_data()
 - ml_updatechunk()
2014-04-24 10:31:32 -03:00
Felipe Oliveira Carvalho
5421f84443 No OOM error condition in get_register() and yank_copy_line() 2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
f298be9fe1 Add FUNC_ATTR_NONNULL_RET to some functions 2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
244ca83be5 No OOM error conditions in quickfix.c and regex_nfa.c
quickfix.c

 - ll_new_list
 - ll_get_or_alloc_list

regex_nfa.c

 - realloc_post_list -> EMIT -> nfa_emit_equi_class
 - nfa_regcomp_start

Use xrealloc() in realloc_post_list() (regexp_nfa.c)

  Test plan: force a call to realloc_post_list() for every use of the EMIT macro;
  open nvim and test regexp search.
2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
e76d146029 No OOM error in call_shell() and read_string() 2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
28b03dd190 No OOM error conditions in some functions of window.c
- alloc_tabpage()
 - win_alloc_lines()
 - win_alloc_aucmd_win()
 - new_frame()
 - win_alloc()

TODO: don't handle OOM after calls to dict_alloc()
2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
6d193b0b37 No OOM errors in mb_str2wide, slang_alloc, open_spellbuf 2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
bd3587e91d No OOM error condition in cs_make_vim_style_matches()
Even though cs_reset() never returns anything different of `CS_SUCCESS` I can't
change its return type to `void`. cs_reset() is used in the `cs_cmds` table.
2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
aa32fbb838 No OOM error condition in save_patterns() 2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
c4c855a129 No OOM error condition in prt_build_cid_fontname()
- Replace alloc() with xmalloc[z]() and remove unnecessary casts in hardcopy.c
 - Use xstrndup in hardcopy.c
2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
42f1bd9b22 No OOM error condition in ga_concat_strings(), concat_fnames(), concat_str()
- xmallocz() is not static anymore. There are many use cases for this function
	 in the codebase and we should start using it.
 - Simpler types in ga_concat_strings()
2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
4b6b9117b3 No OOM error condition in prep_exarg() 2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
15d8f702a8 (verbose_)?try_malloc() to use on buf_write()
There will be more use cases for try_malloc(): see #556.

 - Reimplemented xmalloc() using try_malloc().
 - verbose_try_malloc() is just like try_malloc() but shows an out-of-memory
	 error message before returning NULL.
 - Let the compiler generate size>>1 assembly for signed types. We're not using
	 old compilers here.
 - Add proper function attributes to the new functions in memory.h
2014-04-24 10:31:31 -03:00
Felipe Oliveira Carvalho
1befc49414 Use xmalloc() and xmemdupz() in file_pat_to_reg_pat()
Unfortunately there's still a case where NULL can be returned from
file_pat_to_reg_pat().

xmemdupz() and xmallocz() aren't static anymore. There are many use cases for
these function.
2014-04-24 10:31:31 -03:00
oni-link
471da2de81 vim-patch:7.4.237
Problem:    When some patches was not included has("patch-7.4.123") may return
            true falsely.
Solution:   Check for the specific patch number.

https://code.google.com/p/vim/source/detail?r=71b165a378ad580818f6d497ecf0f8ad054a9683
2014-04-24 10:30:36 -03:00
John Szakmeister
8c5f3aebc8 Install the libncurses5-dev:i386 package to get the correct symlinks. 2014-04-23 10:45:31 -03:00
John Szakmeister
f9885f0b6a Allow a single unittest file to be run.
With this, you can now run a single unit test file using:

    TEST_FILE=/path/to/file make unittest

For example, to just run the path unit tests, you can do:

    TEST_FILE=test/unit/path.moon make unittest
2014-04-23 07:11:59 -04:00
John Szakmeister
247984d132 Make it easy to get a verbose build of Neovim.
This allows you to do

    make VERBOSE=1

from the top-level and see the actual compile lines.
2014-04-23 07:08:12 -04:00
Eliseo Martínez
557e41b119 Use portable format specifiers: Clint advice & other.
- Modify Clint advice to reflect preference for fixed sized macros.
- Cleanup comment to eliminate referecen to "%ld".
2014-04-23 06:56:34 -03:00
Eliseo Martínez
12c8094dae Use portable format specifiers: Case %l[uoxX] - *.po files.
Fix uses of plain "%lu", "%lo", "%lx" and "%lX"  within *.po files:
- Replace "%l<whatever>" with "%" PRI<whatever>64.
2014-04-23 06:56:34 -03:00
Eliseo Martínez
2dd98267f0 Use portable format specifiers: Remove dead code. 2014-04-23 06:56:33 -03:00
Eliseo Martínez
30b062e7d8 Use portable format specifiers: Case %lu - localized - EMSGN.
Fix uses of plain "%lu" within EMSGN():
- Replace "%lu" with "%" PRIu64.
- No argument cast needed. EMSGN() will take care of that.
2014-04-23 06:56:33 -03:00