]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve documentation of set-default-file-modes
authorEli Zaretskii <eliz@gnu.org>
Fri, 27 Oct 2017 13:53:16 +0000 (16:53 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 27 Oct 2017 13:53:16 +0000 (16:53 +0300)
* src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)

* doc/lispref/files.texi (Changing Files): Clarify how the bits in
the argument of set-default-file-modes are used for setting file
permissions.

doc/lispref/files.texi
src/fileio.c

index f49b02de97cf91ec4bc3852895c796ce2357fb3f..254eab03ea551b743dcefd88a5f57e0d4d741eef 100644 (file)
@@ -1821,7 +1821,9 @@ has these permissions, or a subset of them (@code{write-region} will
 not grant execute permissions even if the default file permissions
 allow execution).  On GNU and other POSIX-like systems, the default
 permissions are given by the bitwise complement of the @samp{umask}
-value.
+value, i.e.@: each bit that is set in the argument @var{mode} will be
+@emph{reset} in the default permissions with which Emacs creates
+files.
 
 The argument @var{mode} should be an integer which specifies the
 permissions, similar to @code{set-file-modes} above.  Only the lowest
index b7df38c8570915a23b0c233ec04c37bf83b41c4b..92cc39496c49f9d0786e740ad8b72d1ff3e5f254 100644 (file)
@@ -3125,7 +3125,15 @@ symbolic notation, like the `chmod' command from GNU Coreutils.  */)
 DEFUN ("set-default-file-modes", Fset_default_file_modes, Sset_default_file_modes, 1, 1, 0,
        doc: /* Set the file permission bits for newly created files.
 The argument MODE should be an integer; only the low 9 bits are used.
-This setting is inherited by subprocesses.  */)
+On Posix hosts, this setting is inherited by subprocesses.
+
+This function works by setting the Emacs's file mode creation mask.
+Each bit that is set in the mask means that the corresponding bit
+in the the permissions of newly created files will be disabled.
+
+Note that when `write-region' creates a file, it resets the
+execute bit, even if the mask set by this function allows that bit
+by having the corresponding bit in the mask reset.  */)
   (Lisp_Object mode)
 {
   mode_t oldrealmask, oldumask, newumask;