texlive[69391] trunk: eolang (11jan24)
commits+karl at tug.org
commits+karl at tug.org
Thu Jan 11 22:37:19 CET 2024
Revision: 69391
https://tug.org/svn/texlive?view=revision&revision=69391
Author: karl
Date: 2024-01-11 22:37:18 +0100 (Thu, 11 Jan 2024)
Log Message:
-----------
eolang (11jan24)
Modified Paths:
--------------
trunk/Build/source/texk/texlive/linked_scripts/Makefile.am
trunk/Build/source/texk/texlive/linked_scripts/Makefile.in
trunk/Build/source/texk/texlive/linked_scripts/scripts.lst
trunk/Master/texmf-dist/doc/latex/eolang/LICENSE.txt
trunk/Master/texmf-dist/doc/latex/eolang/README.md
trunk/Master/texmf-dist/doc/latex/eolang/eolang.pdf
trunk/Master/texmf-dist/source/latex/eolang/eolang.dtx
trunk/Master/texmf-dist/source/latex/eolang/eolang.ins
trunk/Master/texmf-dist/tex/latex/eolang/eolang.sty
trunk/Master/tlpkg/libexec/ctan2tds
trunk/Master/tlpkg/tlpsrc/eolang.tlpsrc
Added Paths:
-----------
trunk/Build/source/texk/texlive/linked_scripts/eolang/
trunk/Build/source/texk/texlive/linked_scripts/eolang/eolang.pl
trunk/Master/bin/aarch64-linux/eolang
trunk/Master/bin/amd64-freebsd/eolang
trunk/Master/bin/amd64-netbsd/eolang
trunk/Master/bin/armhf-linux/eolang
trunk/Master/bin/i386-freebsd/eolang
trunk/Master/bin/i386-linux/eolang
trunk/Master/bin/i386-netbsd/eolang
trunk/Master/bin/i386-solaris/eolang
trunk/Master/bin/universal-darwin/eolang
trunk/Master/bin/windows/eolang.exe
trunk/Master/bin/x86_64-cygwin/eolang
trunk/Master/bin/x86_64-darwinlegacy/eolang
trunk/Master/bin/x86_64-linux/eolang
trunk/Master/bin/x86_64-linuxmusl/eolang
trunk/Master/bin/x86_64-solaris/eolang
trunk/Master/texmf-dist/doc/man/man1/eolang.1
trunk/Master/texmf-dist/doc/man/man1/eolang.man1.pdf
trunk/Master/texmf-dist/scripts/eolang/
trunk/Master/texmf-dist/scripts/eolang/eolang.pl
Modified: trunk/Build/source/texk/texlive/linked_scripts/Makefile.am
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/Makefile.am 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Build/source/texk/texlive/linked_scripts/Makefile.am 2024-01-11 21:37:18 UTC (rev 69391)
@@ -141,6 +141,7 @@
dviinfox/dviinfox.pl \
easydtx/edtx2dtx.pl \
ebong/ebong.py \
+ eolang/eolang.pl \
epspdf/epspdf.tlu \
epspdf/epspdftk.tcl \
epstopdf/epstopdf.pl \
Modified: trunk/Build/source/texk/texlive/linked_scripts/Makefile.in
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/Makefile.in 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Build/source/texk/texlive/linked_scripts/Makefile.in 2024-01-11 21:37:18 UTC (rev 69391)
@@ -358,6 +358,7 @@
dviinfox/dviinfox.pl \
easydtx/edtx2dtx.pl \
ebong/ebong.py \
+ eolang/eolang.pl \
epspdf/epspdf.tlu \
epspdf/epspdftk.tcl \
epstopdf/epstopdf.pl \
Added: trunk/Build/source/texk/texlive/linked_scripts/eolang/eolang.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/eolang/eolang.pl (rev 0)
+++ trunk/Build/source/texk/texlive/linked_scripts/eolang/eolang.pl 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1,153 @@
+#!/usr/bin/perl
+# (The MIT License)
+#
+# Copyright (c) 2022-2024 Yegor Bugayenko
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the 'Software'), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+# 2024-01-11 0.18.0
+package eolang;
+
+use warnings;
+use strict;
+use File::Basename;
+
+# Hash of incoming command line arguments.
+my %args = map { $_ => 1 } @ARGV;
+
+# Read file content.
+sub readfile {
+ my ($path) = @_;
+ open(my $h, '<', $path) or die('Cannot open file: ' . $path);
+ my $content; { local $/; $content = <$h>; }
+ return $content;
+}
+
+# Save content to file.
+sub savefile {
+ my ($path, $content) = @_;
+ open(my $f, '>', $path) or error('Cannot open file for writing: ' . $path);
+ print $f $content;
+ close($f);
+}
+
+# Print INFO message to the console.
+sub info {
+ my ($txt) = @_;
+ print $txt . "\n";
+}
+
+# Print DEBUG message to the console.
+sub debug {
+ my ($txt) = @_;
+ if (exists $args{'--verbose'}) {
+ print $txt . "\n";
+ }
+}
+
+# Print ERROR message to the console.
+sub error {
+ my ($txt) = @_;
+ print STDERR $txt . "\n";
+}
+
+if (@ARGV+0 eq 0 or exists $args{'--help'} or exists $args{'-?'}) {
+ info("This script helps embedding \\phiquation and \\phiq into .tex document\n\n" .
+ "Usage:\n" .
+ " eolang [<options>] <.tex file path>\n\n" .
+ "Options:\n" .
+ " -v, --version Print the current version of the tool and exit\n" .
+ " -?, --help Print this help screen\n" .
+ " --verbose Print all possible debugging information\n" .
+ " --tmpdir=path Temp directory with .tex files ('_eolang' by default)\n\n" .
+ "If any issues, report to GitHub: https://github.com/yegor256/bibcop");
+} elsif (exists $args{'--version'} or exists $args{'-v'}) {
+ info('0.18.0 2024-01-11');
+} else {
+ my ($src, $target) = grep { not($_ =~ /^-.*$/) } @ARGV;
+ if (not $src) {
+ error('Source file name must be specified');
+ exit(1);
+ }
+ debug('Source: ' . $src);
+ my $job = basename($src);
+ $job =~ s/\.[^.]+$//;
+ debug('Job name: ' . $job);
+ my $tex = readfile($src);
+ my $tmpdir = dirname($src) . '/_eolang/' . $job;
+ debug('EO tmpdir: ' . $tmpdir);
+ foreach my $f (glob($tmpdir . '/*-phiq.tex')) {
+ my $id = basename($f);
+ $id =~ s/\.[^.]+$//;
+ $id =~ s/-phiq$//;
+ my $phiq = readfile($f);
+ $phiq =~ s/^\s+|\s+$//g;
+ my $search = quotemeta($phiq);
+ $search =~ s/(\\\\[a-zA-Z]+)\\ /$1\\ ?/g;
+ $search = '\\\\phiq\\s*\\{\\s*' . $search . '\\s*\\}|\\$\\s*' . $search . '\\s*\\$';
+ my $re = '\input{' . $tmpdir . '/' . $id . '-phiq-post.tex' . "}";
+ my $count = 0;
+ while (1) {
+ my $applied = $tex =~ s/${search}/${re}/g;
+ if (!$applied) {
+ if ($count eq 0) {
+ debug("Neither \\phiq{$phiq} nor \$$phiq\$ found, suggested by $f");
+ }
+ last;
+ }
+ debug('\\phiq ' . $id . '( ' . $phiq . ' ) -> ' . $re);
+ $count += 1;
+ }
+ }
+ my @kinds = ('sodg', 'phiquation', 'phiquation*');
+ for my $kind (@kinds) {
+ my $k = $kind;
+ $k =~ s/\*$//;
+ foreach my $f (glob($tmpdir . '/*-' . $k . '.tex')) {
+ my $id = basename($f);
+ $id =~ s/\.[^.]+$//;
+ $id =~ s/-${k}$//;
+ my $search = quotemeta(readfile($f));
+ $search = '\\\\begin\\s*\\{\\s*' . quotemeta($kind) . '\\s*\\}\\n' . $search . '\\\\end\\s*\\{\\s*' . quotemeta($kind) . '\\s*\\}\\n';
+ my $re = '\input{' . $tmpdir . '/' . $id . '-' . $k . '-post.tex' . "}\% '$kind' replaced\n\n";
+ my $count = 0;
+ while (1) {
+ my $applied = $tex =~ s/${search}/${re}/g;
+ if (!$applied) {
+ if ($count eq 0) {
+ debug("Didn't find \\begin{$kind} suggested by $f");
+ }
+ last;
+ }
+ debug('\\begin{' . $kind . '} ' . $id . ' -> ' . $re);
+ $count += 1;
+ }
+ }
+ }
+ if (not $target) {
+ error('Target file name must be specified');
+ exit(1);
+ }
+ debug('Target: ' . $target);
+ savefile($target, $tex);
+ info("New TeX file save to: ". $target);
+}
+
+# In order to finish it with success:
+1;
Property changes on: trunk/Build/source/texk/texlive/linked_scripts/eolang/eolang.pl
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: trunk/Build/source/texk/texlive/linked_scripts/scripts.lst
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/scripts.lst 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Build/source/texk/texlive/linked_scripts/scripts.lst 2024-01-11 21:37:18 UTC (rev 69391)
@@ -82,6 +82,7 @@
dviinfox/dviinfox.pl
easydtx/edtx2dtx.pl
ebong/ebong.py
+eolang/eolang.pl
epspdf/epspdf.tlu
epspdf/epspdftk.tcl
epstopdf/epstopdf.pl
Added: trunk/Master/bin/aarch64-linux/eolang
===================================================================
--- trunk/Master/bin/aarch64-linux/eolang (rev 0)
+++ trunk/Master/bin/aarch64-linux/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/aarch64-linux/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/amd64-freebsd/eolang
===================================================================
--- trunk/Master/bin/amd64-freebsd/eolang (rev 0)
+++ trunk/Master/bin/amd64-freebsd/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/amd64-freebsd/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/amd64-netbsd/eolang
===================================================================
--- trunk/Master/bin/amd64-netbsd/eolang (rev 0)
+++ trunk/Master/bin/amd64-netbsd/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/amd64-netbsd/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/armhf-linux/eolang
===================================================================
--- trunk/Master/bin/armhf-linux/eolang (rev 0)
+++ trunk/Master/bin/armhf-linux/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/armhf-linux/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-freebsd/eolang
===================================================================
--- trunk/Master/bin/i386-freebsd/eolang (rev 0)
+++ trunk/Master/bin/i386-freebsd/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/i386-freebsd/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-linux/eolang
===================================================================
--- trunk/Master/bin/i386-linux/eolang (rev 0)
+++ trunk/Master/bin/i386-linux/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/i386-linux/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-netbsd/eolang
===================================================================
--- trunk/Master/bin/i386-netbsd/eolang (rev 0)
+++ trunk/Master/bin/i386-netbsd/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/i386-netbsd/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-solaris/eolang
===================================================================
--- trunk/Master/bin/i386-solaris/eolang (rev 0)
+++ trunk/Master/bin/i386-solaris/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/i386-solaris/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/universal-darwin/eolang
===================================================================
--- trunk/Master/bin/universal-darwin/eolang (rev 0)
+++ trunk/Master/bin/universal-darwin/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/universal-darwin/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/windows/eolang.exe
===================================================================
(Binary files differ)
Index: trunk/Master/bin/windows/eolang.exe
===================================================================
--- trunk/Master/bin/windows/eolang.exe 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Master/bin/windows/eolang.exe 2024-01-11 21:37:18 UTC (rev 69391)
Property changes on: trunk/Master/bin/windows/eolang.exe
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/bin/x86_64-cygwin/eolang
===================================================================
--- trunk/Master/bin/x86_64-cygwin/eolang (rev 0)
+++ trunk/Master/bin/x86_64-cygwin/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/x86_64-cygwin/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-darwinlegacy/eolang
===================================================================
--- trunk/Master/bin/x86_64-darwinlegacy/eolang (rev 0)
+++ trunk/Master/bin/x86_64-darwinlegacy/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/x86_64-darwinlegacy/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-linux/eolang
===================================================================
--- trunk/Master/bin/x86_64-linux/eolang (rev 0)
+++ trunk/Master/bin/x86_64-linux/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/x86_64-linux/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-linuxmusl/eolang
===================================================================
--- trunk/Master/bin/x86_64-linuxmusl/eolang (rev 0)
+++ trunk/Master/bin/x86_64-linuxmusl/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/x86_64-linuxmusl/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-solaris/eolang
===================================================================
--- trunk/Master/bin/x86_64-solaris/eolang (rev 0)
+++ trunk/Master/bin/x86_64-solaris/eolang 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/eolang/eolang.pl
\ No newline at end of file
Property changes on: trunk/Master/bin/x86_64-solaris/eolang
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/eolang/LICENSE.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/eolang/LICENSE.txt 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Master/texmf-dist/doc/latex/eolang/LICENSE.txt 2024-01-11 21:37:18 UTC (rev 69391)
@@ -1,6 +1,6 @@
(The MIT License)
-Copyright (c) 2021-2023 Yegor Bugayenko
+Copyright (c) 2021-2024 Yegor Bugayenko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal
Modified: trunk/Master/texmf-dist/doc/latex/eolang/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/eolang/README.md 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Master/texmf-dist/doc/latex/eolang/README.md 2024-01-11 21:37:18 UTC (rev 69391)
@@ -22,7 +22,7 @@
\end{document}
```
-Otherwise, you can download [`eolang.sty`](https://yegor256.github.io/eolang/eolang.sty) and add to your project.
+Otherwise, you can download [`eolang.sty`](https://yegor256.github.io/eolang.sty) and add to your project.
If you want to contribute yourself, make a fork, then create a branch,
then run `l3build ctan` in the root directory.
Modified: trunk/Master/texmf-dist/doc/latex/eolang/eolang.pdf
===================================================================
(Binary files differ)
Added: trunk/Master/texmf-dist/doc/man/man1/eolang.1
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/eolang.1 (rev 0)
+++ trunk/Master/texmf-dist/doc/man/man1/eolang.1 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1,24 @@
+.TH eolang 1 "2024-01-11"
+.SH NAME
+eolang \- Automated Editor of TeX Files that Use "eolang" Package
+.SH SYNOPSIS
+eolang [<options>] <.tex source file path> <.tex target file path>
+.SH DESCRIPTION
+The eolang tool is a Perl script for automatically modifying
+TeX files that use "eolang" package, helping them pass post-processing
+checks in ACM, arXiv, IEEE, and other publishers.
+.SH OPTIONS
+Various options apply:
+.IP --version
+Print the version of the tool
+.IP --help
+Print the introduction screen
+.IP --verbose
+Print debugging information too
+.SH AUTHOR
+Yegor Bugayenko (yegor256 at gmail.com)
+.SH BUGS
+Please log issues on the GitHub homepage:
+https://github.com/objectionary/eolang.sty/issues.
+.SH SEE ALSO
+See eolang.pdf for more details.
Property changes on: trunk/Master/texmf-dist/doc/man/man1/eolang.1
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/man/man1/eolang.man1.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/man/man1/eolang.man1.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/man/man1/eolang.man1.pdf 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Master/texmf-dist/doc/man/man1/eolang.man1.pdf 2024-01-11 21:37:18 UTC (rev 69391)
Property changes on: trunk/Master/texmf-dist/doc/man/man1/eolang.man1.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/eolang/eolang.pl
===================================================================
--- trunk/Master/texmf-dist/scripts/eolang/eolang.pl (rev 0)
+++ trunk/Master/texmf-dist/scripts/eolang/eolang.pl 2024-01-11 21:37:18 UTC (rev 69391)
@@ -0,0 +1,153 @@
+#!/usr/bin/perl
+# (The MIT License)
+#
+# Copyright (c) 2022-2024 Yegor Bugayenko
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the 'Software'), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+# 2024-01-11 0.18.0
+package eolang;
+
+use warnings;
+use strict;
+use File::Basename;
+
+# Hash of incoming command line arguments.
+my %args = map { $_ => 1 } @ARGV;
+
+# Read file content.
+sub readfile {
+ my ($path) = @_;
+ open(my $h, '<', $path) or die('Cannot open file: ' . $path);
+ my $content; { local $/; $content = <$h>; }
+ return $content;
+}
+
+# Save content to file.
+sub savefile {
+ my ($path, $content) = @_;
+ open(my $f, '>', $path) or error('Cannot open file for writing: ' . $path);
+ print $f $content;
+ close($f);
+}
+
+# Print INFO message to the console.
+sub info {
+ my ($txt) = @_;
+ print $txt . "\n";
+}
+
+# Print DEBUG message to the console.
+sub debug {
+ my ($txt) = @_;
+ if (exists $args{'--verbose'}) {
+ print $txt . "\n";
+ }
+}
+
+# Print ERROR message to the console.
+sub error {
+ my ($txt) = @_;
+ print STDERR $txt . "\n";
+}
+
+if (@ARGV+0 eq 0 or exists $args{'--help'} or exists $args{'-?'}) {
+ info("This script helps embedding \\phiquation and \\phiq into .tex document\n\n" .
+ "Usage:\n" .
+ " eolang [<options>] <.tex file path>\n\n" .
+ "Options:\n" .
+ " -v, --version Print the current version of the tool and exit\n" .
+ " -?, --help Print this help screen\n" .
+ " --verbose Print all possible debugging information\n" .
+ " --tmpdir=path Temp directory with .tex files ('_eolang' by default)\n\n" .
+ "If any issues, report to GitHub: https://github.com/yegor256/bibcop");
+} elsif (exists $args{'--version'} or exists $args{'-v'}) {
+ info('0.18.0 2024-01-11');
+} else {
+ my ($src, $target) = grep { not($_ =~ /^-.*$/) } @ARGV;
+ if (not $src) {
+ error('Source file name must be specified');
+ exit(1);
+ }
+ debug('Source: ' . $src);
+ my $job = basename($src);
+ $job =~ s/\.[^.]+$//;
+ debug('Job name: ' . $job);
+ my $tex = readfile($src);
+ my $tmpdir = dirname($src) . '/_eolang/' . $job;
+ debug('EO tmpdir: ' . $tmpdir);
+ foreach my $f (glob($tmpdir . '/*-phiq.tex')) {
+ my $id = basename($f);
+ $id =~ s/\.[^.]+$//;
+ $id =~ s/-phiq$//;
+ my $phiq = readfile($f);
+ $phiq =~ s/^\s+|\s+$//g;
+ my $search = quotemeta($phiq);
+ $search =~ s/(\\\\[a-zA-Z]+)\\ /$1\\ ?/g;
+ $search = '\\\\phiq\\s*\\{\\s*' . $search . '\\s*\\}|\\$\\s*' . $search . '\\s*\\$';
+ my $re = '\input{' . $tmpdir . '/' . $id . '-phiq-post.tex' . "}";
+ my $count = 0;
+ while (1) {
+ my $applied = $tex =~ s/${search}/${re}/g;
+ if (!$applied) {
+ if ($count eq 0) {
+ debug("Neither \\phiq{$phiq} nor \$$phiq\$ found, suggested by $f");
+ }
+ last;
+ }
+ debug('\\phiq ' . $id . '( ' . $phiq . ' ) -> ' . $re);
+ $count += 1;
+ }
+ }
+ my @kinds = ('sodg', 'phiquation', 'phiquation*');
+ for my $kind (@kinds) {
+ my $k = $kind;
+ $k =~ s/\*$//;
+ foreach my $f (glob($tmpdir . '/*-' . $k . '.tex')) {
+ my $id = basename($f);
+ $id =~ s/\.[^.]+$//;
+ $id =~ s/-${k}$//;
+ my $search = quotemeta(readfile($f));
+ $search = '\\\\begin\\s*\\{\\s*' . quotemeta($kind) . '\\s*\\}\\n' . $search . '\\\\end\\s*\\{\\s*' . quotemeta($kind) . '\\s*\\}\\n';
+ my $re = '\input{' . $tmpdir . '/' . $id . '-' . $k . '-post.tex' . "}\% '$kind' replaced\n\n";
+ my $count = 0;
+ while (1) {
+ my $applied = $tex =~ s/${search}/${re}/g;
+ if (!$applied) {
+ if ($count eq 0) {
+ debug("Didn't find \\begin{$kind} suggested by $f");
+ }
+ last;
+ }
+ debug('\\begin{' . $kind . '} ' . $id . ' -> ' . $re);
+ $count += 1;
+ }
+ }
+ }
+ if (not $target) {
+ error('Target file name must be specified');
+ exit(1);
+ }
+ debug('Target: ' . $target);
+ savefile($target, $tex);
+ info("New TeX file save to: ". $target);
+}
+
+# In order to finish it with success:
+1;
Property changes on: trunk/Master/texmf-dist/scripts/eolang/eolang.pl
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/eolang/eolang.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/eolang/eolang.dtx 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Master/texmf-dist/source/latex/eolang/eolang.dtx 2024-01-11 21:37:18 UTC (rev 69391)
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% (The MIT License)
%
-% Copyright (c) 2021-2023 Yegor Bugayenko
+% Copyright (c) 2021-2024 Yegor Bugayenko
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
% of this software and associated documentation files (the 'Software'), to deal
@@ -50,7 +50,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{eolang}
%<*package>
-[2024-01-02 0.17.1 Formulas and Graphs for EO Programming Language]
+[2024-01-11 0.18.0 Formulas and Graphs for EO Programming Language]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -426,6 +426,19 @@
%</verb>
%\fi
+% \DescribeMacro{noshell}
+% You may prohibit any interactions with the shell by using the |noshell| option. This may be helpful when you send your document
+% for outside processing and want to make sure the compilation won't break due to shell errors:
+%\iffalse
+%<*verb>
+%\fi
+\begin{verbatim}
+\usepackage[noshell]{eolang}
+\end{verbatim}
+%\iffalse
+%</verb>
+%\fi
+
% \section{More Examples}
% The |phiquation| environment treats ends of line as signals to start
@@ -757,7 +770,7 @@
% \end{macrocode}
% We need \href{https://ctan.org/pkg/iexec}{iexec} for executing Perl scripts:
% \begin{macrocode}
-\RequirePackage{iexec}
+\ifdefined\eolang at noshell\else\RequirePackage{iexec}\fi
% \end{macrocode}
% Then, we process package options:
@@ -774,6 +787,7 @@
tmpdir/.default=_eolang\ifxetex-xe\else\ifluatex-lua\fi\fi,
nocomments/.store in=\eolang at nocomments,
anonymous/.store in=\eolang at anonymous,
+ noshell/.store in=\eolang at noshell,
tmpdir
}
\ProcessPgfPackageOptions{/eolang}
@@ -781,21 +795,29 @@
% Then, we make a directory where all temporary files will be kept:
% \begin{macrocode}
-\RequirePackage{shellesc}
+\makeatletter
+\ifdefined\eolang at noshell\else\RequirePackage{shellesc}\fi
\IfFileExists
{\eolang at tmpdir/\jobname}
{\message{eolang: Temporary directory "\eolang at tmpdir/\jobname"
already exists^^J}}
- {%
- \ifnum\ShellEscapeStatus=1%
- \iexec[null]{mkdir -p "\eolang at tmpdir/\jobname"}%
- \else%
+ {
+ \ifdefined\eolang at noshell
\message{eolang: Temporary directory "\eolang at tmpdir/\jobname"
- is not created, because -shell-escape is not set, and
- it doesn't exist, most probably the compilation
- will fail later^^J}%
- \fi%
+ is not created, because of the "noshell" package option,
+ most probably the compilation will fail later^^J}
+ \else
+ \ifnum\ShellEscapeStatus=1
+ \iexec[null]{mkdir -p "\eolang at tmpdir/\jobname"}
+ \else
+ \message{eolang: Temporary directory "\eolang at tmpdir/\jobname"
+ is not created, because -shell-escape is not set, and
+ it doesn't exist, most probably the compilation
+ will fail later^^J}
+ \fi
+ \fi
}
+\makeatother
% \end{macrocode}
% \begin{macro}{\eolang at lineno}
@@ -840,6 +862,11 @@
% \href{https://ctan.org/pkg/fancyvrb}{fancyvrb}:
% \begin{macrocode}
\makeatletter
+\ifdefined\eolang at noshell
+ \message{eolang: Perl script is not going to be created,
+ at "\eolang at tmpdir/\jobname-phi.pl" because of the "noshell"
+ package option^^J}
+\else
\openin 15=\eolang at tmpdir/\jobname-phi.pl
\ifeof 15
\message{eolang: Perl script is going to be created,
@@ -850,7 +877,7 @@
$macro = $ARGV[0];
open(my $fh, '<', $ARGV[1]);
my $tex; { local $/; $tex = <$fh>; }
-print "% This file is auto-generated by 0.17.1\n";
+print "% This file is auto-generated by 0.18.0\n";
print '% There are ', length($tex),
' chars in the input: ', $ARGV[1], "\n";
print '% ---', "\n";
@@ -986,7 +1013,7 @@
$tex =~ s/\|([^\|]+)\|/\\textnormal{\\texttt{\1}}{}/g;
$tex =~ s/\{TEXT(\d+)\}/'\\text{' . @texts[$1] . '}';/ge;
if ($macro eq 'phiq') {
- print '$' if ($tex ne '');
+ print '\(' if ($tex ne '');
} else {
print '\begin{', $macro, "}\n";
if (not($align)) {
@@ -1003,7 +1030,7 @@
}
print $tex;
if ($macro eq 'phiq') {
- print '$' if ($tex ne '');
+ print '\)' if ($tex ne '');
} else {
if (not($align)) {
if ($gathered) {
@@ -1023,6 +1050,7 @@
"\eolang at tmpdir/\jobname-phi.pl"^^J}
\fi
\closein 15
+\fi
\makeatother
% \end{macrocode}
% \end{macro}
@@ -1039,6 +1067,7 @@
% \begin{macro}{\eolang at ifabsent}
% \changes{0.17.0}{2023/12/28}{A new supplementary \texttt{eolang at ifabsent} command added}
+% \changes{0.18.0}{2024/01/09}{The \texttt{noshell} package option added in order to enable complete prohibition of shell interactions.}
% Then, we define the |\eolang at ifabsent| command, which if a given file is absent, runs a processing command, otherwise just inputs it:
% \begin{macrocode}
\makeatletter
@@ -1049,12 +1078,16 @@
\message{eolang: File "#1" already exists ^^J}%
\input{#1}}
{%
- \ifnum\ShellEscapeStatus=1\else%
- \message{eolang: The -shell-escape command line
- option is not provided, most probably compilation
- will fail now:^^J}%
+ \ifdefined\eolang at noshell%
+ \message{eolang: Shell processing is disabled^^J}%
+ \else%
+ \ifnum\ShellEscapeStatus=1\else%
+ \message{eolang: The -shell-escape command line
+ option is not provided, most probably compilation
+ will fail now:^^J}%
+ \fi%
+ #2%
\fi%
- #2%
}%
}
\makeatother
@@ -1070,15 +1103,15 @@
\def\hash{\eolang at mdfive
{\eolang at tmpdir/\jobname/phiquation.tex}-\the\inputlineno}%
\eolang at ifabsent
- {\eolang at tmpdir/\jobname/\hash-post.tex}
+ {\eolang at tmpdir/\jobname/\hash-phiquation-post.tex}
{%
\iexec[null]{cp "\eolang at tmpdir/\jobname/phiquation.tex"
- "\eolang at tmpdir/\jobname/\hash.tex"}%
+ "\eolang at tmpdir/\jobname/\hash-phiquation.tex"}%
\message{Start parsing 'phi' at line no. \the\inputlineno^^J}
- \iexec[trace,stdout=\eolang at tmpdir/\jobname/\hash-post.tex]{
+ \iexec[trace,stdout=\eolang at tmpdir/\jobname/\hash-phiquation-post.tex]{
perl "\eolang at tmpdir/\jobname-phi.pl"
'#1'
- "\eolang at tmpdir/\jobname/\hash.tex"
+ "\eolang at tmpdir/\jobname/\hash-phiquation.tex"
\ifdefined\eolang at nocomments | perl -pe 's/\%.*(\\n|$)//g'\fi
\ifdefined\eolang at phiSaveTo > \eolang at phiSaveTo\fi}%
}%
@@ -1123,6 +1156,7 @@
perl \eolang at tmpdir/\jobname-phi.pl 'phiq'
"\eolang at tmpdir/\jobname/\hash-phiq.tex"
\ifdefined\eolang at nocomments | perl -pe 's/\%.*(\\n|$)//g' \fi}%
+ \message{eolang: Parsed `phiq' at line no. \the\inputlineno^^J}%
}%
\ifdefined\eolang at nodollar\else\catcode`\$\active\fi%
}\makeatother
@@ -1163,6 +1197,11 @@
% \href{https://ctan.org/pkg/fancyvrb}{fancyvrb}:
% \begin{macrocode}
\makeatletter
+\ifdefined\eolang at noshell
+\message{eolang: Perl script is not going to be created
+ at "\eolang at tmpdir/\jobname-sodg.pl", because of the
+ "noshell" package option^^J}
+\else
\openin 15=\eolang at tmpdir/\jobname-sodg.pl
\ifeof 15
\message{eolang: Perl script is going to be created,
@@ -1448,6 +1487,7 @@
"\eolang at tmpdir/\jobname-sodg.pl"^^J}
\fi
\closein 15
+\fi
\makeatother
% \end{macrocode}
% \end{macro}
@@ -1590,11 +1630,11 @@
{\eolang at tmpdir/\jobname/\hash-sodg-post.tex}
{%
\iexec[null]{cp "\eolang at tmpdir/\jobname/sodg.tex"
- "\eolang at tmpdir/\jobname/\hash.tex"}%
+ "\eolang at tmpdir/\jobname/\hash-sodg.tex"}%
\message{eolang: Start parsing `sodg' at line no. \the\inputlineno^^J}
\iexec[trace,stdout=\eolang at tmpdir/\jobname/\hash-sodg-post.tex]{
perl "\eolang at tmpdir/\jobname-sodg.pl"
- "\eolang at tmpdir/\jobname/\hash.tex"
+ "\eolang at tmpdir/\jobname/\hash-sodg.tex"
\ifdefined\eolang at nocomments | perl -pe 's/\%.*(\\n|$)//g'\fi
\ifdefined\eolang at sodgSaveTo > \eolang at sodgSaveTo\fi}%
}
Modified: trunk/Master/texmf-dist/source/latex/eolang/eolang.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/eolang/eolang.ins 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Master/texmf-dist/source/latex/eolang/eolang.ins 2024-01-11 21:37:18 UTC (rev 69391)
@@ -1,6 +1,6 @@
%% (The MIT License)
%%
-%% Copyright (c) 2021-2023 Yegor Bugayenko
+%% Copyright (c) 2021-2024 Yegor Bugayenko
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the 'Software'), to deal
@@ -26,7 +26,7 @@
\preamble
(The MIT License)
-Copyright (c) 2021-2023 Yegor Bugayenko
+Copyright (c) 2021-2024 Yegor Bugayenko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the 'Software'), to deal
Modified: trunk/Master/texmf-dist/tex/latex/eolang/eolang.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/eolang/eolang.sty 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Master/texmf-dist/tex/latex/eolang/eolang.sty 2024-01-11 21:37:18 UTC (rev 69391)
@@ -7,7 +7,7 @@
%% eolang.dtx (with options: `package')
%% (The MIT License)
%%
-%% Copyright (c) 2021-2023 Yegor Bugayenko
+%% Copyright (c) 2021-2024 Yegor Bugayenko
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the 'Software'), to deal
@@ -31,7 +31,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{eolang}
-[2024-01-02 0.17.1 Formulas and Graphs for EO Programming Language]
+[2024-01-11 0.18.0 Formulas and Graphs for EO Programming Language]
@@ -80,11 +80,12 @@
+
\RequirePackage{stmaryrd}
\RequirePackage{amsmath}
\let\Bbbk\relax\RequirePackage{amssymb}
\RequirePackage{fancyvrb}
-\RequirePackage{iexec}
+\ifdefined\eolang at noshell\else\RequirePackage{iexec}\fi
\RequirePackage{pgfopts}
\RequirePackage{ifluatex}
@@ -95,25 +96,34 @@
tmpdir/.default=_eolang\ifxetex-xe\else\ifluatex-lua\fi\fi,
nocomments/.store in=\eolang at nocomments,
anonymous/.store in=\eolang at anonymous,
+ noshell/.store in=\eolang at noshell,
tmpdir
}
\ProcessPgfPackageOptions{/eolang}
-\RequirePackage{shellesc}
+\makeatletter
+\ifdefined\eolang at noshell\else\RequirePackage{shellesc}\fi
\IfFileExists
{\eolang at tmpdir/\jobname}
{\message{eolang: Temporary directory "\eolang at tmpdir/\jobname"
already exists^^J}}
- {%
- \ifnum\ShellEscapeStatus=1%
- \iexec[null]{mkdir -p "\eolang at tmpdir/\jobname"}%
- \else%
+ {
+ \ifdefined\eolang at noshell
\message{eolang: Temporary directory "\eolang at tmpdir/\jobname"
- is not created, because -shell-escape is not set, and
- it doesn't exist, most probably the compilation
- will fail later^^J}%
- \fi%
+ is not created, because of the "noshell" package option,
+ most probably the compilation will fail later^^J}
+ \else
+ \ifnum\ShellEscapeStatus=1
+ \iexec[null]{mkdir -p "\eolang at tmpdir/\jobname"}
+ \else
+ \message{eolang: Temporary directory "\eolang at tmpdir/\jobname"
+ is not created, because -shell-escape is not set, and
+ it doesn't exist, most probably the compilation
+ will fail later^^J}
+ \fi
+ \fi
}
+\makeatother
\makeatletter\newcounter{eolang at lineno}\makeatother
@@ -123,6 +133,11 @@
\makeatother
\makeatletter
+\ifdefined\eolang at noshell
+ \message{eolang: Perl script is not going to be created,
+ at "\eolang at tmpdir/\jobname-phi.pl" because of the "noshell"
+ package option^^J}
+\else
\openin 15=\eolang at tmpdir/\jobname-phi.pl
\ifeof 15
\message{eolang: Perl script is going to be created,
@@ -133,7 +148,7 @@
$macro = $ARGV[0];
open(my $fh, '<', $ARGV[1]);
my $tex; { local $/; $tex = <$fh>; }
-print "% This file is auto-generated by 0.17.1\n";
+print "% This file is auto-generated by 0.18.0\n";
print '% There are ', length($tex),
' chars in the input: ', $ARGV[1], "\n";
print '% ---', "\n";
@@ -269,7 +284,7 @@
$tex =~ s/\|([^\|]+)\|/\\textnormal{\\texttt{\1}}{}/g;
$tex =~ s/\{TEXT(\d+)\}/'\\text{' . @texts[$1] . '}';/ge;
if ($macro eq 'phiq') {
- print '$' if ($tex ne '');
+ print '\(' if ($tex ne '');
} else {
print '\begin{', $macro, "}\n";
if (not($align)) {
@@ -286,7 +301,7 @@
}
print $tex;
if ($macro eq 'phiq') {
- print '$' if ($tex ne '');
+ print '\)' if ($tex ne '');
} else {
if (not($align)) {
if ($gathered) {
@@ -306,6 +321,7 @@
"\eolang at tmpdir/\jobname-phi.pl"^^J}
\fi
\closein 15
+\fi
\makeatother
\makeatletter
@@ -320,12 +336,16 @@
\message{eolang: File "#1" already exists ^^J}%
\input{#1}}
{%
- \ifnum\ShellEscapeStatus=1\else%
- \message{eolang: The -shell-escape command line
- option is not provided, most probably compilation
- will fail now:^^J}%
+ \ifdefined\eolang at noshell%
+ \message{eolang: Shell processing is disabled^^J}%
+ \else%
+ \ifnum\ShellEscapeStatus=1\else%
+ \message{eolang: The -shell-escape command line
+ option is not provided, most probably compilation
+ will fail now:^^J}%
+ \fi%
+ #2%
\fi%
- #2%
}%
}
\makeatother
@@ -334,15 +354,15 @@
\def\hash{\eolang at mdfive
{\eolang at tmpdir/\jobname/phiquation.tex}-\the\inputlineno}%
\eolang at ifabsent
- {\eolang at tmpdir/\jobname/\hash-post.tex}
+ {\eolang at tmpdir/\jobname/\hash-phiquation-post.tex}
{%
\iexec[null]{cp "\eolang at tmpdir/\jobname/phiquation.tex"
- "\eolang at tmpdir/\jobname/\hash.tex"}%
+ "\eolang at tmpdir/\jobname/\hash-phiquation.tex"}%
\message{Start parsing 'phi' at line no. \the\inputlineno^^J}
- \iexec[trace,stdout=\eolang at tmpdir/\jobname/\hash-post.tex]{
+ \iexec[trace,stdout=\eolang at tmpdir/\jobname/\hash-phiquation-post.tex]{
perl "\eolang at tmpdir/\jobname-phi.pl"
'#1'
- "\eolang at tmpdir/\jobname/\hash.tex"
+ "\eolang at tmpdir/\jobname/\hash-phiquation.tex"
\ifdefined\eolang at nocomments | perl -pe 's/\%.*(\\n|$)//g'\fi
\ifdefined\eolang at phiSaveTo > \eolang at phiSaveTo\fi}%
}%
@@ -379,6 +399,7 @@
perl \eolang at tmpdir/\jobname-phi.pl 'phiq'
"\eolang at tmpdir/\jobname/\hash-phiq.tex"
\ifdefined\eolang at nocomments | perl -pe 's/\%.*(\\n|$)//g' \fi}%
+ \message{eolang: Parsed `phiq' at line no. \the\inputlineno^^J}%
}%
\ifdefined\eolang at nodollar\else\catcode`\$\active\fi%
}\makeatother
@@ -392,6 +413,11 @@
\fi
\makeatletter
+\ifdefined\eolang at noshell
+\message{eolang: Perl script is not going to be created
+ at "\eolang at tmpdir/\jobname-sodg.pl", because of the
+ "noshell" package option^^J}
+\else
\openin 15=\eolang at tmpdir/\jobname-sodg.pl
\ifeof 15
\message{eolang: Perl script is going to be created,
@@ -677,6 +703,7 @@
"\eolang at tmpdir/\jobname-sodg.pl"^^J}
\fi
\closein 15
+\fi
\makeatother
\setcounter{FancyVerbLine}{0}
@@ -789,11 +816,11 @@
{\eolang at tmpdir/\jobname/\hash-sodg-post.tex}
{%
\iexec[null]{cp "\eolang at tmpdir/\jobname/sodg.tex"
- "\eolang at tmpdir/\jobname/\hash.tex"}%
+ "\eolang at tmpdir/\jobname/\hash-sodg.tex"}%
\message{eolang: Start parsing `sodg' at line no. \the\inputlineno^^J}
\iexec[trace,stdout=\eolang at tmpdir/\jobname/\hash-sodg-post.tex]{
perl "\eolang at tmpdir/\jobname-sodg.pl"
- "\eolang at tmpdir/\jobname/\hash.tex"
+ "\eolang at tmpdir/\jobname/\hash-sodg.tex"
\ifdefined\eolang at nocomments | perl -pe 's/\%.*(\\n|$)//g'\fi
\ifdefined\eolang at sodgSaveTo > \eolang at sodgSaveTo\fi}%
}
Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Master/tlpkg/libexec/ctan2tds 2024-01-11 21:37:18 UTC (rev 69391)
@@ -3734,6 +3734,7 @@
'dviinfox' => '\.pl$',
'easydtx' => '\.pl$',
'ebong' => '\.py$',
+ 'eolang' => '\.pl$',
'epstopdf' => 'epstopdf\.pl', # doscripts() does r*
'exceltex' => 'exceltex$',
'fig4latex' => 'fig4latex',
@@ -3878,6 +3879,7 @@
'dosepsbin' => 'dosepsbin.man',
'dviasm' => '\.1$',
'easydtx' => '\.1$',
+ 'eolang' => '\.1$',
'epstopdf' => 'r?epstopdf.1|epstopdf.man1.pdf', # don't keep pdf
'findhyph' => 'findhyph.1',
'fontools' => '\.1$',
Modified: trunk/Master/tlpkg/tlpsrc/eolang.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/eolang.tlpsrc 2024-01-11 21:34:07 UTC (rev 69390)
+++ trunk/Master/tlpkg/tlpsrc/eolang.tlpsrc 2024-01-11 21:37:18 UTC (rev 69391)
@@ -1,3 +1,5 @@
+binpattern f bin/${ARCH}/${PKGNAME}
+#
hard stmaryrd
hard amsmath
hard amsfonts
@@ -4,4 +6,5 @@
hard iexec
hard pgf
hard fancyvrb
-hard pgfopts
\ No newline at end of file
+hard pgfopts
+
More information about the tex-live-commits
mailing list.