From 26e6bca769ca5972063657bb01f157523d51c44f Mon Sep 17 00:00:00 2001 From: Perry Hung Date: Wed, 18 Mar 2015 22:41:51 -0400 Subject: vim-patch:7.4.503 #2178 Problem: Cannot append a list of lines to a file. Solution: Add the append option to writefile(). (Yasuhiro Matsumoto) https://code.google.com/p/vim/source/detail?r=v7-4-503 -Ported old legacy test over to test/functional/legacy/writefile_spec.lua -Tests for mapping and signs from the original patch were removed since they have nothing to do this with feature Tested with: make oldtest, make test on OS X. Signed-off-by: Perry Hung --- runtime/doc/eval.txt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'runtime') diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 8994c313b3..3c789e1155 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -2049,7 +2049,7 @@ winrestcmd() String returns command to restore window sizes winrestview( {dict}) none restore view of current window winsaveview() Dict save view of current window winwidth( {nr}) Number width of window {nr} -writefile( {list}, {fname} [, {binary}]) +writefile( {list}, {fname} [, {flags}]) Number write list of lines to file {fname} xor( {expr}, {expr}) Number bitwise XOR @@ -6593,13 +6593,19 @@ winwidth({nr}) *winwidth()* :endif < *writefile()* -writefile({list}, {fname} [, {binary}]) +writefile({list}, {fname} [, {flags}]) Write |List| {list} to file {fname}. Each list item is separated with a NL. Each list item must be a String or Number. - When {binary} is equal to "b" binary mode is used: There will + When {flags} contains "b" then binary mode is used: There will not be a NL after the last list item. An empty item at the end does cause the last line in the file to end in a NL. + + When {flags} contains "a" then append mode is used, lines are + appended to the file: > + :call writefile(["foo"], "event.log", "a") + :call writefile(["bar"], "event.log", "a") + All NL characters are replaced with a NUL character. Inserting CR characters needs to be done before passing {list} to writefile(). -- cgit