X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=include%2FMKkey_defs.sh;h=86d6891c369316d14781aef8cde087f95a8379ee;hp=655078b924cfcf13d3f655e92aa73cff4971abec;hb=5079dc1dbbaa5128ac761358dcf81c8b606983c4;hpb=46722468f47c2b77b3987729b4bcf2321cccfd01 diff --git a/include/MKkey_defs.sh b/include/MKkey_defs.sh index 655078b9..86d6891c 100755 --- a/include/MKkey_defs.sh +++ b/include/MKkey_defs.sh @@ -1,7 +1,8 @@ #! /bin/sh -# $Id: MKkey_defs.sh,v 1.10 2002/09/28 23:32:16 tom Exp $ +# $Id: MKkey_defs.sh,v 1.21 2020/08/17 10:45:33 tom Exp $ ############################################################################## -# Copyright (c) 2001,2002 Free Software Foundation, Inc. # +# Copyright 2019,2020 Thomas E. Dickey # +# Copyright 2001-2013,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"), # @@ -30,40 +31,46 @@ # # MKkey_defs.sh -- generate function-key definitions for curses.h # -# Author: Thomas E. Dickey 2001 +# Author: Thomas E. Dickey 2001 # # Extract function-key definitions from the Caps file # : ${AWK-awk} -DATA=${1-Caps} + +test $# = 0 && set Caps data=data$$ pass1=pass1_$$ pass2=pass2_$$ pass3=pass3_$$ pass4=pass4_$$ -trap 'rm -f $data pass[1234]_$$' 0 1 2 5 15 +trap 'rm -f $data pass[1234]_$$' EXIT INT QUIT TERM HUP # change repeated tabs (used for readability) to single tabs (needed to make # awk see the right field alignment of the corresponding columns): -if sort -k 6 $DATA >$data 2>/dev/null +if sort -k 6 "$@" >$data 2>/dev/null then # POSIX - sed -e 's/[ ]\+/ /g' < $DATA |sort -n -k 6 >$data -else + sed -e 's/[ ][ ]*/ /g' "$@" |sort -n -k 6 >$data +elif sort -n +5 "$@" >$data 2>/dev/null +then # SunOS (and SVr4, marked as obsolete but still recognized) - sed -e 's/[ ]\+/ /g' < $DATA |sort -n +5 >$data + sed -e 's/[ ][ ]*/ /g' "$@" |sort -n +5 >$data +else + echo "Your sort utility is broken. Please install one that works." >&2 + exit 1 fi # add keys that we generate automatically: cat >>$data <