Commit Graph

19394 Commits

Author SHA1 Message Date
Felipe Oliveira Carvalho
ee72c2b18d Delete the lalloc() function 2014-05-07 15:52:27 -04:00
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
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
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
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
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
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
Pavel Platto
17d97e725a Remove two-iteration loop from check_keyword_id 2014-05-02 15:37:43 -03:00
Pavel Platto
97f02bb609 Remove two-iteration loop from expand_filename 2014-05-02 15:37:43 -03:00
Pavel Platto
1a946ad05f Remove two-iteration loop from ExpandGeneric 2014-05-02 15:37:43 -03:00
John Schmidt
3f6fe2a888 Move concat_strings from path.c 2014-05-02 15:36:13 -03:00