summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/NEWS4
-rw-r--r--lisp/dired.el13
2 files changed, 17 insertions, 0 deletions
diff --git a/etc/NEWS b/etc/NEWS
index d9d895ac816..4e62627f907 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -752,6 +752,10 @@ remapped to these, respectively.
** Dired
+---
+*** On systems that support it, Dired now font-locks the permissions
+of suid/guid files specially with the 'dired-set-id' face.
+
+++
*** New command 'dired-create-empty-file'.
diff --git a/lisp/dired.el b/lisp/dired.el
index 6e48d28b4cf..57c5040263f 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -431,6 +431,13 @@ Subexpression 2 must end right before the \\n.")
(defvar dired-perm-write-face 'dired-perm-write
"Face name used for permissions of group- and world-writable files.")
+(defface dired-set-idguid'
+ '((((type w32 pc)) :inherit default) ;; These default to rw-rw-rw.
+ (t (:inherit font-lock-warning-face)))
+ "Face used to highlight permissions of suid and guid files."
+ :group 'dired-faces
+ :version "27.1")
+
(defface dired-directory
'((t (:inherit font-lock-function-name-face)))
"Face used for subdirectories."
@@ -499,6 +506,12 @@ Subexpression 2 must end right before the \\n.")
(list (concat dired-re-maybe-mark dired-re-inode-size
"[-d].......\\(w\\).") ; world writable
'(1 dired-perm-write-face))
+ (list (concat dired-re-maybe-mark dired-re-inode-size
+ "[-d]..\\(s\\)......") ; suid
+ '(1 'dired-set-id))
+ (list (concat dired-re-maybe-mark dired-re-inode-size
+ "[-d].....\\(S\\)...") ; guid
+ '(1 'dired-set-id))
;;
;; Subdirectories.
(list dired-re-dir