Commit Graph

752 Commits

Author SHA1 Message Date
Thiago de Arruda
519fd1deb6 Refactor modules to use handle data accessors
The job, rstream and wstream modules now use handle data accessors
2014-05-12 19:28:30 -03:00
Thiago de Arruda
7f00608d57 Add helpers for accessing data in libuv handles
Libuv handles have a single generic pointer for storing user data, this adds
some functions for adding/retrieving pointers to "slots" in the new `HandleData`
structure, which increase flexibility when using shared handles(job streams for
example)
2014-05-12 19:28:30 -03:00
Thiago de Arruda
51ee26fe68 Implement generic map on top of khash
Implement a generic string->pointer associative array on top of the khash macro
library, providing a nice API for simple hash table requirements. (khash gives
lot of control with a not-so-friendly API, which is unnecessary on most cases)
2014-05-12 19:28:25 -03:00
Thiago de Arruda
5b7a9d5780 Add --with-pic flag to msgpack configuration 2014-05-12 17:06:54 -03:00
Justin M. Keyes
f24565c2b8 Merge #688 'Refactoring of two-iteration anti-pattern in msg_show_console_dialog()' 2014-05-12 11:15:51 -04:00
Harsh Kumar
cfe57fdb60 Style corrections in the two new functions
Style changes in the two new function:
cpy_hotkeys_and_msg() & console_dialog_alloc()
2014-05-12 11:14:16 -04:00
Harsh Kumar
af05207ce7 Add new functions for memory alloction & data copy
From msg_show_console_dialog(), a new function was created
for memory allocation for hotkeys & dialog string.
Similarly, another function created for copying hotkeys
& dialog string.
2014-05-12 11:14:16 -04:00
Harsh Kumar
1b21cf5c26 Simple Split 2-iter loop: msg_show_console_dialog
Simply spliting the 2-iter loop into code for computing
size of memory & for copying to allocated memory
2014-05-12 11:14:16 -04:00
Stefan Hoffmann
6ec5457308 remove unused parameter from buf_store_file_info 2014-05-10 12:25:45 +02:00
Justin M. Keyes
1a3ee71de2 Merge pull request #619 from stefan991/mch_stat-cleanup
Replace `struct stat` with `FileInfo`
2014-05-09 15:33:00 -04:00
Stefan Hoffmann
eae498c4c5 removed mch_lstat() and mch_stat() macros 2014-05-09 15:49:34 +02:00
Stefan Hoffmann
65abdad02a replaced last mch_stat() and mch_lstat()
files: memline.c and fileio.c
2014-05-09 15:49:33 +02:00
Stefan Hoffmann
c41535d69d replaced mch_stat() in buffer.c 2014-05-09 15:49:33 +02:00
Stefan Hoffmann
8e8dae71da replaced some mch_lstat() 2014-05-09 15:49:33 +02:00
Stefan Hoffmann
902ad8d94d replaced some mch_stat() with os_get_file_info() 2014-05-09 15:49:33 +02:00
Stefan Hoffmann
a080819c3e replaced mch_fstat() with os_file_get_info_fd() 2014-05-09 15:49:33 +02:00
Stefan Hoffmann
aff9673076 implemented FileInfo struct
This struct is a wrapper around `uv_stat_t` to hide the stat information
inside `src/os/`.
The stat file attribute will be private after all refactorings concerning
file informations are done.
2014-05-09 15:49:33 +02:00
Stefan Hoffmann
9784dabb50 implemented os_file_get_size() 2014-05-09 15:49:33 +02:00
Stefan Hoffmann
d936bb82ad use os_getperm() in f_getfperm() 2014-05-09 15:49:33 +02:00
Stefan Hoffmann
edbb687b73 replaced some mch_stat() with os_file_exists() 2014-05-09 15:49:32 +02:00
Josh Davis
f3dda65de1 Update CONTRIBUTING.md with current info
- Finish what @ashleyh started.
- Add section for Getting Started with Neovim.
- Add section for commit messages.
- Trim down on wording to keep it short.
2014-05-08 16:58:15 -05:00
aph
b9cb2332d3 update CONTRIBUTING.md 2014-05-07 21:18:57 -05:00
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
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