aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2014-12-08 18:23:09 -0500
committerJustin M. Keyes <justinkz@gmail.com>2014-12-08 18:23:09 -0500
commit8bb7aa329d20cb265d8952c96c84a0e54a5726ab (patch)
tree83a0ac7a24243d357c75ee976298901642df92c2 /src/nvim/eval.c
parent8666a148ccacefe2d574eb2c1f2887b740fe6bfc (diff)
parentdf2eeaeb375a7a7f7cb92586b03d10260d485c90 (diff)
downloadrneovim-8bb7aa329d20cb265d8952c96c84a0e54a5726ab.tar.gz
rneovim-8bb7aa329d20cb265d8952c96c84a0e54a5726ab.tar.bz2
rneovim-8bb7aa329d20cb265d8952c96c84a0e54a5726ab.zip
Merge pull request #1182 from bfredl/clipboard
clipboard: support separate +/* clipboards, linewise copy/paste and add tests
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index be69bdbe61..b4d1677520 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -5119,6 +5119,20 @@ void list_append_tv(list_T *l, typval_T *tv)
}
/*
+ * Add a list to a list.
+ */
+void list_append_list(list_T *list, list_T *itemlist)
+{
+ listitem_T *li = listitem_alloc();
+
+ li->li_tv.v_type = VAR_LIST;
+ li->li_tv.v_lock = 0;
+ li->li_tv.vval.v_list = itemlist;
+ list_append(list, li);
+ ++list->lv_refcount;
+}
+
+/*
* Add a dictionary to a list. Used by getqflist().
*/
void list_append_dict(list_T *list, dict_T *dict)
@@ -19815,16 +19829,12 @@ typval_T eval_call_provider(char *provider, char *method, list_T *arguments)
bool eval_has_provider(char *name)
{
-#define source_provider(name) \
- do_source((uint8_t *)"$VIMRUNTIME/autoload/provider/" name ".vim", \
- false, \
- false)
#define check_provider(name) \
if (has_##name == -1) { \
has_##name = !!find_func((uint8_t *)"provider#" #name "#Call"); \
if (!has_##name) { \
- source_provider(#name); \
+ script_autoload((uint8_t *)"provider#" #name "#Call", false); \
has_##name = !!find_func((uint8_t *)"provider#" #name "#Call"); \
} \
}