Commit Graph

729 Commits

Author SHA1 Message Date
Felipe Oliveira Carvalho
65273be060 No OOM error in make_filter_cmd() 2014-05-07 15:52:27 -04:00
Felipe Oliveira Carvalho
8704a5832b Replace lalloc() with xmalloc() 2014-05-07 15:52:27 -04:00
Justin M. Keyes
973baa2a06 coveralls upload should not fail the CI build
- swallow error code
2014-05-07 13:50:30 -04:00
Justin M. Keyes
df4f88fe31 Merge pull request #644 from philix/log
Macro-based log utility for Neovim
2014-05-06 21:50:25 -07:00
Dane Summers
85459327ba Prevent preserve_exit() from executing more than once.
https://github.com/neovim/neovim/issues/563
2014-05-06 13:53:22 -04:00
Felipe Oliveira Carvalho
151382d533 Introduce os_localtime_r() and os_get_local_time()
Replace localtime() with os_localtime_r() in `eval.c` and `undo.c`.
2014-05-06 09:22:39 -03:00
Felipe Oliveira Carvalho
ee62510d4e Macro-based log utility for Neovim
This commit introduces 4 macros (for different log levels) that can be used
to log messages to $HOME/.nvimlog:

 - DLOG: log a debug message (e.g. `DLOG("sum(%d, %d): %d", x, y, sum(x, y));`)
 - ILOG: log some useful information (e.g. `ILOG("Main loop started")`)
 - WLOG: log a warning (e.g. `WLOG("Command not found: %s", command)`)
 - ELOG: log an error (e.g. `ELOG("Out of memory. Exiting.")`)

All these macros are disabled if `NDEBUG` or `DISABLE_LOG` is defined. This
guarantees that a `Release` build won't log anything.

`MIN_LOG_LEVEL` can be defined to reduce the verbosity of the log. The log
levels are:

```
DEBUG_LOG_LEVEL     0
INFO_LOG_LEVEL      1
WARNING_LOG_LEVEL   2
ERROR_LOG_LEVEL     3
```

`MIN_LOG_LEVEL` is 0 by default enabling all levels. If `MIN_LOG_LEVEL` is set
to 2, for example, only warnings and errors will be logged.

That's how the log looks like:

```
     DATETIME   LOG_LEVEL  FUNCTION  LINE  PID      FORMATTED MESSAGE

2014/05/01 23:46:14 [info @ main_loop:582] 44376 - Starting Neovim main loop.
2014/05/01 23:46:31 [info @ main_loop:582] 44400 - Starting Neovim main loop.
```
2014-05-06 09:22:39 -03:00
Felipe Oliveira Carvalho
c53d3f0071 Use REGEXP_DEBUG to enable log-based regexp debugging
ENABLE_LOG is too broad to be used only to enable logging in regexp_nfa.c. Use
REGEXP_DEBUG instead.

ENABLE_LOG was defined by checking REGEXP_DEBUG in the first place.
2014-05-06 09:22:39 -03:00
Matthias Beyer
d910ef2099 removed vim_free() function 2014-05-05 18:40:07 -04:00
Matthias Beyer
f9d4c78ddc replaced vim_free() calls with free() calls 2014-05-05 18:38:52 -04:00
Matthias Beyer
c5cac800e7 Replace vim_free() implementation
This replaces the vim_free() implementation with a free() call and adds
a deprecated flag for the doxygen documentation.
2014-05-04 15:33:33 -04:00
Marco Hinz
e42a3cc4e6 vim-patch:7.4.274
Problem:  When doing ":update" just before running an external command that
          changes the file, the timestamp may be unchanged and the file
          is not reloaded.
Solution: Also check the file size.

https://code.google.com/p/vim/source/detail?r=1ee3fc5b40ae94c2a7fc5a62bca38d4f730f9bb2
2014-05-04 12:46:22 -04:00
Eliseo Martínez
ddafdacb00 Use portable format specifiers: Case %lu - localized - EMSGU.
Problem  EMSGN was being used to print a format string using "%lu",
         which is incorrect because EMSGN casts its argument to int64_t.
Solution Use EMGSU instead.
2014-05-04 12:40:27 -04:00
Eliseo Martínez
a9e6098637 Use portable format specifiers: Adapt/fix EMSGU/emsgu to use (uint64_t).
Problem

EMSGU macro was defined as the unsigned counterpart of EMSGN. This is,
invoking emsgu instead of emsgn and having a long_u argument instead of
a long.
But, surprisingly, emsgu was not defined anywhere, which didn't result
in an error because in fact EMSGU was not used (the only point in code
printing a %lu erroneously using EMSGN instead).

Solution

- Define emsgu.
- Adapt EMSGU macro to use uint64_t instead of long_u.
2014-05-04 12:40:27 -04:00
Thomas Wienecke
d84fe0a1b0 Fix unit test cleanup of path_shorten_fname_if_possible. 2014-05-03 14:16:55 -04:00
Thomas Wienecke
71b1f4ef5a Remove unused function vcol2col. 2014-05-03 17:41:42 +02:00
Thomas Wienecke
75d8b24060 Remove unused function cmdline_at_end. 2014-05-03 17:41:06 +02:00
Thomas Wienecke
487a66029c Remove unused function cmdline_overstrike. 2014-05-03 17:41:06 +02:00
Thomas Wienecke
f42c5402bb Remove undefined function clip_yank_selection. 2014-05-03 17:41:06 +02:00
Thomas Wienecke
d10064df28 Remove unused function get_fpos_of_mouse. 2014-05-03 17:41:06 +02:00
Thomas Wienecke
5446fbad88 Remove unused function is_autocmd_blocked. 2014-05-03 17:41:06 +02:00
Thomas Wienecke
bdcb258192 Remove undefined function adjust_clip_reg. 2014-05-03 17:41:06 +02:00
Thomas Wienecke
9f1e486875 Remove unused function free_register. 2014-05-03 17:41:06 +02:00
Thomas Wienecke
49ad606cd8 Remove undefined function server_to_input_buf. 2014-05-03 17:41:06 +02:00
Thomas Wienecke
f7ac54759b Remove unused function unset_global_local_option. 2014-05-03 17:41:06 +02:00
Thomas Wienecke
f752020abb Remove undefined function gui_show_popupmenu + its unused return defines. 2014-05-03 17:41:06 +02:00
Thomas Wienecke
f2501fa655 Remove undefined function gui_show_popupmenu + call. 2014-05-03 17:41:06 +02:00
Thomas Wienecke
225fbc2dd8 Remove unused function yank_cut_buffer0. 2014-05-03 17:41:05 +02:00
Thomas Wienecke
255b2a2741 Remove unused function push_raw_key. 2014-05-03 17:41:05 +02:00
Thomas Wienecke
e74d75986a Remove unused function vim_free_in_input_buf. 2014-05-03 17:41:05 +02:00
Thomas Wienecke
68c12efed0 Remove undefined function suspend_shell. 2014-05-03 17:41:05 +02:00
Thomas Wienecke
3d9a3480dc Remove unused function ui_inchar_undo. 2014-05-03 17:41:05 +02:00
Thomas Wienecke
f58e888ce6 Remove unused function highlight_gui_color_rgb. 2014-05-03 17:41:05 +02:00
Thomas Wienecke
856f39bf0f Remove unused function re_lookbehind. 2014-05-03 17:41:05 +02:00
Thomas Wienecke
e5d1dd9689 Remove unused function get_shape_idx. 2014-05-03 17:41:05 +02:00
Thomas Wienecke
a4af779c8d Remove unused function handle_drop. 2014-05-03 17:41:05 +02:00
Thomas Wienecke
b8ed5dd174 Remove unused function add_long_to_buf. 2014-05-03 17:40:17 +02:00
Thomas Wienecke
3a5f538cad Remove undefined functions. 2014-05-03 17:40:16 +02:00
John Szakmeister
7cb20fd1b0 Generate a lua module to help pass build-related settings.
This allows us to avoid hard-coding paths and using environment
variables to communicate key information to unit tests, which fits
with the overall goal of making sure that folks driving CMake directly
can continue to do out-of-tree builds.
2014-05-03 10:36:54 -04:00
Eliseo Martínez
4fe0a51844 Remove project int types: Case long_i: Replace with plain long.
Replace long_i with plain long.

long_i was just plain long, adding marker __w64, to be used by
Microsoft's compilers only, as an aid when transitioning from 32 bits to
64 bits. Purpose of this marker was, in fact, to make a 32 bit compiler
emit the same warnings that a 64 bit compiler would.

This __w64 marker is nowadays deprecated by said compilers, and use of a
real 64 bit compiler is recommended instead. See
http://msdn.microsoft.com/en-us/library/s04b5w00.aspx for details.

So, there's no reason to maintain this anymore, and thus is removed.

Refactoring long into int64_t is not attempted, as doing that in a bulk
way is too much complicated. That is left to be done later, on a
file-by-file basis, probably intermixed with file-by-file -Wconversion
activation.

Requested in #459.
2014-05-03 10:04:49 -04:00
Eliseo Martínez
ad966753d4 Remove project int types: Case int_u: Replace with uint32_t.
- Replace int_u with uint32_t (same size, should give no problems).
  In fact, only usage found seems to be dead code (some functions in
  ui.h seem not to be used anymore).
- Remove int_u typedef.

Requested in #459.
2014-05-03 10:04:49 -04:00
Eliseo Martínez
cb7fb8c008 Remove project int types: Case short_u: Replace with uint16_t.
- Replace short_u with uint16_t (same size, should give no problems).
- When possible, remove explicit downcasts so that they are found when
  flag -Wconversion enabled.
- Remove short_u typedef.

Requested in #459.
2014-05-03 10:04:49 -04:00
ZyX
37935130f9 Do not detect macros like VIM_TRUE as boolean values 2014-05-03 08:44:04 -04:00
Marco Hinz
8a729897f4 Improve test_eval.in
The old version required to change the range given to :w for each new
test. Now a new buffer is used instead.
2014-05-02 16:01:31 -03:00
John Schmidt
abecd0f394 Update README: progress section 2014-05-02 15:59:52 -03:00
Felipe Oliveira Carvalho
d1411aebd8 Rename buf_modname to modname as they've become the same 2014-05-02 15:58:33 -03:00
Felipe Oliveira Carvalho
9b56e3a4cc Remove the always-FALSE shortname argument from buf_modname() 2014-05-02 15:58:33 -03:00
Felipe Oliveira Carvalho
89e07185e9 Remove the code related to the shortname option 2014-05-02 15:58:33 -03:00
Felipe Oliveira Carvalho
8500eeed86 Don't retry to make the tempname in write_viminfo() with shortname=1
ref #572
2014-05-02 15:58:33 -03:00
Chris Watkins
cb5acb705a Remove checks for SHORT_FNAME and USE_LONG_FNAME.
They were only defined for MSDOS which is now unsupported.
2014-05-02 15:58:33 -03:00