diff --git a/doc/master/valid_read b/doc/master/valid_read
index 2dafbae..45f0bb6 100644
--- a/doc/master/valid_read
+++ b/doc/master/valid_read
@@ -1,32 +1,40 @@
 SYNOPSIS
-	string valid_read(string path, string uid, string func, object ob)
+        string valid_read(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 read permissions for 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 read permissions for 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_read() to be called:
-	ed_start (check if the file to be edited is readable),
-	file_size,
-	get_dir,
-	print_file (efun cat()),
-	read_bytes,
-	read_file,
-	restore_object,
-	tail.
+        Func denotes the efun call or other operation that caused
+        valid_read() 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
+          ed_start (check if the file to be edited is readable),
+          file_size,
+          get_dir,
+          print_file (efun cat()),
+          read_bytes,
+          read_file,
+          restore_object,
+          tail.
+
+        For restore_object(), the <path> passed is the filename as given
+        in the efun call.
+
+        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.
 
 SEE ALSO
-	valid_write(M), make_path_absolute(M)
+        valid_write(M), make_path_absolute(M)
