From: Junio C Hamano Date: Mon, 03 Mar 2014 18:58:58 GMT Subject: Re: [PATCH] git-config: document interactive.singlekey requires Term::Readkey Message-ID: In-Reply-To: <6157736903dbcb3359eda07eff6f0faf832ef256.1393790234.git.simon@ruderich.org> Simon Ruderich writes: > Most distributions don't require Term::Readkey as dependency, > leaving the user to wonder why the setting doesn't work. > > Signed-off-by: Simon Ruderich Thanks, but is it true that interactive.singlekey "requries" Term::ReadKey? The relevant part of git-add--interactive reads like so: if ($repo->config_bool("interactive.singlekey")) { eval { require Term::ReadKey; Term::ReadKey->import; $use_readkey = 1; }; eval { require Term::Cap; my $termcap = Term::Cap->Tgetent; foreach (values %$termcap) { $term_escapes{$_} = 1 if /^\e/; } $use_termcap = 1; }; } The implementation of prompt_single_character sub wants to use ReadKey, but can still let the user interact with the program by falling back to a cooked input when it is not available, so perhaps a better fix might be something like this: if (!$use_readkey) { print STDERR "missing Term::ReadKey, disabling interactive.singlekey\n"; } inside the above if() that prepares $use_readkey? You also misspelled the package name it seems ;-)