itsrc/cmd: rm dformat - plan9port - [fork] Plan 9 from user space Err mx1.adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/plan9port URL:git://src.adamsgaard.dk/plan9port mx1.adamsgaard.dk 70 1Log /src/plan9port/log.gph mx1.adamsgaard.dk 70 1Files /src/plan9port/files.gph mx1.adamsgaard.dk 70 1Refs /src/plan9port/refs.gph mx1.adamsgaard.dk 70 1README /src/plan9port/file/README.md.gph mx1.adamsgaard.dk 70 1LICENSE /src/plan9port/file/LICENSE.gph mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1commit 95ab1308b410ad8547e38e47ec4a36f560dcece5 /src/plan9port/commit/95ab1308b410ad8547e38e47ec4a36f560dcece5.gph mx1.adamsgaard.dk 70 1parent 329831171dd6ef81c113f101093c7b4947381003 /src/plan9port/commit/329831171dd6ef81c113f101093c7b4947381003.gph mx1.adamsgaard.dk 70 hAuthor: Russ Cox URL:mailto:rsc@swtch.com mx1.adamsgaard.dk 70 iDate: Mon, 22 Jun 2020 11:20:42 -0400 Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 isrc/cmd: rm dformat Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iUnclear why it is here (wkj added it long ago). Err mx1.adamsgaard.dk 70 iIt has never been installed into $PLAN9/bin, Err mx1.adamsgaard.dk 70 iso it's doubtful that anyone has ever used it. Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iArnold Robbins has an alternate version at Err mx1.adamsgaard.dk 70 ihttps://github.com/arnoldrobbins/dformat. Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iFixes #421. Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iDiffstat: Err mx1.adamsgaard.dk 70 i D src/cmd/dformat | 108 ------------------------------- Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i1 file changed, 0 insertions(+), 108 deletions(-) Err mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1diff --git a/src/cmd/dformat b/src/cmd/dformat /src/plan9port/file/src/cmd/dformat.gph mx1.adamsgaard.dk 70 it@@ -1,108 +0,0 @@ Err mx1.adamsgaard.dk 70 i-awk ' Err mx1.adamsgaard.dk 70 i-function error(s) { print "dformat error: " s " near input line " NR | "cat 1>&2" } Err mx1.adamsgaard.dk 70 i- Err mx1.adamsgaard.dk 70 i-BEGIN { s = "recht 0.3 addrht 0.055 recspread 0.15 " Err mx1.adamsgaard.dk 70 i- s = s "charwid 0.07 textht 0.167 addrdelta 4 " Err mx1.adamsgaard.dk 70 i- s = s "bitwid 0.125 linedisp 0.04 addr both " Err mx1.adamsgaard.dk 70 i- s = s "fill off linethrutext 1" Err mx1.adamsgaard.dk 70 i- n = split(s, x) Err mx1.adamsgaard.dk 70 i- for (i = 1; i <= n-1; i += 2) oparm[x[i]] = parm[x[i]] = x[i+1] Err mx1.adamsgaard.dk 70 i-} Err mx1.adamsgaard.dk 70 i- Err mx1.adamsgaard.dk 70 i-inlang == 0 { if ($0 !~ /^\.begin[ \t]/ || $2 != "dformat") print Err mx1.adamsgaard.dk 70 i- else { Err mx1.adamsgaard.dk 70 i- inlang = 1; print ".PS"; boxacnt = 0 Err mx1.adamsgaard.dk 70 i- if (firstpic != 1) { firstpic = 1; print "fillval = 0.9" } Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i- next Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i-/^\.end/ { inlang = 0; print ".PE"; next } Err mx1.adamsgaard.dk 70 i- Err mx1.adamsgaard.dk 70 i-$1 == "style" { if (!($2 in parm)) error("unrecognized name: " $2) Err mx1.adamsgaard.dk 70 i- else if ($3 == "reset") { Err mx1.adamsgaard.dk 70 i- t = oparm[$2]; oparm[$2] = parm[$2]; parm[$2] = t Err mx1.adamsgaard.dk 70 i- } else { Err mx1.adamsgaard.dk 70 i- oparm[$2] = parm[$2]; parm[$2] = $3 Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i- next Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i- Err mx1.adamsgaard.dk 70 i-$1 == "pic" { $1 = ""; print $0; next } Err mx1.adamsgaard.dk 70 i- Err mx1.adamsgaard.dk 70 i-/^[^ \t]/ { printf "BoxA: box invis ht %g wid 0", parm["recht"] Err mx1.adamsgaard.dk 70 i- if (boxacnt++) printf " with .n at BoxA.s - (0,%g)", Err mx1.adamsgaard.dk 70 i- parm["recspread"] + maxdy*parm["textht"] Err mx1.adamsgaard.dk 70 i- printf "\n" Err mx1.adamsgaard.dk 70 i- maxdy = sumboxlen = 0 Err mx1.adamsgaard.dk 70 i- gsub(/[ \t]+$/, "") Err mx1.adamsgaard.dk 70 i- if ($0 != "noname") { Err mx1.adamsgaard.dk 70 i- printf " \"%s \" rjust at BoxA.w\n", $0 Err mx1.adamsgaard.dk 70 i- printf " box invis with .e at BoxA.w ht 0 wid %g\n", Err mx1.adamsgaard.dk 70 i- parm["charwid"] * (length($0) + 3) Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i- printf " BoxB: box invis ht %g wid 0 at BoxA\n", parm["recht"] Err mx1.adamsgaard.dk 70 i- next Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i-/./ { boxname = "" Err mx1.adamsgaard.dk 70 i- if ($1 ~ /:$/) { Err mx1.adamsgaard.dk 70 i- boxname = substr($1, 1, length($1)-1) Err mx1.adamsgaard.dk 70 i- $1 = ""; $0 = " " $0 Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i- range = $1; $1 = "" Err mx1.adamsgaard.dk 70 i- gsub(/^[ \t]+/, ""); gsub(/[ \t]+$/, ""); text = $0 Err mx1.adamsgaard.dk 70 i- n = split(range, x, "-") Err mx1.adamsgaard.dk 70 i- rlo = x[1] Err mx1.adamsgaard.dk 70 i- rhi = (n >= 2) ? x[2] : rlo Err mx1.adamsgaard.dk 70 i- cwid = (rhi >= rlo) ? rhi - rlo + 1 : rlo - rhi + 1 Err mx1.adamsgaard.dk 70 i- rwid = (n >= 3) ? (0 + x[3]) : cwid Err mx1.adamsgaard.dk 70 i- btype = x[4] Err mx1.adamsgaard.dk 70 i- if (btype !~ /^(dot|dash|invis)/) btype = "solid" Err mx1.adamsgaard.dk 70 i- textlen = parm["charwid"] * length(text) Err mx1.adamsgaard.dk 70 i- boxlen = parm["bitwid"] * rwid Err mx1.adamsgaard.dk 70 i- dy = 0 Err mx1.adamsgaard.dk 70 i- if (textlen > boxlen) { # set dy, the channel for this text Err mx1.adamsgaard.dk 70 i- chan[maxdy+1] = -999 Err mx1.adamsgaard.dk 70 i- for (dy = 1; chan[dy]+textlen > sumboxlen; dy++) ; Err mx1.adamsgaard.dk 70 i- if (dy > maxdy) maxdy = dy Err mx1.adamsgaard.dk 70 i- if (parm["linethrutext"] == 0) Err mx1.adamsgaard.dk 70 i- for (k = 1; k <= dy; k++) Err mx1.adamsgaard.dk 70 i- chan[k] = sumboxlen+boxlen Err mx1.adamsgaard.dk 70 i- else Err mx1.adamsgaard.dk 70 i- chan[dy] = sumboxlen Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i- sumboxlen += boxlen Err mx1.adamsgaard.dk 70 i- fill = "" Err mx1.adamsgaard.dk 70 i- if (parm["fill"] == "on") fill = " fill " Err mx1.adamsgaard.dk 70 i- if (boxname != "") printf " %s:", boxname Err mx1.adamsgaard.dk 70 i- printf " BoxB: box %s %s ht %g wid %g with .w at BoxB.e\n", Err mx1.adamsgaard.dk 70 i- fill, btype, parm["recht"], boxlen Err mx1.adamsgaard.dk 70 i- if (dy == 0) printf " \"%s\" at BoxB.c\n", text Err mx1.adamsgaard.dk 70 i- else { if (rwid < 2) start = "BoxB.s" Err mx1.adamsgaard.dk 70 i- else start = "BoxB.se - (" parm["linedisp"] ",0)" Err mx1.adamsgaard.dk 70 i- printf " line from %s down %g\n", Err mx1.adamsgaard.dk 70 i- start, dy*parm["textht"] Err mx1.adamsgaard.dk 70 i- printf " \"%s\\|\" at last line .s rjust\n", text Err mx1.adamsgaard.dk 70 i- printf " box invis with .e at last line .s ht 0 wid %g\n", Err mx1.adamsgaard.dk 70 i- textlen Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i- Err mx1.adamsgaard.dk 70 i- if (parm["addr"] ~ /^(left|right|both)$/) { Err mx1.adamsgaard.dk 70 i- dp = int(parm["addrdelta"]) # Delta Point size Err mx1.adamsgaard.dk 70 i- if (dp < 0 || dp > 9) error("bad addrdelta value: " dp) Err mx1.adamsgaard.dk 70 i- dah = parm["addrht"] # Delta Addr Height Err mx1.adamsgaard.dk 70 i- pb = parm["addr"] # Parameter for Bits Err mx1.adamsgaard.dk 70 i- if (rlo == rhi) { Err mx1.adamsgaard.dk 70 i- printf " \"\\s-%d%s\\s+%d\" at BoxB.s + (0,%g)\n", Err mx1.adamsgaard.dk 70 i- dp, rlo, dp, dah Err mx1.adamsgaard.dk 70 i- } else { Err mx1.adamsgaard.dk 70 i- if (pb == "left" || pb == "both") Err mx1.adamsgaard.dk 70 i- printf "\t\"\\|\\s-%d%s\\s+%d\" ljust at BoxB.sw + (0,%g)\n", Err mx1.adamsgaard.dk 70 i- dp, rlo, dp, dah Err mx1.adamsgaard.dk 70 i- if (pb == "right" || pb == "both") Err mx1.adamsgaard.dk 70 i- printf "\t\"\\s-%d%s\\s+%d\\|\" rjust at BoxB.se + (0,%g)\n", Err mx1.adamsgaard.dk 70 i- dp, rhi, dp, dah Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i- } Err mx1.adamsgaard.dk 70 i-END { if (inlang) error("eof inside begin/end") } Err mx1.adamsgaard.dk 70 i-' $* Err mx1.adamsgaard.dk 70 .