@ -285,6 +285,17 @@ there's a region, all lines that region covers will be duplicated."
( interactive )
( byte-recompile-directory prelude-dir 0 ) )
( defun prelude-file-owner-uid ( filename )
" Return the UID of the FILENAME as an integer.
See ` file-attributes ' for more info. "
( nth 2 ( file-attributes filename 'integer ) ) )
( defun prelude-file-owned-by-user-p ( filename )
" Return t if file FILENAME is owned by the currently logged in user. "
( equal ( prelude-file-owner-uid filename )
( user-uid ) ) )
( defun prelude-find-alternate-file-as-root ( filename )
" Wraps `find-alternate-file' with opening a file as root. "
( find-alternate-file ( concat " /sudo:root@localhost: " filename ) ) )
@ -307,7 +318,8 @@ buffer is not visiting a file."
( unless ( or ( tramp-tramp-file-p buffer-file-name )
( equal major-mode 'dired-mode )
( not ( file-exists-p ( file-name-directory buffer-file-name ) ) )
( file-writable-p buffer-file-name ) )
( file-writable-p buffer-file-name )
( prelude-file-owned-by-user-p buffer-file-name ) )
( prelude-find-alternate-file-as-root buffer-file-name ) ) )
( add-hook 'find-file-hook 'prelude-reopen-as-root )