emacs-25.2没有写入Fedora上用户拥有的只读文件

时间:2017-09-11 06:58:26

标签: emacs

这是关于Fedora的emacs-25.2问题。

很长一段时间以来,我一直在使用'技巧'保存一组我经常在文件系统中编辑为只读的某些文件,以防止意外编辑,而我正在查看一个文件/缓冲区,重点是其他地方。

使用(find-file)时的默认操作使缓冲区成为只读,这就是我想要的。然后,如果我确实需要编辑缓冲区,则使用C-x C-q切换,编辑,使用C-x C-s保存文件,然后使用C-x C-q将其设置为只读。

在某些时候,作为常规用户,此行为已被置换。显然它仍然适用于root,但我无法看到任何钩子或异常变量的不同之处。

有没有其他人解决过这个问题?

好的,这里是如何演示,作为普通用户:

$ touch bar
$ ls -l
total 0
-rw-r-----. 1 dithot dithot 0 Sep 13 21:28 bar
$ chmod 0440 bar
$ ls -l
total 0
-r--r-----. 1 dithot dithot 0 Sep 13 21:28 bar
$ emacs -Q bar
> C-xC-q
> edit...
> C-xC-s
> msg: File bar is write-protected; try to save anyway? (yes or no)
> reply yes
> file is saved.
> C-x C-q
$ ls -l
total 4
-r--r-----. 1 dithot dithot 10 Sep 13 21:30 bar
-r--r-----. 1 dithot dithot  0 Sep 13 21:28 bar~

我注意到我做了一个备份文件,我通常已禁用该文件,但不确定是否相关。请注意,如果我是root用户,一切正常,但一般不是root。

那就是说,这看起来像我的一些lisp代码,一旦我的所有配置都被加载,我就会阻止它工作。

所以,我知道现在在哪里看。

1 个答案:

答案 0 :(得分:0)

您确实确定emacs 有您想要的行为吗?我当然不记得曾经如此。

Cx Cq切换缓冲区是否为只读,因此当然是常规用户,切换缓冲区的只读状态并不意味着您可以将其写回具有只读权限的文件。作为 root 用户,您当然可以绕过文件权限,因此它可以按您的意愿工作。