]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - man/make_sed.sh
ncurses 6.5 - patch 20240504
[ncurses.git] / man / make_sed.sh
index 766801d551a8b0e980c7dfbfab834c4295ab3521..ee7df41775e07086699b860674eb723f9c7851af 100755 (executable)
@@ -1,7 +1,8 @@
 #!/bin/sh
-# $Id: make_sed.sh,v 1.7 2003/10/25 20:33:16 tom Exp $
+# $Id: make_sed.sh,v 1.19 2023/12/07 01:16:43 tom Exp $
 ##############################################################################
-# Copyright (c) 1998,2003 Free Software Foundation, Inc.                     #
+# Copyright 2020-2022,2023 Thomas E. Dickey                                  #
+# Copyright 1998-2005,2017 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 "Software"), #
@@ -45,8 +46,9 @@ UPPER=upper$$
 SCRIPT=script$$
 RESULT=result$$
 rm -f $UPPER $SCRIPT $RESULT
-trap "rm -f $COL.* $INPUT $UPPER $SCRIPT $RESULT" 0 1 2 5 15
-fgrep -v \# $1 | \
+trap "rm -f $COL.* $INPUT $UPPER $SCRIPT $RESULT; exit 1" 1 2 3 15
+trap "rm -f $COL.* $INPUT $UPPER $SCRIPT $RESULT" 0
+${FGREP-grep -F} -v \# "$1" | \
 sed    -e 's/[ ][      ]*/     /g' >$INPUT
 
 for F in 1 2 3 4
@@ -57,27 +59,37 @@ done
 for F in 2 4
 do
        tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ <$COL.$F >$UPPER
-       mv $UPPER $COL.$F 
+       mv $UPPER $COL.$F
 done
 paste $COL.* | \
 sed    -e 's/^/s\/\\</' \
        -e 's/$/\//' >$UPPER
 
-# Do the TH lines
+{
+echo "# This script was generated from '$1' by man/make_sed.sh."
+echo "# Do the TH lines"
 sed    -e 's/\//\/TH /' \
        -e 's/  / /' \
-       -e 's/  / ""\/TH /' \
+       -e 's/  / \/TH /' \
        -e 's/  / /' \
-       -e 's/\/$/ ""\//' \
-       $UPPER >>$RESULT
+       -e 's/\/$/ \//' \
+       $UPPER
 
-# Do the embedded references
-sed    -e 's/</<fB/' \
-       -e 's/  /\\\\fR(/' \
-       -e 's/  /)\/fB/' \
-       -e 's/  /\\\\fR(/' \
+echo "# Do the embedded references"
+sed    -e 's/</<fB\\(\\\\%\\)\\?/' \
+       -e 's/\\%</\\%/' \
+       -e 's/  /\\\\fP(/' \
+       -e 's/  /)\/fB\\\\%/' \
+       -e 's/  /\\\\fP(/' \
        -e 's/\/$/)\//' \
-       $UPPER >>$RESULT
+       $UPPER
+
+echo '# Do the \\fBxxx\\fP references in the .NAME section'
+sed    -e 's/\\</^\\\\fB/' \
+       -e 's/  [^      ]*      /\\\\f[RP] -\/\\\\fB/' \
+       -e 's/  .*$/\\\\fP -\//' \
+       $UPPER
+} >>$RESULT
 
 # Finally, send the result to standard output
 cat $RESULT