tsoelim: import from Plan9 - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 40685d24d894a0948ead2693c12636a967c24d2e
 (DIR) parent 5c06214952017d03f5e36bd1fbf25c1969922d80
 (HTM) Author: sean <phonologus@gmail.com>
       Date:   Wed, 15 Jan 2020 08:28:14 +0000
       
       soelim: import from Plan9
       
       Add entry in lib/moveplan9.files to trigger
       relocation during INSTALL.
       
       Diffstat:
         A bin/soelim                          |      16 ++++++++++++++++
         M lib/moveplan9.files                 |       1 +
         A man/man1/soelim.1                   |      30 ++++++++++++++++++++++++++++++
       
       3 files changed, 47 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/bin/soelim b/bin/soelim
       t@@ -0,0 +1,16 @@
       +#!/usr/local/plan9/bin/rc
       +# joyless reimplementation of soelim
       +# the $0 recursion is a bit ugly
       +
       +# canonicalise troff commands first with sed into ". so file" form.
       +# but the space after the dot has to come out; tbl can't cope with it.
       +# friggin' html macros can be longer than two characters; grrr.
       +sed '/^[.'']/{
       +        s/([^\\])\\".*$/\1/
       +#        s/^(.)[         ]*([^         \\][^         \\])[         ]*/\1 \2 /
       +        s/^(.)[         ]*([^         \\][^         \\])/\1 \2/
       +}' $* | awk '        BEGIN { me = "'$0'" }
       +                $1 !~ /^[.'']$/        { print; next }
       +                $2 == "so" { system(me " " $3) ; next }
       +                $2 == "nx" { system(me " " $3) ; exit }
       +                { print }' | sed 's/^([.'']) /\1/'
 (DIR) diff --git a/lib/moveplan9.files b/lib/moveplan9.files
       t@@ -17,6 +17,7 @@ bin/netfilestat
        bin/quote1
        bin/quote2
        bin/sig
       +bin/soelim
        bin/spell
        bin/src
        bin/ssam
 (DIR) diff --git a/man/man1/soelim.1 b/man/man1/soelim.1
       t@@ -0,0 +1,30 @@
       +.TH SOELIM 1
       +.\" .so in the NAME line confuses the ptx machinery; sorry
       +.SH NAME
       +soelim \- preprocess so inclusion commands in troff input 
       +.SH SYNOPSIS
       +.B soelim
       +[
       +.I files ...
       +]
       +.SH DESCRIPTION
       +.I Soelim
       +reads the specified files or the standard input and performs
       +the textual inclusion implied by
       +.IR troff (1)
       +directives of the form
       +.sp
       +.ti +2m
       +.B "\&.so some_file
       +.sp
       +when they appear at the beginning of input lines.  This is useful when
       +using programs such as
       +.IR tbl (1)
       +that do not normally do this, allowing
       +placement of individual tables or other text objects in separate files
       +to be run as a part of a large document.
       +.SH SOURCE
       +.B /rc/bin/soelim
       +.SH "SEE ALSO"
       +.IR deroff (1),
       +.IR troff (1)