summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/scripts')
-rwxr-xr-xMaster/texmf-dist/scripts/runtexshebang/runtexshebang.lua17
1 files changed, 16 insertions, 1 deletions
diff --git a/Master/texmf-dist/scripts/runtexshebang/runtexshebang.lua b/Master/texmf-dist/scripts/runtexshebang/runtexshebang.lua
index 670bdc2b33a..f0c817165c0 100755
--- a/Master/texmf-dist/scripts/runtexshebang/runtexshebang.lua
+++ b/Master/texmf-dist/scripts/runtexshebang/runtexshebang.lua
@@ -23,11 +23,12 @@
-- THE SOFTWARE.
NAME = "runtexshebang"
-VERSION = "20230913 v0.4"
+VERSION = "20231117 v0.5"
USAGE = [[
Usage: runtexshebang [input.tex]
Options:
+ --dry-run print the TeX-style shebang line of [input.tex]
-h, --help print help
-v, --version print version
@@ -53,6 +54,7 @@ if #arg == 0 then
end
--
+is_dryrun = false
texfilename = ""
narg = 1
repeat
@@ -66,6 +68,8 @@ repeat
elseif this_arg == "-v" or this_arg == "-version" then
whoami()
os.exit(0)
+ elseif this_arg == "-dry-run" then
+ is_dryrun = true
else
texfilename = this_arg
end --if this_arg == ...
@@ -75,6 +79,11 @@ until narg > #arg
-- main process
whoami()
+if ( texfilename == "" ) then
+ print("No filename argument given, exiting.\n")
+ os.exit(1)
+end
+
line_ctr = 0
for line in io.lines(texfilename) do
line_ctr = line_ctr + 1
@@ -82,6 +91,12 @@ for line in io.lines(texfilename) do
if string.match(line, "^%%#!") then
tex_cmd, err=string.gsub(line, "%%#!", "")
+
+ if is_dryrun then
+ print(tex_cmd .. "\n")
+ os.exit(0)
+ end
+
tex_return = os.execute(tex_cmd)
-- if os.execute(texcmd) returns -1 on Windows, then