Function: wdired-perms-to-number
wdired-perms-to-number is a byte-compiled function defined in
wdired.el.gz.
Signature
(wdired-perms-to-number PERMS)
Source Code
;; Defined in /usr/src/emacs/lisp/wdired.el.gz
;; Allowed chars for #o4000 bit are Ss in position 3
;; Allowed chars for #o2000 bit are Ssl in position 6
;; Allowed chars for #o1000 bit are Tt in position 9
(defun wdired-perms-to-number (perms)
(let ((nperm #o0777))
(if (= (elt perms 1) ?-) (setq nperm (- nperm #o400)))
(if (= (elt perms 2) ?-) (setq nperm (- nperm #o200)))
(let ((p-bit (elt perms 3)))
(if (memq p-bit '(?- ?S)) (setq nperm (- nperm #o100)))
(if (memq p-bit '(?s ?S)) (setq nperm (+ nperm #o4000))))
(if (= (elt perms 4) ?-) (setq nperm (- nperm #o40)))
(if (= (elt perms 5) ?-) (setq nperm (- nperm #o20)))
(let ((p-bit (elt perms 6)))
(if (memq p-bit '(?- ?S ?l)) (setq nperm (- nperm #o10)))
(if (memq p-bit '(?s ?S ?l)) (setq nperm (+ nperm #o2000))))
(if (= (elt perms 7) ?-) (setq nperm (- nperm 4)))
(if (= (elt perms 8) ?-) (setq nperm (- nperm 2)))
(let ((p-bit (elt perms 9)))
(if (memq p-bit '(?- ?T)) (setq nperm (- nperm 1)))
(if (memq p-bit '(?t ?T)) (setq nperm (+ nperm #o1000))))
nperm))