systemlist() returns locked value.
Steps to reproduce:
$ vim -u NONE
:echo map(systemlist('ls'), '0')
E741: Value is locked: map() argument
or
E742: Cannot change value of map() argument
v_lock is not initialized when creating result list.
diff -r e9538738fd8c src/eval.c
--- a/src/eval.c Wed Jan 07 19:04:29 2015 +0100
+++ b/src/eval.c Mon Jan 26 13:48:30 2015 +0900
@@ -18708,6 +18708,7 @@
goto errret;
}
li->li_tv.v_type = VAR_STRING;
+ li->li_tv.v_lock = 0;
li->li_tv.vval.v_string = s;
list_append(list, li);
}
--