From 9ce7802b798891d984d3a1319b8376dbd112ec97 Mon Sep 17 00:00:00 2001 From: TEC Date: Tue, 30 Nov 2021 02:45:32 +0800 Subject: [PATCH] ob-tangle: allow ls -l style suid/sgid tangle mode * lisp/ob-tangle.el (org-babel-interpret-file-mode): Modify the regexp for the ls -l style tangle file mode to allow for the suid/sgid bits to be set. While I was at it I noticed that the a= parameter should have been o=, and so that has been fixed too. The sticky bit is ignored, but that is not a concern as it is only relevant to directories. --- lisp/ob-tangle.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el index a55b3398d..0a35dc5ec 100644 --- a/lisp/ob-tangle.el +++ b/lisp/ob-tangle.el @@ -329,10 +329,10 @@ Did you give the decimal value %1$d by mistake?" mode))) ((string-match-p "^[ugoa]*\\(?:[+-=][rwxXstugo]*\\)+\\(,[ugoa]*\\(?:[+-=][rwxXstugo]*\\)+\\)*$" mode) ;; Match regexp taken from `file-modes-symbolic-to-number'. (file-modes-symbolic-to-number mode org-babel-tangle-default-file-mode)) - ((string-match-p "^\\(?:[r-][w-][x-]\\)\\{3\\}$" mode) + ((string-match-p "^[r-][w-][xs-][r-][w-][xs-][r-][w-][x-]$" mode) (file-modes-symbolic-to-number (concat "u=" (substring mode 0 3) ",g=" (substring mode 3 6) - ",a=" (substring mode 6 9)) + ",o=" (substring mode 6 9)) 0)) (t (error "File mode %S not recognised as a valid format. See `org-babel-interpret-file-mode'." mode))))