bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#28875: 25.3.50; set-default-file-modes ignores execution bits


From: Eli Zaretskii
Subject: bug#28875: 25.3.50; set-default-file-modes ignores execution bits
Date: Fri, 20 Oct 2017 10:15:34 +0300

> From: Tino Calancha <tino.calancha@gmail.com>
> Cc: Eli Zaretskii <eliz@gnu.org>, Andreas Schwab <schwab@suse.de>
> Date: Fri, 20 Oct 2017 12:10:18 +0900
> 
> >> make-temp-file already creates the file (with restrictive modes), so
> >> with-file-modes has no effect (write-region does not change the mode of
> >> existing files).  But write-region also never sets the x bits in the
> >> first place, it uses #o666 as the base mode.
> >>
> > I think I was fooled by the docstring of `set-default-file-modes':
> > "Set the file permission bits for newly created files..."
> Besides the behavior is mentioned in the manual, that is relevant
> for the correct use of the function, so IMO it's worth to include it
> the docstring as well.
> 
> --8<-----------------------------cut 
> here---------------start------------->8---
> commit d749ad1ca0375a938c0283155b56e737cc120640
> Author: Tino Calancha <tino.calancha@gmail.com>
> Date:   Fri Oct 20 11:58:17 2017 +0900
> 
>     * src/fileio.c (set-default-file-modes): Doc fix
> 
> diff --git a/src/fileio.c b/src/fileio.c
> index b7df38c857..d707bfc1c6 100644
> --- a/src/fileio.c
> +++ b/src/fileio.c
> @@ -3125,7 +3125,11 @@ 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.  */)
> +This setting is inherited by subprocesses.
> +
> +Note that some functions (e.g., `write-region') ignore the execution
> +bits in MODE.  In that case you need first to create the file,
> +and then set the permisions with `set-file-modes'.  */)

Why would someone assume that write-region could/should change the
mode bits of an already existing file?  It's entirely unreasonable for
write-region to do so, as the mode bits are determined when the file
is created, in this case by make-temp-file.

So I'm not sure why should we make this correction to the doc string.
What am I missing?

Thanks.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]