Update Doku aus Driversourcen

Change-Id: I455f0813b970151089b3dc1b8d9407eea323cdd1
diff --git a/doc/master/valid_write b/doc/master/valid_write
index 31fe43b..3f73ca3 100644
--- a/doc/master/valid_write
+++ b/doc/master/valid_write
@@ -1,33 +1,52 @@
 SYNOPSIS
-	string valid_write(string path, string uid, string func, object ob)
+        string valid_write(string path, string uid, string func, object ob)
 
 DESCRIPTION
-	This function is called to check if the object ob with the
-	user-id uid has write permissions to the file given by path
-	for the operation named by func. It should return 0 if
-	permission is denied, or the normalized path if permission is
-	granted. You can also return 1 to indicate that the path can
-	be used unchanged.
+        This function is called to check if the object ob with the
+        user-id uid has write permissions to the file given by path
+        for the operation named by func. It should return 0 if
+        permission is denied, or the normalized path if permission is
+        granted. You can also return 1 to indicate that the path can
+        be used unchanged.
 
-	The returned pathname must not contain ``..'', a leading /
-	will be stripped by the interpreter.
+        The returned pathname must not contain "..", a leading /
+        will be stripped by the interpreter. By default, the returned
+        path must also not contain space characters; if the driver
+        is instructed to allow them, the preprocessor macro
+        __FILENAME_SPACES__ is defined.
 
-	Func denotes the efun call or other operation that caused
-	valid_write() to be called:
-	cindent,
-	do_rename (efun rename(), for the old and then for the new name),
-	ed_start (whenever the builtin ed tries to write to a file),
-	mkdir,
-	remove_file (efun rm()),
-	rmdir,
-	save_object,
-	write_bytes,
-	write_file.
+        Func denotes the efun call or other operation that caused
+        valid_write() to be called:
 
-	Note that this function is called in compat mode as well. If
-	you need to be compatible with the old 2.4.5-mudlib, redirect
-	these calls to the valid_read/valid_write in the user
-	object.
+          copy_file          : for the target file or directory name
+          rename_from        : efun rename(), for the original name
+          rename_to          : efun rename(), for the new name
+          ed_start           : whenever the builtin ed tries to write to a file
+          garbage_collection
+          mkdir
+          memdump
+          objdump
+          opcdump
+          remove_file        : efun rm()
+          rmdir
+          save_object
+          write_bytes
+          write_file
+
+        For save_object(), the <path> passed is the filename as given
+        in the efun call. If for this efun a filename ending in ".c" is
+        returned, the ".c" will be stripped from the filename.
+
+        This function is called in compat mode as well. If
+        you need to be compatible with the old 2.4.5-mudlib, redirect
+        these calls to the valid_read/valid_write in the user
+        object.
+
+HISTORY
+        LDMud 3.2.8 adds operation "copy_file", and replaces "do_rename"
+        by "rename_from" and "rename_to".
+        LDMud 3.2.9 adds operation "garbage_collection".
+        LDMud 3.3.526 adds operation "memdump".
 
 SEE ALSO
-	valid_read(M), make_path_absolute(M)
+        valid_read(M), make_path_absolute(M)