1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-27 10:54:40 +00:00

Fix symbolic mode string conversion for s and t

* lisp/files.el (file-modes-char-to-right): Fix values for ?s and
?t.
(file-modes-symbolic-to-number): Default to a for ts permissions.
This commit is contained in:
Andreas Schwab 2016-03-07 00:20:40 +01:00
parent 50b9826ac7
commit 6f7a57c708

View File

@ -6795,8 +6795,8 @@ If CHAR is in [Xugo], the value is taken from FROM (or 0 if omitted)."
(cond ((= char ?r) #o0444)
((= char ?w) #o0222)
((= char ?x) #o0111)
((= char ?s) #o1000)
((= char ?t) #o6000)
((= char ?s) #o6000)
((= char ?t) #o1000)
;; Rights relative to the previous file modes.
((= char ?X) (if (= (logand from #o111) 0) 0 #o0111))
((= char ?u) (let ((uright (logand #o4700 from)))
@ -6852,7 +6852,7 @@ as in \"og+rX-w\"."
(mapcar 'file-modes-char-to-who
(match-string 1 modes)))))
(when (= num-who 0)
(setq num-who (default-file-modes)))
(setq num-who (logior #o7000 (default-file-modes))))
(setq num-modes
(file-modes-rights-to-number (substring modes (match-end 1))
num-who num-modes)