A little cleanup on console.php; save readline history more aggressively; avoid some notice sloppiness)

This commit is contained in:
Brion Vibber 2009-11-17 17:09:31 -08:00
parent 88ff0eefb4
commit b7660b3d99

View File

@ -29,19 +29,15 @@ ENDOFHELP;
require_once INSTALLDIR.'/scripts/commandline.inc'; require_once INSTALLDIR.'/scripts/commandline.inc';
if (function_exists('posix_isatty')) { // Assume we're on a terminal if on Windows, otherwise posix_isatty tells us.
define('CONSOLE_INTERACTIVE', posix_isatty(0)); define('CONSOLE_INTERACTIVE', !function_exists('posix_isatty') || posix_isatty(0));
} else { define('CONSOLE_READLINE', CONSOLE_INTERACTIVE && function_exists('readline'));
// Windows? Assume we're on a terminal. :P
define('CONSOLE_INTERACTIVE', false);
}
if (CONSOLE_INTERACTIVE) {
define('CONSOLE_READLINE', function_exists('readline'));
}
if (CONSOLE_READLINE && CONSOLE_INTERACTIVE && file_exists(CONSOLE_HISTORY)) { if (CONSOLE_READLINE && CONSOLE_INTERACTIVE) {
define(CONSOLE_HISTORY, getenv("HOME") . "/.statusnet_console_history"); define('CONSOLE_HISTORY', getenv("HOME") . "/.statusnet_console_history");
readline_read_history(CONSOLE_HISTORY); if (file_exists(CONSOLE_HISTORY)) {
readline_read_history(CONSOLE_HISTORY);
}
} }
function read_input_line($prompt) function read_input_line($prompt)
@ -50,6 +46,10 @@ function read_input_line($prompt)
if (CONSOLE_READLINE) { if (CONSOLE_READLINE) {
$line = readline($prompt); $line = readline($prompt);
readline_add_history($line); readline_add_history($line);
if (defined('CONSOLE_HISTORY')) {
// Save often; it's easy to hit fatal errors.
readline_write_history(CONSOLE_HISTORY);
}
return $line; return $line;
} else { } else {
return readline_emulation($prompt); return readline_emulation($prompt);
@ -156,7 +156,3 @@ while (!feof(STDIN)) {
} }
print "\n"; print "\n";
} }
if (CONSOLE_READLINE && CONSOLE_INTERACTIVE) {
@readline_write_history(CONSOLE_HISTORY);
}