ii. Fixed several redisplay bugs having to do with multibyte characters and
invisible characters in prompt strings.
-jj. Fixed a bug that caused mode strings to be displayed incorrectly if the prompt was
- shorter than the mode string.
+jj. Fixed a bug that caused mode strings to be displayed incorrectly if the
+ prompt was shorter than the mode string.
2. New Features in Readline
s. New application-callable function: rl_pending_signal(): returns the signal
number of any signal readline has caught but not yet handled.
-t. New application-settable variable: rl_persistent_signal_handlers: if set to a
- non-zero value, readline will enable the readline-6.2 signal handler behavior
- in callback mode: handlers are installed when rl_callback_handler_install is
- called and removed removed when a complete line has been read.
+t. New application-settable variable: rl_persistent_signal_handlers: if set
+ to a non-zero value, readline will enable the readline-6.2 signal handler
+ behavior in callback mode: handlers are installed when
+ rl_callback_handler_install is called and removed removed when a complete
+ line has been read.
-------------------------------------------------------------------------------
This document details the changes between this version, readline-6.3, and the
ii. Fixed several redisplay bugs having to do with multibyte characters and
invisible characters in prompt strings.
-jj. Fixed a bug that caused mode strings to be displayed incorrectly if the prompt was
- shorter than the mode string.
+jj. Fixed a bug that caused mode strings to be displayed incorrectly if the
+ prompt was shorter than the mode string.
2. New Features in Readline
l. Readline now throws an error if it parses a key binding without a terminating
`:' or whitespace.
+
m. The default binding for ^W in vi mode now uses word boundaries specified
by Posix (vi-unix-word-rubout is bindable command name).
s. New application-callable function: rl_pending_signal(): returns the signal
number of any signal readline has caught but not yet handled.
-t. New application-settable variable: rl_persistent_signal_handlers: if set to a
- non-zero value, readline will enable the readline-6.2 signal handler behavior
- in callback mode: handlers are installed when rl_callback_handler_install is
- called and removed removed when a complete line has been read.
+t. New application-settable variable: rl_persistent_signal_handlers: if set
+ to a non-zero value, readline will enable the readline-6.2 signal handler
+ behavior in callback mode: handlers are installed when
+ rl_callback_handler_install is called and removed removed when a complete
+ line has been read.
#include "history.h"
#include "histlib.h"
+#include "chardefs.h"
#include "rlshell.h"
#include "xmalloc.h"
return i;
}
- if (isdigit (string[i]))
+ if (ISDIGIT (string[i]))
{
j = i;
- while (string[j] && isdigit (string[j]))
+ while (string[j] && ISDIGIT (string[j]))
j++;
if (string[j] == 0)
return (j);
else if (peek == '&' && (string[i] == '>' || string[i] == '<'))
{
j = i + 2;
- while (string[j] && isdigit (string[j])) /* file descriptor */
+ while (string[j] && ISDIGIT (string[j])) /* file descriptor */
j++;
if (string[j] =='-') /* <&[digits]-, >&[digits]- */
j++;
if (errno != EINTR)
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
/* fatal signals of interest */
+#if defined (SIGHUP)
else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
+#else
+ else if (_rl_caught_signal == SIGTERM)
+#endif
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
/* keyboard-generated signals of interest */
+#if defined (SIGQUIT)
else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT)
+#else
+ else if (_rl_caught_signal == SIGINT)
+#endif
RL_CHECK_SIGNALS ();
/* non-keyboard-generated signals of interest */
else if (_rl_caught_signal == SIGWINCH)
case SIGTTOU:
#endif /* SIGTSTP */
case SIGTERM:
+#if defined (SIGHUP)
case SIGHUP:
+#endif
#if defined (SIGALRM)
case SIGALRM:
#endif
sigaddset (&bset, SIGINT);
sigaddset (&bset, SIGTERM);
+#if defined (SIGHUP)
sigaddset (&bset, SIGHUP);
+#endif
#if defined (SIGQUIT)
sigaddset (&bset, SIGQUIT);
#endif
rl_maybe_set_sighandler (SIGINT, rl_signal_handler, &old_int);
rl_maybe_set_sighandler (SIGTERM, rl_signal_handler, &old_term);
+#if defined (SIGHUP)
rl_maybe_set_sighandler (SIGHUP, rl_signal_handler, &old_hup);
+#endif
#if defined (SIGQUIT)
rl_maybe_set_sighandler (SIGQUIT, rl_signal_handler, &old_quit);
#endif
overhead */
rl_maybe_restore_sighandler (SIGINT, &old_int);
rl_maybe_restore_sighandler (SIGTERM, &old_term);
+#if defined (SIGHUP)
rl_maybe_restore_sighandler (SIGHUP, &old_hup);
+#endif
#if defined (SIGQUIT)
rl_maybe_restore_sighandler (SIGQUIT, &old_quit);
#endif