ref: c6cd78f67faac79ea43b0e4ff9891c118a15b63d
parent: 550c3e9f2f5024f5e1810a4b412af1502dd4ed34
author: stanley lieber <stanley.lieber@gmail.com>
date: Fri May 26 07:15:35 EDT 2017
newt: honor environment variables $editor and $pager
--- a/rc/bin/newt
+++ b/rc/bin/newt
@@ -6,6 +6,8 @@
argv0=$0
if(~ $#editor 0)
editor=hold
+if(~ $#pager 0)
+ pager=cat
group=alt/test
maxposts=30
mnt=/mnt/news
@@ -97,7 +99,8 @@
f $mnt/$* |
grep -v -e '\/([0-9]+|article|body|header|post|xover)$' |
sed 's/^'$"kmnt'\// g /g' |
- sort
+ sort |
+ eval $pager
}
fn nshift{ shift; echo $* } fn printhelp{@@ -121,7 +124,7 @@
||cmd pipe raw message to a command
? print debug information'
}
-fn p{+fn np{ if(test $1 -le $#rposts && test -f $mnt/$group/$rposts($1)^/body){ { # don't stuttergrep -e '(^From|^Newsgroups|^Subject|^Date)' $rposts($1)^/header
@@ -128,7 +131,7 @@
echo
cat $rposts($1)^/body
} >/tmp/p
- cat /tmp/p
+ eval $pager /tmp/p
}
echo
go=1
@@ -138,7 +141,7 @@
}
fn P{if(test $1 -le $#rposts && test -f $mnt/$group/$rposts($1)^/article)
- cat $rposts($1)^/article
+ eval $pager $rposts($1)^/article
echo
go=1
r=$1
@@ -262,10 +265,11 @@
k `{nshift $cmd | sed 's/\./\//g'}case kf' '*
grep -e `{nshift $cmd} $home/lib/newsgroups |- sed 's/^/ g /g'
+ sed 's/^/ g /g' |
+ eval $pager
case p
for(i in $r)
- p $i
+ np $i
case P
for(i in $r)
P $i
@@ -291,6 +295,8 @@
cmd=`{echo $"cmd | sed 's/^\|//g'}cat $mnt/$group/^$rposts($post)^/body | eval $cmd
case '?'
+ echo editor: $editor
+ echo pager: $pager
echo mnt: $mnt
echo group: $group
echo maxposts: $maxposts
@@ -302,12 +308,12 @@
echo r: $r
case *
if(~ $post $posts(1) && ~ $#go 0)
- p $post
+ np $post
if not if(! ~ $post $posts($#posts)){ post=`{echo $post^+1 | bc}if(test $post -gt $posts($#posts))
post=$posts($#posts)
- p $post
+ np $post
}
}
}
--- a/sys/man/1/newt
+++ b/sys/man/1/newt
@@ -142,6 +142,12 @@
.TP
\fB"\fP
Print the current message in quoted form, suitable for reply.
+.PP
+The environment variables
+.B $editor
+and
+.B $pager
+are honored.
.SH FILES
.B $home/lib/newsgroups
list of newsgroups, one per line
--
⑨