(vc-mode-line): If user is root, verify file really has user-writable bit.
This commit is contained in:
parent
a0341d132b
commit
9becbeca26
1 changed files with 12 additions and 3 deletions
|
@ -878,14 +878,23 @@ control system name."
|
|||
(and vc-type
|
||||
(concat " " (or label (symbol-name vc-type))
|
||||
(and vc-display-status (vc-status file)))))
|
||||
;; If the file is locked by some other user, make
|
||||
;; the buffer read-only. Like this, even root
|
||||
;; cannot modify a file without locking it first.
|
||||
(and vc-type
|
||||
(equal file (buffer-file-name))
|
||||
(vc-locking-user file)
|
||||
;; If the file is locked by some other user, make
|
||||
;; the buffer read-only. Like this, even root
|
||||
;; cannot modify a file without locking it first.
|
||||
(not (string= (user-login-name) (vc-locking-user file)))
|
||||
(setq buffer-read-only t))
|
||||
;; If the user is root, and the file is not owner-readable,
|
||||
;; then pretend that we can't read it
|
||||
;; even though we can (because root can read anything).
|
||||
(and vc-type
|
||||
(equal file (buffer-file-name))
|
||||
(not buffer-read-only)
|
||||
(zerop (user-real-uid))
|
||||
(zerop (logand (file-modes (buffer-file-name)) 128))
|
||||
(setq buffer-read-only t))
|
||||
(force-mode-line-update)
|
||||
;;(set-buffer-modified-p (buffer-modified-p)) ;;use this if Emacs 18
|
||||
vc-type))
|
||||
|
|
Loading…
Add table
Reference in a new issue