chmod: Recurse also chmod's directories.

This commit is contained in:
Jan Nieuwenhuizen 2018-12-04 10:09:17 +01:00
parent f7617fce47
commit 53fe775de9
2 changed files with 4 additions and 4 deletions

View File

@ -92,8 +92,8 @@ Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.
(m (if xecutable? (cons (make-chmodifier 'o '- '(X)) m) m)))
(values m files)))
(else (values (parse-chmodifiers (car files)) (cdr files))))
(let ((files (if (option-ref options 'recursive #f) (append-map find-files files)
files)))
(for-each (cut apply-chmodifiers <> modifiers) files)))))))
(let ((files (if (not (option-ref options 'recursive #f)) files
(append-map (cut find-files <> #:directories? #t) files))))
(for-each (cut apply-chmodifiers <> modifiers) (reverse files))))))))
(define main chmod)

View File

@ -517,7 +517,7 @@ end of a line; by itself it won't match the terminating newline of a line."
program o))))))
(define (apply-chmodifiers file modifiers)
(let ((mode (chmodifiers->mode modifiers (warn 'file-mode(stat:mode (lstat file))))))
(let ((mode (chmodifiers->mode modifiers (stat:mode (lstat file)))))
((@ (guile) chmod) file mode)))
(define (chmodifier-numeric-mode o executable?)