
Eu me peguei alternando entre o Emacs e um shell várias vezes hoje, apenas para verificar as permissões do arquivo antes de salvar o arquivo que abri no Emacs.
Escusado será dizer que isto não é o ideal e oferece amplas oportunidades de melhoria.
Eu gostaria que a modeline mostrasse os bits de permissão, mais ou menos;
-:--- .netrc 0600 .... further modeline stuff ....
O mais próximo que vi de atingir esse objetivo foino blog emacs-fu, mas gostaria de uma solução mais genérica do que apenas verificar se o arquivo é somente leitura.
Como eu conseguiria isso?
Responder1
Eu brinquei um pouco e fiz isso funcionar para mim:
;; New variable to contain buffer file permission format construct.
(defvar my-mode-line-buffer-permissions
'(:eval (when (buffer-file-name) (format " %04o" (file-modes (buffer-file-name))))))
;; The variable must be marked as "risky" (see C-h v mode-line-format)
(put 'my-mode-line-buffer-permissions 'risky-local-variable t)
;; And finally add it right after the file name:
(setq-default
mode-line-buffer-identification
(append mode-line-buffer-identification (list 'my-mode-line-buffer-permissions)))
Minha linha de modo agora diz:
-uu-:---F1 .emacs 0644 Top L1 (Emacs-Lisp)--------------