79 lines
2.4 KiB
Diff
79 lines
2.4 KiB
Diff
From 3ec55ff97d22c7613e47bcfbf84aa15439ad9356 Mon Sep 17 00:00:00 2001
|
|
From: Mark Nudelman <markn@greenwoodsoftware.com>
|
|
Date: Mon, 10 Oct 2022 12:29:25 -0700
|
|
Subject: [PATCH 09/48] lesstest: add -O option to maketest; if textfile is not
|
|
in current directory, link to current directory so only basename is used.
|
|
|
|
---
|
|
lesstest/maketest | 28 +++++++++++++++++++++++-----
|
|
1 file changed, 23 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/lesstest/maketest b/lesstest/maketest
|
|
index 6769c64..9f3b848 100755
|
|
--- a/lesstest/maketest
|
|
+++ b/lesstest/maketest
|
|
@@ -2,14 +2,14 @@
|
|
use strict;
|
|
|
|
# Create a test file.
|
|
-my $usage = "usage: maketest [-o lt-file] [-l less.exe] [-s lt_screen] [-t lesstest] [-w width] [-h height] [-O lesstest-opts] textfile\n";
|
|
+my $usage = "usage: maketest [-o lt-file] [-l less.exe] [-s lt_screen] [-t lesstest] [-w width] [-h height] [-O lesstest-opts] [-S lt_screen-opts] textfile\n";
|
|
|
|
use Getopt::Std;
|
|
|
|
exit main();
|
|
sub main {
|
|
my %opt;
|
|
- die $usage if not getopts('h:l:o:O:s:t:w:', \%opt);
|
|
+ die $usage if not getopts('h:l:o:O:s:S:t:w:', \%opt);
|
|
my $textfile = shift @ARGV;
|
|
die $usage if not defined $textfile;
|
|
my $lesstest = ($opt{t} or "./lesstest");
|
|
@@ -17,9 +17,19 @@ sub main {
|
|
my $less = ($opt{l} or "../obj/less");
|
|
my $lines = ($opt{h} or $ENV{LINES}-1);
|
|
my $columns = ($opt{w} or $ENV{COLUMNS}-1);
|
|
- my $lt_opts = ($opt{O} or "");
|
|
- $lt_opts = "-$lt_opts" if $lt_opts =~ /^[^-]/;
|
|
+ my $lt_opts = opts($opt{O} or "");
|
|
+ my $ls_opts = opts($opt{S} or "");
|
|
my $ltfile = $opt{o};
|
|
+ my $linked = 0;
|
|
+ if ($textfile =~ m|/|) {
|
|
+ my ($basename) = $textfile =~ m|^.*/([^/]+)$|;
|
|
+ if (not link $textfile, $basename) {
|
|
+ print "cannot link $textfile to $basename: $!\n";
|
|
+ exit 1;
|
|
+ }
|
|
+ $linked = 1;
|
|
+ $textfile = $basename;
|
|
+ }
|
|
if (not defined $ltfile) {
|
|
for (my $i = 0;; ++$i) {
|
|
my $suffix = $i ? $i : "";
|
|
@@ -27,12 +37,20 @@ sub main {
|
|
last if not -e $ltfile;
|
|
}
|
|
}
|
|
- my $cmd = "LINES=$lines COLUMNS=$columns $lesstest $lt_opts -o '$ltfile' -- $less '$textfile'";
|
|
+ $ls_opts = "-S$ls_opts" if $ls_opts;
|
|
+ my $cmd = "LINES=$lines COLUMNS=$columns $lesstest $lt_opts $ls_opts -o '$ltfile' -- $less '$textfile'";
|
|
my $err = system($cmd);
|
|
if ($err) {
|
|
unlink $ltfile;
|
|
} else {
|
|
print "created $ltfile\n";
|
|
}
|
|
+ unlink $textfile if $linked;
|
|
exit $err;
|
|
}
|
|
+
|
|
+sub opts {
|
|
+ my ($opts) = @_;
|
|
+ $opts = "-$opts" if $opts =~ /^[^-]/;
|
|
+ return $opts;
|
|
+}
|
|
--
|
|
2.27.0
|
|
|