Update runtime files and translations
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 0c2fa52..c3f04cc 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.0.  Last change: 2018 Apr 19
+*autocmd.txt*   For Vim version 8.0.  Last change: 2018 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -347,6 +347,7 @@
 			when popup menu visible
 |TextYankPost|		after text is yanked or deleted
 
+|ColorSchemePre|	before loading a color scheme
 |ColorScheme|		after loading a color scheme
 
 |RemoteReply|		a reply from a server Vim was received
@@ -562,6 +563,10 @@
 				set, and <amatch> for the new colorscheme
 				name.
 
+							*ColorSchemePre*
+ColorSchemePre			Before loading a color scheme. |:colorscheme|
+				Useful to setup removing things added by a
+				color scheme, before another one is loaded.
 
 							*CompleteDone*
 CompleteDone			After Insert mode completion is done.  Either
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index 97823f3..e9c0ee9 100644
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -1,4 +1,4 @@
-*develop.txt*   For Vim version 8.0.  Last change: 2018 Apr 18
+*develop.txt*   For Vim version 8.0.  Last change: 2018 Apr 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -182,7 +182,7 @@
    include the diff. Or create a pull request on github.
 
 
-C COMPILER						*style-compiler*
+C COMPILER				*style-compiler* *ANSI-C* *C89* *C99*
 
 The minimal C compiler version supported is C89, also known as ANSI C.
 Later standards, such as C99, are not widely supported, or at least not 100%
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 0a22a71..0e611f4 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -4762,8 +4762,8 @@
 		returns only the items listed in {what} as a dictionary. The
 		following string items are supported in {what}:
 			changedtick	get the total number of changes made
-					to the list
-			context	get the context stored with |setqflist()|
+					to the list |quickfix-changedtick|
+			context	get the |quickfix-context|
 			efm	errorformat to use when parsing "lines". If
 				not present, then the 'errorformat' option
 				value is used.
@@ -4772,15 +4772,15 @@
 				current list or the list specified by "nr"
 			idx	index of the current entry in the list
 			items	quickfix list entries
-			lines	use 'errorformat' to extract items from a list
-				of lines and return the resulting entries.
-				Only a |List| type is accepted.  The current
-				quickfix list is not modified.
+			lines	parse a list of lines using 'efm' and return
+				the resulting entries.  Only a |List| type is
+				accepted.  The current quickfix list is not
+				modified. See |quickfix-parse|.
 			nr	get information for this quickfix list; zero
 				means the current quickfix list and "$" means
 				the last quickfix list
 			size	number of entries in the quickfix list
-			title	get the list title
+			title	get the list title |quickfix-title|
 			winid	get the quickfix |window-ID|
 			all	all of the above quickfix properties
 		Non-string items in {what} are ignored. To get the value of a
@@ -4798,7 +4798,7 @@
 		The returned dictionary contains the following entries:
 			changedtick	total number of changes made to the
 					list |quickfix-changedtick|
-			context	context information stored with |setqflist()|.
+			context	quickfix list context. See |quickfix-context|
 				If not present, set to "".
 			id	quickfix list ID |quickfix-ID|. If not
 				present, set to 0.
@@ -4813,12 +4813,11 @@
 				to "".
 			winid	quickfix |window-ID|. If not present, set to 0
 
-		Examples: >
+		Examples (See also |getqflist-examples|): >
 			:echo getqflist({'all': 1})
 			:echo getqflist({'nr': 2, 'title': 1})
 			:echo getqflist({'lines' : ["F1:10:L10"]})
 <
-
 getreg([{regname} [, 1 [, {list}]]])			*getreg()*
 		The result is a String, which is the contents of register
 		{regname}.  Example: >
@@ -7270,7 +7269,7 @@
 		only the items listed in {what} are set. The first {list}
 		argument is ignored.  The following items can be specified in
 		{what}:
-		    context	any Vim type can be stored as a context
+		    context	quickfix list context. See |quickfix-context|
 		    efm		errorformat to use when parsing text from
 				"lines". If this is not present, then the
 				'errorformat' option value is used.
@@ -7292,10 +7291,10 @@
 		list is modified, "id" should be used instead of "nr" to
 		specify the list.
 
-		Examples: >
+		Examples (See also |setqflist-examples|): >
 		   :call setqflist([], 'r', {'title': 'My search'})
 		   :call setqflist([], 'r', {'nr': 2, 'title': 'Errors'})
-		   :call setqflist([], 'a', {'id':myid, 'lines':["F1:10:L10"]})
+		   :call setqflist([], 'a', {'id':qfid, 'lines':["F1:10:L10"]})
 <
 		Returns zero for success, -1 for failure.
 
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index b7f9869..921765c 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.0.  Last change: 2018 Apr 21
+*options.txt*	For Vim version 8.0.  Last change: 2018 Apr 22
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2117,7 +2117,7 @@
 								*cpo-E*
 		E	It is an error when using "y", "d", "c", "g~", "gu" or
 			"gU" on an Empty region.  The operators only work when
-			at least one character is to be operate on.  Example:
+			at least one character is to be operated on.  Example:
 			This makes "y0" fail in the first column.
 								*cpo-f*
 		f	When included, a ":read" command with a file name
@@ -6084,7 +6084,7 @@
 			{only available when compiled with the |+reltime|
 			feature}
 	The time in milliseconds for redrawing the display.  This applies to
-	searching for patterns for 'hlsearch', |:match| highlighting an syntax
+	searching for patterns for 'hlsearch', |:match| highlighting and syntax
 	highlighting.
 	When redrawing takes more than this many milliseconds no further
 	matches will be highlighted.
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index e627686..de80c68 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 8.0.  Last change: 2018 Mar 29
+*quickfix.txt*  For Vim version 8.0.  Last change: 2018 Apr 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -597,6 +597,96 @@
 	echo getqflist({'winid' : 1}).winid
 	echo getloclist(2, {'winid' : 1}).winid
 <
+							*getqflist-examples*
+The getqflist() and getloclist() functions can be used to get the various
+attributes of a quickfix and location list respectively. Some examples for
+using these functions are below:
+>
+    " get the title of the current quickfix list
+    :echo getqflist({'title' : 0}).title
+
+    " get the identifier of the current quickfix list
+    :let qfid = getqflist({'id' : 0}).id
+
+    " get the index of the current quickfix list in the stack
+    :let qfnum = getqflist({'nr' : 0}).nr
+
+    " get the items of a quickfix list specified by an identifier
+    :echo getqflist({'id' : qfid, 'items' : 0}).items
+
+    " get the number of entries in a quickfix list specified by an id
+    :echo getqflist({'id' : qfid, 'size' : 0}).size
+
+    " get the context of the third quickfix list in the stack
+    :echo getqflist({'nr' : 3, 'context' : 0}).context
+
+    " get the number of quickfix lists in the stack
+    :echo getqflist({'nr' : '$'}).nr
+
+    " get the number of times the current quickfix list is changed
+    :echo getqflist({'changedtick' : 0}).changedtick
+
+    " get the current entry in a quickfix list specified by an identifier
+    :echo getqflist({'id' : qfid, 'idx' : 0}).idx
+
+    " get all the quickfix list attributes using an identifier
+    :echo getqflist({'id' : qfid, 'all' : 0})
+
+    " parse text from a List of lines and return a quickfix list
+    :let myList = ["a.java:10:L10", "b.java:20:L20"]
+    :echo getqflist({'lines' : myList}).items
+
+    " parse text using a custom 'efm' and return a quickfix list
+    :echo getqflist({'lines' : ['a.c#10#Line 10'], 'efm':'%f#%l#%m'}).items
+
+    " get the quickfix list window id
+    :echo getqflist({'winid' : 0}).winid
+
+    " get the context of the current location list
+    :echo getloclist(0, {'context' : 0}).context
+
+    " get the location list window id of the third window
+    :echo getloclist(3, {'winid' : 0}).winid
+<
+							*setqflist-examples*
+The setqflist() and setloclist() functions can be used to set the various
+attributes of a quickfix and location list respectively. Some examples for
+using these functions are below:
+>
+    " set the title of the current quickfix list
+    :call setqflist([], 'a', {'title' : 'Mytitle'})
+
+    " set the context of a quickfix list specified by an identifier
+    :call setqflist([], 'a', {'id' : qfid, 'context' : {'val' : 100}})
+
+    " create a new quickfix list from a command output
+    :call setqflist([], ' ', {'lines' : systemlist('grep -Hn main *.c')})
+
+    " parse text using a custom efm and add to a particular quickfix list
+    :call setqflist([], 'a', {'id' : qfid,
+		\ 'lines' : ["a.c#10#L10", "b.c#20#L20"], 'efm':'%f#%l#%m'})
+
+    " add items to the quickfix list specified by an identifier
+    :let newItems = [{'filename' : 'a.txt', 'lnum' : 10, 'text' : "Apple"},
+		    \ {'filename' : 'b.txt', 'lnum' : 20, 'text' : "Orange"}]
+    :call setqflist([], 'a', {'id' : qfid, 'items' : newItems})
+
+    " free all the quickfix lists in the stack
+    :call setqflist([], 'f')
+
+    " set the title of the fourth quickfix list
+    :call setqflist([], 'a', {'nr' : 4, 'title' : 'SomeTitle'})
+
+    " create a new quickfix list at the end of the stack
+    :call setqflist([], ' ', {'nr' : '$',
+			\ 'lines' : systemlist('grep -Hn class *.java')})
+
+    " create a new location list from a command output
+    :call setloclist(0, [], ' ', {'lines' : systemlist('grep -Hn main *.c')})
+
+    " replace the location list entries for the third window
+    :call setloclist(3, [], 'r', {'items' : newItems})
+<
 =============================================================================
 3. Using more than one list of errors			*quickfix-error-lists*
 
diff --git a/runtime/doc/scroll.txt b/runtime/doc/scroll.txt
index 35301f6..653e7ed 100644
--- a/runtime/doc/scroll.txt
+++ b/runtime/doc/scroll.txt
@@ -1,4 +1,4 @@
-*scroll.txt*    For Vim version 8.0.  Last change: 2016 Nov 10
+*scroll.txt*    For Vim version 8.0.  Last change: 2018 Apr 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -32,6 +32,7 @@
 
 							*CTRL-E*
 CTRL-E			Scroll window [count] lines downwards in the buffer.
+			The text moves upwards on the screen.
 			Mnemonic: Extra lines.
 
 							*CTRL-D*
@@ -70,6 +71,7 @@
 
 							*CTRL-Y*
 CTRL-Y			Scroll window [count] lines upwards in the buffer.
+			The text moves downwards on the screen.
 			Note: When using the MS-Windows key bindings CTRL-Y is
 			remapped to redo.
 
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 04387f7..b73a39c 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.0.  Last change: 2018 Jan 31
+*syntax.txt*	For Vim version 8.0.  Last change: 2018 Apr 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4627,7 +4627,9 @@
 				runtime colors/evening.vim
 				hi Statement ctermfg=Blue guifg=Blue
 
-<			After the color scheme has been loaded the
+<			Before the color scheme will be loaded the
+			|ColorSchemePre| autocommand event is triggered.
+			After the color scheme has been loaded the
 			|ColorScheme| autocommand event is triggered.
 			For info about writing a colorscheme file: >
 				:edit $VIMRUNTIME/colors/README.txt
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 5895c05..2599c51 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3529,6 +3529,7 @@
 @r	eval.txt	/*@r*
 A	insert.txt	/*A*
 ACL	editing.txt	/*ACL*
+ANSI-C	develop.txt	/*ANSI-C*
 ATTENTION	usr_11.txt	/*ATTENTION*
 Abbreviations	map.txt	/*Abbreviations*
 Aleph	options.txt	/*Aleph*
@@ -3565,6 +3566,8 @@
 C	change.txt	/*C*
 C-editing	tips.txt	/*C-editing*
 C-indenting	indent.txt	/*C-indenting*
+C89	develop.txt	/*C89*
+C99	develop.txt	/*C99*
 COMSPEC	starting.txt	/*COMSPEC*
 CR-used-for-NL	pattern.txt	/*CR-used-for-NL*
 CTRL-6	editing.txt	/*CTRL-6*
@@ -3693,6 +3696,7 @@
 CmdwinEnter	autocmd.txt	/*CmdwinEnter*
 CmdwinLeave	autocmd.txt	/*CmdwinLeave*
 ColorScheme	autocmd.txt	/*ColorScheme*
+ColorSchemePre	autocmd.txt	/*ColorSchemePre*
 Command-line	cmdline.txt	/*Command-line*
 Command-line-mode	cmdline.txt	/*Command-line-mode*
 CompleteDone	autocmd.txt	/*CompleteDone*
@@ -5116,6 +5120,7 @@
 asm.vim	syntax.txt	/*asm.vim*
 asm68k	syntax.txt	/*asm68k*
 asmh8300.vim	syntax.txt	/*asmh8300.vim*
+assert-return	eval.txt	/*assert-return*
 assert_beeps()	eval.txt	/*assert_beeps()*
 assert_equal()	eval.txt	/*assert_equal()*
 assert_equalfile()	eval.txt	/*assert_equalfile()*
@@ -6618,6 +6623,7 @@
 getpid()	eval.txt	/*getpid()*
 getpos()	eval.txt	/*getpos()*
 getqflist()	eval.txt	/*getqflist()*
+getqflist-examples	quickfix.txt	/*getqflist-examples*
 getreg()	eval.txt	/*getreg()*
 getregtype()	eval.txt	/*getregtype()*
 getscript	pi_getscript.txt	/*getscript*
@@ -8356,6 +8362,7 @@
 setmatches()	eval.txt	/*setmatches()*
 setpos()	eval.txt	/*setpos()*
 setqflist()	eval.txt	/*setqflist()*
+setqflist-examples	quickfix.txt	/*setqflist-examples*
 setreg()	eval.txt	/*setreg()*
 settabvar()	eval.txt	/*settabvar()*
 settabwinvar()	eval.txt	/*settabwinvar()*
@@ -9730,6 +9737,7 @@
 {Visual}	intro.txt	/*{Visual}*
 {address}	cmdline.txt	/*{address}*
 {arglist}	editing.txt	/*{arglist}*
+{bufname}	windows.txt	/*{bufname}*
 {char1-char2}	intro.txt	/*{char1-char2}*
 {event}	autocmd.txt	/*{event}*
 {file}	editing.txt	/*{file}*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 9c26255..b9c61cd 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2018 Apr 20
+*todo.txt*      For Vim version 8.0.  Last change: 2018 Apr 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -40,32 +40,31 @@
 
 Problem with sudo. #2758
 
+Make assert_functions return non-zero on failure.  Make sure they add one
+entry to v:errors then.
+Use WaitForAssert() in tests: give error when failed.
+Remove asserts after WaitFor().
+
+balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
+20, #2481)
+Also see #2352, want better control over balloon, perhaps set the position.
+
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
 
-Patch to avoid bad highlighting caused by #if. (ichizok, #2731)
+Patch to shorten filenames in quickfix window. (Yegappan, 2018 Apr 28, #2851,
+closes #2846)
 
-Patch to refactor qf_set_properties(). (Yegappan, Apr 17, #2812)
-
-Patch for static analysis warnings. (Christian Brabandt, 2018 Apr 1, #2770)
-Ther are more here: https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
-
-Patch to refactor ex_helpgrep. (Yegappan, #2766, 2018 Mar 30)
-Also in email, take the one with a test.
-
-Allow for C99 features, decide which ones are OK:
-- "inline"
-- "long long"
-- flexible array members (change code to avoid FORTIFY_SOURCE problems)
+More warnings from static analysis:
+https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
 
 Looks like an error for inserting register makes ":file other" not work.
 (Tom M, 2018 Mar 28)  Reset did_emsg after inserting a register.
 Or at the top of the loop? (Apr 4)
 
-Patch to fix mouse pointer after :tselect. (Hirohito Higashi, #2709)
-How to reproduce the problem?  Remarks by Hirohito, Apr 8.
-
-Patch to avoid job killed when I/O is disconnected. (ichizok, #2734)
+Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
+8, #1757)  Now part of #2322.  Or #2327?  #1757 was re-opened, include that
+first.
 
 When opening foo/x.txt and bar/x.txt get swap file warning.  Should check the
 file name. (Juergen Weigert)
@@ -80,14 +79,6 @@
 - Test_setbufvar_options()
 - Test_exit_callback_interval()
 
-Mouse pointer sticks to stop shape.  Only on Windows GUI?  #2709
-
-Patch to make log_tr() use variable arguments. (Ichizok, 2018 Mar 20, #2730)
-
-balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
-20, #2481)
-Also see #2352, want better control over balloon, perhaps set the position.
-
 Try out background make plugin: 
   https://github.com/AndrewVos/vim-make-background
 or asyncmake: 
@@ -96,18 +87,13 @@
 Add a ModeChanged autocommand that has an argument indicating the old and new
 mode.  Also used for switching Terminal mode.
 
-Cursor in status line after search. (#2530)
+Patch to shorten filenames in quickfix window. (Yegappan Lakshmanan, 2018
+Apr 27)
 
 Add an option with file patterns, to be used when unloading a buffer: If there
 is a match, remove entries for the buffer from marks, jumplist, etc.  To be
 used for git temp files.
 
-Patch to fix that an empty buffer remains when using :argedit. (Christian,
-#2713)  Updated patch.
-
-Patch to fix interaction between 'virtualedit' and i_CTRL-G_j. (Christian
-Brabandt, #2743)
-
 Cursor in wrong position when line wraps. (#2540)
 
 Add an option similar to 'lazyredraw' to skip redrawing while executing a
@@ -131,6 +117,9 @@
 
 Check argument of systemlist(). (Pavlov)
 
+Patch to support 256 colors in Windows console. (Nobuhiro Takasaki, 2018 Apr
+25, #2821)
+
 Patch to add reg_executing() and reg_recording(). (Hirohito Higashi, #2745)
 
 No maintainer for Vietnamese translations.
@@ -146,10 +135,6 @@
 Starting job with cwd option, when the directory does not exist, gives a
 confusing error message. (Wang Shidong, 2018 Jan 2, #2519)
 
-Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
-8, #1757)  Now part of #2322.  Or #2327?  #1757 was re-opened, include that
-first.
-
 Add the debug command line history to viminfo.
 
 Avoid that "sign unplace id" does a redraw right away, esp. when there is a
@@ -163,6 +148,9 @@
 Will have to explain the manual steps (downloading the .aff and .dic files,
 applying the diff, etc.
 
+Pasting a register in Visual mode cannot be repeated. (Mahmoud Al-Qudsi, 2018
+Apr 26, #2849)
+
 User dictionary ~/.vim/spell/lang.utf-8.add not used for spell checking until a
 word is re-added to it. (Matej Cepl, 2018 Feb 6)
 
@@ -252,9 +240,6 @@
 
 Error in emsg with buggy script. (Dominique, 2017 Apr 30)
 
-Using CTRL-G j in insert mode in combination with 'virtualedit' doesn't work
-as expected. (Rich, 2018 March 23, #2743)
-
 Patch to fix encoding in print document name (Yasuhiro Matsumoto, 2017 Dec 20,
 #2478)
 
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index c5021cd..c6c8cad 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 8.0.  Last change: 2018 Mar 29
+*windows.txt*   For Vim version 8.0.  Last change: 2018 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1083,10 +1083,8 @@
 <
 
 :bdelete[!] {bufname}						*E93* *E94*
-		Like ":bdelete[!] [N]", but buffer given by name.  Note that a
-		buffer whose name is a number cannot be referenced by that
-		name; use the buffer number instead.  Insert a backslash
-		before a space in a buffer name.
+		Like ":bdelete[!] [N]", but buffer given by name, see
+		|{bufname}|.
 
 :bdelete[!] N1 N2 ...
 		Do ":bdelete[!]" for buffer N1, N2, etc.  The arguments can be
@@ -1123,10 +1121,8 @@
 		into a loaded buffer.
 
 :bunload[!] {bufname}
-		Like ":bunload[!] [N]", but buffer given by name.  Note that a
-		buffer whose name is a number cannot be referenced by that
-		name; use the buffer number instead.  Insert a backslash
-		before a space in a buffer name.
+		Like ":bunload[!] [N]", but buffer given by name.
+		Also see |{bufname}|.
 
 :N,Mbunload[!]	Do ":bunload[!]" for all buffers in the range N to M
 		|inclusive|.
@@ -1144,10 +1140,16 @@
 		list, without setting the 'buflisted' flag.
 		Also see |+cmd|.
 
-:[N]b[uffer][!] [+cmd] {bufname}
-		Edit buffer for {bufname} from the buffer list.  See
-		|:buffer-!| for [!].  This will also edit a buffer that is not
-		in the buffer list, without setting the 'buflisted' flag.
+:[N]b[uffer][!] [+cmd] {bufname}				*{bufname}*
+		Edit buffer for {bufname} from the buffer list.  A partial
+		name also works, so long as it is unique in the list of
+		buffers.
+		Note that a buffer whose name is a number cannot be referenced
+		by that name; use the buffer number instead.
+		Insert a backslash before a space in a buffer name.
+		See |:buffer-!| for [!].
+		This will also edit a buffer that is not in the buffer list,
+		without setting the 'buflisted' flag.
 		Also see |+cmd|.
 
 :[N]sb[uffer] [+cmd] [N]				*:sb* *:sbuffer*
@@ -1159,7 +1161,7 @@
 		Also see |+cmd|.
 
 :[N]sb[uffer] [+cmd] {bufname}
-		Split window and edit buffer for {bufname} from the buffer
+		Split window and edit buffer for |{bufname}| from the buffer
 		list.  This will also edit a buffer that is not in the buffer
 		list, without setting the 'buflisted' flag.
 		Note: If what you want to do is split the buffer, make a copy