Tags: patch security Emacs sometimes mishandles the permissions of files: even if backup-by-copying-when-mismatch is set, Emacs sometimes replaces a rewritten file with a file that has the wrong user or group. Here's some background. In several places Emacs assumes that on 4.2BSD hosts, a newly created file is given a group ID equal to its parent directory, and that on non-4.2BSD hosts the new files are given Emacs's group ID. Although this was true long ago, it hasn't been true for many years. Most commonly, the old 4.2BSD behavior is now selected by the setgid bit on directories. But on some hosts, the behavior is selected as a mount flag, or (as in 4.2BSD) it's a property of the operating system. On network file systems the behavior is sometimes selected by the file server, sometimes by the client. To add to the mess, on FreeBSD systems, the setuid bit of directories can control whether there's a similar inheritance of file ownership. Luckily this problem is a bit simpler, in that it's not a property of the OS or a mount flag, as far as I know. I'm attaching a patch, which changes file-attributes so that it now outputs a placeholder value instead of the old 9th attribute member, since the value is rarely needed and almost nobody seems to be using it or caring that it's wrong. Instead, the patch moves this functionality to file-ownership-preserved-p via a new argument GROUP. The patch also adds new functions group-gid and group-real-gid for use with the backup-file heuristic. This patch is relative to trunk bzr 111160.