forked from mirrors/org-mode
ob-tangle: Use oXXX as file mode octal shorthand
* lisp/ob-tangle (org-babel-interpret-file-mode): Accept "o755" and similar as octal shorthand. A non-digit character must be included as otherwise `org-babel-parse-header-arguments' will convert it to a base-10 integer.
This commit is contained in:
parent
26e68816bd
commit
3a6686010e
|
@ -310,7 +310,7 @@ matching a regular expression."
|
||||||
"Determine the integer representation of a file MODE specification.
|
"Determine the integer representation of a file MODE specification.
|
||||||
The following forms are currently recognised:
|
The following forms are currently recognised:
|
||||||
- an integer (returned without modification)
|
- an integer (returned without modification)
|
||||||
- \"755\" (chmod style octal)
|
- \"o755\" (chmod style octal)
|
||||||
- \"rwxrw-r--\" (ls style specification)
|
- \"rwxrw-r--\" (ls style specification)
|
||||||
- \"a=rw,u+x\" (chmod style) *
|
- \"a=rw,u+x\" (chmod style) *
|
||||||
|
|
||||||
|
@ -320,8 +320,8 @@ The following forms are currently recognised:
|
||||||
((integerp mode) mode)
|
((integerp mode) mode)
|
||||||
((not (stringp mode))
|
((not (stringp mode))
|
||||||
(error "File mode %S not recognised as a valid format." mode))
|
(error "File mode %S not recognised as a valid format." mode))
|
||||||
((string-match-p "^0?[0-7][0-7][0-7]$" mode)
|
((string-match-p "^o0?[0-7][0-7][0-7]$" mode)
|
||||||
(string-to-number mode 8))
|
(string-to-number (replace-regexp-in-string "^o" "" mode) 8))
|
||||||
((string-match-p "^[ugoa]*\\(?:[+-=][rwxXstugo]*\\)+\\(,[ugoa]*\\(?:[+-=][rwxXstugo]*\\)+\\)*$" mode)
|
((string-match-p "^[ugoa]*\\(?:[+-=][rwxXstugo]*\\)+\\(,[ugoa]*\\(?:[+-=][rwxXstugo]*\\)+\\)*$" mode)
|
||||||
(file-modes-symbolic-to-number mode org-babel-tangle-default-mode))
|
(file-modes-symbolic-to-number mode org-babel-tangle-default-mode))
|
||||||
((string-match-p "^[rwx-]\\{9\\}$" mode)
|
((string-match-p "^[rwx-]\\{9\\}$" mode)
|
||||||
|
|
Loading…
Reference in New Issue