git-send-email: SIG{TERM,INT} handlers
A single signal handler is used for both SIGTERM and SIGINT in order to clean up after an uncouth termination of git-send-email. In particular, the handler resets the text color (this cleanup was already present), turns on tty echoing (in case termination occurrs during a masked Password prompt), and informs the user of of any temporary files created by --compose. Signed-off-by: Michael Witten <mfwitten@mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
2363d7467d
commit
8742997607
@ -24,8 +24,6 @@ use Data::Dumper;
|
||||
use Term::ANSIColor;
|
||||
use Git;
|
||||
|
||||
$SIG{INT} = sub { print color("reset"), "\n"; exit };
|
||||
|
||||
package FakeTerm;
|
||||
sub new {
|
||||
my ($class, $reason) = @_;
|
||||
@ -201,6 +199,29 @@ my %config_settings = (
|
||||
"aliasesfile" => \@alias_files,
|
||||
);
|
||||
|
||||
# Handle Uncouth Termination
|
||||
sub signal_handler {
|
||||
|
||||
# Make text normal
|
||||
print color("reset"), "\n";
|
||||
|
||||
# SMTP password masked
|
||||
system "stty echo";
|
||||
|
||||
# tmp files from --compose
|
||||
if (-e $compose_filename) {
|
||||
print "'$compose_filename' contains an intermediate version of the email you were composing.\n";
|
||||
}
|
||||
if (-e ($compose_filename . ".final")) {
|
||||
print "'$compose_filename.final' contains the composed email.\n"
|
||||
}
|
||||
|
||||
exit;
|
||||
};
|
||||
|
||||
$SIG{TERM} = \&signal_handler;
|
||||
$SIG{INT} = \&signal_handler;
|
||||
|
||||
# Begin by accumulating all the variables (defined above), that we will end up
|
||||
# needing, first, from the command line:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user