# -*- shell-script -*-
# "info signals" debugger command
#
#   Copyright (C) 2010-2011, 2016, 2019 Rocky Bernstein
#   <rocky@gnu.org>
#
#   This program is free software; you can redistribute it and/or
#   modify it under the terms of the GNU General Public License as
#   published by the Free Software Foundation; either version 2, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
#   General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program; see the file COPYING.  If not, write to
#   the Free Software Foundation, 59 Temple Place, Suite 330, Boston,
#   MA 02111 USA.

_Dbg_help_add_sub info signals \
"**info signals**

Show what debugger does when program gets various signals.

See also:
---------

 \"signal\"." 1

# List signal handlers in effect.
function _Dbg_do_info_signals {
    # typeset -a signal_array=($(builtin kill -l))
    # typeset -i i
    trap | while IFS= read -r line; do
	if [[ !  "$line" =~ "DEBUG$" ]] ; then
	    echo $line | IFS=" " read -A fields
	    signal_name=${fields[-1]}
	    typeset -i len=${#signal_name[@]}+2
	    _Dbg_msg ${signal_name}: ${line[8,-1]}
	fi
  done
}
