X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2FMKterminfo.sh;h=4d9ae18c91174ac1c58ba26a1efcde83783cf55a;hp=d4e25c51e89f339a43e66baa6484c383c9aca8f9;hb=6b4f5830b7910188b532d661f79775306715f67e;hpb=b1f61d9f3aa244512045a6b02e759825d7049d34;ds=inline diff --git a/man/MKterminfo.sh b/man/MKterminfo.sh index d4e25c51..4d9ae18c 100755 --- a/man/MKterminfo.sh +++ b/man/MKterminfo.sh @@ -1,6 +1,10 @@ #!/bin/sh +# $Id: MKterminfo.sh,v 1.16 2018/03/17 18:03:51 Kir.Kolyshkin Exp $ +# +# MKterminfo.sh -- generate terminfo.5 from Caps tabular data +# #*************************************************************************** -# Copyright (c) 1998-2000 Free Software Foundation, Inc. * +# Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. * # * # Permission is hereby granted, free of charge, to any person obtaining a * # copy of this software and associated documentation files (the * @@ -27,10 +31,6 @@ # authorization. * #*************************************************************************** # -# $Id: MKterminfo.sh,v 1.6 2000/01/25 11:31:57 tom Exp $ -# -# MKterminfo.sh -- generate terminfo.5 from Caps tabular data -# # This script takes terminfo.head and terminfo.tail and splices in between # them a table derived from the Caps data file. Besides avoiding having # the docs fall out of sync with the table, this also lets us set up tbl @@ -41,10 +41,13 @@ # had better be no s in the table source text. # # keep the order independent of locale: -LANGUAGE=C -LC_ALL=C -export LANGUAGE -export LC_ALL +if test "${LANGUAGE+set}" = set; then LANGUAGE=C; export LANGUAGE; fi +if test "${LANG+set}" = set; then LANG=C; export LANG; fi +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi +if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi +if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi + # head=$1 caps=$2 @@ -62,14 +65,18 @@ cat $head temp=temp$$ sorted=sorted$$ unsorted=unsorted$$ -trap "rm -f $sorted $temp $unsorted; exit 99" 1 2 5 15 +trap "code=\$?; rm -f $sorted $temp $unsorted; exit \$code" EXIT HUP INT QUIT TERM +rm -f $sorted $temp $unsorted sed -n <$caps "\ /%%-STOP-HERE-%%/q -/^#%/s///p +/^#%center/s, expand,, +/^#%lw25/s, lw6 , lw7 , +/^#%/s/#%//p /^#/d +s/[ ][ ]*/ /g s/$/T}/ -s/ [Y\-][B\-][C\-][G\-][E\-]\** / T{/ +s/ [A-Z0-9_()\-][A-Z0-9_()\-]* [0-9\-][0-9\-]* [Y\-][B\-][C\-][G\-][EK\-]\** / T{/ s/ bool / /p s/ num / /p s/ str / /p @@ -80,6 +87,7 @@ rm -f $temp saved=no while true do + data= read data test -z "$data" && break case "$data" in #(vi @@ -100,6 +108,7 @@ done <$unsorted test $saved = yes && sort $temp >>$sorted sed -e 's/^\.\.$//' $sorted | tr "\005\006" "\012\134" -cat $tail -rm -f $sorted $temp $unsorted +sed -e '/^center expand;/s, expand,,' \ + -e '/^\.TS/,/^\\/s, lw[1-9][0-9]*\., l.,' \ + $tail