| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|\
| |
| | |
Macro-based log utility for Neovim
|
| |
| |
| |
| | |
Replace localtime() with os_localtime_r() in `eval.c` and `undo.c`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
```
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
https://github.com/neovim/neovim/issues/563
|
| | |
|
| | |
|
|/
|
|
|
| |
This replaces the vim_free() implementation with a free() call and adds
a deprecated flag for the doxygen documentation.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
| |
The old version required to change the range given to :w for each new
test. Now a new buffer is used instead.
|
| |
|
| |
|
| |
|
|
|
|
| |
ref #572
|
|
|
|
| |
They were only defined for MSDOS which is now unsupported.
|
| |
|
| |
|
| |
|
| |
|