Function: tar-chgrp-entry
tar-chgrp-entry is an interactive and byte-compiled function defined
in tar-mode.el.gz.
Signature
(tar-chgrp-entry NEW-GID)
Documentation
Change the group-id associated with this entry in the tar file.
If this tar file was written by GNU tar, then you will be able to edit the group id as a string; otherwise, you must edit it as a number. You can force editing as a number by calling this with a prefix arg. This does not modify the disk image; you must save the tar file itself for this to be permanent.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/tar-mode.el.gz
(defun tar-chgrp-entry (new-gid)
"Change the group-id associated with this entry in the tar file.
If this tar file was written by GNU tar, then you will be able to edit
the group id as a string; otherwise, you must edit it as a number.
You can force editing as a number by calling this with a prefix arg.
This does not modify the disk image; you must save the tar file itself
for this to be permanent."
(interactive
(list
(let ((descriptor (tar-current-descriptor)))
(if (or current-prefix-arg
(not (tar-header-magic descriptor)))
(read-number
"New GID number: "
(format "%s" (tar-header-gid descriptor)))
(read-string "New GID string: " (tar-header-gname descriptor))))))
(cond ((stringp new-gid)
(setf (tar-header-gname (tar-current-descriptor)) new-gid)
(tar-alter-one-field tar-gname-offset
(concat (encode-coding-string
new-gid tar-file-name-coding-system)
"\000")))
(t
(setf (tar-header-gid (tar-current-descriptor)) new-gid)
(tar-alter-one-field tar-gid-offset
(concat (substring (format "%6o" new-gid) 0 6) "\000 ")))))